:root{--gutter:16px;--top-h:140px;--card:min(48vh, 40vw, 440px);--porro-w:316px;--porro-inset:44px;--strip-w:96px;--edge-h:calc(56px + 8px + 4 * 84px + 3 * 10px + 20px);font-family:var(--font-rounded);color:var(--color-text);background:var(--color-surface)}html,body,#app{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}svg{display:block}.scene{background:var(--gradient-day);position:fixed;inset:0;overflow:hidden}.scene[data-time=evening]{background:var(--gradient-evening)}.backdrop,.backdrop>svg{width:100%;height:100%;position:absolute;inset:0}.backdrop.dim,.sky.dim{filter:saturate(.8)brightness(.92)}.s-chest .sky{opacity:.7}.hills{pointer-events:none;height:24%;position:absolute;bottom:0;left:0;right:0}.hills>svg{width:100%;height:100%}.fx{pointer-events:none;z-index:30;position:absolute;inset:0}.fx>.art-setpiece{pointer-events:auto}.child{touch-action:manipulation;background:0 0;border:0;padding:0}.child>svg{width:100%;height:100%}.top{top:calc(var(--gutter) + env(safe-area-inset-top,0px));left:calc(var(--gutter) + env(safe-area-inset-left,0px));right:var(--gutter);height:var(--top-h);align-items:center;gap:var(--gutter);z-index:40;display:flex;position:absolute}.exit,.exit-space{width:var(--art-target);height:var(--art-target);flex:none}.exit{background:var(--color-exit-fill);box-shadow:inset 0 0 0 3px var(--color-exit-ring);border-radius:50%;padding:22px}.exit>svg{filter:saturate(.4)brightness(1.04);opacity:.85}.road-slot{box-sizing:border-box;flex:1;min-width:0;height:100%;padding-top:30px}.look-road,.look-road>svg{width:100%;height:100%}.look-road>svg{overflow:visible}.look-road,.look-road svg{pointer-events:none}.center{inset:calc(var(--top-h) + var(--gutter)) 0 0 0;place-items:center;display:grid;position:absolute}.s-ride .center{bottom:calc(var(--gutter) + var(--grownup-h) + 8px + env(safe-area-inset-bottom,0px))}.s-home .porro-big,.s-paused .porro-big{left:calc(var(--porro-inset) + env(safe-area-inset-left,0px));bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px));width:var(--porro-w);position:absolute}.porro-big{aspect-ratio:336/276;background:radial-gradient(closest-side, var(--color-glow), var(--color-glow-edge));border-radius:50%;width:min(56vmin,460px)}.porro-big.sleeping>svg{animation:breathe 4s var(--art-ease-soft) infinite}@keyframes breathe{50%{transform:scale(1.03,.98)}}.gear{border:2px solid var(--color-grownup-line);background:var(--color-grownup-fill);width:40px;height:40px;color:var(--color-grownup-ink);z-index:6;border-radius:50%;margin:4px;padding:8px;position:relative}.gear svg{width:100%;height:100%;display:block}.gear.holding{border-color:var(--color-grownup-line-active);color:var(--color-grownup-ink-active);transition:transform 2s linear,color .2s,border-color .2s;transform:scale(1.35)}.gear.hinting{border-color:var(--color-grownup-line-active);color:var(--color-grownup-ink-active)}.tap-hint{pointer-events:none;opacity:0;z-index:4;width:30%;animation:.4s 1.4s forwards hint-in;position:absolute}.tap-hint>svg{transform-origin:14% 93%;width:100%;height:auto;animation:1.4s ease-in-out 1.4s infinite hint-tap;display:block;overflow:visible}.tap-hint .art-hand-ripple{transform-box:fill-box;transform-origin:50%;opacity:0;animation:1.4s ease-out 1.4s infinite hint-ripple}.s-home .tap-hint{width:38%;top:5.8%;left:57.8%}.porro-slot.art-invite:not(.model-playing) .art-ear{animation-name:ear-invite-big}@keyframes ear-invite-big{0%,60%,to{transform:scale(1)rotate(0)}72%{transform:scale(1.3)rotate(-8deg)}86%{transform:scale(1.18)rotate(5deg)}}.porro-slot.side>svg{transform-origin:50% 90%;transition:transform .35s var(--art-ease-soft)}.porro-slot.side.recording>svg{transform:rotate(6deg)scale(1.06)}.scene[data-strip=left] .porro-slot.side.recording>svg{transform:rotate(-6deg)scale(1.06)}.porro-slot.recording .art-ear{transform-box:fill-box;transform-origin:50%;transition:transform .3s var(--art-ease-soft);transform:scale(1.25)}.porro-slot.recording .art-rings path{transform:scale(calc(1 + var(--level,0) * .9));opacity:calc(.6 + var(--level,0) * .4)}.porro-slot:not(.art-invite) .tap-hint,.porro-slot.model-playing .tap-hint{display:none}@keyframes hint-in{to{opacity:1}}@keyframes hint-tap{0%,to{transform:translate(10%,-12%)}45%,60%{transform:translate(0)scale(.94)}}@keyframes hint-ripple{0%,44%{opacity:0;transform:scale(.4)}52%{opacity:.95;transform:scale(.7)}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.tap-hint>svg{animation:none}.tap-hint .art-hand-ripple{opacity:0;animation:none}}.stage{left:50%;top:calc(var(--top-h) + var(--gutter) + (100% - var(--top-h) - var(--gutter)) / 2);position:absolute;transform:translate(-50%,-50%)}.picture-card{width:var(--card);height:var(--card);border-radius:var(--radius-l);background:var(--color-surface-raised);box-shadow:var(--shadow-lift);box-sizing:border-box;place-items:center;padding:8%;display:grid}.picture-card>svg{width:100%;height:100%}.picture-card.rolled{animation:roll .7s var(--art-ease-out)}@keyframes roll{40%{transform:translate(-12%)}}.look-emoji{font-size:calc(var(--card) * .5);line-height:1}.porro-slot{pointer-events:none;position:absolute}.porro-slot>svg{width:100%;height:auto}.porro-slot [data-hit=ear]{pointer-events:auto;cursor:pointer}.porro-slot.side{left:calc(var(--porro-inset) + env(safe-area-inset-left,0px));bottom:var(--gutter);width:var(--porro-w)}.porro-slot>svg{overflow:visible}.scene[data-strip=left] .porro-slot.side{left:auto;right:calc(var(--porro-inset) + env(safe-area-inset-right,0px))}.porro-slot.tilt>svg{animation:tilt .8s var(--art-ease-soft)}@keyframes tilt{40%{transform:rotate(-12deg)translate(-3%)}}.porro-slot.wobble>svg{animation:wobble .7s var(--art-ease-soft)}@keyframes wobble{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.porro-slot.cupping>svg{animation:cup .8s var(--art-ease-soft) 2}@keyframes cup{50%{transform:rotate(-6deg)scale(1.04)}}.parent-edge{right:calc(8px + env(safe-area-inset-right,0px));width:var(--strip-w);height:var(--edge-h);z-index:8;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-45%)}.parent-edge>.strip,.parent-edge>.rec-dot{pointer-events:auto}.scene[data-strip=left] .parent-edge{right:auto;left:calc(8px + env(safe-area-inset-left,0px));align-items:flex-start}.whisper{box-sizing:border-box;min-width:var(--strip-w);background:var(--color-whisper);width:max-content;max-width:min(440px,56vw);box-shadow:0 1px 4px var(--color-whisper-shadow);color:var(--color-text);text-align:center;text-wrap:balance;pointer-events:none;border-radius:14px;padding:8px 14px;font:600 18px/22px system-ui,-apple-system,sans-serif}.whisper[data-long] .cue-word{font-size:16px}.whisper[data-long] .cue-lead{font-size:13px}.whisper[data-kind=note]{font:500 15px/22px system-ui,-apple-system,sans-serif}.cue-lead{color:var(--color-text-muted);font-size:15px;font-weight:500}.cue-mark{-webkit-text-decoration:underline 2px var(--color-cue-mark);text-decoration:underline 2px var(--color-cue-mark);text-underline-offset:3px;font-weight:800}.s-stop .parent-edge,.s-selfcheck .parent-edge,.s-meter .parent-edge{height:auto;top:auto;bottom:calc(var(--gutter) + var(--grownup-h) + 1px + env(safe-area-inset-bottom,0px));transform:none}.strip{width:var(--strip-w);background:var(--color-strip);border-radius:24px;flex-direction:column;align-items:center;gap:10px;padding:10px 0;display:flex;position:relative}.strip:empty{display:none}.strip-slot,.strip-btn{box-sizing:border-box;border-radius:18px;width:72px;height:72px}.strip-slot.empty{visibility:hidden}.strip-btn{color:var(--color-strip-btn-text);background:var(--color-strip-btn);border:0;place-items:center;transition:opacity .2s;display:grid}.strip-btn>svg{width:28px;height:28px}.strip-btn.j-ok{background:var(--color-strip-ok)}.strip-btn.j-parina,.strip-btn.j-almost{background:var(--color-strip-almost)}.strip-btn.j-kurkku{box-shadow:inset 0 0 0 2px var(--color-strip-kurkku-ring);background:0 0}.strip-btn.waiting{opacity:.6}.strip-tags{flex-direction:column;gap:8px;display:flex;position:absolute;top:10px;right:calc(100% + 8px)}.scene[data-strip=left] .strip-tags{left:calc(100% + 8px);right:auto}.strip-tag{background:var(--color-strip-tag);width:60px;height:60px;color:var(--color-strip-tag-text);border:0;border-radius:16px;place-items:center;display:grid}.ride-grid{--tile:min(30vh, 25vw, 260px);grid-template-columns:repeat(3, var(--tile));gap:24px;display:grid}.ride-grid.n4{grid-template-columns:repeat(2, var(--tile))}.ride-tile{width:var(--tile);height:var(--tile);border-radius:var(--radius-l);background-color:var(--color-surface-raised);background-image:var(--texture-fluff);background-size:var(--art-fluff-size);box-shadow:var(--shadow-lift);box-sizing:border-box;padding:8%}.arrival-row{inset:calc(var(--top-h) + var(--gutter)) var(--gutter) var(--gutter) var(--gutter);justify-content:center;align-items:center;gap:4vw;display:flex;position:absolute}.arrival-cloud{aspect-ratio:1.3;place-items:center;width:min(46vmin,400px);display:grid;position:relative}.arrival-cloud:before{content:"";background:radial-gradient(closest-side, var(--color-surface-raised) 70%, var(--color-glow-edge));transition:opacity .35s var(--art-ease-soft), scale .35s var(--art-ease-soft);border-radius:50%;position:absolute;inset:0}.arrival-cloud.emptied:before{opacity:0;scale:.6}.arrival-friend{width:62%;position:relative}.arrival-friend>svg,.arrival-ride>svg{width:100%;height:auto}.arrival-ride{z-index:2;aspect-ratio:1;width:min(34vmin,300px);transition:transform .3s var(--art-ease-soft);place-items:center;display:grid;position:relative}.arrival-ride:has(>.art-gag-layer){transform:scale(1.45)}.arrival-ride:has(>.art-gag-layer)>svg:first-child{visibility:hidden}.belt{inset:calc(var(--top-h) + var(--gutter)) var(--gutter) var(--gutter) var(--gutter);grid-template-columns:1fr auto 1fr;place-items:center;display:grid;position:absolute}.monster,.bin{aspect-ratio:1;width:min(30vh,26vw,300px);position:relative}.look-pop{pointer-events:none;z-index:5;width:55%;position:absolute;top:-18%;left:50%;transform:translate(-50%)}.look-pop.look-toot{top:0;left:85%}.look-pop>svg{width:100%;height:auto}.look-bubble{width:100%;height:100%}.belt-mid{--card:min(36vh, 30vw, 340px);justify-items:center;gap:8px;display:grid}.porro-slot.tiny{width:150px;position:static}.sky{aspect-ratio:1000/300;max-height:46%;-webkit-mask-image:linear-gradient(var(--color-mask) 65%, transparent);-webkit-mask-image:linear-gradient(var(--color-mask) 65%, transparent);mask-image:linear-gradient(var(--color-mask) 65%, transparent);position:absolute;top:0;left:0;right:0;overflow:hidden}.sky>svg{width:100%;height:auto}.evening-ground{align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:4vh;left:22vw}.porro-tuck{aspect-ratio:336/276;width:min(34vmin,300px);position:relative}.blanket{background-color:var(--color-blanket);background-image:var(--texture-fluff);height:0;transition:height .9s var(--art-ease-out);pointer-events:none;background-size:30px 30px;border-radius:40% 40% 24px 24px;position:absolute;bottom:2%;left:20%;right:16%}.porro-tuck.tucked .blanket{height:27%}.parked>svg{width:100%;height:auto}.chest-btn{width:168px;height:150px;position:absolute;bottom:5vh;left:5vw}.chest-room{inset:calc(var(--top-h) + var(--gutter)) var(--gutter) var(--gutter) var(--gutter);grid-template-rows:1fr auto;place-items:center;gap:16px;display:grid;position:absolute}.chest-grid{flex-wrap:wrap;justify-content:center;gap:20px;max-width:900px;display:flex}.chest-card{--card:150px;border-radius:var(--radius-l);background:var(--color-surface-raised);width:150px;height:150px;box-shadow:var(--shadow-sticker);box-sizing:border-box;padding:14px}.chest-card.picked{box-shadow:0 0 0 8px var(--color-surface-raised), 0 0 0 14px var(--color-picked-ring), 0 14px 30px var(--color-picked-glow)}.chest-empty{width:220px}.chest-voices{gap:32px;display:flex}.voice{background:var(--color-voice);width:150px;height:150px;box-shadow:0 0 0 6px var(--color-surface-raised), 0 0 0 11px var(--color-voice-accent);box-sizing:border-box;border-radius:50%;padding:18px;position:relative}.voice>.speaker{background:var(--color-voice-accent);box-sizing:border-box;border-radius:50%;width:50px;height:50px;padding:8px;position:absolute;bottom:-8px;right:-8px}.engine,.porro-listen{aspect-ratio:270/220;border-radius:var(--radius-l);width:min(30vh,26vw,300px);transition:transform .3s var(--art-ease-out), opacity .3s;position:relative}.porro-listen{aspect-ratio:336/276}.selfcheck-row[data-picked=sputter] [data-role=engine-sputter],.selfcheck-row[data-picked=roar] [data-role=engine-roar]{transform:scale(1.08)}.meter-toy{--level:0;--shake-x:0px;--shake-y:0px;aspect-ratio:270/220;width:min(50vh,44vw,420px)}.meter-toy>svg,.p-meter>svg{width:100%;height:100%}@media (max-aspect-ratio:1){:root{--card:min(62vw, 42vh, 480px);--porro-w:min(46vw, 360px)}.stage{top:39%}.parent-edge{top:auto;bottom:calc(var(--gutter) + var(--grownup-h) + 1px + env(safe-area-inset-bottom,0px));transform:none}.evening-ground{bottom:calc(2vh + 7vmin);left:4vw}.chest-btn{bottom:calc(4vh + 56px);left:auto;right:4vw}.ride-grid{--tile:min(34vw, 22vh, 300px);grid-template-columns:repeat(2, var(--tile))}.belt{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;align-content:center;row-gap:24px}.belt-mid{--card:min(48vw, 34vh, 380px);grid-area:1/1/auto/-1}.monster,.bin{grid-row:2;width:min(38vw,26vh,300px)}.belt-mid .porro-slot.tiny{pointer-events:none;width:min(9vw,72px);margin-top:2vh;position:absolute;top:100%;left:50%;transform:translate(-50%)}.engine{grid-row:2;width:min(38vw,26vh,300px)}.porro-listen{width:min(48vw,30vh,360px)}}@media (prefers-reduced-motion:reduce){.porro-big.sleeping>svg,.porro-slot.cupping>svg,.picture-card.rolled{animation:none}}.rec-dot{background:var(--color-recording);width:14px;height:14px;box-shadow:0 0 0 4px var(--color-recording-glow);border-radius:50%;animation:1.4s ease-in-out infinite rec-pulse;position:absolute;top:-22px;right:6px}.scene[data-strip=left] .rec-dot{left:6px;right:auto}@keyframes rec-pulse{50%{opacity:.45}}.arrival-friend.joining{z-index:50}.blanket.mini{bottom:4%;left:8%;right:8%}.met-friends.tucked .blanket.mini{height:17%}.scene[data-time=evening] .gear,.scene[data-time=evening] .help-btn{border-color:var(--color-grownup-line-evening);color:var(--color-grownup-ink-evening);background:var(--color-grownup-fill-evening)}.scene[data-time=evening] .grownup:not(.hinting) .help-label{color:var(--color-text-on-strong);background:var(--color-grownup-label-bg-evening);text-shadow:0 0 3px var(--color-grownup-label-halo-evening)}.map-btn{left:calc(var(--gutter) + env(safe-area-inset-left,0px));top:calc(var(--gutter) + env(safe-area-inset-top,0px));z-index:5;width:150px;height:132px;position:absolute}.map-btn>svg{width:100%;height:100%;animation:breathe 4s var(--art-ease-soft) infinite}.journey-stage{inset:calc(var(--top-h) + var(--gutter)) var(--gutter) var(--gutter) var(--gutter);place-items:center;display:grid;position:absolute}.journey{position:absolute;inset:0}.journey>svg{width:100%;max-width:1100px;height:100%}.art-map-today{transform-box:fill-box;transform-origin:50%;animation:6s linear infinite map-today}@keyframes map-today{to{transform:rotate(360deg)}}.art-map-rider{animation:map-hop .6s var(--art-ease-out) both}@keyframes map-hop{0%{opacity:0;transform:translateY(-40px)}60%{opacity:1;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.art-map-today,.art-map-rider,.map-btn>svg{animation:none}}.belt-mid{position:relative}.belt-mid.win:after{content:"";aspect-ratio:1;background:conic-gradient(var(--color-rainbow-1), var(--color-rainbow-2), var(--color-rainbow-3), var(--color-rainbow-4), var(--color-rainbow-5), var(--color-rainbow-6), var(--color-rainbow-1));width:60%;-webkit-mask:radial-gradient(closest-side, transparent 62%, var(--color-mask) 64%, var(--color-mask) 78%, transparent 80%);mask:radial-gradient(closest-side, transparent 62%, var(--color-mask) 64%, var(--color-mask) 78%, transparent 80%);pointer-events:none;animation:win-burst .9s var(--art-ease-out) forwards;border-radius:50%;position:absolute;top:40%;left:50%;translate:-50% -50%}@keyframes win-burst{0%{opacity:0;scale:.3}30%{opacity:1}to{opacity:0;scale:1.7}}@media (prefers-reduced-motion:reduce){.belt-mid.win:after{animation-duration:10ms}}.recorder{left:calc(var(--porro-inset) + env(safe-area-inset-left,0px));bottom:calc(var(--gutter) + var(--porro-w) * .8 + 8px);width:var(--porro-w);z-index:5;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute}.scene[data-strip=left] .recorder{left:auto;right:calc(var(--porro-inset) + env(safe-area-inset-right,0px))}.recorder .child{border-radius:50%;width:140px;height:140px;position:relative}.recorder .child>svg{width:100%;height:100%}.recorder .rec-play,.recorder .rec-trash,.recorder[data-state=done] .rec-main{display:none}.recorder[data-state=done] .rec-play,.recorder[data-state=done] .rec-trash{display:block}.recorder[data-state=waiting] .rec-main{visibility:hidden}.recorder[data-state=recording] .rec-main>svg{animation:rec-pop .35s var(--art-ease-out)}@keyframes rec-pop{0%{opacity:0;transform:scale(.4)}}.recorder[data-state=ready] .rec-main>svg{animation:rec-pop .35s var(--art-ease-out), rec-breathe 1.6s var(--art-ease-soft) .35s infinite}@keyframes rec-breathe{50%{transform:scale(1.08)}}.recorder[data-state=recording] .rec-dot-shape,.recorder[data-state=armed] .rec-dot-shape{display:none}.recorder[data-state=recording] .rec-stop-shape,.recorder[data-state=armed] .rec-stop-shape{display:inline}.recorder[data-state=recording] .rec-ring{stroke:var(--color-rec-ring)}.recorder[data-state=recording] .rec-main{box-shadow:0 0 0 calc(6px + var(--level,0) * 26px) var(--color-rec-ring-glow);transition:box-shadow 80ms linear}.recorder.playing .rec-play{box-shadow:0 0 0 14px var(--color-play-glow)}.tap-hint.at-rec{width:70%;top:-42%;left:52%}.recorder:not([data-state=ready]) .tap-hint{display:none}@media (prefers-reduced-motion:reduce){.recorder[data-state=ready] .rec-main>svg{animation:none}}.strip-btn{grid-template-rows:1fr auto;gap:2px;height:84px;padding:8px 2px 6px}.strip-label{color:var(--color-strip-label);text-align:center;font:600 13px/1.1 system-ui,-apple-system,sans-serif}.strip-slot,.strip-btn{width:86px}.strip-btn.j-no{background:var(--color-strip-btn)}.strip:has(>.strip-tags):not(:has(>.strip-btn)){background:0 0}.strip:has(>.strip-tags):not(:has(>.strip-btn))>.strip-tags{align-items:center;top:0;left:0;right:0}.s-stop .whisper:not([data-long]){font-size:20px;line-height:24px}.strip-tag{grid-template-rows:1fr auto;width:96px;height:64px;padding:6px 2px 4px}.strip-tag>svg{width:24px;height:24px}.strip-toast{background:var(--color-strip-ok);color:var(--color-strip-toast-text);white-space:nowrap;border-radius:12px;padding:6px 10px;font:600 13px/1.2 system-ui,-apple-system,sans-serif}.parked{width:max(156px,min(22vmin,190px))}.home-ride{left:calc(var(--porro-inset) + var(--porro-w) + 8px + env(safe-area-inset-left,0px));bottom:calc(var(--gutter) + 6px + env(safe-area-inset-bottom,0px));z-index:3;width:180px;height:156px;position:absolute}.home-ride>svg,.parked>svg{width:100%;height:100%}.ride-tile.mine{box-shadow:0 0 0 8px var(--color-mine-ring);border-radius:28px}.recorder[data-noplay] .rec-play{display:none!important}.porro-slot.bopping>svg{animation:porro-bop .42s var(--art-ease-soft) infinite alternate}@keyframes porro-bop{to{transform:translateY(-5%)rotate(-4deg)scale(1.04)}}.recorder.playing .rec-play>svg{animation:rec-breathe .5s var(--art-ease-soft) infinite}@media (prefers-reduced-motion:reduce){.porro-slot.bopping>svg,.recorder.playing .rec-play>svg,.recorder[data-state=recording] .rec-main>svg{animation:none}}.p-toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--color-success);color:var(--color-text-on-strong);box-shadow:0 4px 14px var(--color-shadow-raised);z-index:50;pointer-events:none;border-radius:999px;padding:10px 18px;font:600 16px/1.3 system-ui,-apple-system,sans-serif;position:fixed;transform:translate(-50%)}.p-toast.bad{background:var(--color-failure)}.p-setting.just-saved{animation:1.4s ease-out p-saved}@keyframes p-saved{0%{background-color:var(--color-just-saved)}to{background-color:#0000}}.p-group-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.p-reset-group{font-size:14px}.small-screen{z-index:100;background:linear-gradient(180deg, var(--color-small-sky-top) 0%, var(--color-small-sky-bottom) 100%);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.small-card{text-align:center;max-width:420px;color:var(--color-small-text);justify-items:center;gap:10px;font:16px/1.4 system-ui,-apple-system,sans-serif;display:grid}.small-card h1{margin:0;font-size:20px;line-height:1.25}.small-card p{margin:0}.small-porro{width:140px;height:140px}.small-porro>svg{width:100%;height:100%}.small-go{background:var(--color-small-go);color:var(--color-small-text);border:0;border-radius:999px;margin-top:8px;padding:12px 22px;font:600 16px/1.2 system-ui,-apple-system,sans-serif}.look-heart{pointer-events:none;z-index:6;width:16%;position:absolute;top:18%}.look-heart>svg{width:100%;filter:drop-shadow(0 2px 3px var(--color-shadow-soft));display:block}.picture-card,.parked{position:relative}.parked.tucked .blanket.mini{height:30%}.parked[data-ride=mirri] .blanket.mini{left:23%;right:23%}.parked[data-ride=mirri].tucked .blanket.mini{height:18%}@media (max-aspect-ratio:1){.chest-btn{width:150px;height:134px;bottom:calc(26vh + 56px)}}.scene[data-strip=left] .grownup:not(:has(.gear)){right:auto;left:calc(var(--gutter) + 56px + env(safe-area-inset-left,0px));align-items:flex-start}.troupe{--friend-max:128px;--pile-max:420px;--fw:min(var(--friend-max), calc(var(--pile-max) / (var(--cols) + .4)));flex-direction:column;align-items:center;display:flex}.troupe-row{justify-content:center;display:flex}.troupe-row:not(:last-child){margin-bottom:calc(var(--fw) * -.42);transform:translateX(calc(var(--fw) * .3))}.troupe-friend{width:var(--fw);aspect-ratio:1;position:relative}.troupe-friend>svg{width:100%;height:100%}@media (min-aspect-ratio:1){.evening-ground{left:calc(4vw + env(safe-area-inset-left,0px))}.met-friends{--pile-max:min(440px, calc(96vw - min(34vmin, 300px) - max(156px, min(22vmin, 190px)) - 24px - 180px))}.s-evening .chest-btn{left:auto;right:calc(var(--gutter) + 12px + env(safe-area-inset-right,0px));bottom:calc(var(--gutter) + var(--grownup-h) + 12px + env(safe-area-inset-bottom,0px))}}@media (max-aspect-ratio:1){.s-evening .porro-tuck{width:min(30vmin,260px)}.s-evening .parked{width:max(156px,min(19vmin,170px))}.s-evening .evening-ground{width:calc(92vw - env(safe-area-inset-left,0px));flex-wrap:wrap;row-gap:0}.met-friends{--friend-max:116px;--pile-max:calc(92vw - 190px);flex-basis:100%;order:-1;align-items:flex-start;margin-bottom:-4vmin}}.home-troupe{--friend-max:100px;--pile-max:min(380px, calc(100vw - var(--porro-inset) - var(--porro-w) - 196px - 200px));left:calc(var(--porro-inset) + var(--porro-w) + 196px + env(safe-area-inset-left,0px));bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px));z-index:2;position:absolute}.home-troupe.no-ride{left:calc(var(--porro-inset) + var(--porro-w) + 8px + env(safe-area-inset-left,0px))}@media (max-aspect-ratio:1){.home-troupe,.home-troupe.no-ride{--pile-max:calc(100vw - var(--porro-inset) - var(--porro-w) - 24px);left:calc(var(--porro-inset) + var(--porro-w) + 8px + env(safe-area-inset-left,0px));bottom:calc(var(--gutter) + 170px + env(safe-area-inset-bottom,0px))}.home-troupe.no-ride{bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px))}}.arrival-row.ride-only .arrival-cloud{width:min(58vmin,500px)}.arrival-row.ride-only .arrival-ride{width:70%}.home-ride.hello>svg{animation:hello-bounce .8s var(--art-ease-out) 1.4s 2}@keyframes hello-bounce{30%{transform:translateY(-16%)scale(.96,1.06)}60%{transform:translateY(0)scale(1.06,.94)}}.art-map-friend{cursor:pointer}@media (prefers-reduced-motion:reduce){.home-ride.hello>svg{animation:none}}.home-troupe{--fw:min(var(--friend-max), calc((var(--pile-max) - var(--cols) * 6px) / (var(--cols) + .6)))}.home-troupe .troupe-row{gap:6px}.home-troupe .troupe-row:not(:last-child){margin-bottom:calc(var(--fw) * -.12);transform:translateX(calc(var(--fw) * .5))}.tap-hint.at-sort{width:38%;animation-delay:.7s;display:none;top:30%;left:47%}.tap-hint.at-sort>svg,.tap-hint.at-sort .art-hand-ripple{animation-delay:.7s}.s-stop[data-beckon=monster] .monster .tap-hint.at-sort,.s-stop[data-beckon=bin] .bin .tap-hint.at-sort{display:block}.s-stop[data-beckon=monster] .monster>svg,.s-stop[data-beckon=bin] .bin>svg{animation:1.6s ease-in-out infinite beckon}@keyframes beckon{50%{transform:scale(1.06)}}.strip[data-turn=grown-up] .strip-btn:not(.waiting){outline-offset:2px;animation:1.8s ease-in-out infinite strip-breathe}@keyframes strip-breathe{0%,to{outline:3px solid var(--color-turn-ring-faded)}50%{outline:3px solid var(--color-turn-ring-peak)}}@media (prefers-reduced-motion:reduce){.s-stop[data-beckon] .monster>svg,.s-stop[data-beckon] .bin>svg{animation:none}.strip[data-turn=grown-up] .strip-btn:not(.waiting){outline:3px solid var(--color-turn-ring);animation:none}}@media (orientation:portrait){.s-card .parent-edge>.whisper,.s-check .parent-edge>.whisper,.s-reaction .parent-edge>.whisper{order:1}}@media (max-aspect-ratio:1) and (max-width:599px){.s-card .parent-edge>.whisper,.s-check .parent-edge>.whisper,.s-reaction .parent-edge>.whisper{margin-top:auto}}.book-btn{left:calc(var(--gutter) + env(safe-area-inset-left,0px));top:calc(var(--gutter) * 2 + 132px + env(safe-area-inset-top,0px));z-index:5;width:150px;height:150px;position:absolute}.book-catch{left:calc(50% - 75px);bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px));z-index:6;width:150px;height:150px;position:absolute}.book-catch>svg,.book-btn>svg{width:100%;height:100%}.s-book .top{right:auto}.book-room{--tile:var(--art-target);--tgap:6px;inset:calc(var(--gutter) + env(safe-area-inset-top,0px)) var(--gutter) var(--gutter) var(--gutter);gap:var(--gutter);grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr;display:grid;position:absolute}.book-rainbow{border-radius:calc(var(--radius-l) + 8px);background:linear-gradient(135deg, var(--color-book-band-1), var(--color-book-band-2) 30%, var(--color-book-band-3) 55%, var(--color-book-band-4) 78%, var(--color-book-band-5));box-shadow:var(--shadow-sticker);padding:8px}.book-bench,.book-shelf{gap:var(--tgap);grid-auto-rows:var(--tile);align-content:start;display:grid}.book-bench{grid-template-columns:repeat(2, var(--tile))}.book-shelf{grid-template-columns:repeat(auto-fill, var(--tile));justify-content:start}.book-tile,.book-seat{width:var(--tile);height:var(--tile);border-radius:var(--radius-l);position:relative}.book-tile{background:var(--color-book-tile);box-shadow:var(--shadow-sticker)}.book-tile>svg{width:80%;height:80%;position:absolute;inset:10%}.book-seat{background:var(--color-book-seat);opacity:.7}.book-seat>svg{width:100%;height:100%}.book-badge{pointer-events:none;width:40px;height:40px;position:absolute}.book-badge>svg{width:100%;height:100%}.book-badge.team{top:-6px;left:-6px}.book-badge.count{top:-6px;right:-6px}.book-badge.new{bottom:-6px;right:-6px}.book-badge.new.pop{animation:badge-pop .8s var(--art-ease-soft) forwards}@keyframes badge-pop{35%{opacity:1;transform:scale(1.7)rotate(20deg)}to{opacity:0;transform:scale(2.3)rotate(40deg)}}@media (prefers-reduced-motion:reduce){.book-badge.new.pop{display:none}}@media (min-aspect-ratio:1){.book-room{grid-template-rows:var(--art-target) 1fr auto}.book-rainbow{grid-area:2/1/4;align-self:start}.book-shelf{grid-area:1/2/3}.book-turns{grid-area:3/2}}@media (max-aspect-ratio:1){.book-room{grid-template-columns:var(--art-target) 1fr}.book-rainbow{grid-area:1/2;justify-self:start}.book-bench{grid-template-columns:repeat(4, var(--tile))}.book-shelf{grid-area:2/1/auto/3}.book-turns{grid-area:3/1/auto/3}}.book-turns{justify-content:center;align-items:center;gap:24px;display:flex}.book-turn{width:var(--art-target);height:var(--art-target);position:relative}.book-turn.end{opacity:.35}.book-dots{gap:10px;display:flex}.book-dots>span{background:var(--color-book-dot);border-radius:50%;width:16px;height:16px}.book-dots>span.on{background:var(--color-book-dot-on)}.book-tile.fresh{box-shadow:0 0 0 4px var(--color-surface-raised), 0 0 0 9px var(--color-fresh-ring), 0 0 22px 8px var(--color-fresh-glow), var(--shadow-sticker);animation:book-fresh 2.4s var(--art-ease-soft) infinite}@keyframes book-fresh{50%{box-shadow:0 0 0 4px var(--color-surface-raised), 0 0 0 9px var(--color-book-band-4), 0 0 30px 12px var(--color-fresh-glow-peak), var(--shadow-sticker)}}@media (prefers-reduced-motion:reduce){.book-tile.fresh{animation:none}}.book-page{inset:calc(var(--top-h) + var(--gutter)) var(--gutter) calc(var(--grownup-h,75px) + var(--gutter)) var(--gutter);place-items:center;gap:var(--gutter);grid-template-columns:1fr 1fr;display:grid;position:absolute}.book-page-left{justify-items:center;gap:40px;display:grid}.book-friend{width:min(36vmin,340px);height:min(36vmin,340px);position:relative}.book-friend>svg{width:100%;height:100%}.book-friend .book-badge.count{width:64px;height:64px}.book-toggle{border-radius:var(--radius-l);background:var(--color-book-toggle);width:200px;height:150px;box-shadow:var(--shadow-sticker);position:relative}.book-toggle-friend{aspect-ratio:1;pointer-events:none;width:40%;position:absolute;bottom:30%;left:30%}.book-toggle-friend>svg{width:100%;height:100%}.book-toggle.on{background:var(--color-surface-raised);box-shadow:0 0 0 5px var(--color-book-toggle-ring), var(--shadow-sticker)}.book-stats{gap:10px;width:min(100%,460px);display:grid}.book-stat{border-radius:var(--radius-l);background:var(--color-book-stat);height:min(11vmin,92px);padding:4px 12px}.book-stat>svg{width:100%;height:100%}@media (max-aspect-ratio:1){.book-friend{width:min(30vmin,300px);height:min(30vmin,300px)}.book-page{grid-template-rows:auto auto;grid-template-columns:1fr;align-content:center}}:root{--grownup-h:75px}.grownup{right:calc(var(--gutter,16px) + 56px + env(safe-area-inset-right,0px));bottom:calc(var(--gutter,16px) + env(safe-area-inset-bottom,0px));z-index:6;pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute}.grownup:has(.gear){right:calc(var(--gutter,16px) + env(safe-area-inset-right,0px))}.grownup-row{pointer-events:auto;gap:8px;display:flex}.help-btn{border:2px solid var(--color-grownup-line);background:var(--color-grownup-fill);width:40px;height:40px;color:var(--color-grownup-ink);z-index:6;border-radius:50%;margin:4px;padding:0;font:700 20px/1 system-ui,-apple-system,sans-serif;position:relative}.help-btn.holding{border-color:var(--color-grownup-line-active);color:var(--color-grownup-ink-active);transition:transform .7s linear,color .2s,border-color .2s;transform:scale(1.3)}.help-label,.grownup-pill{white-space:nowrap;pointer-events:none;border-radius:999px;padding:4px 10px;font:600 15px/15px system-ui,-apple-system,sans-serif}.help-label{color:var(--color-grownup-label)}.grownup.hinting .help-label,.grownup-pill{background:var(--color-grownup-label-bg);color:var(--color-text);text-shadow:none;box-shadow:0 2px 6px var(--color-shadow-soft)}.help{z-index:120;box-sizing:border-box;background:var(--color-scrim-help);place-items:end;padding:16px;display:grid;position:fixed;inset:0}.help.left{place-items:end start}.help.top{align-items:start}.help-card{box-sizing:border-box;border-radius:var(--radius-m);background:var(--color-surface-raised);width:min(100%,440px);max-height:100%;color:var(--color-text);text-align:left;box-shadow:0 2px 0 var(--color-card-lip), 0 16px 40px var(--color-card-shadow);padding:24px;font:17px/1.45 system-ui,-apple-system,sans-serif;overflow-y:auto}.help-cap{color:var(--color-text-soft);letter-spacing:.02em;font-size:13px;font-weight:600;line-height:16px;display:block}.help-head h2{margin:4px 0 0;font-size:20px;font-weight:700;line-height:24px}.help-rows{gap:16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.help-row{grid-template-columns:40px 1fr;align-items:start;gap:12px;display:grid}.help-ico{background:var(--color-surface);width:40px;height:40px;color:var(--color-text);border-radius:50%;place-items:center;display:grid}.help-row[data-row=her] .help-ico{background:var(--color-help-her)}.help-row[data-row=you] .help-ico{background:var(--color-help-you)}.help-ico>svg{width:24px;height:24px}.help-line{max-width:44ch;margin:0}.help-say{border-radius:var(--radius-s);background:var(--color-accent-soft);margin:24px 0 0 52px;padding:12px 16px;position:relative}.help-say:before{content:"";background:inherit;border-radius:0 0 0 4px;width:16px;height:16px;position:absolute;top:16px;left:-8px;transform:rotate(45deg)}.help-quote{margin-top:4px;font-size:22px;font-weight:700;line-height:28px}.help-actions{gap:8px;margin-top:24px;display:grid}.help-action{border-radius:var(--radius-round);background:var(--color-accent);min-height:48px;color:var(--color-text);border:0;margin:0;padding:12px 24px;font:700 17px/24px system-ui,-apple-system,sans-serif}.help-card .help-close{color:var(--color-text-soft);margin:16px 0 0;font-size:13px;line-height:16px}.update-row{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.update-line{flex:240px;margin:0;font-weight:600}.scene .update-note{right:calc(var(--gutter) + env(safe-area-inset-right,0px));bottom:calc(var(--gutter) + var(--grownup-h) + 8px + env(safe-area-inset-bottom,0px));z-index:6;margin:0;position:absolute}:root:not([data-deployed]) .update-row,:root:not([data-deployed]) .update-note{display:none}.chest-editing .chest-card{box-shadow:0 0 0 4px var(--color-chest-editing-ring), var(--shadow-sticker);position:relative}.chest-bin{background:var(--color-surface-raised);width:52px;height:52px;box-shadow:0 2px 6px var(--color-chest-bin-shadow);text-align:center;pointer-events:none;border-radius:50%;font-size:28px;line-height:52px;position:absolute;top:-12px;right:-12px}.chest-done{right:calc(var(--gutter) + env(safe-area-inset-right,0px));bottom:calc(var(--gutter) + 80px + env(safe-area-inset-bottom,0px));background:var(--color-success);min-width:120px;min-height:52px;color:var(--color-text-on-strong);box-shadow:0 4px 14px var(--color-shadow-raised);z-index:6;border:0;border-radius:999px;padding:10px 22px;font:700 18px/1.2 system-ui,-apple-system,sans-serif;position:absolute}.scene[data-strip=left] .chest-done{right:auto;left:calc(var(--gutter) + env(safe-area-inset-left,0px))}.help-action[data-role=chest-edit]{background:var(--color-chest-edit);color:var(--color-chest-edit-text)}.rec-toasts{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:120;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.rec-toasts[data-at=top]{bottom:auto;top:calc(24px + env(safe-area-inset-top,0px))}.rec-toasts .rec-toast{white-space:nowrap;pointer-events:auto;align-items:center;gap:14px;display:flex;position:static;transform:none}.rec-undo{border:2px solid var(--color-text-on-strong);min-height:40px;color:var(--color-text-on-strong);background:0 0;border-radius:999px;padding:6px 16px;font:700 16px/1.2 system-ui,-apple-system,sans-serif}.rec-day>summary{cursor:pointer;padding:8px 0;font-weight:600}.rec-row{gap:6px 12px}.rec-pic{flex:none;width:52px;height:52px;display:inline-block}.rec-pic>svg,.rec-pic>img{width:100%;height:100%}.rec-row .p-word{flex-direction:column;flex:0 0 230px;min-width:0;display:flex}.rec-judgement{min-width:190px}.rec-chest{background:var(--color-voice);border-radius:999px;padding:2px 10px;font-size:14px}.rec-actions{margin-left:auto}.p-btn.rec-play.playing{background:var(--color-playing)}.rec-when-box{margin-top:16px}.rec-when li{margin:4px 0}.account-form,.account-label,.account-again{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.account-again{margin-top:8px}.account-input{width:min(22em,100%);min-height:44px}.account-code{font-variant-numeric:tabular-nums;letter-spacing:.1em;width:8em}.account-who{overflow-wrap:anywhere;font-weight:600}.account-line{overflow-wrap:anywhere}.account-line:empty{display:none}.players .players-list{margin:8px 0 0;padding:0;list-style:none}.players-name{overflow-wrap:anywhere;min-width:140px;font-weight:600}.players-edit{flex-basis:100%}.players-edit:empty{display:none}.players-form,.players-label{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.players-input{width:min(22em,100%);min-height:44px}.players-change{margin-bottom:8px}
