:root{--backdrop:#1b1a2e;--ink:#fffdf7;--ink-soft:#d9d6e8;--focus:#ffd23f;--accent:#ff7a59;--accent-ink:#2a1408;--panel:#fffdf7;--panel-ink:#23213a;--shadow:0 12px 40px #00000073;--radius:20px;--motion:.16s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--backdrop);height:100%;color:var(--ink);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif}body.has-dialog{overflow:hidden}[hidden]{display:none!important}#app,.stage{min-height:100dvh}.stage{width:100vw;height:100dvh;padding-top:var(--hud-room,0px);background:var(--backdrop);place-items:center;display:grid;position:relative;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage--pan{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:block;overflow:auto hidden}.stage--pan::-webkit-scrollbar{display:none}.stage--pan:focus-visible{outline:4px solid var(--focus);outline-offset:-4px}.stage--pan .scene{height:calc(100dvh - var(--hud-room,0px));width:calc((100dvh - var(--hud-room,0px)) * var(--art-w) / var(--art-h));max-width:none;margin:0 auto}.stage--pan:before,.stage--pan:after{content:"";z-index:4;opacity:0;pointer-events:none;width:24px;transition:opacity var(--motion) ease;position:fixed;top:0;bottom:0}.stage--pan:before{background:linear-gradient(to right, var(--backdrop), transparent);left:0}.stage--pan:after{background:linear-gradient(to left, var(--backdrop), transparent);right:0}.stage--pan[data-fade=left]:before,.stage--pan[data-fade=right]:after{opacity:1}.scene{width:min(100vw, calc((100dvh - var(--hud-room,0px)) * var(--art-w) / var(--art-h)));max-width:100vw;max-height:calc(100dvh - var(--hud-room,0px));aspect-ratio:var(--art-w) / var(--art-h);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative;overflow:visible}.scene__art{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block}.halo,.layer{pointer-events:none;display:block;position:absolute}.halo{z-index:1;opacity:0;transition:opacity var(--motion) ease}.layer{z-index:2;transition:filter var(--motion) ease}.layer--cutout{overflow:visible}.layer__cut{background-repeat:no-repeat;position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.layer.is-lit{filter:brightness(var(--lift,1.14)) saturate(1.25)}.layer.layer--no-halo.is-lit{filter:brightness(var(--lift,1.14)) saturate(1.25) drop-shadow(0 0 6px #fff5c8e6) drop-shadow(0 0 18px #ffebaa99)}.halo.is-lit{opacity:1}.layer--door{transform-origin:0;transition:filter var(--motion) ease, transform .42s cubic-bezier(.35, .1, .3, 1)}.layer--hinge-right{transform-origin:100%}.layer--hinge-left.is-opening{transform:perspective(600px)rotateY(-72deg)}.layer--hinge-right.is-opening{transform:perspective(600px)rotateY(72deg)}.layer--wrap .layer__img{width:100%;height:100%;display:block}.layer--react{will-change:transform}.layer--react.is-reacting{animation-duration:1.1s;animation-timing-function:ease-in-out;animation-fill-mode:both}.layer--react-swing{transform-origin:50% 0}.layer--react-swing.is-reacting{animation-name:react-swing;animation-duration:1.8s}@keyframes react-swing{0%{transform:rotate(0)}18%{transform:rotate(-3.5deg)}42%{transform:rotate(2.6deg)}64%{transform:rotate(-1.4deg)}84%{transform:rotate(.6deg)}to{transform:rotate(0)}}.layer--react-wiggle{transform-origin:40% 30%}.layer--react-wiggle.is-reacting{animation-name:react-wiggle}@keyframes react-wiggle{0%{transform:none}15%{transform:translateY(-2%)scale(1.02)}30%{transform:translateY(0)skew(2.5deg)}45%{transform:skew(-2deg)rotate(.8deg)}60%{transform:skew(1.5deg)rotate(-.6deg)}78%{transform:skew(-.6deg)}to{transform:none}}.layer--react-lift{transform-origin:50% 100%;transition:filter .24s,transform .24s cubic-bezier(.25,.8,.35,1)}.layer--react-lift.is-lit{transform:translateY(-3%)scale(1.045)}.layer--react-lift.layer--no-halo.is-lit{filter:brightness(var(--lift,1.14)) saturate(1.25)}.layer--react-nudge{transform-origin:50%}.layer--react-nudge.is-reacting{animation-name:react-nudge}@keyframes react-nudge{0%{transform:none}20%{transform:translate(.7%)skew(-1.6deg)scaleY(.985)}42%{transform:translate(.2%)skew(.8deg)scaleY(1.01)rotate(.3deg)}62%{transform:translate(-.2%)rotate(-.4deg)}82%{transform:rotate(.15deg)}to{transform:none}}.layer--react-squish{transform-origin:50% 100%}.layer--react-squish.is-reacting{animation-name:react-squish;animation-duration:1.2s}@keyframes react-squish{0%{transform:none}18%{transform:scale(1.05,.88)}38%{transform:scale(.97,1.05)}55%{transform:rotate(-1.8deg)}72%{transform:rotate(1.2deg)}88%{transform:rotate(-.4deg)}to{transform:none}}.layer--react-flutter{transform-origin:50% 0}.layer--react-flutter.is-reacting{animation-name:react-flutter;animation-duration:1.4s}@keyframes react-flutter{0%{transform:none}20%{transform:rotate(3deg)skew(-3deg)}40%{transform:rotate(-2.2deg)skew(2.4deg)}60%{transform:rotate(1.4deg)skew(-1.4deg)}80%{transform:rotate(-.5deg)skew(.5deg)}to{transform:none}}.layer--react-hop{transform-origin:50% 100%}.layer--react-hop.is-reacting{animation-name:react-hop;animation-duration:1s}@keyframes react-hop{0%{transform:none}22%{transform:translateY(-9%)}40%{transform:translateY(0)scale(1.03,.97)}58%{transform:rotate(-4deg)}76%{transform:rotate(3deg)}to{transform:none}}.layer--react-pop{transform-origin:50% 60%}.layer--react-pop.is-reacting{animation-name:react-pop;animation-duration:1s}@keyframes react-pop{0%{transform:none}18%{transform:scale(.9,.93)}38%{transform:scale(1.08)}58%{transform:rotate(-4deg)}78%{transform:rotate(3deg)}to{transform:none}}.layer--react-bounce{transform-origin:50% 100%}.layer--react-bounce.is-reacting{animation-name:react-bounce;animation-duration:1.2s}@keyframes react-bounce{0%{transform:none}16%{transform:translateY(-3.5%)scale(1.01,.99)}32%{transform:translateY(0)rotate(-2.5deg)}50%{transform:rotate(2deg)}68%{transform:translateY(-1.5%)rotate(-1deg)}to{transform:none}}.layer--react-pulse{transform-origin:50%}.layer--react-pulse.is-reacting{animation-name:react-pulse;animation-duration:1s}@keyframes react-pulse{0%,30%,60%,to{filter:none;transform:scale(1)}12%,42%,72%{filter:brightness(1.35)saturate(1.3);transform:scale(1.045)}}.layer--react-flash.is-reacting{animation-name:react-flash;animation-duration:1s;animation-timing-function:ease-in-out}@keyframes react-flash{0%{filter:brightness()saturate()}35%{filter:brightness(1.26)saturate(1.3)}to{filter:brightness(var(--lift,1.14)) saturate(1.25)}}.layer--react-flash.layer--no-halo.is-lit{filter:brightness(var(--lift,1.14)) saturate(1.25)}.layer.layer--react-glow.is-lit{filter:brightness(1.7)saturate(1.2)drop-shadow(0 0 10px #ffe296f2)drop-shadow(0 0 34px #ffc45abf)}.layer--react-swivel{transform-origin:50% 100%}.layer--react-swivel.is-reacting{animation-name:react-swivel;animation-duration:1.3s}@keyframes react-swivel{0%{transform:none}22%{transform:scaleX(.9)skewY(-1.5deg)}45%{transform:scaleX(1)}66%{transform:scaleX(.93)skewY(1.2deg)}to{transform:none}}.layer--react-flop{transform-origin:20% 100%}.layer--react-flop.is-reacting{animation-name:react-flop;animation-duration:1.2s}@keyframes react-flop{0%{transform:none}25%{transform:rotate(-9deg)}45%{transform:rotate(3deg)}62%{transform:rotate(-2deg)}80%{transform:rotate(.8deg)}to{transform:none}}.layer--react-spin{transform-origin:50% 90%}.layer--react-spin.is-reacting{animation-name:react-spin;animation-duration:1.6s;animation-timing-function:ease-out}@keyframes react-spin{0%{transform:none}25%{transform:rotate(-7deg)scaleX(.96)}55%{transform:rotate(5deg)scaleX(1.02)}80%{transform:rotate(-1.5deg)}to{transform:none}}.layer--react-peek{transform-origin:50% 100%}.layer--react-peek.is-reacting{animation-name:react-peek;animation-duration:1.4s}@keyframes react-peek{0%{transform:none}20%{transform:translateY(-2%)rotate(-3deg)}45%{transform:translateY(-2%)rotate(3deg)}62%{transform:translateY(-1%)rotate(-1.5deg)scaleX(1.02)}to{transform:none}}.layer--react-jiggle.is-reacting{animation-name:react-jiggle;animation-duration:.9s}@keyframes react-jiggle{0%,to{transform:none}15%{transform:translate(.6%,-.5%)}30%{transform:translate(-.5%,.3%)scale(1.01)}45%{transform:translate(.4%,-.3%)}60%{transform:translate(-.3%)}75%{transform:translate(.15%)}}.layer--react-doodle.is-reacting{animation-name:react-doodle-hold;animation-duration:2.8s}@keyframes react-doodle-hold{0%{opacity:1}to{opacity:1}}.doodle{pointer-events:none;opacity:0;width:72%;height:66%;position:absolute;inset:12% 14% 22%;overflow:visible}.doodle path{fill:none;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px}.is-reacting>.doodle{animation:2.8s both doodle-fade}.is-reacting>.doodle path{animation:.6s ease-in-out both doodle-draw;animation-delay:calc(var(--stroke-i,0) * .5s)}@keyframes doodle-draw{to{stroke-dashoffset:0}}@keyframes doodle-fade{0%,80%{opacity:1}to{opacity:0}}.layer--react-shake{transform-origin:50% 60%}.layer--react-shake.is-reacting{animation-name:react-shake;animation-duration:.7s}@keyframes react-shake{0%,to{transform:none}18%{transform:rotate(-4deg)}38%{transform:rotate(3.5deg)}58%{transform:rotate(-2deg)}78%{transform:rotate(1deg)}}.layer.layer--glow.is-lit{filter:brightness(1.22) saturate(1.25) drop-shadow(0 0 6px var(--glow)) drop-shadow(0 0 18px var(--glow))}.sparkles{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .18s ease-out;position:absolute;inset:0;overflow:visible}.is-lit>.sparkles{opacity:1}.spark{fill:#fff5b4;stroke:#ffce54;stroke-width:1.5px;filter:drop-shadow(0 0 5px #ffcf54);transform-box:fill-box;transform-origin:50%}.spark--pink{fill:#ffe6fb;stroke:#ff94d7;filter:drop-shadow(0 0 5px #ff94d7)}.spark--mint{fill:#e3fff3;stroke:#79ffd4;filter:drop-shadow(0 0 5px #79ffd4)}.is-lit>.sparkles .spark{animation:sign-twinkle 3.2s ease-in-out var(--delay,0s) infinite}@keyframes sign-twinkle{0%,to{opacity:.35;rotate:0deg;scale:.5}45%{opacity:1;scale:1.12;rotate:var(--turn,12deg)}75%{opacity:.65;rotate:0deg;scale:.8}}.shine{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.shine:after{content:"";background:linear-gradient(105deg,#0000 30%,#fff4c4d9 48%,#fffffff2 50%,#fff4c4d9 52%,#0000 70%);position:absolute;inset:0;transform:translate(-130%)}.shine.is-shining:after{animation:.9s ease-out both shine-once}.shine--every:after{animation:shine-every var(--shine-every,8s) ease-in-out var(--shine-delay,0s) infinite}@keyframes shine-once{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes shine-every{0%{transform:translate(-130%)}12%,to{transform:translate(130%)}}@keyframes layer-pulse{0%,to{filter:none}50%{filter:brightness(1.05)saturate(1.08)}}@keyframes halo-pulse{0%,to{opacity:0}50%{opacity:.3}}.layer.is-pulsing{animation:2.4s ease-in-out infinite layer-pulse;animation-delay:var(--pulse-delay,0s)}.halo.is-pulsing{animation:2.4s ease-in-out infinite halo-pulse;animation-delay:var(--pulse-delay,0s)}.layer.is-lit.is-pulsing,.halo.is-lit.is-pulsing{animation:none}.ambient{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.motion{animation-duration:var(--motion-period,4s);animation-delay:var(--motion-delay,0s);will-change:transform;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.motion--sway{transform-origin:50% 0;animation-name:motion-sway}.motion--bob{animation-name:motion-bob}.motion--drift{animation-name:motion-drift}.motion--breathe{animation-name:motion-breathe}.motion--twinkle{animation-name:motion-twinkle}.motion--twitch{transform-origin:50% 90%;animation-name:motion-twitch;animation-timing-function:ease-in-out}.motion--invite{transform-origin:50%;animation-name:motion-invite}@keyframes motion-twitch{0%,64%,74%,to{transform:none}66%{transform:rotate(calc(-1 * var(--motion-amp,1.5deg))) translateY(-0.6%)}68%{transform:rotate(calc(.53 * var(--motion-amp,1.5deg)))}71%{transform:rotate(calc(-.43 * var(--motion-amp,1.5deg)))}}@keyframes motion-invite{0%,8%,to{transform:none}1.4%{transform:rotate(calc(-1 * var(--motion-amp,1.25deg)))}3%{transform:rotate(var(--motion-amp,1.25deg))}4.7%{transform:rotate(calc(-.64 * var(--motion-amp,1.25deg)))}6.5%{transform:rotate(calc(.32 * var(--motion-amp,1.25deg)))}}@keyframes motion-sway{0%,to{transform:rotate(calc(-1 * var(--motion-amp,2deg)))}50%{transform:rotate(var(--motion-amp,2deg))}}@keyframes motion-bob{0%,to{transform:translateY(calc(-1 * var(--motion-amp,3%)))}50%{transform:translateY(var(--motion-amp,3%))}}@keyframes motion-drift{0%,to{transform:translateX(calc(-1 * var(--motion-amp,3%)))}50%{transform:translateX(var(--motion-amp,3%))}}@keyframes motion-breathe{0%,to{transform:scale(1)}50%{transform:scale(calc(1 + var(--motion-amp,.015)))}}@keyframes motion-twinkle{0%,to{opacity:1}50%{opacity:.82}}.scene-ghost{z-index:5;-webkit-user-select:none;user-select:none;pointer-events:none;animation-duration:.48s;animation-timing-function:cubic-bezier(.4,0,.6,1);animation-fill-mode:forwards;position:absolute;overflow:visible}.scene-ghost--in{animation-name:scene-leave-in}.scene-ghost--out{transform-origin:50%;animation-name:scene-leave-out}.scene-ghost__art{object-fit:fill;width:100%;height:100%;display:block}.scene--arriving{animation-duration:.48s;animation-timing-function:cubic-bezier(.2,0,.2,1);animation-fill-mode:both}.scene--arrive-in{animation-name:scene-arrive-in}.scene--arrive-out{animation-name:scene-arrive-out}@keyframes scene-leave-in{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes scene-leave-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.86)}}@keyframes scene-arrive-in{0%{opacity:.4;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes scene-arrive-out{0%{opacity:.4;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.place-stamp{aspect-ratio:1;width:100%;display:block;position:relative}.place-stamp__art{object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:80%;height:80%;position:absolute;top:10%;left:10%}.place-stamp__ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.stamp-shelf{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute}.stamp-shelf__slot{aspect-ratio:1;filter:drop-shadow(0 2px 3px #00000073);height:100%}.stamp-shelf__slot:nth-child(odd){rotate:-8deg}.stamp-shelf__slot:nth-child(2n){rotate:7deg}.stamp-shelf__slot--empty{box-sizing:border-box;filter:none;background:#ffffff24;border:2px dashed #fffc;border-radius:50%;scale:.78}.hotspot:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;inset:50%;transform:translate(-50%,-50%)}.hotspot{z-index:3;color:inherit;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:6px;margin:0;padding:0;position:absolute}.hotspot:focus{outline:none}.hotspot:focus-visible{outline:4px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 8px #00000073}.hotspot--path:focus-visible{outline-offset:0}.hotspot__art,.hotspot__hover{pointer-events:none;transition:opacity var(--motion) ease;display:block;position:absolute}.hotspot__hover{opacity:0}.hotspot:hover .hotspot__hover,.hotspot:focus-visible .hotspot__hover{opacity:1}.hotspot--has-hover:hover .hotspot__art,.hotspot--has-hover:focus-visible .hotspot__art{opacity:0}@media (hover:none){.hotspot__hover{opacity:1}.hotspot--has-hover .hotspot__art{opacity:0}.hotspot:not(.hotspot--has-hover):not(.hotspot--lights):not(.hotspot--path){background:#ffffff1f;box-shadow:inset 0 0 0 3px #ffffffd9,0 0 18px #ffd23f8c}}.hotspot:active .hotspot__art,.hotspot:active .hotspot__hover{transform:scale(.97)}.dialog{color:var(--panel-ink);background:0 0;border:0;width:100%;max-width:min(92vw,720px);max-height:min(92dvh,720px);padding:0;overflow:visible}.dialog::backdrop{background:#0a0818b3}.dialog__frame{border-radius:var(--radius);background:var(--panel);width:100%;max-height:min(92dvh,720px);box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.dialog__header{border-bottom:2px solid #23213a1f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.dialog__title{text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(20px,3vw,28px);line-height:1.15;overflow:hidden}.dialog__close,.toolbar__sound,.ftp__next{background:var(--accent);min-width:48px;min-height:48px;color:var(--accent-ink);font:inherit;cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:18px;font-weight:700;display:inline-flex}:is(.dialog__close:not(:has(span)),.toolbar__sound){flex:none;width:48px;height:48px;padding:0}.dialog__close:focus-visible,.toolbar__sound:focus-visible,.ftp__next:focus-visible,.ftp__choice:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.dialog__controls{justify-content:flex-end;gap:8px;min-width:48px;display:flex}.toolbar__sound[aria-pressed=false]{background:var(--ink-soft)}.dialog__body{min-height:0;padding:16px 18px 20px;overflow:auto}.dialog--full{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.dialog--full .dialog__frame{border-radius:0;height:100dvh;max-height:100dvh}.dialog--full .dialog__body{padding:8px 12px 12px}.dialog--game{--game-h:calc(100dvh - var(--hud-h));padding-top:var(--hud-h)}.dialog--game .dialog__frame{height:var(--game-h);max-height:var(--game-h)}.dialog--bare{background:var(--backdrop);place-items:center;display:grid;overflow:hidden}.dialog--bare::backdrop{background:var(--backdrop)}.card__art{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:46dvh;margin-bottom:12px;display:block}.prose p{margin:0 0 12px;font-size:18px;line-height:1.5}.prose p:last-child{margin-bottom:0}.video{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;position:relative;overflow:hidden}.video--tall{--video-height:min(68dvh, 560px);aspect-ratio:auto;height:var(--video-height);width:min(100%, calc(var(--video-height) * var(--video-aspect)));margin:0 auto}.video__frame{background:#000;border:0;width:100%;height:100%;display:block}.video--offline{place-items:center;display:grid}.video__poster{object-fit:cover;opacity:.35;width:100%;height:100%;position:absolute;inset:0}.video__offline{color:var(--panel-ink);text-align:center;background:#fffdf7f0;border-radius:12px;margin:0;padding:16px 20px;font-size:18px;font-weight:600;position:relative}.game-host{flex-direction:column;height:100%;min-height:0;display:flex}.game-host__missing{margin:auto;font-size:20px}.board-stage{width:100vw;height:var(--game-h,100dvh);background:var(--backdrop);place-items:center;display:grid;overflow:hidden}.board{width:min(100vw, calc(var(--game-h,100dvh) * var(--art-w) / var(--art-h)));max-width:100vw;max-height:var(--game-h,100dvh);aspect-ratio:var(--art-w) / var(--art-h);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.board__art{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block}.board__game{z-index:2;color:var(--panel-ink);position:absolute;container-type:size}.board__button{z-index:3;color:inherit;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:999px;margin:0;padding:0;position:absolute}.board__button:focus,.board__button:focus-visible{outline:none}.board__button:focus-visible .board__button-art{filter:drop-shadow(0 0 3px var(--focus)) drop-shadow(0 0 8px var(--focus))}.board__button:disabled{cursor:default}.board__button:disabled .board__button-art{opacity:.9;filter:grayscale(.75)brightness(1.12)}.board__button-art{object-fit:cover;pointer-events:none;opacity:0;transition:opacity var(--motion) ease;display:block;position:absolute}.board__button:not(:disabled):hover .board__button-art,.board__button:not(:disabled):focus-visible .board__button-art,.board__button:not(:disabled):active .board__button-art{opacity:1}.board__button:not(:disabled):active .board__button-art{transform:scale(.96)}.ftp{--card:clamp(56px, min(16vw, 22dvh), 150px);flex:1;grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr) auto;place-items:center;gap:8px;height:100%;min-height:0;display:grid}.ftp__prompt{color:#1c6f8a;margin:0;font-size:clamp(18px,2.6vw,30px);font-weight:800}.ftp--hosted{--card:11cqw;grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr);gap:1cqw;width:100%}.ftp--hosted .ftp__prompt{font-size:4.5cqw;line-height:1.1}.ftp--hosted .ftp__pattern,.ftp--hosted .ftp__choices{flex-wrap:nowrap;gap:1cqw}.ftp--hosted .ftp__card,.ftp--hosted .ftp__choice{box-shadow:none;background:0 0;border-radius:0;position:relative;overflow:visible}.ftp--hosted .ftp__card img,.ftp--hosted .ftp__choice img{width:36cqw;max-width:none;height:36cqw;position:absolute;top:50%;left:50%;translate:-50% -50%}.ftp--hosted .ftp__choice{border:0;width:22cqw;height:14.5cqw}.ftp--hosted .ftp__choice img{width:52cqw;height:52cqw}.ftp--hosted .ftp__card--missing{width:calc(var(--card) * .82);height:calc(var(--card) * .82);color:#1c6f8a;font-size:calc(var(--card) * .5);background:#fff8e6;border:.6cqw dashed #1c6f8a;border-radius:12%}.ftp--hosted .ftp__status{min-height:1.1em;font-size:4cqw}.ftp--hosted .ftp__choice.is-right{filter:drop-shadow(0 0 .8cqw #3cb371e6)}.ftp--hosted .ftp__choice.is-wrong{filter:drop-shadow(0 0 .8cqw #ff7a59e6)}.ftp__pattern,.ftp__choices{flex-wrap:wrap;justify-content:center;gap:clamp(6px,1.5vw,16px);display:flex}.ftp__card,.ftp__choice{width:var(--card);height:var(--card);background:#fff;border-radius:16px;place-items:center;display:grid;overflow:hidden;box-shadow:0 4px #23213a2e}.ftp__card img,.ftp__choice img{object-fit:contain;pointer-events:none;width:100%;height:100%}.ftp__card--missing{box-shadow:none;font-size:calc(var(--card) * .5);color:#23213a80;background:#23213a14;border:3px dashed #23213a59;font-weight:800}.ftp__choice{cursor:pointer;font:inherit;touch-action:manipulation;transition:transform var(--motion) ease;border:4px solid #0000;padding:0}.ftp__choice:hover:not(:disabled){transform:translateY(-4px)}.ftp__choice:disabled{cursor:default;opacity:.55}.ftp__choice.is-right{opacity:1;border-color:#3cb371}.ftp__choice.is-wrong{border-color:var(--accent);animation:.42s wiggle}.ftp__status{color:#2f7d4f;min-height:1.4em;margin:0;font-size:clamp(22px,3.2vw,36px);font-weight:800}.ftp__footer{min-height:56px;padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex}.ftp__next{letter-spacing:.04em;min-width:140px;min-height:56px;font-size:22px}@keyframes wiggle{0%,to{transform:translate(0)}20%{transform:translate(-10px)rotate(-3deg)}40%{transform:translate(10px)rotate(3deg)}60%{transform:translate(-7px)rotate(-2deg)}80%{transform:translate(7px)rotate(2deg)}}.mm{--u:min(1vw, 2.2dvh);place-items:center;gap:calc(var(--u) * .8);color:#1c6f8a;flex:1;grid-template-rows:auto auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.mm--hosted{--u:1cqw}.mm__head{align-items:flex-start;gap:calc(var(--u) * 2);max-width:100%;display:flex}.mm__cat{--cat-h:max(calc(var(--u) * 9), 58px);width:calc(var(--cat-h) * 10 / 9);height:var(--cat-h);margin-top:calc(var(--u) * 2.31 - var(--cat-h) / 2);flex:none}.mm__cat svg,.mm__clue-icon svg,.mm__reveal svg{width:100%;height:100%;display:block}.mm__words{gap:calc(var(--u) * .2);display:grid}.mm__prompt{font-size:calc(var(--u) * 4.2);margin:0;font-weight:800;line-height:1.1}.mm__status{min-height:calc(var(--u) * 3.4);font-size:calc(var(--u) * 3.1);color:#2f7d4f;margin:0;font-weight:800;line-height:1.1}.mm__clues{align-items:stretch;gap:calc(var(--u) * 1.2);width:100%;height:calc(var(--u) * 8);min-height:0;display:flex}.mm__reveal{align-items:center;gap:calc(var(--u) * .8);padding:0 calc(var(--u) * 1.6) 0 calc(var(--u) * 1);color:#fff8e6;font:inherit;font-size:calc(var(--u) * 2.6);cursor:pointer;touch-action:manipulation;transition:transform var(--motion) ease;background:#6a3de0;border:0;border-radius:999px;flex:none;font-weight:800;display:flex}.mm__reveal svg{width:calc(var(--u) * 5.5);height:calc(var(--u) * 5.5)}.mm__reveal:hover:not(:disabled){transform:translateY(-2px)}.mm__reveal:disabled{cursor:default;opacity:.45}.mm__clue-list{gap:calc(var(--u) * 1.2);flex:1;min-width:0;display:flex}.mm__clue{align-items:center;gap:calc(var(--u) * 1);min-width:0;padding:0 calc(var(--u) * 1.2);border-radius:calc(var(--u) * 2);box-shadow:0 calc(var(--u) * .4) 0 #1c6f8a40;color:#23213a;background:#fff8e6;flex:1 1 0;animation:.32s cubic-bezier(.2,.9,.3,1.25) mm-pop;display:flex}.mm__clue-icon{width:calc(var(--u) * 5.5);height:calc(var(--u) * 5.5);flex:none}.mm__clue-text{font-size:calc(var(--u) * 2.4);font-weight:700;line-height:1.15}.mm__suspects{justify-content:center;align-items:stretch;gap:calc(var(--u) * 3);width:100%;height:100%;min-height:0;display:flex}.mm__suspect{cursor:pointer;height:100%;font:inherit;touch-action:manipulation;transition:transform var(--motion) ease;background:0 0;border:0;padding:0}.mm__suspect img{pointer-events:none;width:auto;height:100%;display:block}.mm__suspect:hover:not(:disabled){transform:translateY(-3px)scale(1.03)}.mm__suspect:disabled{cursor:default;opacity:.5}.mm__suspect.is-right{opacity:1;filter:drop-shadow(0 0 calc(var(--u) * 1) #4cc36bf2)}.mm__suspect.is-wrong{animation:.42s wiggle}.mm__footer{min-height:56px;padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex}.mm__next{background:var(--accent);min-width:140px;min-height:56px;color:var(--accent-ink);font:inherit;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:22px;font-weight:700;display:inline-flex}.mm__reveal:focus-visible,.mm__suspect:focus-visible,.mm__next:focus-visible,.pp__ingredient:focus-visible,.pp__reset:focus-visible,.pp__done:focus-visible{outline:4px solid var(--focus);outline-offset:3px}@keyframes mm-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.pp{--u:min(1vw, 2.2dvh);align-items:center;gap:calc(var(--u) * 3);width:100%;height:100%;min-height:0;padding:0 calc(var(--u) * 2);color:#1c6f8a;flex:1;grid-template-columns:auto minmax(0,1fr);display:grid}.pp--hosted{--u:1cqw}.pp__glass{height:calc(var(--u) * 39);aspect-ratio:100/190}.pp__glass svg{width:100%;height:100%;display:block;overflow:visible}.pp__layer{transition:transform .48s cubic-bezier(.2,.9,.3,1.15),opacity .2s}.pp__side{align-content:center;gap:calc(var(--u) * 1.2);grid-template-rows:auto auto auto auto;min-width:0;display:grid}.pp__prompt{font-size:calc(var(--u) * 4.2);margin:0;font-weight:800;line-height:1.1}.pp__status{min-height:calc(var(--u) * 3.4);font-size:calc(var(--u) * 3.1);color:#2f7d4f;margin:0;font-weight:800;line-height:1.1}.pp__tray{gap:calc(var(--u) * 1.2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pp__ingredient{align-items:center;gap:calc(var(--u) * 1);min-height:calc(var(--u) * 8);padding:calc(var(--u) * .8) calc(var(--u) * 1.2);border-radius:calc(var(--u) * 2);box-shadow:0 calc(var(--u) * .4) 0 #1c6f8a40;color:#23213a;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform var(--motion) ease;background:#fff8e6;border:0;display:flex}.pp__ingredient:hover:not(:disabled){transform:translateY(-2px)}.pp__ingredient:active:not(:disabled){transform:scale(.96)}.pp__ingredient:disabled{cursor:default;opacity:.45}.pp__blob{width:calc(var(--u) * 5.5);height:calc(var(--u) * 5.5);box-shadow:inset 0 calc(var(--u) * -.8) 0 #23213a2e;border-radius:50%;flex:none}.pp__label{font-size:calc(var(--u) * 2.4);font-weight:700;line-height:1.15}.pp__actions{gap:calc(var(--u) * 1.5);display:flex}.pp__reset,.pp__done{min-height:calc(var(--u) * 6);padding:0 calc(var(--u) * 2.4);font:inherit;font-size:calc(var(--u) * 2.8);cursor:pointer;touch-action:manipulation;transition:transform var(--motion) ease;border-radius:999px;font-weight:800}.pp__reset{border:calc(var(--u) * .5) solid #1c6f8a;color:#1c6f8a;background:#fff8e6}.pp__done{color:#12331c;background:#4cc36b;border:0;flex:1}.pp__reset:hover:not(:disabled),.pp__done:hover:not(:disabled){transform:translateY(-2px)}.pp__reset:disabled,.pp__done:disabled{cursor:default;opacity:.4}.pp.is-done .pp__glass{filter:drop-shadow(0 0 calc(var(--u) * 1.2) #ffd63fe6)}.problems{max-width:60rem;color:var(--ink);margin:0 auto;padding:32px 24px;font-size:16px;line-height:1.5}.problems h1{color:var(--focus)}.problems code{color:var(--accent)}.chrome{z-index:6;left:0;right:var(--room-right,0px);bottom:var(--room-bottom,0px);padding:0 max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:fixed}.chrome__button{pointer-events:auto;width:48px;height:48px;color:var(--ink);cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--motion) ease, background var(--motion) ease;background:#1b1a2eb8;border:0;border-radius:50%;place-items:center;margin:0;padding:0;display:grid;position:relative;box-shadow:0 4px 14px #0006}.chrome__button:hover{background:#1b1a2ee6}.chrome__button:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.chrome__button:active{transform:scale(.94)}.chrome__button svg{display:block}.chrome__sound{background:var(--accent);color:var(--accent-ink);margin-left:auto}.chrome__sound:hover{background:#ff8f73}.chrome__sound[aria-pressed=false]{background:var(--ink-soft);color:var(--accent-ink)}@keyframes chrome-bump{0%{transform:scale(1)}30%{transform:scale(1.25)rotate(-8deg)}60%{transform:scale(.96)rotate(4deg)}to{transform:scale(1)}}.chrome__notice{color:var(--panel-ink);box-shadow:var(--shadow);opacity:0;pointer-events:none;white-space:nowrap;background:#fffdf7f5;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 10px;font-size:15px;font-weight:700;transition:opacity .26s,transform .26s;display:flex;position:absolute;bottom:14px;left:68px;transform:translateY(8px)}.chrome__notice.is-shown{opacity:1;transform:translateY(0)}.chrome__notice-mark{width:22px;height:22px;display:block}.chrome__notice-mark svg{width:100%;height:100%;display:block}.passport__heading{align-items:baseline;gap:10px;margin:4px 0 10px;font-size:20px;display:flex}.passport__heading+.passport__grid{margin-bottom:18px}.passport__tally{color:#23213acc;font-size:14px;font-weight:600}.passport__grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.passport__item{text-align:center;background:#23213a0d;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:13px;font-weight:600;display:flex}.passport__item:not(.is-earned) .passport__place svg,.passport__item:not(.is-earned) .passport__sticker svg{opacity:.18;filter:grayscale()}.passport__place{width:100%;color:inherit;font:inherit;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;margin:0;padding:0;display:flex}.passport__badge{object-fit:contain;width:64px;height:64px;display:block}.passport__item:not(.is-earned) .passport__badge{opacity:.22;filter:grayscale()}.passport__coins{margin:0 0 8px;font-size:18px;font-weight:800}.passport__place:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.passport__place svg,.passport__sticker svg{width:44px;height:44px;display:block}.passport__count{color:#23213acc;min-height:1em;font-size:12px}.passport__footer{justify-content:center;gap:10px;margin-top:8px;display:flex}.passport__grownups{color:var(--panel-ink);font:inherit;cursor:pointer;appearance:none;background:#23213a14;border:0;border-radius:999px;padding:8px 14px;font-size:14px;display:block}.passport__grownups:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.passport__reset{color:var(--panel-ink);font:inherit;cursor:pointer;appearance:none;background:#23213a14;border:0;border-radius:999px;margin:0;padding:8px 14px;font-size:14px;display:block}.passport__reset.is-armed{background:var(--accent);color:var(--accent-ink)}.passport__reset:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.gate__why,.grownups__today{margin:0 0 12px;font-size:17px}.gate__question{align-items:center;gap:12px;font-size:22px;font-weight:700;display:flex}.gate__answer{width:6ch;font:inherit;text-align:center;border:2px solid #23213a4d;border-radius:10px;padding:8px 10px;font-size:22px}.gate__answer:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.gate__status{min-height:1.4em;color:var(--accent);margin:8px 0;font-weight:600}.gate__go,.rest__choice,.rest__grownups{background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;appearance:none;border:0;border-radius:999px;padding:10px 18px;font-size:17px;font-weight:700;display:inline-block}.gate__go:focus-visible,.rest__choice:focus-visible,.rest__grownups:focus-visible,.grownups__choice input:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.grownups__heading{margin:4px 0 8px;font-size:20px}.grownups__choices{border:0;gap:8px;margin:0;padding:0;display:grid}.grownups__choice{background:#23213a0d;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:17px;display:flex}.grownups__choice input{width:22px;height:22px;accent-color:var(--accent);margin:0}.rest{text-align:center;background:radial-gradient(ellipse at 50% 30%, #3a2f63, var(--backdrop) 70%);width:100vw;height:100dvh;color:var(--ink);place-content:center;gap:12px;padding:24px;display:grid}.rest__title{margin:0;font-size:clamp(32px,6vw,56px)}.rest__text{color:var(--ink-soft);margin:0 0 12px;font-size:clamp(18px,3vw,24px)}.rest__choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.draft-ribbon{z-index:7;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;text-decoration:none;position:fixed;top:10px;right:10px}@media (prefers-reduced-motion:reduce){:root{--motion:0s}*,:before,:after{transition:none!important;animation:none!important}.ftp__choice.is-wrong{box-shadow:0 0 0 4px var(--accent)}.mm__suspect.is-wrong{filter:drop-shadow(0 0 6px var(--accent))}}.card__stage{-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;margin-bottom:12px;position:relative;overflow:hidden}.card__stage>*{transition:opacity var(--motion) ease}.card__stage.is-loading{background:linear-gradient(110deg,#efe7ff 20%,#fff4dc 50%,#efe7ff 80%) 0 0/200% 100%;animation:1.4s linear infinite card-loading}.card__stage.is-loading>*{opacity:0}@keyframes card-loading{to{background-position:-200% 0}}.card__stage--wide{width:min(100%, calc((100dvh - 92px) * var(--card-aspect,1.78)));margin:0 auto}.card__stage .card__art{object-fit:fill;pointer-events:none;border-radius:0;height:100%;max-height:none;margin-bottom:0}.card__video{background:#000;border-radius:10px;position:absolute;overflow:hidden}.card__video .video{aspect-ratio:auto;border-radius:0;height:100%}.card__video .video__frame{object-fit:cover}.card__action{color:inherit;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:8px;margin:0;padding:0;position:absolute}.card__action:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.card__action:not(.card__action--lit):hover,.card__action:not(.card__action--lit):active{box-shadow:inset 0 0 0 3px #ffd23fe6}.card__action-art{pointer-events:none;opacity:0;filter:brightness(1.12)saturate(1.15)drop-shadow(0 0 6px #fff5c8e6);transition:opacity var(--motion) ease;display:block;position:absolute}.card__action:focus-visible .card__action-art,.card__action:active .card__action-art,.card__action.is-tapped .card__action-art{opacity:1}@media (hover:hover){.card__action:hover .card__action-art{opacity:1}}.card__layer{pointer-events:none;display:block;position:absolute}.card__layer--wrap .layer__img{width:100%;height:100%;display:block}.card__action--rest .card__action-art{opacity:1;filter:none;transition:filter var(--motion) ease, transform .2s cubic-bezier(.3, 1.4, .5, 1)}.card__action--rest:focus-visible .card__action-art,.card__action--rest:active .card__action-art,.card__action--rest.is-tapped .card__action-art{filter:brightness(1.12)saturate(1.15)drop-shadow(0 0 6px #fff5c8e6)}@media (hover:hover){.card__action--rest:hover .card__action-art{filter:brightness(1.12)saturate(1.15)drop-shadow(0 0 6px #fff5c8e6)}.card__action:hover .layer--react-lift{transform:translateY(-3%)scale(1.06)}}.card__action:focus-visible .layer--react-lift,.card__action.is-tapped .layer--react-lift{transform:translateY(-3%)scale(1.06)}.dialog--large{max-width:min(96vw,920px);max-height:min(96dvh,980px)}.dialog--large .dialog__frame{max-height:min(96dvh,980px)}.card__pill{background:var(--accent);min-height:52px;color:var(--accent-ink);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:19px;font-weight:700;text-decoration:none;display:inline-flex}.card__pill:focus-visible,.tiles__tile:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.card__pill--download,.card__pill--answers,.card__pill--back{color:var(--panel-ink);box-shadow:inset 0 0 0 3px var(--accent);background:#fff}.card__pill--answers[aria-pressed=true]{background:#fff2c2}.card__watch-row{justify-content:center;gap:12px;margin:4px 0 12px;display:flex}.card__watch{width:min(100%,360px);margin:0 auto}.sheet{justify-items:center;gap:12px;display:grid}.sheet__bar{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.sheet__page{background:#fff;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 230px);display:block;box-shadow:0 4px 18px #23213a40}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:14px;display:grid}.tiles__tile{color:var(--panel-ink);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--motion) ease, box-shadow var(--motion) ease;background:#fff;border:0;border-radius:16px;gap:8px;padding:8px;display:grid;position:relative;box-shadow:0 2px 10px #23213a2e}.tiles__tile:active{transform:scale(.97)}@media (hover:hover){.tiles__tile:hover{transform:translateY(-3px);box-shadow:0 8px 20px #23213a47}}.tiles__thumb{object-fit:contain;background:#f4efff;border-radius:10px;width:100%;height:auto;display:block}.tiles__label{font-size:16px;font-weight:700;line-height:1.2}.tiles__badge{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#ff4f8b;border-radius:999px;justify-self:center;padding:2px 12px;font-size:13px;font-weight:800}.print-frame{opacity:0;pointer-events:none;border:0;width:0;height:0;position:fixed}.chrome__info{font-family:Georgia,Times New Roman,serif;font-size:26px;font-style:italic;font-weight:800}.chrome__group{align-items:flex-end;gap:10px;margin-left:auto;display:flex}.chrome__button[hidden]{display:none}.card__stage--tall{width:min(100%, calc((100dvh - 230px) * var(--card-aspect,.72)));margin-left:auto;margin-right:auto}.scene-game{width:100vw;height:var(--game-h,100dvh);background:var(--backdrop);place-items:center;display:grid;position:relative}.scene-game__root{place-items:center;width:100%;height:100%;display:grid}.scene-game__root.rsg{background:#00273c;flex-direction:column;place-items:stretch stretch;display:flex}.rsg__bar{height:52px;padding:0 max(12px, env(safe-area-inset-left));background:#00273c;border-bottom:1px solid #ffffff1f;flex:none;align-items:center;display:flex}.rsg__frame{border:0;flex:1;width:100%;min-height:0;display:block}.rsg__back{color:#5a3a00;height:38px;font:700 16px/1 var(--font,inherit);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(#ffd84a,#f2b705);border:2px solid #fff4c2;border-radius:999px;align-items:center;gap:6px;padding:0 16px 0 10px;display:inline-flex;box-shadow:0 3px #b98300}.rsg__back:hover{filter:brightness(1.06)}.rsg__back:active{transform:translateY(2px);box-shadow:0 1px #b98300}.rsg__back:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.scene-game__sound{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:5;position:absolute}.sortit{width:min(100vw, calc(var(--game-h,100dvh) * var(--art-w) / var(--art-h)));-webkit-user-select:none;user-select:none;touch-action:none;background:#2b1d10;position:relative;overflow:hidden;container-type:inline-size}.sortit__bg,.sortit__shelf{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sortit__shelf{pointer-events:none}.sortit__pill{box-sizing:border-box;letter-spacing:.04em;white-space:nowrap;pointer-events:none;border-radius:999px;place-items:center;font-family:Arial Rounded MT Bold,Nunito,ui-rounded,system-ui,sans-serif;font-weight:800;display:grid;position:absolute}.sortit__pill--count{border:max(2px,.6cqw) solid #d87f40}.sortit__back{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;padding:0;position:absolute}.sortit__back img{pointer-events:none;width:100%;height:100%;display:block}.sortit__back:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.sortit__crate:focus-visible,.sortit__food:focus-visible{outline:none}.sortit__food:focus-visible img{filter:drop-shadow(0 0 3px var(--focus)) drop-shadow(0 0 3px var(--focus))}.sortit__crate{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--motion) ease, background var(--motion) ease;background:0 0;border:0;border-radius:14px;margin:0;padding:0;position:absolute}.sortit.is-carrying .sortit__front{animation:1.1s ease-in-out infinite alternate sortit-front-ready}:is(.sortit:has(.sortit__crate--fruit:focus-visible) .sortit__front--fruit,.sortit:has(.sortit__crate--veg:focus-visible) .sortit__front--veg){filter:brightness(1.18)saturate(1.2)}:is(.sortit:has(.sortit__crate--fruit.is-hint) .sortit__front--fruit,.sortit:has(.sortit__crate--veg.is-hint) .sortit__front--veg){animation:.7s ease-in-out 2 sortit-hint}.sortit__crate.is-bounce{animation:.5s ease-out sortit-bounce}.sortit__food{cursor:grab;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;transition:filter var(--motion) ease;background:0 0;border:0;margin:0;padding:0;position:absolute}.sortit__food img{pointer-events:none;filter:drop-shadow(0 6px 6px #3c1e0559);width:100%;height:100%;display:block}.sortit__food.is-picked img{filter:drop-shadow(0 0 10px #fff5be)drop-shadow(0 0 22px #ffd75ae6);animation:.9s ease-in-out infinite sortit-picked}.sortit__food.is-dragging{cursor:grabbing;z-index:3;transition:none}.sortit__food.is-back{transition:transform .3s cubic-bezier(.3,1.4,.5,1)}.sortit__food.is-wrong{animation:.55s ease-in-out sortit-wobble}.sortit__food.is-sorted{pointer-events:none;transition:transform .45s cubic-bezier(.5,0,.6,1)}.sortit.is-arriving .sortit__food{animation:.5s ease-out backwards sortit-arrive}.sortit.is-celebrating .sortit__pill--count{animation:.6s ease-out 2 sortit-bounce}.sortit__status{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.sortit__done{background:#1b10358c;place-items:center;display:grid;position:absolute;inset:0}.sortit__done[hidden]{display:none}.sortit__panel{max-width:80%;color:var(--panel-ink);text-align:center;box-shadow:var(--shadow);background:#fffdf7;border-radius:28px;justify-items:center;gap:12px;padding:24px 32px;display:grid}.sortit__panel h2{margin:0;font-size:clamp(22px,4.4cqw,44px)}.sortit__panel p{margin:0;font-size:clamp(16px,2.4cqw,24px)}@keyframes sortit-picked{50%{transform:translateY(-4%)scale(1.04)}}@keyframes sortit-hint{50%{filter:brightness(1.4)saturate(1.3)}}@keyframes sortit-front-ready{0%{filter:brightness(1.04)saturate(1.05)}to{filter:brightness(1.16)saturate(1.2)}}@keyframes sortit-bounce{35%{transform:scale(1.05)}70%{transform:scale(.99)}}@keyframes sortit-wobble{20%{transform:rotate(-9deg)}45%{transform:rotate(8deg)}70%{transform:rotate(-4deg)}}@keyframes sortit-arrive{0%{opacity:0;transform:translateY(18%)scale(.85)}}@media (prefers-reduced-motion:reduce){.sortit__food.is-picked img,.sortit__crate.is-hint,.sortit__crate.is-bounce,.sortit__food.is-wrong,.sortit.is-arriving .sortit__food,.sortit.is-celebrating .sortit__pill--count{animation:none}.sortit__food.is-sorted{transition-duration:10ms}}.tiles--page .tiles__thumb{aspect-ratio:5/6}.tiles--wide .tiles__thumb{aspect-ratio:16/9}.tiles--wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}.game-host{text-wrap:balance}.hands-held{z-index:50;cursor:grabbing;filter:drop-shadow(0 10px 10px #00000047);transition:scale .12s;scale:1.08}.hands-over{outline-offset:4px;filter:brightness(1.08);border-radius:18px;outline:4px solid #ffd54a}.hands-back{transition:translate .3s cubic-bezier(.3,1.6,.5,1)}@media (prefers-reduced-motion:reduce){.hands-held,.hands-back{transition:none}}.sideways{display:none}@media (orientation:portrait) and (max-width:700px){.game-host:not(.game-host--board){position:relative}.sideways{z-index:60;text-align:center;color:#fff;background:#1d2b3a;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:absolute;inset:0}.dialog--game>.sideways{top:var(--hud-h)}.sideways svg{width:140px;height:140px}.sideways__phone{transform-origin:60px 60px;animation:2.4s ease-in-out infinite sideways-tip}.sideways__say{max-width:12em;margin:0;font-size:26px;font-weight:900;line-height:1.2}.sideways__anyway{color:#fff;min-height:48px;font:inherit;background:0 0;border:2px solid #ffffff80;border-radius:999px;padding:10px 22px;font-size:17px;font-weight:800}}@keyframes sideways-tip{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(90deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.sideways__phone{animation:none;transform:rotate(90deg)}}.ready-cover{z-index:55;opacity:0;pointer-events:none;background:#1d2b3a;justify-content:center;align-items:center;gap:12px;transition:opacity .25s;display:flex;position:absolute;inset:0}.ready-cover.is-on{opacity:1;pointer-events:auto}.ready-cover.is-leaving{opacity:0;pointer-events:none}.ready-cover span{background:#f2c14e;border-radius:50%;width:16px;height:16px;animation:1s ease-in-out infinite ready-bob}.ready-cover span:nth-child(2){background:#f58bb0;animation-delay:.15s}.ready-cover span:nth-child(3){background:#7cc7ec;animation-delay:.3s}@keyframes ready-bob{50%{transform:translateY(-12px)}}@media (prefers-reduced-motion:reduce){.ready-cover span{animation:none}.ready-cover{transition:none}}.ready-hold>:not(.ready-cover){visibility:hidden}:root{--hud-banner:64px;--hud-h:calc(var(--hud-banner) + env(safe-area-inset-top) + 2px)}@media (max-width:560px),(max-height:500px){:root{--hud-banner:52px}}.hud{z-index:6;height:calc(var(--hud-h) - 2px);padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));pointer-events:none;background:linear-gradient(#fffbf2,#f5ead0);border-bottom:4px solid #2366d1;justify-content:center;align-items:center;gap:22px;font-family:Arial Rounded MT Bold,ui-rounded,Nunito,system-ui,sans-serif;font-size:9px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px #143f8f,0 6px 14px #00000047}.hud>*{pointer-events:auto}.hud[hidden]{display:none}.hud__passport{color:#1d2f6b;min-width:0;height:100%;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--motion) ease;background:0 0;border:0;border-radius:0;flex:none;align-items:center;gap:1em;margin:0;padding:0;display:flex}.hud__passport:hover{transform:translateY(-1px)}.hud__passport:active{transform:scale(.98)}.hud__passport:focus-visible{outline:4px solid var(--focus);outline-offset:4px}.hud__book{filter:drop-shadow(0 .2em .25em #00000059);flex:none;width:5.2em;height:5.2em;rotate:-4deg}.hud__book svg{width:100%;height:100%;display:block}.hud__title{white-space:nowrap;border-right:.16em solid #f0c24f;flex:none;padding-right:.7em;font-size:2.4em;font-weight:900;line-height:1}.hud__track{flex:none;gap:.25em;min-width:0;display:grid}.hud__track--games{border-left:.16em solid #f0c24f;padding-left:1em}.hud__label{white-space:nowrap;line-height:1.1}.hud__label b{color:#2366d1;margin-right:.35em;font-size:1.6em;font-weight:900}.hud__count{font-size:1.3em;font-weight:800}.hud__slots{background:#ece8f8;border-radius:999px;gap:.18em;width:max-content;padding:.22em;display:flex;box-shadow:inset 0 .12em .22em #281e5a40}.hud__slot{aspect-ratio:1;background:#d8d3f3;border-radius:50%;flex:none;width:2.3em;box-shadow:inset 0 .1em .16em #281e5a4d}.hud__slot.is-on{box-shadow:none;background:0 0}.hud__slot svg{filter:drop-shadow(0 .06em .06em #0000004d);width:100%;height:100%;display:block}.hud__coin-edge--place{fill:#d99a00}.hud__coin-face--place{fill:#ffd23f}.hud__coin-edge--game{fill:#b8321d}.hud__coin-face--game{fill:#f2553a}.hud__coin-star{fill:#fff2b0;stroke:#c98a00;stroke-width:.8px}.hud__map{color:#1d2f6b;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--motion) ease;background:#fffbf2;border:.3em solid #2366d1;border-radius:999px;flex:none;align-items:center;gap:.4em;padding:.2em 1.1em .2em .35em;display:flex}.hud__map svg{width:3.6em;height:3.6em;display:block}.hud__map-word{font-size:2.2em;font-weight:900;line-height:1}.hud__map:hover{transform:translateY(-1px)}.hud__map:active{transform:scale(.96)}.hud__map:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.hud__map[aria-current]{border-color:#ffc93c}.hud__coins{color:#263f4c;background:#fff8db;border:.3em solid #ecc354;border-radius:999px;flex:none;align-items:center;gap:.5em;padding:.2em 1.1em .2em .2em;display:flex;position:relative}.hud__coin{width:3.6em;height:3.6em;display:block}.hud__total{min-width:1.5ch;font-size:2.8em;font-weight:900;line-height:1}.hud__sparkle{fill:#fff3c4;filter:drop-shadow(0 0 .2em #ffd23fe6);pointer-events:none;width:1.1em;height:1.1em;position:absolute}.hud__sparkle svg{width:100%;height:100%;display:block}.hud__sparkle--1{top:-1.1em;left:-.8em}.hud__sparkle--2{width:1.4em;height:1.4em;top:-1.3em;right:-.6em}.hud__sparkle--3{width:.9em;height:.9em;bottom:-1.2em;left:-.2em}.hud__track.is-bumped,.hud__coins.is-bumped{animation:.7s ease-out chrome-bump}.hud__sound{box-sizing:content-box;background:var(--accent);width:4em;height:4em;color:var(--accent-ink);font:inherit;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--motion) ease;border:.3em solid #fffbf2;border-radius:50%;flex:none;place-items:center;margin:0;padding:0;display:grid;box-shadow:0 0 0 .22em #2366d1}.hud__sound svg{width:2.5em;height:2.5em;display:block}.hud__sound:hover{background:#ff8f73}.hud__sound:active{transform:scale(.94)}.hud__sound:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.hud__sound[aria-pressed=false]{background:var(--ink-soft)}.hud .chrome__notice{top:calc(100% + 10px);bottom:auto;left:50%;transform:translate(-50%,-8px)}.hud .chrome__notice.is-shown{transform:translate(-50%)}@media (max-width:1120px){.hud{gap:14px}.hud__title{display:none}}@media (max-width:920px){.hud{gap:10px;font-size:7.5px}.hud__passport{gap:.8em}.hud__slots{display:none}.hud__map{padding:.2em}.hud__map-word{display:none}.hud__label b{font-size:1.9em}.hud__count{font-size:1.7em}}@media (max-width:440px){.hud{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));gap:6px;font-size:6.4px}.hud__passport{gap:.6em}.hud__track--games{padding-left:.6em}}@media (max-width:350px){.hud{font-size:5.6px}}@media (max-height:500px) and (min-width:561px){.hud{font-size:7.5px}}@media (prefers-reduced-motion:reduce){.hud__track.is-bumped,.hud__coins.is-bumped{animation:none}.hud__passport{transition:none}}.room-stamp{z-index:5;aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 .4vmin .8vmin #00000073);width:clamp(36px,6%,72px);position:absolute;bottom:1.5%;left:1.5%;rotate:-10deg}.room-stamp--new{animation:.8s cubic-bezier(.3,1.2,.4,1) both room-stamp-in}@keyframes room-stamp-in{0%{opacity:0;rotate:-40deg;scale:2.6}31%{opacity:1;rotate:-6deg;scale:.86}55%{rotate:-12deg;scale:1.12}to{opacity:1;rotate:-10deg;scale:1}}.room-stamp__burst{pointer-events:none;position:absolute;inset:0}.room-stamp__glow{z-index:-1;transform-origin:0 100%;background:radial-gradient(circle,#fff0a0 0%,#ffd648b3 38%,#ffd64800 70%);border-radius:50%;animation:1.5s ease-out .25s both room-stamp-glow;position:absolute;inset:-70% -70% 12% -15%}@keyframes room-stamp-glow{0%{opacity:0;scale:.4}18%{opacity:1;scale:1.25}to{opacity:0;scale:1.6}}.room-stamp__spark{width:calc(var(--size) * 100%);aspect-ratio:1;margin:calc(var(--size) * -50%) 0 0 calc(var(--size) * -50%);filter:drop-shadow(0 0 3px #fff0aaf2);animation:room-stamp-spark .95s cubic-bezier(.2, .8, .3, 1) calc(.25s + var(--delay)) both;position:absolute;top:50%;left:50%}.room-stamp__spark svg{fill:#ffd648;width:100%;height:100%;display:block}@keyframes room-stamp-spark{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) rotate(calc(-1 * var(--angle))) scale(.2)}20%{opacity:1}65%{opacity:1;transform:rotate(var(--angle)) translateX(calc(var(--far) / var(--size) * 85%)) rotate(calc(-1 * var(--angle))) scale(1.15) rotate(45deg)}to{opacity:0;transform:rotate(var(--angle)) translateX(calc(var(--far) / var(--size) * 100%)) rotate(calc(-1 * var(--angle))) scale(.5) rotate(90deg)}}@media (prefers-reduced-motion:reduce){.room-stamp--new{animation:none}.room-stamp__burst{display:none}}.passport__place .place-stamp{width:68px}.passport__place .place-stamp__ring,.chrome__notice-mark .place-stamp__ring{opacity:1;filter:none;width:100%;height:100%}.passport__item:not(.is-earned) .passport__place .place-stamp{opacity:.22;filter:grayscale()}.chrome__notice-mark:has(.place-stamp){width:36px;height:36px;margin:-6px 0}.hud__passport,.hud__track--places{position:relative}.hud__passport.is-celebrating{animation:.9s cubic-bezier(.3,1.4,.5,1) hud-party-pop}@keyframes hud-party-pop{0%{scale:1}30%{scale:1.07}60%{scale:.98}to{scale:1}}.hud__passport:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(105deg,#0000 35%,#ffffffe6 47%,#ffe478e6 53%,#0000 65%) 0 0/260% 100% no-repeat;position:absolute;inset:0}.hud__passport.is-celebrating:after{animation:1.3s ease-in-out .15s both hud-party-shine}@keyframes hud-party-shine{0%{opacity:1;background-position:140% 0}85%{opacity:1;background-position:-40% 0}to{opacity:0;background-position:-40% 0}}.hud__passport.is-celebrating .hud__track--places .hud__slot{animation:hud-coin-hop .62s cubic-bezier(.3, 1.5, .5, 1) calc(var(--i,0) * 70ms) both}@keyframes hud-coin-hop{0%{transform:translateY(0)scale(1)}40%{filter:brightness(1.35)drop-shadow(0 0 .35em #ffd23ff2);transform:translateY(-.9em)scale(1.35)}to{transform:translateY(0)scale(1)}}.hud__party{pointer-events:none;animation:2.2s linear both hud-party-fade;position:absolute;inset:0}@keyframes hud-party-fade{0%,80%{opacity:1}to{opacity:0}}.hud__party-spark{left:var(--x);fill:#ffe27a;filter:drop-shadow(0 0 .25em #ffd23ff2);width:1.4em;height:1.4em;animation:hud-party-spark 1.1s cubic-bezier(.2, .8, .3, 1) calc(.2s + var(--delay)) both;margin-left:-.7em;position:absolute;bottom:.5em}.hud__party-spark svg{width:100%;height:100%;display:block}@keyframes hud-party-spark{0%{opacity:0;transform:translateY(0)scale(.2)rotate(0)}25%{opacity:1}70%{opacity:1;transform:translateY(calc(var(--dir) * 2.6em)) scale(1.2) rotate(70deg)}to{opacity:0;transform:translateY(calc(var(--dir) * 3.2em)) scale(.5) rotate(120deg)}}.hud__track--places.is-complete .hud__slots{background:#fff1c2;box-shadow:0 0 0 .14em #ffc928,0 0 .8em #ffc828bf}.hud__track--places.is-complete .hud__count{color:#b06f00}@media (prefers-reduced-motion:reduce){.hud__passport.is-celebrating,.hud__passport.is-celebrating:after,.hud__passport.is-celebrating .hud__track--places .hud__slot{animation:none}.hud__party{display:none}}.sortit__bigcoin{z-index:6;aspect-ratio:1;pointer-events:none;width:15%;animation:.65s cubic-bezier(.3,1.6,.4,1) both sortit-bigcoin-in;position:absolute;top:55%;left:50%;translate:-50% -50%}.sortit__bigcoin img{object-fit:contain;filter:drop-shadow(0 0 1.4vmin #ffd648f2)drop-shadow(0 .6vmin 1vmin #00000059);width:100%;height:100%;display:block}.sortit__bigcoin-plus{color:#fff;-webkit-text-stroke:.08em #c76a00;paint-order:stroke fill;text-shadow:0 .06em .12em #00000059;font-size:clamp(22px,4.2vw,60px);font-weight:900;animation:.9s ease-out .25s both sortit-plus;position:absolute;top:22%;right:-48%}.sortit__bigcoin.is-leaving{animation:.45s ease-in both sortit-bigcoin-out}@keyframes sortit-bigcoin-in{0%{opacity:0;rotate:-180deg;scale:0}60%{opacity:1;rotate:10deg;scale:1.25}to{opacity:1;rotate:0deg;scale:1}}@keyframes sortit-plus{0%{opacity:0;translate:0 40%;scale:.6}35%{opacity:1;translate:0;scale:1.15}to{opacity:1;translate:0 -10%;scale:1}}@keyframes sortit-bigcoin-out{to{opacity:0;scale:.4}}@media (prefers-reduced-motion:reduce){.sortit__bigcoin,.sortit__bigcoin-plus,.sortit__bigcoin.is-leaving{animation:none}}.game-host--scene .fx-layer{overflow:visible}.sortit__pile,.sortit__front{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sortit__kept{object-fit:contain;rotate:var(--tilt,0deg);animation:.42s cubic-bezier(.3,1.5,.5,1) both sortit-drop-in;position:absolute}@keyframes sortit-drop-in{0%{translate:0 -35%}to{translate:0}}@media (prefers-reduced-motion:reduce){.sortit__kept{animation:none}.sortit.is-carrying .sortit__front{filter:brightness(1.12)saturate(1.15);animation:none}}#app:has(>.progress-transfer){place-items:center;padding:16px;display:grid}.progress-transfer{color:#17323b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;background:#fffaf2;border-radius:24px;width:min(540px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:28px;font:18px/1.5 system-ui,sans-serif;overflow:auto;box-shadow:0 12px 48px #00394733}.progress-transfer h1{margin:0 0 16px;font-size:clamp(24px,5vw,32px);line-height:1.2}.progress-transfer p{margin:0 0 20px}.progress-transfer button{color:#fff;cursor:pointer;background:#087881;border:2px solid #087881;border-radius:14px;width:100%;min-height:48px;margin-top:12px;padding:12px 16px;font:700 16px/1.4 system-ui,sans-serif;display:block}.progress-transfer button+button{color:#075b63;background:0 0}.progress-transfer button:focus-visible{outline-offset:3px;outline:3px solid #dc9800}
