:root{--bg:#f4efe4;--card:#fffdf7;--ink:#1b2528;--muted:#5b676a;--line:#e0d9c8;--accent:#17605a;--on-accent:#fff;--tint:#ebe5d6;--danger:#a23b2a;--shadow:0 1px 2px #281e0a0f, 0 12px 32px -12px #281e0a38;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1516;--card:#182022;--ink:#ece8de;--muted:#9ba7a9;--line:#2a3537;--accent:#84cfc1;--on-accent:#0c1918;--tint:#1f2a2c;--danger:#f0907e;--shadow:0 1px 2px #0000004d, 0 16px 36px -14px #000000b3}}:root[data-theme=dark]{--bg:#0f1516;--card:#182022;--ink:#ece8de;--muted:#9ba7a9;--line:#2a3537;--accent:#84cfc1;--on-accent:#0c1918;--tint:#1f2a2c;--danger:#f0907e;--shadow:0 1px 2px #0000004d, 0 16px 36px -14px #000000b3}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);margin:0;overflow-x:hidden}button,select,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.plain{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.page{flex-direction:column;min-height:100dvh;display:flex}.sky{color:var(--sky-ink);background:var(--sky);transition:filter .6s;position:relative;overflow:hidden}.sky.night{--sky:linear-gradient(#070b1f, #141b45 55%, #2b2d63);--sky-ink:#f4f0e6;--orb:#e9e6d8;--glow:#e9e6d840}.sky.dawn{--sky:linear-gradient(#2c3a6b, #a9647f 55%, #eea27a);--sky-ink:#fff9ef;--orb:#ffe2b8;--glow:#ffd6a080}.sky.day{--sky:linear-gradient(#5f9fd0, #a5cde4 60%, #dfe9e0);--sky-ink:#0f2230;--orb:#fff6cf;--glow:#fff6cfb3}.sky.golden{--sky:linear-gradient(#2d4777, #a85a5c 58%, #e79a57);--sky-ink:#fffaf0;--orb:#ffd98a;--glow:#ffc87899}.sky.dusk{--sky:linear-gradient(#141a44, #54346c 55%, #bb5f58);--sky-ink:#fff7ee;--orb:#ffb27a;--glow:#ffa06e73}.sky.grey{filter:saturate(.45)brightness(.94)}.sky.night:before{content:"";opacity:.8;background-image:radial-gradient(1.2px 1.2px at 12% 22%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 28% 48%,#fff 50%,#0000 51%),radial-gradient(1.4px 1.4px at 44% 14%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 61% 36%,#fff 50%,#0000 51%),radial-gradient(1.2px 1.2px at 73% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 88% 44%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 36% 70%,#fff 50%,#0000 51%),radial-gradient(1.3px 1.3px at 92% 12%,#fff 50%,#0000 51%);position:absolute;inset:0}.orb{background:radial-gradient(circle, var(--orb) 0 13%, var(--glow) 13.5% 21%, transparent 68%);border-radius:50%;width:13rem;height:13rem;margin:-6.5rem;position:absolute}.sky.night .orb{background:radial-gradient(circle, var(--orb) 0 9%, var(--glow) 10%, transparent 40%);top:26%!important;left:82%!important}.sky-inner{flex-direction:column;max-width:68rem;min-height:12rem;margin:0 auto;padding:1.1rem 1.25rem 3.2rem;display:flex;position:relative}.sky.small .sky-inner{min-height:11rem}.brand{letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.15rem;margin:0 0 auto;font-size:.72rem;display:flex}.brand button{text-align:left;align-self:flex-start;font-weight:700}.brand span{opacity:.85}.sky h1{font:600 clamp(2.1rem, 8.6vw, 3.6rem)/1.04 var(--serif);letter-spacing:-.015em;text-wrap:balance;text-shadow:0 1px 18px #0000002e;margin:1.6rem 0 0}.sky.day h1{text-shadow:none}.sky h1 em{font:italic 400 clamp(1.05rem, 4.2vw, 1.4rem)/1.3 var(--serif);letter-spacing:0;opacity:.92;margin-top:.55rem;display:block}.shore{width:100%;height:2.6rem;display:block;position:absolute;bottom:-1px;left:0}.shore path{fill:var(--bg)}.step{flex:1;width:100%;max-width:34rem;margin:0 auto;padding:.4rem 1.25rem 1.5rem}.q{font:600 .74rem var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:.1rem 0 .55rem}.tiles{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.tile{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;justify-content:center;min-height:4.1rem;padding:.65rem .9rem .7rem;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #281e0a0d}.tile strong{font:600 1.15rem/1.15 var(--serif);text-wrap:balance}.tile span{color:var(--muted);margin-top:.2rem;font-size:.8rem;line-height:1.3}.tile:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.tile:active{transform:scale(.97)}.tile.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tile.accent span{color:inherit;opacity:.85}.q span{text-transform:none;letter-spacing:0;opacity:.8;margin-left:.3rem;font-weight:400}.pills{scrollbar-width:none;gap:.4rem;margin:0 -1.25rem 1rem;padding:0 1.25rem;display:flex;overflow-x:auto}.pills::-webkit-scrollbar{display:none}.pill{border:1px solid var(--line);background:0 0;border-radius:999px;flex:none;min-height:2.5rem;padding:.4rem .85rem;font-size:.9rem}.pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.say{gap:.5rem;margin-top:.9rem;display:flex}.say input{border:0;border-bottom:1.5px solid var(--line);background:0 0;border-radius:0;flex:1;min-width:0;padding:.7rem .1rem}.say input:focus{border-color:var(--accent);outline:0}.say input::placeholder{color:var(--muted);font-style:italic;font-family:var(--serif)}.go{background:var(--accent);color:var(--on-accent);border:0;border-radius:999px;flex:none;width:2.9rem;height:2.9rem;font-size:1.2rem}.sentence{color:var(--muted);line-height:2.1;font-family:var(--serif);margin:1.3rem 0 0;font-size:1.08rem}.sentence select,.link{appearance:none;border:0;border-bottom:1.5px solid var(--accent);color:var(--ink);cursor:pointer;background:0 0;border-radius:0;padding:0 .1rem;font-weight:600}.link{color:var(--accent);font-weight:500;font-family:var(--sans);border-bottom-width:1px;font-size:.9rem}.sentence .link{font:inherit;color:var(--ink);border-bottom-width:1.5px;font-weight:600}.link.danger{color:var(--danger);border-color:var(--danger)}.pick{color:var(--muted);align-items:center;gap:.6rem;margin:.8rem 0 0;font-size:.9rem;display:flex}.pick input{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.4rem .5rem}.back{margin:1.6rem 0 0}.stage-time .sentence{margin:0 0 1.1rem;line-height:2}.stage-time .pick{flex-wrap:wrap;margin:-.3rem 0 1.1rem}.waiting{justify-content:center;align-items:flex-start;gap:.55rem;padding-top:2.5rem;display:flex}.waiting span{background:var(--accent);opacity:.25;border-radius:50%;width:.6rem;height:.6rem}.stage-results .step{max-width:68rem;padding-left:0;padding-right:0}.note{border-left:3px solid var(--accent);background:var(--tint);font-family:var(--serif);border-radius:0 12px 12px 0;max-width:40rem;margin:0 1.25rem 1rem;padding:.85rem 1rem;font-size:1.05rem}.note.quiet{font:.875rem var(--sans);color:var(--muted);background:0 0;padding:0 0 0 .8rem}.deck{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:stretch;gap:.9rem;margin:0;padding:.5rem 1.25rem 1.4rem;scroll-padding:0 1.25rem;list-style:none;display:flex;overflow-x:auto}.deck::-webkit-scrollbar{display:none}.deck li{scroll-snap-align:start;flex:0 0 min(86vw,23rem);display:flex}.deck.n1 li{flex-basis:min(100%,26rem)}.hint{text-align:center;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:-.4rem 0 0;font-size:.74rem}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;width:100%;display:flex;overflow:hidden}.g-outdoors{--plate:linear-gradient(135deg, #1d6a5a, #3f93a0)}.g-consume{--plate:linear-gradient(135deg, #a8532c, #d99443)}.g-mind{--plate:linear-gradient(135deg, #3f3a78, #7c5a9c)}.g-lively{--plate:linear-gradient(135deg, #9b2f55, #dd6a52)}.plate{background:var(--plate);color:#fff;justify-content:space-between;align-items:flex-start;gap:.6rem;height:6.6rem;padding:.85rem 1rem;display:flex;position:relative}.plate svg{width:100%;height:2.4rem;position:absolute;bottom:0;left:0;right:0}.plate path{fill:none;stroke:#ffffff52;stroke-width:1.5px;vector-effect:non-scaling-stroke}.num{font:600 6.2rem/1 var(--serif);opacity:.2;position:absolute;bottom:-.9rem;right:.9rem}.kicker{letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:600}.tags{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex;position:relative}.tags b{font:600 .68rem var(--sans);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;background:#fff3;border:1px solid #ffffff73;border-radius:999px;padding:.15rem .55rem}.body{flex:1;padding:1.05rem 1.1rem .4rem}.card h3{font:600 1.75rem/1.1 var(--serif);letter-spacing:-.01em;text-wrap:balance;margin:0}.what{color:var(--muted);margin:.3rem 0 0}.reason{border-left:3px solid var(--accent);font:italic 1.1rem/1.4 var(--serif);margin:.95rem 0 0;padding-left:.85rem}.facts{flex-wrap:wrap;gap:.4rem;margin:.95rem 0 0;display:flex}.facts span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.22rem .7rem;font-size:.8rem}.facts .open{color:var(--accent);border-color:currentColor;font-weight:600}.story{margin:1rem 0 0}.nudge{background:var(--tint);font:1.05rem/1.45 var(--serif);border-radius:14px;margin:1rem 0 0;padding:.85rem .95rem}.nudge span{font:700 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem;display:block}.source{margin:.8rem 0 0}.source a{color:var(--accent);font-size:.9rem}.actions{padding:.9rem 1.1rem 1.05rem}.primary{background:var(--accent);color:var(--on-accent);border-radius:14px;justify-content:center;align-items:center;min-height:3rem;padding:.85rem 1rem;font-weight:600;text-decoration:none;display:flex}.actions div{grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.5rem;display:grid}.actions button,.checkin button,.ghost{border:1px solid var(--line);background:0 0;border-radius:12px;min-height:2.7rem;padding:.55rem .4rem;font-size:.88rem}.actions button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.after{justify-content:center;gap:.6rem;margin:1.2rem 1.25rem 0;display:flex}.ghost{padding:.6rem 1.1rem}@media (width>=60rem){.deck{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid;overflow:visible}.deck.n1,.deck.n2{grid-template-columns:repeat(auto-fit,minmax(0,23rem))}.hint{display:none}.sky-inner{min-height:19rem;padding-bottom:5rem}.tiles{gap:.8rem}}.checkin,.shared{background:var(--card);border:1px solid var(--accent);border-radius:16px;margin-bottom:1.2rem;padding:.9rem 1rem}.checkin p{font-family:var(--serif);margin:0 0 .6rem;font-size:1.05rem}.shared h2{font:600 1.5rem/1.15 var(--serif);margin:.2rem 0 0}.shared .kicker{color:var(--accent)}.shared p{margin:.6rem 0 0}.shared .status{font-weight:600}.shared .actions{gap:.5rem;padding:.9rem 0 0;display:flex}.shared .primary{flex:1}.row{flex-wrap:wrap;gap:.5rem 1.2rem;display:flex}footer{width:100%;max-width:34rem;padding:1rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom));color:var(--muted);margin:0 auto;font-size:.8rem}footer .row{justify-content:space-between}footer p{margin:.8rem 0 0}.sheet{background:var(--card);color:var(--ink);border:0;border-radius:20px;width:min(32rem,100vw - 1.5rem);max-height:85vh;padding:0}.sheet::backdrop{background:#00000080}.sheet-body{padding:1.3rem}.sheet h2{font:600 1.25rem var(--serif);margin:0 0 .5rem}.sheet h2:not(:first-child){margin-top:1.4rem}.sheet .go{border-radius:14px;width:100%;height:auto;margin-top:1rem;padding:.75rem;font-size:1rem;font-weight:600}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);align-items:center;gap:.9rem;padding:.6rem 0;display:flex}.list li div{flex:1;min-width:0}.list span{color:var(--muted);font-size:.875rem;display:block}.muted{color:var(--muted)}.toast{left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);z-index:5;border-radius:12px;width:max-content;max-width:calc(100vw - 2rem);padding:.7rem 1rem;font-size:.9rem;position:fixed;transform:translate(-50%)}.debug{color:var(--muted);margin:1.5rem 1.25rem 0;font:12px/1.5 ui-monospace,Menlo,monospace;overflow-x:auto}.debug table{border-collapse:collapse;white-space:nowrap}.debug td{padding:.1rem .6rem .1rem 0}.debug .chosen{color:var(--ink);font-weight:700}.page{opacity:0}.page.shown{opacity:1;transition:opacity .7s ease-out}@media (prefers-reduced-motion:no-preference){.shown .sky h1{animation:.6s cubic-bezier(.2,.7,.2,1) both rise}.shown .tile{animation:.5s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:calc(var(--i) * 45ms + .12s)}.shown .sentence,.shown .say,.shown .back,.shown .after,.shown .hint{animation:.6s .5s both fade}.shown.stage-time .q,.shown.stage-time .sentence,.shown.stage-time .pick{animation:.5s .1s both fade}.shown .deck li{animation:.7s cubic-bezier(.2,.8,.2,1) both deal;animation-delay:calc(var(--i) * .16s + .1s)}.shown .pulse{animation:.5s both fade}.shown .waiting span{animation:1s infinite blink}.shown .waiting span:nth-child(2){animation-delay:.2s}.shown .waiting span:nth-child(3){animation-delay:.4s}.shown .orb{transition:left 1.2s,top 1.2s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes fade{0%{opacity:0}}@keyframes deal{0%{opacity:0;transform:translateY(40px)rotate(2deg)scale(.96)}}@keyframes blink{50%{opacity:1;transform:scale(1.25)}}}.scene{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.scene.on{opacity:1}.scene canvas{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;outline-offset:-4px;width:100%;height:100%;display:block}.scene canvas:active{cursor:grabbing}.scene.on~.orb{display:none}.sky:has(.scene.on):before{display:none}.sky:has(.scene.on).grey{filter:none}.sky:has(.scene.on){color:#fff}.sky:has(.scene.on) h1{text-shadow:0 2px 22px #0000008c,0 1px 2px #00000059}.sky:has(.scene.on) .brand{text-shadow:0 1px 8px #0009}.sky:has(.scene.on):after{content:"";pointer-events:none;background:linear-gradient(#00000052,#0000);position:absolute;inset:0 0 45%}.sky-inner{pointer-events:none;z-index:1}.sky-inner button{pointer-events:auto}.shore{z-index:1;pointer-events:none}.scene-hint{z-index:2;letter-spacing:.04em;color:#fff;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006;border-radius:999px;padding:.3rem .7rem;font-size:.72rem;position:absolute;bottom:3rem;right:.9rem}.stage-time .sky-inner{min-height:clamp(16rem,38dvh,30rem)}.stage-thinking .sky-inner{min-height:clamp(20rem,64dvh,40rem)}.stage-results .sky-inner,.sky.small .sky-inner{min-height:clamp(16rem,38dvh,26rem)}.sky-inner{transition:min-height .7s cubic-bezier(.2,.7,.2,1)}.sky h1{margin-top:1.1rem}.stage-mood .tile{min-height:3.5rem;padding:.5rem .85rem .55rem}.deck li.lit .card{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent), var(--shadow)}@media (prefers-reduced-motion:no-preference){.scene-hint{animation:.8s 1.5s both fade}}.sky:has(.scene.on) h1{margin-top:.8rem;font-size:clamp(1.7rem,6.4vw,2.9rem)}.sky:has(.scene.on) h1 em{margin-top:.3rem;font-size:clamp(.95rem,3.6vw,1.25rem)}.scene-hint{white-space:nowrap;bottom:3.1rem;left:50%;right:auto;transform:translate(-50%)}.stage-mood .sky-inner{min-height:clamp(18rem,46dvh,32rem)}.sky:has(.scene.on) .brand{margin-bottom:0}.sky:has(.scene.on) .sky-inner{justify-content:flex-start}.scene-hint{bottom:2.9rem}.vibes-sub{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.vibe-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.sheet.vibes{overflow:auto}.vibe-grid .vibe:first-child{text-align:left;flex-direction:row;grid-column:1/-1;justify-content:center;gap:.8rem}.vibe-grid .vibe:first-child .vibe-icon{width:3rem;height:3rem}.vibe{background:var(--bg);border:1.5px solid var(--line);cursor:pointer;text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.1rem;padding:.7rem .5rem .8rem;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.vibe:hover,.vibe:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px -12px #00000080}.vibe[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.vibe strong{font:600 1.05rem var(--serif)}.vibe span{color:var(--muted);font-size:.76rem;line-height:1.25}.vibe-icon{--c:#e9b44c;width:3.6rem;height:3.6rem;overflow:visible}.vibe-icon.v-chill{--c:#7fa8d9}.vibe-icon.v-upbeat{--c:#f08a4b}.vibe-icon.v-romantic{--c:#e88aa6}.vibe-icon.v-curious{--c:#62b6a4}.vibe-icon.v-active{--c:#8cc152}.vibe-icon.v-offbeat{--c:#a78bda}.vibe-icon *{transform-box:fill-box;transform-origin:50%}.vibe-icon .body{fill:var(--c)}.vibe-icon .ink{fill:#23303a}.vibe-icon .white{fill:#fff}.vibe-icon .line{fill:none;stroke:#23303a;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.vibe-icon .limb{fill:none;stroke:var(--c);stroke-width:4px;stroke-linecap:round}.vibe-icon .heart{fill:#d6336c}.vibe-icon .blush{fill:#d6336c;opacity:.35}.vibe-icon .spark{fill:var(--c)}.vibe-icon .shadow{fill:currentColor;opacity:.18}.vibe-icon .whoosh{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;opacity:.35}.vibe-icon .band{fill:none;stroke:#e2574c;stroke-width:3px;stroke-linecap:round}.vibe-icon .blink{fill:#e2574c}.vibe-icon text{fill:currentColor;font-family:var(--serif);opacity:.75;font-weight:700}.sentence .vibe-link{vertical-align:baseline;align-items:center;gap:.3rem;display:inline-flex}.sentence .vibe-link .vibe-icon{align-self:center;width:1.6rem;height:1.6rem}@media (prefers-reduced-motion:no-preference){.vibe{animation:.4s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:calc(var(--i) * 40ms)}.vibe-icon .spark{animation:1.6s ease-in-out infinite v-twinkle}.vibe-icon .breathe{transform-origin:bottom;animation:3.6s ease-in-out infinite v-breathe}.vibe-icon .zed{animation:2.4s ease-in infinite v-zed}.vibe-icon .dance{transform-origin:bottom;animation:.5s ease-in-out infinite alternate v-dance}.vibe-icon .tune{animation:1s ease-in-out infinite alternate v-bob}.vibe-icon .n2{animation-delay:.3s}.vibe-icon .beat{animation:.9s ease-in-out infinite v-beat}.vibe-icon .sway{transform-origin:bottom;animation:2.4s ease-in-out infinite alternate v-sway}.vibe-icon .tilt{transform-origin:bottom;animation:3s ease-in-out infinite alternate v-sway}.vibe-icon .look{animation:2.6s ease-in-out infinite v-look}.vibe-icon .ask{animation:2.6s ease-in-out infinite v-ask}.vibe-icon .jump{transform-origin:bottom;animation:.8s cubic-bezier(.3,0,.6,1) infinite v-jump}.vibe-icon .shadow{animation:.8s cubic-bezier(.3,0,.6,1) infinite v-shadow}.vibe-icon .whoosh{animation:.8s linear infinite v-whoosh}.vibe-icon .wobble{animation:3s ease-in-out infinite v-wobble}.vibe-icon .blink{animation:1.2s steps(2,jump-none) infinite v-blink}.vibe-icon.v-offbeat .body{animation:5s linear infinite v-hue}}@keyframes v-twinkle{0%,to{opacity:.2;transform:scale(.2)rotate(0)}50%{opacity:1;transform:scale(1)rotate(45deg)}}@keyframes v-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,1.12)}}@keyframes v-zed{0%{opacity:0;transform:translate(-3px,6px)scale(.6)}30%{opacity:.8}to{opacity:0;transform:translate(4px,-8px)scale(1.1)}}@keyframes v-dance{0%{transform:rotate(-11deg)translateY(0)}to{transform:rotate(11deg)translateY(-4px)}}@keyframes v-bob{0%{transform:translateY(2px)rotate(-8deg)}to{transform:translateY(-4px)rotate(8deg)}}@keyframes v-beat{0%,to{transform:scale(2.2)}15%{transform:scale(2.9)}30%{transform:scale(2.3)}45%{transform:scale(2.7)}}@keyframes v-sway{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes v-look{0%,to{transform:translate(-2.2px)}25%{transform:translateY(-1.6px)}50%{transform:translate(2.2px)}75%{transform:translateY(1.2px)}}@keyframes v-ask{0%,60%,to{transform:scale(1)rotate(0)}70%{transform:scale(1.35)rotate(12deg)}85%{transform:scale(.95)rotate(-6deg)}}@keyframes v-jump{0%,to{transform:translateY(2px)scale(1.14,.84)}45%,55%{transform:translateY(-15px)scale(.93,1.1)}}@keyframes v-shadow{0%,to{opacity:.22;transform:scale(1)}45%,55%{opacity:.1;transform:scale(.55)}}@keyframes v-whoosh{0%,to{opacity:0}30%{opacity:.45}60%{opacity:0}}@keyframes v-wobble{0%,to{transform:rotate(-9deg)translateY(0)}50%{transform:rotate(9deg)translateY(-3px)}}@keyframes v-blink{0%{fill:#e2574c}to{fill:#f6d15a}}@keyframes v-hue{to{filter:hue-rotate(360deg)}}.scene-zoom{z-index:3;flex-direction:column;gap:.35rem;display:flex;position:absolute;bottom:3.4rem;right:.7rem}.scene-zoom button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000061;border:1px solid #ffffff59;border-radius:50%;width:2.1rem;height:2.1rem;font-size:1.15rem;line-height:1}.scene-zoom button:hover,.scene-zoom button:focus-visible{background:#0009}.help{color:#fff;width:2rem;height:2rem;font:600 1rem var(--serif);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000047;border:1px solid #ffffff73;border-radius:50%;position:absolute;top:.85rem;right:1rem}.help:hover,.help:focus-visible{background:#00000080}.sky:not(:has(.scene.on)) .help{color:inherit;background:0 0;border-color:currentColor}.intro-on .sky{z-index:30;position:fixed;inset:0}.intro-on .sky-inner,.intro-on .shore,.intro-on .scene-zoom,.intro-on .scene-hint,.intro-on .sky:after{display:none}.intro-on .sky .scene{opacity:1}.intro{z-index:5;padding:2rem 1.6rem calc(1.4rem + env(safe-area-inset-bottom));color:#fff;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#080c1880,#080c186b 34%,#080c180f 58%,#080c181a 78%,#080c188c);border:0;flex-direction:column;justify-content:center;align-items:center;width:100%;margin:0;display:flex;position:absolute;inset:0}.intro-stage{flex:1;justify-content:center;align-items:flex-start;width:100%;max-width:36rem;padding-top:clamp(4.5rem,19dvh,11rem);display:flex}.intro-line{font:600 clamp(2.25rem, 9.4vw, 3.8rem)/1.12 var(--serif);letter-spacing:-.012em;text-wrap:balance;text-shadow:0 2px 28px #0009,0 1px 3px #00000073;display:block}.intro-line.last .beat{display:block}.intro-line.last .b2{opacity:.92;margin-top:.12em;font-size:.82em;font-style:italic;font-weight:500}.intro-go{font:800 min(1.42em, 12.4vw)/1 var(--sans);letter-spacing:-.035em;white-space:nowrap;margin-top:.14em;padding-bottom:.22em;display:inline-block;position:relative}.intro-go .w{display:inline-block}.swash{width:104%;height:.3em;position:absolute;bottom:-.04em;left:-2%;right:-2%;overflow:visible}.swash path{fill:none;stroke:#ffd76a;stroke-width:3.2px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:320;stroke-dashoffset:0;filter:drop-shadow(0 1px 6px #00000073)}.intro-foot{flex-direction:column;align-items:center;gap:.85rem;display:flex}.intro-dots{gap:.4rem;display:flex}.intro-dots i{background:#ffffff47;border-radius:2px;width:1.1rem;height:2px;transition:background .6s}.intro-dots i.on{background:#ffffffd9}.intro-skip{letter-spacing:.16em;text-transform:uppercase;opacity:.62;text-shadow:0 1px 8px #0009;font-size:.72rem}.intro.leaving{opacity:0;transition:opacity .7s}@media (prefers-reduced-motion:no-preference){.intro{animation:1.2s both fade}.intro-line{animation:intro-line var(--hold) cubic-bezier(.3, .1, .2, 1) both}.intro-line.last{animation:none}.intro-line.last .b1{animation:1.1s cubic-bezier(.3,.1,.2,1) both intro-stay,1.4s cubic-bezier(.4,0,.2,1) 1.5s forwards intro-yield}.intro-line.last .b2{animation:1.1s cubic-bezier(.2,.7,.2,1) 1.55s both intro-turn}.intro-go .w{animation:1.15s cubic-bezier(.16,1.1,.3,1) both intro-land}.intro-go .w1{animation-delay:2.15s}.intro-go .w2{animation-delay:2.32s}.swash path{animation:1.1s cubic-bezier(.3,.6,.2,1) 3s both intro-swash}}@keyframes intro-line{0%{opacity:0;filter:blur(6px);transform:translateY(.5em)}22%{opacity:1;filter:none;transform:none}80%{opacity:1;filter:none;transform:none}to{opacity:0;filter:blur(4px);transform:translateY(-.35em)}}@keyframes intro-stay{0%{opacity:0;filter:blur(6px);transform:translateY(.5em)}to{opacity:1;filter:none;transform:none}}@keyframes intro-yield{to{opacity:.78;transform:translateY(-.08em)scale(.94)}}@keyframes intro-turn{0%{opacity:0;filter:blur(5px);transform:translateY(.5em)}to{opacity:.92;filter:none;transform:none}}@keyframes intro-land{0%{opacity:0;filter:blur(10px);transform:translateY(.55em)scale(.9)}60%{opacity:1;filter:none}to{opacity:1;filter:none;transform:none}}@keyframes intro-swash{0%{stroke-dashoffset:320px}to{stroke-dashoffset:0}}.switch{color:var(--muted);cursor:pointer;align-items:center;gap:.6rem;width:fit-content;margin:1rem 0 .2rem;font-size:.9rem;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch .track{background:var(--line);border-radius:999px;flex:none;width:2.3rem;height:1.3rem;transition:background .2s;position:relative}.switch .track:after{content:"";background:var(--card);border-radius:50%;width:1rem;height:1rem;transition:transform .2s;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 3px #0000004d}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:after{transform:translate(1rem)}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.intro-wait{align-self:center;gap:.55rem;margin-top:-4rem;display:flex}.intro-wait i{opacity:.25;background:#ffffffbf;border-radius:50%;width:.42rem;height:.42rem}@media (prefers-reduced-motion:no-preference){.intro-wait i{animation:1.3s ease-in-out infinite intro-wait}.intro-wait i:nth-child(2){animation-delay:.18s}.intro-wait i:nth-child(3){animation-delay:.36s}}@keyframes intro-wait{0%,to{opacity:.2;transform:scale(.85)}45%{opacity:.9;transform:scale(1)}}
