*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:var(--font);font-weight:500;color:var(--ink);background:var(--bg);transition:background-color var(--t-world) ease;touch-action:none;-webkit-text-size-adjust:100%;font-feature-settings:"palt" 0}::selection{background:var(--deep);color:var(--tag)}.app{position:fixed;inset:0;height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.world-wrap{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}.world{display:flex;width:600%;height:100%;transform:translate(calc(var(--room, 0) * (100% / -6)));transition:transform var(--t-world) var(--ease)}.room{position:relative;flex:0 0 calc(100% / 6);height:100%}.backdrop{position:absolute;inset:0;width:100%;height:100%;display:block}.slot{position:absolute}.slot svg{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 10px var(--paper-shadow))}.slot svg [fill],.slot svg [stroke],.backdrop [fill]{transition:fill var(--t-world) ease,stroke var(--t-world) ease}.slot-a{left:3vw;bottom:calc(env(safe-area-inset-bottom) + 3.6rem);width:min(38vmax,60vw)}.slot-b{right:4vw;top:calc(env(safe-area-inset-top) + 4.4rem);width:min(24vmax,38vw);opacity:.92}.haru{position:absolute;right:5vw;bottom:calc(env(safe-area-inset-bottom) + 3.6rem);width:min(16vmax,26vw);transition:opacity .3s ease;filter:drop-shadow(0 8px 10px var(--paper-shadow))}.haru svg{width:100%;height:auto;display:block}.haru svg [fill]{transition:fill var(--t-world) ease}.haru[data-hide]{opacity:0}.haru.walking{animation:walk .45s ease-in-out infinite}@keyframes walk{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.snow{position:absolute;inset:0;transition:opacity var(--t-world) ease}.snow i{position:absolute;top:-20px;border-radius:50%;background:#fff;opacity:.85;animation:fall linear infinite}[data-temp=warm] .snow{opacity:0}@keyframes fall{0%{transform:translateY(-20px)}to{transform:translate(24px,110vh)}}.bar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--bar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--bar-ink);padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.bar-top{grid-row:1;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line)}.bar-bottom{grid-row:3;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);justify-content:center}.nav-btn{font:inherit;font-size:1.2rem;font-weight:700;min-height:52px;min-width:52px;padding:0 1.1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;color:inherit;background:transparent;border:0;border-radius:999px;cursor:pointer}.nav-btn svg{width:1.4rem;height:1.4rem;flex:none}.nav-btn:hover{background:var(--tag)}.nav-btn.is-hidden{visibility:hidden}.nav-next{width:min(90vw,34rem);min-height:56px;margin:5px 0;font-size:1.35rem;color:var(--accent-ink);background:var(--accent);box-shadow:0 3px 8px #14325a40}.nav-next:hover{background:var(--accent);filter:brightness(1.08)}.nav-next .ico-again,.nav-next.is-restart .ico-down{display:none}.nav-next.is-restart .ico-again{display:block}.dots{display:flex;gap:7px;list-style:none;margin:0;padding:0}.dots li{width:10px;height:10px;border-radius:50%;background:var(--line);transition:background-color .3s,transform .3s}.dots li.on{background:var(--deep);transform:scale(1.35)}.count{font-size:1rem;font-weight:700;min-width:4rem;text-align:right;padding-right:.5rem;font-variant-numeric:tabular-nums}@media(max-width:26rem){.dots{display:none}}:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.stage{grid-row:2;position:relative;z-index:2;min-height:0;display:flex;align-items:center;justify-content:center;padding:.75rem max(.5rem,env(safe-area-inset-left))}.card{width:min(90vw,34rem);max-height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:0;transition:opacity var(--t-out) ease,transform var(--t-out) ease}.card.is-out{opacity:0;transform:translateY(28px)}.card.is-in{transition:opacity var(--t-in) ease,transform var(--t-in) ease}.bubble{position:relative;width:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-color:var(--deep) transparent;scrollbar-width:thin;background:var(--card);color:var(--ink);border:3px solid var(--deco);border-radius:32px;padding:1.3rem 1.4rem 1.4rem;box-shadow:0 2px 4px #1e324614,0 14px 30px -6px var(--paper-shadow);font-size:var(--fs-body);line-height:1.75;text-wrap:pretty;transition:border-color var(--t-world) ease}.bubble:focus{outline:none}.scene[hidden]{display:none}.scene>*{margin:0 0 1rem}.scene>*:last-child{margin-bottom:0}.tag{display:inline-block;padding:.25rem 1.1rem;border-radius:999px;background:var(--tag);color:var(--deep);font-size:var(--fs-sub);font-weight:700;line-height:1.5;transition:background-color var(--t-world) ease,color var(--t-world) ease}.haru-say{display:flex;gap:.7rem;align-items:center;font-size:var(--fs-sub);line-height:1.7;background:var(--tag);border-radius:22px;padding:.6rem 1rem .6rem .7rem;transition:background-color var(--t-world) ease}.haru-say .face{flex:none;width:3rem;height:3rem;border-radius:50%;background:var(--card)}.who{display:block;font-size:1rem;color:var(--deep);line-height:1.4}.big{font-size:clamp(4rem,20vmin,6rem);font-weight:700;line-height:1.1;color:var(--deep);text-align:center;letter-spacing:-.01em}.big small{font-size:.5em;margin-left:.06em}.lead{font-weight:700}.source{font-size:var(--fs-note);color:var(--ink-soft);line-height:1.6}.choices{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.choice:last-child{grid-column:1 / -1}.choice,.cta,.calm{font:inherit;font-weight:700;cursor:pointer;border-radius:20px}.choice{min-height:58px;padding:.4rem .8rem;font-size:var(--fs-sub);color:var(--ink);background:var(--tag);border:2px solid var(--deep);transition:background-color .15s ease,transform .15s ease}.choice:hover{background:var(--deco)}.choice:active{transform:scale(.98)}.choice.picked{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);animation:pop .5s var(--ease)}.choice.dim{opacity:.45;transition:opacity .3s ease}.choice.unsure.picked{animation:tilt .7s ease-in-out}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-2.5deg)}75%{transform:rotate(2.5deg)}}.tip{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--fs-sub);line-height:1.65;color:var(--ink);background:var(--tag);border-radius:18px;padding:.7rem .9rem;transition:background-color var(--t-world) ease}.tip svg{flex:none;width:1.6rem;height:1.6rem;margin-top:.15rem;color:var(--deep)}.tip b{display:block;font-size:1rem;color:var(--deep);line-height:1.5}.calm{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.3rem 1rem;font-size:1.1rem;color:var(--ink);background:transparent;border:2px solid var(--line)}.calm svg{width:1.2rem;height:1.2rem;opacity:0}.calm[aria-pressed=true]{background:var(--tag);border-color:var(--deep)}.calm[aria-pressed=true] svg{opacity:1}.cta{width:100%;min-height:60px;font-size:var(--fs-sub);color:var(--accent-ink);background:var(--accent);border:0;box-shadow:0 3px 8px #14325a40}.steps{padding:0;list-style:none;counter-reset:s;display:grid;gap:.55rem}.steps li{counter-increment:s;position:relative;padding:.55rem .9rem .55rem 3.2rem;border-radius:18px;background:var(--tag);font-size:var(--fs-sub);line-height:1.6;transition:background-color var(--t-world) ease}.steps li:before{content:counter(s);position:absolute;left:.75rem;top:.6rem;width:1.9rem;height:1.9rem;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:1.1rem;color:var(--tag);background:var(--deep)}.sources{font-size:var(--fs-note);color:var(--ink-soft)}.sources summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-size:1.15rem;font-weight:700;color:var(--ink)}.sources ul{margin:0;padding-left:1.2rem;line-height:1.7;font-size:1rem}.guide{flex:none;position:relative;display:flex;align-items:center;gap:.6rem;padding-left:1.1rem;margin-top:-2px}.guide:before,.guide:after{content:"";position:absolute;left:1.9rem;clip-path:polygon(0 0,100% 0,50% 100%);transition:background-color var(--t-world) ease}.guide:before{top:-4px;width:30px;height:24px;background:var(--deco)}.guide:after{top:-6px;width:22px;height:17px;margin-left:4px;background:var(--card)}.guide svg{width:3.4rem;height:auto;flex:none;position:relative;filter:drop-shadow(0 4px 5px var(--paper-shadow))}.mercury{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--lvl, .3));transition:transform var(--t-world) var(--ease)}[data-temp=warm] .mercury{transform:scaleY(var(--lvl, .85))}.mercury{transition-duration:.7s}.guide-name{font-size:1.1rem;font-weight:700;color:var(--deep);background:var(--card);border-radius:999px;padding:.15rem .9rem}@media(max-height:30rem){.guide svg{width:2rem}.bubble{padding:.8rem 1rem}}html[data-reduce] .world,html[data-reduce] .mercury{transition:none}html[data-reduce] .choice.picked,html[data-reduce] .choice.unsure.picked{animation:none}html[data-reduce] .snow,html[data-reduce] .haru.walking{animation:none;display:none}html[data-reduce] .card.is-out{transform:none}html[data-reduce] .card,html[data-reduce] .card.is-in{transition:opacity .2s ease}html[data-reduce] body{transition:none}@media(prefers-reduced-motion:reduce){.choice.picked,.choice.unsure.picked{animation:none}.world,.mercury{transition:none}.snow,.haru.walking{animation:none;display:none}.card.is-out{transform:none}.card,.card.is-in{transition:opacity .2s ease}}.m-cold,.puff,.brow,[data-temp=cold] .m-warm{display:none}[data-temp=cold] .m-cold,[data-temp=cold] .puff,[data-temp=cold] .brow{display:inline}.intro{font-size:var(--fs-sub);color:var(--ink)}.hint{margin:0;padding:.4rem 1rem 0;font-size:1.15rem;font-weight:700;line-height:1.5;text-align:center;color:var(--bar-ink);width:100%}.hint[hidden]{display:none}.bar-bottom{flex-wrap:wrap}.measure label{display:block;font-size:var(--fs-sub);font-weight:700;margin-bottom:.5rem}.measure-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.measure input{font:inherit;font-weight:700;font-size:var(--fs-body);width:6.5rem;min-height:56px;padding:0 .8rem;color:var(--ink);background:var(--card);border:2px solid var(--deep);border-radius:16px;caret-color:var(--accent)}.measure .unit{font-size:var(--fs-body);font-weight:700}.measure .cta{flex:1 1 8rem;width:auto;min-height:56px}.measure-out{margin:.6rem 0 0;font-size:var(--fs-sub);line-height:1.7;color:var(--ink)}.measure-out:empty{display:none}.chart-link{display:flex;align-items:center;justify-content:center;min-height:56px;padding:.4rem 1rem;font-size:var(--fs-sub);font-weight:700;text-decoration:none;text-align:center;color:var(--deep);background:var(--tag);border:2px solid var(--deep);border-radius:20px}.chart-link:hover{background:var(--deco)}.warm-row{display:flex;align-items:center;gap:.5rem}.step-btn{flex:none;width:60px;height:60px;display:grid;place-items:center;cursor:pointer;color:var(--accent-ink);background:var(--accent);border:0;border-radius:50%}.step-btn svg{width:1.6rem;height:1.6rem}.warm-row input[type=range]{flex:1;min-width:0;height:60px;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:pan-y}.warm-row input[type=range]::-webkit-slider-runnable-track{height:16px;border-radius:8px;background:var(--deco)}.warm-row input[type=range]::-moz-range-track{height:16px;border-radius:8px;background:var(--deco)}.warm-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:44px;margin-top:-14px;border-radius:50%;background:var(--accent);border:4px solid var(--card);box-shadow:0 2px 8px var(--paper-shadow)}.warm-row input[type=range]::-moz-range-thumb{width:36px;height:36px;border-radius:50%;background:var(--accent);border:4px solid var(--card);box-shadow:0 2px 8px var(--paper-shadow)}.warm-msg{margin:.7rem 0 0;font-size:var(--fs-sub);line-height:1.7;min-height:3.4em}.warmer .big{font-size:clamp(3rem,9vmin,4.2rem);margin-bottom:.2rem;line-height:1}.warmer>*{margin-bottom:.3rem}.warm-msg{min-height:3.4em}
