:root{--bg: #f4f6f3;--surface: #fdfdfb;--ink: #1d2321;--muted: #59625e;--line: #dde3de;--grid: rgb(29 35 33 / .06);--grid-strong: rgb(29 35 33 / .1);--accent: #b4411d;--accent-ink: #fffaf6;--accent-soft: #fbe7dd;--shadow: 0 1px 2px rgb(40 52 46 / .06), 0 8px 24px -12px rgb(40 52 46 / .18);--sketch-line: #2c3532;--wash: #fbeae1;--font-display: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-body: "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", system-ui, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #141816;--surface: #1c211f;--ink: #eef1ee;--muted: #a3aca7;--line: #2f3633;--grid: rgb(238 241 238 / .05);--grid-strong: rgb(238 241 238 / .09);--accent: #f2805a;--accent-ink: #1d1410;--accent-soft: #3a261d;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px -12px rgb(0 0 0 / .5);--sketch-line: #c4ccc8;--wash: #2a221d;color-scheme:dark}}*{box-sizing:border-box}body{position:relative;margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.75;-webkit-text-size-adjust:100%}body:before{content:"";position:absolute;inset:0 0 auto;height:760px;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-strong) 1px,transparent 1px),linear-gradient(90deg,var(--grid-strong) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(var(--wash),var(--wash));background-size:80px 80px,80px 80px,16px 16px,16px 16px,100% 100%;background-position:-1px -1px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 100%)}.backdrop{position:absolute;inset:0 0 auto;height:760px;z-index:-1;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}.growth{position:absolute;left:0;top:40px;width:100%;height:720px;overflow:visible}@media(max-width:759px){.growth{width:200%;left:-100%;top:10px}}.growth path{vector-effect:non-scaling-stroke}.growth-band{fill:var(--accent);opacity:.09}.growth-edge{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 8;opacity:.35}.growth-line{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;opacity:.5;stroke-dasharray:1;filter:url(#wobble-a)}.scatter{position:absolute;left:var(--x);top:var(--y);transform:rotate(var(--r))}.scatter.head{opacity:.9}.scatter.side{display:none;opacity:.6}@media(min-width:1200px){.scatter.side{display:block}}@media(max-width:420px){.scatter.head{left:calc(var(--x) + 4%)}}@media(min-width:900px){body:after{content:"";position:absolute;top:0;right:0;width:40px;height:640px;z-index:-1;pointer-events:none;border-left:1px solid var(--grid-strong);background-image:repeating-linear-gradient(to bottom,var(--muted) 0 1px,transparent 1px 40px),repeating-linear-gradient(to bottom,var(--grid-strong) 0 1px,transparent 1px 8px);background-size:20px 100%,10px 100%;background-repeat:no-repeat;opacity:.7;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 100%);mask-image:linear-gradient(to bottom,#000 30%,transparent 100%)}}main{max-width:960px;margin:0 auto;padding:0 16px 64px}a{color:inherit;text-underline-offset:3px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.site-header{max-width:960px;margin:0 auto;padding:16px}.site-header a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:17px}.site-header img{display:block}.site-footer{max-width:960px;margin:0 auto;padding:24px 16px 40px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.01em}h1{font-size:clamp(28px,6vw,42px);line-height:1.35;margin:24px 0 12px;text-wrap:balance}h2{font-size:21px;line-height:1.5;margin:56px 0 16px}h3{font-size:15px;margin:0 0 10px;color:var(--muted)}p{max-width:65ch}.lead{color:var(--muted);margin:0 0 24px;font-size:16px}.nowrap{white-space:nowrap}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums}.hero{display:grid;gap:8px;padding-top:8px}.illust{display:block;flex:none;overflow:visible;filter:url(#wobble-sa)}.tiles{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:4px 0 8px;list-style:none}.tile{display:grid;place-items:center;width:50px;height:50px;background:var(--surface);border-radius:14px}.tile .illust{width:38px;height:38px}.tile:nth-child(odd){transform:rotate(-3deg)}.tile:nth-child(3n){transform:rotate(2.5deg)}@media(min-width:860px){.tiles{gap:10px;margin-top:12px;flex-wrap:nowrap}.tile{width:60px;height:60px;border-radius:16px}.tile .illust{width:44px;height:44px}}@media(min-width:860px){.hero{grid-template-columns:1fr 440px;gap:48px;align-items:center;padding-top:32px;min-height:420px}.hero h1{margin-top:0}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}form{display:grid;gap:18px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:6px;align-content:start}.field label{font-size:14px;font-weight:700}.hint{font-size:12px;color:var(--muted);margin:-4px 0 0;line-height:1.5}.error{font-size:13px;color:var(--accent);font-weight:700;margin:0;line-height:1.5}input,select{font:inherit;font-size:16px;width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);transition:border-color .15s ease}input:hover,select:hover{border-color:var(--muted)}input:focus-visible,select:focus-visible{outline:3px solid var(--accent-soft);outline-offset:0;border-color:var(--accent);border-radius:10px}input[aria-invalid=true]{border-color:var(--accent)}.unit-input{position:relative}.unit-input input{padding-right:44px}.unit-input span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}.privacy{font-size:12px;color:var(--muted);margin:-6px 0 0;text-align:center;max-width:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;font-size:16px;min-height:50px;padding:12px 28px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .4s cubic-bezier(.34,1.8,.5,1),filter .15s ease}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(1.05,.9);transition-duration:.08s}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--muted);filter:none}#result{scroll-margin-top:16px}.result-head{margin-top:48px}.summary{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:640px){.summary{grid-template-columns:1fr 1fr;gap:16px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow)}.card .kind{margin:0;font-size:14px;font-weight:700;color:var(--muted)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:-6px}.card-head .illust{margin:-6px -4px 0 0}.card .big{margin:4px 0 0;line-height:1.2}.card .big .num{font-size:52px;color:var(--accent)}.card .big .unit{font-size:18px;font-weight:700;margin-left:4px}.card .when{margin:6px 0 0;font-size:17px}.card .when strong{font-family:var(--font-display);font-size:20px}.card .now{margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--line);font-size:14px;color:var(--muted)}.card .stay{margin:8px 0 0;font-size:17px;font-weight:700}.mark{position:relative;display:inline-block}.scribble{position:absolute;left:-4%;bottom:-4px;width:108%;height:14px;overflow:visible;pointer-events:none}.scribble path{fill:none;stroke:var(--sketch-line);stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.advice-row{position:relative;margin:16px 0 0}.advice{display:flex;align-items:center;min-height:100px;background:var(--accent-soft);border-radius:16px;padding:14px 128px 14px 18px;margin:0;max-width:none}.stamp{position:absolute;right:14px;top:50%;width:104px;height:104px;margin-top:-52px;display:grid;place-content:center;gap:2px;text-align:center;border-radius:50%;border:3px solid var(--accent);box-shadow:inset 0 0 0 3px var(--accent-soft),inset 0 0 0 5px var(--accent);color:var(--accent);font-family:var(--font-display);font-weight:700;line-height:1.2;transform:rotate(-10deg);filter:url(#wobble-a)}.stamp-top{font-size:12px}.stamp-main{font-size:16px;max-width:80px}.measure{display:grid;grid-template-columns:80px 1fr;gap:12px}@media(min-width:640px){.measure{grid-template-columns:104px 1fr;gap:16px}}.gauge{position:relative;min-height:260px;background:var(--surface);border-radius:16px}.gauge-scale{position:absolute;inset:22px 0}.gauge-scale:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to top,var(--ink) 0 2px,transparent 2px calc(500% / var(--range))) right 0 bottom -1px / 26px 100% no-repeat,repeating-linear-gradient(to top,var(--muted) 0 1px,transparent 1px calc(100% / var(--range))) right 0 bottom 0 / 13px 100% no-repeat;opacity:.75}.gauge-num{position:absolute;left:10px;transform:translateY(50%);font-size:11px;line-height:1;color:var(--muted);font-variant-numeric:tabular-nums}.gauge-goal{position:absolute;left:6px;right:0;border-top:2px dashed var(--accent)}.gauge-goal span{position:absolute;right:30px;bottom:2px;font-size:11px;font-weight:700;color:var(--accent);white-space:nowrap}.gauge-slider{position:absolute;inset:0;transform:translateY(calc((1 - var(--pos)) * 100%));pointer-events:none}.gauge-head{position:absolute;top:0;left:-3px;right:-3px;height:6px;margin-top:-3px;border-radius:999px;background:var(--accent);box-shadow:0 2px #0000001f}.gauge-val{position:absolute;left:6px;bottom:9px;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:700;font-size:14px;line-height:1.5;white-space:nowrap}.gauge-val small{font-size:10px;margin-left:1px}.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:20px}.share-row .hint{margin:0}.events{list-style:none;margin:0;padding:0 0 0 4px;display:grid;gap:0}.events li{position:relative;display:grid;grid-template-columns:112px 1fr;gap:12px;padding:0 0 22px 24px}.events li:before{content:"";position:absolute;left:-1px;top:7px;width:15px;height:15px;border-radius:50%;background:var(--surface);border:2.5px solid var(--accent);filter:url(#wobble-sa)}.events li:after{content:"";position:absolute;left:5.5px;top:25px;bottom:3px;width:2px;border-radius:2px;background:var(--sketch-line);opacity:.35;filter:url(#wobble-sa)}.events li:last-child:after{display:none}.events li.today:before{background:var(--accent)}.events time{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.events .what{font-weight:700}.events .what small{display:block;font-weight:400;color:var(--muted);font-size:13px}details.table{margin-top:8px}details.table summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--muted);padding:8px 0}details.table summary:hover{color:var(--ink)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}th,td{padding:8px 12px;text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:700;border-bottom:1px solid var(--line)}tr.change td{font-weight:700;background:var(--accent-soft)}td.up{color:var(--accent)}.items{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:640px){.items{grid-template-columns:repeat(4,1fr)}}.item{display:grid;gap:6px;align-content:start;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;font-size:13px;transition:transform .15s ease,box-shadow .15s ease}.item:hover{box-shadow:var(--shadow)}.item:active{transform:translateY(1px)}.item img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#fff}.item-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.item-price{font-weight:700;font-family:var(--font-display);font-size:15px}.item.skeleton{pointer-events:none}.item.skeleton i{display:block;border-radius:8px;background:var(--line)}.item.skeleton i:nth-child(1){aspect-ratio:1}.item.skeleton i:nth-child(2){height:12px;width:90%}.item.skeleton i:nth-child(3){height:12px;width:50%}.fallback{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:var(--surface);border:1px solid var(--line);border-radius:16px;text-decoration:none;transition:border-color .15s ease}.fallback:hover{border-color:var(--accent)}.fallback-text{display:grid;gap:2px;flex:1}.fallback-icon{flex:none;display:block}.fallback-label{font-weight:700}.fallback-kw{font-size:13px;color:var(--muted)}.fallback-go{flex:none;font-weight:700;color:var(--accent);white-space:nowrap}.note{color:var(--muted);font-size:13px}.browse{display:grid;gap:24px}@media(min-width:760px){.browse{grid-template-columns:1fr 1fr;gap:40px}}.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;padding:0;margin:0;list-style:none}.chips a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;transition:border-color .15s ease,color .15s ease}.chips a:hover{border-color:var(--accent);color:var(--accent)}.chips a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pair{display:grid;gap:12px}@media(min-width:640px){.pair{grid-template-columns:1fr 1fr;gap:16px}}.stat{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:8px 0 0}.stat dt{color:var(--muted);font-size:14px}.stat dd{margin:0;font-weight:700}.stat dd .num{font-size:20px}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}.prose{max-width:720px}.prose li{margin-bottom:8px}.defs{position:absolute;width:0;height:0;overflow:hidden}.sketch,.item:not(.skeleton),.fallback{position:relative;border-color:transparent;box-shadow:none}.sketch:before,.item:not(.skeleton):before,.fallback:before{content:"";position:absolute;inset:0;border:3px solid var(--sketch-line);border-radius:inherit;pointer-events:none;filter:url(#wobble-a)}.item:not(.skeleton):hover,.fallback:hover{box-shadow:none;border-color:transparent}.item:not(.skeleton):hover:before,.fallback:hover:before{border-color:var(--accent)}@media(prefers-reduced-motion:no-preference){.reveal{animation:rise .5s cubic-bezier(.16,1,.3,1) both}.reveal:nth-child(2){animation-delay:.08s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.sketch:before,.item:not(.skeleton):before,.fallback:before{animation:boil .5s steps(1,end) infinite}.item:nth-child(2n):before,.card:nth-child(2n):before{animation-delay:-.25s}@keyframes boil{0%,to{filter:url(#wobble-a)}50%{filter:url(#wobble-b)}}.illust,.events li:before,.events li:after{animation:boil-s .5s steps(1,end) infinite}.tile:nth-child(2n) .illust,.events li:nth-child(2n):before{animation-delay:-.25s}@keyframes boil-s{0%,to{filter:url(#wobble-sa)}50%{filter:url(#wobble-sb)}}.growth-line{animation:draw 1.8s cubic-bezier(.5,0,.3,1) .2s both}.growth-band,.growth-edge{animation:fade 1s ease .6s both}.item.skeleton i{animation:pulse 1.2s ease-in-out infinite}.gauge-slider{animation:measure 1.1s cubic-bezier(.34,1.25,.5,1) .15s both}@keyframes measure{0%{transform:translateY(0)}}.gauge-goal{animation:fade .4s ease 1s both}@keyframes fade{0%{opacity:0}}.scribble path{animation:draw .45s cubic-bezier(.5,0,.3,1) .8s both}@keyframes draw{0%{stroke-dashoffset:1}}.stamp{animation:stamp .42s cubic-bezier(.3,1.4,.5,1) 1.45s both}@keyframes stamp{0%{opacity:0;transform:scale(2.2) rotate(-28deg)}55%{opacity:1;transform:scale(.9) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(-10deg)}}.advice-row:has(.stamp) .advice{animation:thud .3s ease 1.66s}@keyframes thud{35%{transform:translateY(3px)}}@keyframes pulse{50%{opacity:.5}}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}[hidden]{display:none!important}
