:root{--ink:#1b2a4a;--sky:#5ec8f2;--sun:#ffd23f;--paper:#fffaf0;--accent:#ff6b4a;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:pan-x pan-y;background:var(--sky);height:100%;color:var(--ink);margin:0;overflow:hidden}body{width:100%;position:fixed;inset:0}#app{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app[data-input=touch]{-webkit-user-select:none;user-select:none}#app input,#app textarea,#app [contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.title-logo{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#app{width:100%;height:100%;position:relative}#game-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#screen-root,#overlay-root,#boot-root{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}#screen-root>*,#overlay-root>*,#boot-root>*{pointer-events:auto}#boot-root:empty{display:none}#boot-root{background:var(--sky);font-size:1.5rem;font-weight:700}.panel{background:var(--paper);border:4px solid var(--ink);box-shadow:0 8px 0 var(--ink);text-align:center;border-radius:1.5rem;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;display:flex}.panel h1,.panel h2,.panel p{margin:0}.panel h1{font-size:3.5rem}.actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.button{font:inherit;color:var(--ink);background:var(--sun);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;border-radius:999px;padding:.6rem 1.5rem;font-size:1.1rem;font-weight:700}.button:hover{background:#ffe27a}.button:active{box-shadow:0 2px 0 var(--ink);transform:translateY(2px)}#overlay-root:not(:empty){background:#1b2a4a8c}.dev-menu{z-index:10;background:#0009;border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem;display:flex;position:absolute;bottom:.5rem;left:.5rem}.dev-menu-items{gap:.25rem;display:flex}.dev-menu-items[hidden]{display:none}.dev-menu button{font:.75rem monospace}.zone-dock{gap:.4rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}.zone-dock .button{opacity:.85;padding:.25rem .8rem;font-size:.8rem}.run-hud{pointer-events:none;color:#fff;text-shadow:0 3px 0 var(--ink);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-weight:900;position:absolute;inset:0}.hud-timer{justify-items:center;gap:.35rem;display:grid;position:absolute;top:1rem;left:50%;translate:-50%}.hud-time{text-align:center;letter-spacing:.02em;min-width:6.4ch;font-size:3.4rem;line-height:1;display:inline-block}.hud-track{border:3px solid var(--ink);background:#1b2a4a8c;border-radius:999px;width:15rem;height:.9rem;overflow:hidden}.hud-fill{background:#5be37d;border-radius:999px;width:0;height:100%;display:block}.hud-timer.is-over .hud-fill{background:var(--sun)}.hud-timer.is-over .hud-time{color:var(--sun)}.hud-par{letter-spacing:.06em;-webkit-text-stroke:4px var(--ink);font-size:1.05rem}.hud-par b{text-align:left;min-width:4.6ch;display:inline-block}.hud-stars{color:var(--sun)}.hud-side{justify-items:end;gap:.6rem;display:grid;position:absolute;top:1rem;right:1.25rem}.hud-crates,.hud-coins{transform-origin:100%;align-items:center;gap:.7rem;display:flex}.hud-count{text-align:right;min-width:3.2ch;font-size:2.2rem;line-height:1;display:inline-block}.hud-pips{gap:.3rem;display:flex}.hud-pip{border:3px solid var(--ink);width:1.15rem;height:1.15rem;box-shadow:0 3px 0 var(--ink);background:#aab4be;border-radius:.3rem;display:block}.hud-pip.is-found{background:var(--sun);transform:translateY(-2px)rotate(-6deg)}.hud-coin{border:4px solid var(--ink);width:1.9rem;height:1.9rem;box-shadow:0 3px 0 var(--ink);background:radial-gradient(circle at 35% 30%,#fff3a8 0 22%,#ffcf33 24% 100%);border-radius:50%;display:block}.hud-prompt{letter-spacing:.04em;font-size:1.5rem;position:absolute;bottom:18%;left:50%;translate:-50%}.hud-prompt[hidden]{display:none}.hud-toast{opacity:0;font-size:2.6rem;position:absolute;top:9.5rem;left:50%;translate:-50%}.hud-toast[data-tone=bad]{color:#ff7a5c}.hud-toast[data-tone=good]{color:#5be37d}.flight-hud{--fl-stroke:4px}.fl-label{letter-spacing:.12em;-webkit-text-stroke:4px var(--ink);font-size:.95rem;display:block}.fl-speed{gap:.2rem;display:grid;position:absolute;bottom:1.5rem;left:1.5rem}.fl-number{text-align:left;min-width:3.4ch;font-size:4rem;line-height:1;display:inline-block}.fl-boost{border:4px solid var(--ink);background:#1b2a4a8c;border-radius:999px;width:14rem;height:1.2rem;overflow:hidden}.fl-boost-fill{background:#4fd8ff;border-radius:999px;width:100%;height:100%;display:block}.fl-boost.is-active .fl-boost-fill{background:var(--sun)}.fl-home{justify-items:center;gap:.15rem;display:grid;position:absolute;top:1rem;right:1.25rem}.fl-compass{border:4px solid var(--ink);background:#1b2a4a8c;border-radius:50%;place-items:center;width:4.6rem;height:4.6rem;display:grid}.fl-arrow{border-left:.8rem solid #0000;border-right:.8rem solid #0000;border-bottom:2.3rem solid var(--sun);width:0;height:0;filter:drop-shadow(0 2px 0 var(--ink));display:block}.fl-eta{text-align:center;min-width:3ch;font-size:1.5rem;display:inline-block}.fl-progress{justify-items:center;display:grid;position:absolute;top:1rem;left:50%;translate:-50%}.fl-progress-count{text-align:center;min-width:5ch;font-size:2.4rem;line-height:1.1;display:inline-block}.fl-prompt{letter-spacing:.05em;font-size:1.9rem;position:absolute;bottom:22%;left:50%;translate:-50%}.fl-prompt[data-kind=locked]{color:#c4cbd3}.fl-prompt[hidden],.fl-message[hidden]{display:none}.fl-message{text-align:center;max-width:80%;color:var(--sun);font-size:2.4rem;position:absolute;top:28%;left:50%;translate:-50%}.fl-keys{letter-spacing:.06em;opacity:.85;-webkit-text-stroke:3px var(--ink);white-space:nowrap;font-size:.85rem;position:absolute;bottom:.6rem;left:50%;translate:-50%}.fl-labels{position:absolute;inset:0;overflow:hidden}.fl-label-name{white-space:nowrap;-webkit-text-stroke:4px var(--ink);margin:-.6em 0 0 -2em;font-size:1.05rem;position:absolute;top:0;left:0}.fl-label-name[hidden]{display:none}.hub-hud{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.hub-stroke{color:#fff;text-shadow:0 3px 0 var(--ink);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;font-weight:900}.hub-title,.hub-coins{background:var(--ink);box-shadow:0 4px #00000040}.hub-title{letter-spacing:.04em;white-space:nowrap;border-radius:0 0 1.4rem 1.4rem;padding:.3rem 1.8rem .4rem;font-size:1.8rem;position:absolute;top:0;left:50%;translate:-50%}.hub-coins .hud-coin{box-shadow:none;border-color:#fff}.hub-coins{font-variant-numeric:tabular-nums;border-radius:0 0 0 1.4rem;align-items:center;gap:.5rem;padding:.3rem 1.2rem .4rem 1rem;font-size:1.8rem;display:flex;position:absolute;top:0;right:0}.hub-prompt{letter-spacing:.04em;white-space:nowrap;font-size:1.7rem;position:absolute;bottom:18%;left:50%;translate:-50%}.hub-toast{color:var(--sun);white-space:nowrap;font-size:1.7rem;position:absolute;bottom:27%;left:50%;translate:-50%}.hub-prompt[hidden],.hub-toast[hidden],.hub-tally[hidden],.hub-modal[hidden]{display:none}.hub-help{letter-spacing:.06em;opacity:.85;-webkit-text-stroke:3px var(--ink);white-space:nowrap;font-size:.85rem;position:absolute;bottom:.6rem;left:50%;translate:-50%}.hub-tally{pointer-events:auto;font:inherit;color:var(--ink);background:var(--sun);border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink);cursor:pointer;border-radius:999px;padding:.4rem 1.4rem;font-size:1.2rem;font-weight:800;animation:.9s ease-in-out infinite alternate hub-tally-glow;position:absolute;top:4.4rem;left:50%;translate:-50%}@keyframes hub-tally-glow{0%{box-shadow:0 5px 0 var(--ink), 0 0 0 0 #ffd23fcc}to{box-shadow:0 5px 0 var(--ink), 0 0 0 10px #ffd23f00}}.hub-stations{clip-path:inset(50%);width:1px;height:1px;margin:0;padding:0;list-style:none;position:absolute;overflow:hidden}.hub-modal{pointer-events:auto;background:#1b2a4a8c;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.mission-panel{width:min(46rem,94vw)}.mission-list{gap:.75rem;width:100%;display:grid}.mission-option{width:100%;font:inherit;text-align:left;color:var(--ink);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;background:#fff;border-radius:1rem;gap:.25rem;padding:.8rem 1.1rem;display:grid}.mission-option:hover{background:#fff3c4}.mission-tier{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:900}.mission-clue{font-size:1.15rem;font-weight:700;line-height:1.35}.button:disabled{opacity:.55;cursor:default}.wall-panel{width:min(64rem,96vw);max-height:92vh;padding:1.5rem 2rem}.wall-view{flex-direction:column;flex:auto;gap:1rem;width:100%;min-height:0;display:flex}.wall-body{flex:auto;align-content:start;gap:1rem;width:100%;min-height:0;padding-right:.5rem;display:grid;overflow-y:auto}.wall-header{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;display:grid}.wall-continent{cursor:pointer;border-radius:.8rem;padding:.3rem .5rem .5rem}.wall-continent:hover{background:#1b2a4a14}.wall-continent h3{text-align:left;margin:0 0 .4rem}.wall-open{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.wall-open:hover,.wall-open:focus-visible{text-decoration:underline}.wall-grid{grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.4rem;display:grid}.wall-grid-large{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.8rem}.wall-slot-large{flex-direction:column;gap:.3rem;display:flex}.wall-name{font-size:.95rem;font-weight:800;line-height:1.15}.wall-slot canvas{border-radius:.3rem;width:100%;height:auto;display:block}.wall-slot[data-new=true] canvas{outline:3px solid var(--accent)}.radio-layer{z-index:5;position:absolute;inset:0}.fl-clue{border:4px solid var(--ink);max-width:min(28rem,38vw);text-shadow:none;-webkit-text-stroke:0;background:#1b2a4ab3;border-radius:1rem;gap:.2rem;padding:.7rem 1rem;display:grid;position:absolute;top:3.4rem;left:1.25rem}.fl-clue .fl-label{-webkit-text-stroke:0;color:var(--sun)}.fl-clue-text{-webkit-text-stroke:0;text-shadow:none;font-size:1.15rem;font-weight:700;line-height:1.35}.fl-clue[hidden]{display:none}.fl-radio{pointer-events:auto;font:inherit;color:var(--ink);background:var(--sun);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;-webkit-text-stroke:0;text-shadow:none;border-radius:999px;padding:.5rem 1.2rem;font-size:1.1rem;font-weight:900;position:absolute;bottom:3.4rem;right:.75rem}.flight-hud[data-nudge=on]:after{content:"Look for the glow!";color:var(--sun);opacity:.9;font-size:1.3rem;position:absolute;top:28%;left:50%;translate:-50% 4.5rem}.storm-cutscene{z-index:20;pointer-events:auto;background:radial-gradient(circle at 50% 40%,#46506e 0%,#1c2236 70%,#0d1120 100%);place-items:center;animation:.45s ease-out both storm-in;display:grid;position:absolute;inset:0;overflow:hidden}.storm-cutscene.is-fading{animation:storm-out var(--storm-fade,.7s) ease-in both}.storm-cloud{filter:blur(6px);width:60vw;height:28vh;animation:storm-drift var(--storm-seconds,2s) linear both;background:radial-gradient(#7b86a8 0%,#3b4462 60%,#0000 72%);border-radius:50%;position:absolute}.storm-cloud-0{top:4%;left:-20%}.storm-cloud-1{animation-direction:reverse;top:22%;left:40%}.storm-cloud-2{top:44%;left:-10%}.storm-cloud-3{animation-direction:reverse;top:62%;left:50%}.storm-cloud-4{top:78%;left:5%}.storm-flash{opacity:0;animation:storm-flash var(--storm-seconds,2s) steps(1, end) both;background:#fff;position:absolute;inset:0}.storm-text{color:#fff;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;margin:0;font-size:2.6rem;font-weight:900;position:relative}@keyframes storm-in{0%{opacity:0}to{opacity:1}}@keyframes storm-out{0%{opacity:1}to{opacity:0}}@keyframes storm-drift{0%{transform:translate(-12vw)scale(.9)}to{transform:translate(14vw)scale(1.25)}}@keyframes storm-flash{0%{opacity:0}35%{opacity:.85}40%{opacity:0}58%{opacity:.6}62%{opacity:0}to{opacity:0}}.badge-toast{z-index:30;background:var(--paper);border:5px solid var(--ink);box-shadow:0 6px 0 var(--ink);color:var(--ink);pointer-events:none;border-radius:999px;align-items:center;gap:.9rem;padding:.6rem 1.4rem .6rem .7rem;animation:.45s cubic-bezier(.2,1.4,.4,1) both badge-toast-in;display:flex;position:absolute;top:1rem;left:50%;translate:-50%}.badge-toast-medal{background:var(--sun);border:4px solid var(--ink);border-radius:50%;place-items:center;width:3.4rem;height:3.4rem;font-size:1.7rem;font-weight:900;display:grid}.badge-toast-text{gap:.05rem;line-height:1.1;display:grid}.badge-toast-text b{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.8rem}.badge-toast-name{font-size:1.5rem;font-weight:900}.badge-toast-coins{font-size:.95rem;font-weight:800}@keyframes badge-toast-in{0%{opacity:0;transform:translateY(-2.5rem)scale(.8)}to{opacity:1;transform:none}}.title-flow{pointer-events:none;place-items:center;width:100%;height:100%;display:grid}.title-flow>*{pointer-events:auto}.hp-panel{gap:.6rem;width:min(70rem,94vw);max-height:92vh;padding:1.25rem 1.5rem}.hp-sub{opacity:.8;font-size:1.05rem}.hp-search{width:min(28rem,100%);font:inherit;border:3px solid var(--ink);color:var(--ink);background:#fff;border-radius:999px;padding:.55rem 1rem;font-size:1.2rem}.hp-scroll{width:100%;min-height:0;padding:.5rem .25rem .75rem;overflow-y:auto}.hp-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.6rem;display:grid}.hp-cell{font:inherit;color:var(--ink);border:3px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:1rem;grid-template-rows:4.2rem auto;place-items:center;gap:.35rem;padding:.5rem .4rem;display:grid}.hp-cell[hidden]{display:none}.hp-cell:hover,.hp-cell:focus-visible{background:#ffe27a;outline:none}.hp-flag{border:1px solid #1b2a4a59;max-width:100%;max-height:100%;box-shadow:0 2px 4px #1b2a4a40}.hp-name{font-size:.85rem;font-weight:700;line-height:1.15}.hp-empty{padding:1rem;font-weight:700}.av-panel{gap:.9rem;width:min(56rem,94vw);max-height:94vh;padding:1.25rem 1.75rem}.av-body{grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);align-items:center;gap:1.5rem;width:100%;display:grid}.av-stage{border:3px solid var(--ink);background:linear-gradient(#bfe8ff,#8fd8ff);border-radius:1.25rem;height:22rem;max-height:46vh;overflow:hidden}.av-canvas{width:100%;height:100%;display:block}.av-controls{text-align:left;gap:.7rem;display:grid}.av-group h3{margin:0 0 .3rem;font-size:1rem}.av-options{flex-wrap:wrap;gap:.5rem;display:flex}.av-option{--swatch:var(--paper);min-width:2.6rem;height:2.6rem;font:inherit;color:var(--ink);background:var(--swatch);border:3px solid var(--ink);cursor:pointer;border-radius:.8rem;padding:0 .8rem;font-size:.9rem;font-weight:700}.av-option[data-selected=true]{outline:4px solid var(--sun);outline-offset:2px;box-shadow:0 0 0 7px var(--ink)}.tut-banner{z-index:6;max-width:min(46rem,92vw);color:var(--ink);background:var(--paper);border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink);pointer-events:none;border-radius:1.4rem;align-items:center;gap:.8rem;padding:.6rem 1.1rem .6rem .6rem;display:flex;position:absolute;left:50%;translate:-50%}.tut-banner[hidden]{display:none}.tut-banner[data-position=top]{top:4.6rem}.tut-banner[data-position=low]{bottom:6.5rem}.tut-host{color:#fff;background:var(--accent);border:3px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:2.8rem;height:2.8rem;font-weight:900;display:grid}.tut-text{margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.tut-key{min-width:1.7em;font:inherit;text-align:center;background:var(--sun);border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:.45em;margin:0 .1em;padding:.05em .45em;font-weight:900;display:inline-block}.tut-arrow{background:var(--sun);border:3px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:3rem;height:3rem;display:grid}.tut-arrow[hidden]{display:none}.tut-arrow i{border-left:.5rem solid #0000;border-right:.5rem solid #0000;border-bottom:1.1rem solid var(--ink);width:0;height:0}.np-panel{width:min(30rem,94vw)}.np-input{width:100%;font:inherit;text-align:center;border:3px solid var(--ink);color:var(--ink);background:#fff;border-radius:999px;padding:.55rem 1rem;font-size:1.4rem}.np-error{color:#b3261e;min-height:1.4em;font-weight:700}.nm-modal{background:#1b2a4a8c;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.nm-panel{max-width:34rem}.nm-text{font-size:1.3rem;font-weight:700}.set-controls{text-align:left;flex-direction:column;gap:.55rem;width:100%;display:flex}.set-row{grid-template-columns:11rem 1fr 3.6rem;align-items:center;gap:.75rem;display:grid}.set-row .set-segment{grid-column:2/4}.set-check{grid-template-columns:11rem auto}.set-label{font-weight:700}.set-value{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.set-row input[type=range]{width:100%;accent-color:var(--accent)}.set-row input[type=checkbox]{width:1.4rem;height:1.4rem;accent-color:var(--accent)}.set-segment{border:3px solid var(--ink);border-radius:999px;width:fit-content;display:inline-flex;overflow:hidden}.set-segment-button{font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:0;padding:.3rem 1.4rem;font-weight:800}.set-segment-button[aria-pressed=true]{background:var(--sun)}.set-note{min-height:1.2em;margin:0;font-size:.85rem}.settings-panel{gap:.75rem;width:min(58rem,94vw);max-height:calc(100vh - 2rem);padding:1.25rem 2rem;overflow-y:auto}.settings-columns{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem 2rem;width:100%;display:grid}.settings-column{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.settings-column .save-status,.settings-column .save-code{width:100%}@media (width<=760px){.settings-columns{grid-template-columns:1fr}}.device-overlay{z-index:10000;background:var(--sky);place-items:center;padding:.75rem;display:grid;position:fixed;inset:0;overflow:hidden auto}.device-overlay[hidden]{display:none}.device-overlay-panel{gap:.75rem;width:min(32rem,100%);max-height:100%;padding:1.25rem 1.25rem 1rem}.device-overlay-panel h1{font-size:clamp(1.4rem,6vw,2.2rem);line-height:1.15}.device-overlay-panel p{font-size:1.05rem}.device-overlay-label{font-weight:700}.device-overlay-row{flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%;display:flex}.device-overlay-address{min-width:0;color:var(--ink);border:3px solid var(--ink);background:#fff;border-radius:.6rem;flex:12rem;padding:.5rem .6rem;font:.95rem ui-monospace,Menlo,monospace}.device-overlay-dismiss{font:inherit;color:var(--ink);cursor:pointer;opacity:.8;background:0 0;border:0;padding:.4rem .6rem;font-size:.9rem;text-decoration:underline}@media (height<=420px){.device-overlay-panel{gap:.4rem;padding:.75rem 1rem .5rem}.device-overlay-panel h1{font-size:1.3rem}.device-overlay-panel p{font-size:.95rem}}.device-sideways-icon{border:5px solid var(--ink);background:var(--sky);border-radius:.7rem;width:4.5rem;height:3.2rem;animation:2.4s ease-in-out infinite device-sideways-turn;display:block}@keyframes device-sideways-turn{0%,25%{transform:rotate(90deg)}65%,to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.device-sideways-icon{animation:none}}.rq-root{--rq-ink:#1b2a4a;--rq-sun:#ffd23f;--rq-paper:#fffaf0;--rq-accent:#ff6b4a;--rq-good:#34c46b;--rq-bad:#ff6b4a;color:var(--rq-ink);-webkit-user-select:none;user-select:none;background:radial-gradient(120% 38% at 18% 104%,#6bd36b 0 62%,#0000 63%),radial-gradient(110% 34% at 86% 106%,#4fbf5f 0 62%,#0000 63%),linear-gradient(#69cdf7 0%,#b6e8ff 58%,#fff3c9 100%);grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(.5rem,1.6vh,1.1rem);padding:clamp(.6rem,2vh,1.4rem) clamp(.8rem,2.4vw,2.2rem);display:grid;position:absolute;inset:0;overflow:hidden}.rq-root input{-webkit-user-select:text;user-select:text}.rq-missing{grid-template-rows:none;place-items:center}.rq-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.rq-steps{gap:clamp(.3rem,.8vw,.7rem);margin:0;padding:0;list-style:none;display:flex}.rq-step{border:3px solid var(--rq-ink);opacity:.65;background:#fffaf0b3;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .9rem .3rem .35rem;font-size:clamp(.85rem,1.1vw,1.15rem);font-weight:800;display:flex}.rq-step b{border:3px solid var(--rq-ink);background:#fff;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.95rem;display:grid}.rq-step[data-state=current]{background:var(--rq-sun);opacity:1;box-shadow:0 4px 0 var(--rq-ink);transform:translateY(-2px)}.rq-step[data-state=done]{opacity:1;background:#b9f2c9}.rq-step[data-state=done] b:after{content:""}.rq-step.is-merged span:after{content:" + flag";opacity:.7;font-weight:600}.rq-step[hidden]{display:none}.rq-coins{background:var(--rq-paper);border:4px solid var(--rq-ink);box-shadow:0 4px 0 var(--rq-ink);border-radius:999px;align-items:center;gap:.6rem;padding:.3rem 1.1rem .3rem .8rem;display:flex}.rq-mode{background:var(--rq-sun);border:3px solid var(--rq-ink);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;font-weight:800}.rq-coin-icon{border:4px solid var(--rq-ink);background:radial-gradient(circle at 35% 30%,#fff3a8 0 22%,#ffcf33 24% 100%);border-radius:50%;width:1.7rem;height:1.7rem;display:block}.rq-coin-value{text-align:right;font-variant-numeric:tabular-nums;min-width:3ch;font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1;display:inline-block}.rq-stage{place-items:center;min-height:0;display:grid}.rq-puzzle-holder{place-items:center;max-width:100%;max-height:100%;display:grid}.rq-puzzle,.rq-typed,.rq-fact{background:var(--rq-paper);border:5px solid var(--rq-ink);max-width:min(66rem,94%);box-shadow:0 8px 0 var(--rq-ink);text-align:center;border-radius:1.6rem;flex-direction:column;align-items:center;gap:clamp(.5rem,1.6vh,1rem);padding:clamp(.8rem,2.4vh,1.6rem) clamp(1rem,3vw,2.4rem);display:flex}.rq-typed{--typed-gap:1rem;gap:var(--typed-gap)}.rq-typed .flag-frame{margin-bottom:calc(var(--flag-shadow-reach) + 1.35rem - var(--typed-gap))}.rq-compare-item .flag-frame{margin-bottom:var(--flag-shadow-reach)}.rq-prompt{margin:0;font-size:clamp(1.3rem,2.2vw,2.1rem);font-weight:900}.flag-frame{--flag-shadow-reach:.75rem;max-width:100%;box-shadow:0 0 0 4px var(--rq-ink,#1b2a4a), 0 8px 0 4px var(--rq-ink,#1b2a4a);background:#fff;border-radius:4px;flex:none;display:block;position:relative;overflow:hidden}.flag-img{pointer-events:none;width:100%;height:100%;display:block}.rq-answer-box{width:min(34rem,80vw);position:relative}.rq-input-row{gap:.6rem;display:flex}.rq-input{min-width:0;font:inherit;color:var(--rq-ink);border:4px solid var(--rq-ink);background:#fff;border-radius:999px;outline:none;flex:1;padding:.6rem 1.2rem;font-size:clamp(1.2rem,1.8vw,1.7rem);font-weight:700}.rq-input:focus{box-shadow:0 0 0 4px var(--rq-sun), 0 0 0 8px var(--rq-ink)}.rq-input:disabled{opacity:.6}.rq-submit{font-size:clamp(1.1rem,1.5vw,1.4rem)}.rq-suggestions{z-index:5;border:4px solid var(--rq-ink);box-shadow:0 6px 0 var(--rq-ink);text-align:left;background:#fff;border-radius:1.1rem;margin:.5rem 0 0;padding:.3rem;list-style:none;position:absolute;top:100%;left:0;right:5rem}.rq-suggestions[hidden],.rq-suggestion[hidden],.rq-message[hidden]{display:none}.rq-suggestions[data-placement=up]{margin:0 0 .5rem;top:auto;bottom:100%}.rq-suggestion{cursor:pointer;border-radius:.7rem;padding:.4rem .9rem;font-size:clamp(1rem,1.4vw,1.3rem);font-weight:700}.rq-suggestion:hover,.rq-suggestion.is-active{background:var(--rq-sun)}.rq-message{margin:.5rem 0 0;font-size:clamp(.95rem,1.3vw,1.2rem);font-weight:800}.rq-message[data-tone=bad]{color:#d1432a}.rq-message[data-tone=good]{color:#1d9a4f}.rq-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;width:min(40rem,86vw);display:grid}.rq-choices.is-six{grid-template-columns:repeat(3,minmax(0,1fr))}.rq-choice{font:inherit;color:var(--rq-ink);border:4px solid var(--rq-ink);box-shadow:0 4px 0 var(--rq-ink);cursor:pointer;background:#fff;border-radius:1rem;padding:.6rem .8rem;font-size:clamp(1rem,1.5vw,1.4rem);font-weight:800}.rq-choice:hover:not(:disabled){background:var(--rq-sun)}.rq-choice:active:not(:disabled){box-shadow:0 2px 0 var(--rq-ink);transform:translateY(2px)}.rq-choice.is-wrong{opacity:.6;box-shadow:none;background:#ffd0c6;text-decoration:line-through}.rq-choice.is-right{background:#b9f2c9}.rq-options[hidden],.rq-reveal[hidden],.rq-race-options[hidden],.rq-neighbour-options[hidden]{display:none}.rq-reveal{justify-items:center;gap:.6rem;display:grid}.rq-reveal-line{color:#1d7f43;margin:0;font-size:clamp(1.3rem,2.1vw,2rem);font-weight:900}.rq-compare{align-items:flex-end;gap:clamp(1rem,3vw,2.4rem);display:flex}.rq-compare-item{justify-items:center;gap:.7rem;margin:0;font-weight:800;display:grid}.rq-tip{border:3px solid var(--rq-ink);background:#fff3c4;border-radius:.9rem;max-width:40rem;margin:0;padding:.5rem 1rem;font-size:clamp(.95rem,1.3vw,1.2rem);font-weight:700}.rq-tip[hidden]{display:none}.rq-fact-name{margin:0;font-size:clamp(1.8rem,3vw,2.8rem)}.rq-fact-text{max-width:42rem;margin:0;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:700;line-height:1.35}.rq-footer{justify-content:space-between;align-items:flex-end;gap:1rem;min-height:0;display:flex}.rq-footer-actions{flex:none;align-items:center;gap:.8rem;display:flex}.rq-next,.rq-skip{padding:.55rem 2rem;font-size:clamp(1.1rem,1.6vw,1.5rem)}.rq-next{background:var(--rq-good);color:#fff;text-shadow:0 2px 0 var(--rq-ink)}.rq-skip{background:#fff}.rq-host{flex:1;align-items:flex-end;gap:.9rem;min-width:0;display:flex}.rq-portrait{aspect-ratio:1;border:4px solid var(--rq-ink);background:#d7f0ff;border-radius:50%;flex:none;width:clamp(5rem,8vw,7rem);position:relative;overflow:hidden}.rq-portrait i{display:block;position:absolute}.rq-p-shirt{background:var(--shirt);border:3px solid var(--rq-ink);border-radius:50% 50% 0 0;height:46%;bottom:-22%;left:12%;right:12%}.rq-p-neck{background:var(--skin);border-left:3px solid var(--rq-ink);border-right:3px solid var(--rq-ink);width:16%;height:16%;top:56%;left:42%}.rq-p-head{background:var(--skin);border:3px solid var(--rq-ink);border-radius:50%;height:46%;top:18%;left:24%;right:24%}.rq-p-hair{background:var(--hair);border:3px solid var(--rq-ink);border-radius:50% 50% 20% 20%;height:22%;top:14%;left:22%;right:22%}.rq-p-eye{background:var(--rq-ink);border-radius:50%;width:7%;height:9%;top:38%}.rq-p-eye.is-left{left:38%}.rq-p-eye.is-right{right:38%}.rq-p-smile{border-bottom:3px solid var(--rq-ink);border-radius:0 0 50% 50%;height:7%;top:48%;left:42%;right:42%}.rq-p-hat{background:var(--hat);border:3px solid var(--rq-ink);border-radius:999px 999px 30% 30%;height:12%;top:8%;left:18%;right:18%}.rq-bubble{background:var(--rq-paper);border:4px solid var(--rq-ink);min-width:0;max-width:min(46rem,100%);box-shadow:0 5px 0 var(--rq-ink);border-radius:1.3rem;padding:.8rem 1.3rem;position:relative}.rq-bubble:before{content:"";background:var(--rq-paper);border-left:4px solid var(--rq-ink);border-bottom:4px solid var(--rq-ink);width:1.3rem;height:1.3rem;position:absolute;bottom:1.1rem;left:-.85rem;rotate:45deg}.rq-bubble.is-new{animation:.28s ease-out rq-pop}.rq-bubble-text{margin:0;font-size:clamp(1rem,1.45vw,1.4rem);font-weight:700;line-height:1.3}@keyframes rq-pop{0%{opacity:.4;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.rq-race{gap:clamp(.4rem,1.3vh,.9rem)}.rq-race-cover{display:grid;position:absolute;inset:0}.rq-race-tile{border:3px solid var(--rq-ink);color:#fff;text-shadow:0 3px 0 var(--rq-ink);background:repeating-linear-gradient(45deg,#4aa8e8 0 14px,#5cb8f4 14px 28px);place-items:center;font-size:clamp(1.4rem,3vw,2.6rem);font-weight:900;transition:opacity .45s,transform .45s;display:grid}.rq-race-tile.is-open{opacity:0;pointer-events:none;transform:scale(.85)}.rq-ladder{gap:.4rem;display:flex}.rq-ladder-chip{border:3px solid var(--rq-ink);background:#fff;border-radius:999px;min-width:3.2rem;padding:.15rem .5rem;font-size:clamp(.85rem,1.1vw,1.05rem);font-weight:800}.rq-ladder-chip.is-current{background:var(--rq-sun);box-shadow:0 4px 0 var(--rq-ink);transform:translateY(-3px)scale(1.12)}.rq-ladder-chip.is-gone{opacity:.35;text-decoration:line-through}.rq-race-status{margin:0;font-size:clamp(1rem,1.5vw,1.4rem);font-weight:900}.rq-race-status[data-final=true]{color:#1d7f43}.rq-timer{align-items:center;gap:.8rem;width:min(32rem,80vw);display:flex}.rq-timer-track{border:3px solid var(--rq-ink);background:#fff;border-radius:999px;flex:1;height:1.1rem;overflow:hidden}.rq-timer-fill{background:var(--rq-good);width:100%;height:100%;display:block}.rq-timer-label{font-variant-numeric:tabular-nums;min-width:3.6ch;font-size:1.5rem;font-weight:900}.rq-duel-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2.6rem);display:grid}.rq-duel-side{flex-direction:column;align-items:center;gap:.9rem;display:flex}.rq-duel-side .rq-answer-box{width:min(24rem,40vw)}.rq-duel-side[data-state=right] .flag-frame{box-shadow:0 0 0 4px var(--rq-good), 0 8px 0 4px var(--rq-ink)}.rq-duel-side[data-state=missed] .flag-frame{box-shadow:0 0 0 4px var(--rq-bad), 0 8px 0 4px var(--rq-ink)}.rq-duel-status{min-height:1.6rem;margin:0;font-size:clamp(1rem,1.4vw,1.3rem);font-weight:900}.rq-shape-canvas{aspect-ratio:560/360;border:4px solid var(--rq-ink);background:#e9f7ff;border-radius:1.1rem;height:min(18rem,30vh)}.rq-flag-options{flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:54rem;display:flex}.rq-flag-option{border:4px solid var(--rq-ink);box-shadow:0 4px 0 var(--rq-ink);cursor:pointer;background:#fff;border-radius:1rem;padding:.7rem}.rq-flag-option:hover:not(:disabled){background:var(--rq-sun)}.rq-flag-option.is-wrong{opacity:.4;box-shadow:none}.rq-flag-option.is-right{background:#b9f2c9}.rq-stub-note{border:3px dashed var(--rq-ink);background:#ffe1a8;border-radius:.8rem;margin:0;padding:.3rem .9rem;font-weight:800}.rq-raise{justify-content:center;align-items:center;gap:clamp(1.5rem,6vw,5rem);display:flex}.rq-raise-scene{width:clamp(14rem,22vw,20rem);height:min(24rem,50vh);position:relative}.rq-raise-pole{border:3px solid var(--rq-ink);background:linear-gradient(90deg,#f4f4f4,#b8bec7);border-radius:999px;width:.9rem;position:absolute;top:0;bottom:0;left:1.2rem}.rq-raise-pole:after{content:"";border:3px solid var(--rq-ink);background:#7a5a3a;border-radius:.5rem;height:1.1rem;position:absolute;bottom:-.9rem;left:-1.4rem;right:-1.4rem}.rq-raise-knob{background:var(--rq-sun);border:3px solid var(--rq-ink);border-radius:50%;width:1.3rem;height:1.3rem;position:absolute;top:-1.1rem;left:50%;translate:-50%}.rq-raise-cloth{transform-origin:0;position:absolute;bottom:0;left:100%}.rq-raise-cloth.is-climbing{animation:1.8s cubic-bezier(.4,0,.3,1) forwards rq-climb,.9s ease-in-out 1.8s infinite alternate rq-wave}.rq-raise-cloth .flag-frame{box-shadow:0 0 0 3px var(--rq-ink)}@keyframes rq-climb{0%{bottom:0}to{bottom:calc(100% - 8rem)}}@keyframes rq-wave{0%{transform:skewY(-1.5deg)}to{transform:skewY(1.5deg)}}.rq-raise-panel{background:var(--rq-paper);border:5px solid var(--rq-ink);box-shadow:0 8px 0 var(--rq-ink);border-radius:1.6rem;justify-items:center;gap:clamp(.5rem,1.6vh,1rem);min-width:min(26rem,80vw);padding:clamp(1rem,3vh,2rem) clamp(1.4rem,3.4vw,3rem);display:grid}.rq-raise-title{margin:0;font-size:clamp(1.8rem,3.2vw,3rem)}.rq-stars{gap:.5rem;display:flex}.rq-star{color:#cdd6de;-webkit-text-stroke:3px var(--rq-ink);paint-order:stroke fill;opacity:0;font-size:clamp(3rem,5vw,4.6rem);line-height:1;transform:scale(.3)}.rq-star.is-shown{opacity:1;transition:transform .35s cubic-bezier(.3,1.8,.5,1),opacity .2s;transform:scale(1)}.rq-star.is-earned{color:var(--rq-sun)}.rq-raise-coins{align-items:center;gap:.7rem;display:flex}.rq-raise-coin-value{font-variant-numeric:tabular-nums;text-align:right;min-width:3ch;font-size:clamp(2.2rem,3.6vw,3.4rem)}.rq-raise-multiplier{background:var(--rq-sun);border:3px solid var(--rq-ink);border-radius:999px;padding:.1rem .8rem;font-size:1.1rem;font-weight:900}.rq-raise-multiplier[hidden],.rq-raise-actions[hidden]{display:none}.rq-raise-actions{gap:.8rem;display:flex}.rq-raise-actions .button{padding:.6rem 2.2rem;font-size:clamp(1.1rem,1.6vw,1.5rem)}.rq-root[data-phase=raise] .rq-steps,.rq-root[data-phase=done] .rq-steps{visibility:hidden}@media (height<=820px){.rq-root{gap:.4rem}.rq-puzzle,.rq-typed,.rq-fact{gap:.45rem;padding:.7rem 1.4rem}.rq-typed{--typed-gap:.75rem;gap:var(--typed-gap)}.rq-choice{padding:.35rem .6rem}.rq-choices{gap:.45rem}.rq-input{padding:.4rem 1rem}.rq-bubble{padding:.55rem 1rem}.rq-portrait{width:4.6rem}}#app[data-input=touch] .rq-submit{min-height:44px}#app[data-input=touch] .rq-suggestion:not([hidden]){align-items:center;min-height:44px;display:flex}#app[data-input=touch][data-keyboard=open] .rq-root:is([data-phase=step2],[data-phase=step3]){gap:.3rem;padding-block:.4rem}#app[data-input=touch][data-keyboard=open] .rq-root:is([data-phase=step2],[data-phase=step3]) .rq-footer{display:none}#app[data-input=touch][data-keyboard=open] .rq-root:is([data-phase=step2],[data-phase=step3]) .rq-typed{--flag-cap:calc(var(--vv-height,100vh) * .2);--typed-gap:.5rem;padding-block:.5rem}#app[data-input=touch][data-keyboard=open] .rq-root:is([data-phase=step2],[data-phase=step3]) .rq-prompt{font-size:1.2rem}#app[data-input=touch][data-keyboard=open] .rq-root:is([data-phase=step2],[data-phase=step3]) .rq-stage{align-items:start}.rq-hint{opacity:.8;max-width:44rem;margin:0;font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:700}.rq-assemble,.rq-colour,.rq-fake{gap:clamp(.4rem,1.2vh,.8rem)}.rq-assemble{max-width:none}.rq-assemble-layout{justify-content:center;align-items:flex-start;gap:36px;display:flex}.rq-assemble-board{grid-template-columns:repeat(var(--cols), var(--cell-w));grid-template-rows:repeat(var(--rows), var(--cell-h));border:4px solid var(--rq-ink);box-shadow:0 6px 0 var(--rq-ink);background:#e4f1fb;border-radius:6px;flex:none;display:grid}.rq-slot{width:var(--cell-w);height:var(--cell-h);outline-offset:-3px;outline:2px dashed #1b2a4a59;position:relative}.rq-slot[data-filled=true]{outline:none}.rq-slot.is-target,.rq-slot.is-cursor{outline:3px solid var(--rq-ink);background:#ffd23f8c}.rq-slot.is-wrong{background:#ff6b4a80}.rq-assemble-tray{grid-template-columns:repeat(var(--tray-cols), var(--cell-w));background:#1b2a4a14;border:3px dashed #1b2a4a66;border-radius:12px;flex:none;gap:8px;padding:8px;display:grid}.rq-tray-cell{width:var(--cell-w);height:var(--cell-h)}.rq-piece{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;position:relative}.rq-piece-canvas{filter:drop-shadow(0 2px #1b2a4a80);width:100%;height:100%;transition:transform .14s ease-out;display:block}.rq-piece:focus-visible,.rq-piece.is-held{box-shadow:0 0 0 4px var(--rq-sun), 0 0 0 7px var(--rq-ink)}.rq-rotate{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:8rem;min-height:44px;display:none}.rq-rotate:disabled{opacity:.45;cursor:default}.rq-assemble-bar{justify-content:center;align-items:center;gap:1rem;display:flex}#app[data-input=touch] .rq-rotate{display:inline-block}#app[data-input=touch] .rq-piece.is-selected:not(.is-placed){box-shadow:0 0 0 4px var(--rq-sun), 0 0 0 7px var(--rq-ink)}.rq-piece.is-dragging{z-index:60;cursor:grabbing;pointer-events:none}.rq-piece.is-dragging .rq-piece-canvas{filter:drop-shadow(0 8px #1b2a4a73)}.rq-piece.is-placed{cursor:default}.rq-piece.is-placed .rq-piece-canvas{filter:none}.rq-piece.is-leftover{opacity:.3;pointer-events:none}.rq-piece.is-shaking{animation:.4s ease-in-out rq-shake}@keyframes rq-shake{20%,60%{translate:-6px}40%,80%{translate:6px}}.rq-fake-grid{grid-template-columns:repeat(var(--fake-cols,2), minmax(0, 18rem));justify-content:center;gap:clamp(.6rem,1.8vh,1.1rem) clamp(.8rem,2vw,1.5rem);display:grid}.rq-fake-option{box-sizing:border-box;min-width:0;font:inherit;color:var(--rq-ink);border:4px solid var(--rq-ink);box-shadow:0 4px 0 var(--rq-ink);cursor:pointer;background:#fff;border-radius:1rem;align-content:center;justify-items:center;gap:.3rem;padding:.6rem .7rem .5rem;display:grid;position:relative}.rq-fake-option:hover:not(:disabled){background:var(--rq-sun)}.rq-fake-option:focus-visible{outline:4px solid var(--rq-sun);outline-offset:3px}.rq-fake-option:active:not(:disabled){box-shadow:0 2px 0 var(--rq-ink);transform:translateY(2px)}.rq-fake-option.is-wrong{opacity:.4;box-shadow:none}.rq-fake-option.is-right{background:#b9f2c9}.rq-fake-option:disabled:not(.is-right):not(.is-wrong){opacity:.85}.rq-fake-frame{width:100%;height:min(9.5rem,17vh);display:block}.rq-fake-canvas{object-fit:contain;width:100%;height:100%;display:block}.rq-fake-number{background:var(--rq-sun);border:3px solid var(--rq-ink);border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.95rem;font-weight:900;display:grid;position:absolute;top:-.7rem;left:-.7rem}.rq-fake-caption{font-size:clamp(.8rem,1vw,.95rem);font-weight:800}.rq-fake-caption[hidden]{display:none}.rq-colour-layout{justify-content:center;align-items:flex-start;gap:clamp(1rem,2.4vw,2rem);display:flex}.rq-colour-board{flex:none;width:min(34rem,44vw,54vh);position:relative}.rq-colour-canvas{object-fit:contain;cursor:crosshair;touch-action:none;filter:drop-shadow(0 4px #1b2a4a80);width:100%;height:auto;max-height:min(24rem,38vh);display:block}.rq-region-hit{color:#fff;width:.9rem;height:.9rem;font:inherit;opacity:0;cursor:crosshair;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-weight:900;display:grid;position:absolute;translate:-50% -50%}.rq-region-hit:focus-visible{opacity:1;background:var(--rq-sun);outline:3px solid var(--rq-ink)}.rq-region-hit.is-marked{opacity:1;border:3px solid var(--rq-ink);width:1.7rem;height:1.7rem;font-size:1rem}.rq-region-hit.is-right{background:var(--rq-good)}.rq-region-hit.is-wrong{background:var(--rq-bad)}.rq-colour-side{justify-items:center;gap:.6rem;min-width:0;display:grid}.rq-palette{grid-template-columns:repeat(2,3.6rem);gap:.5rem;display:grid}.rq-swatch{border:3px solid var(--rq-ink);width:3.6rem;height:3.6rem;box-shadow:0 3px 0 var(--rq-ink);cursor:pointer;background:#fff;border-radius:.8rem;padding:0;position:relative;overflow:hidden}.rq-swatch:focus-visible{outline:4px solid var(--rq-sun);outline-offset:2px}.rq-swatch.is-selected{box-shadow:0 0 0 4px var(--rq-sun), 0 0 0 7px var(--rq-ink);transform:translateY(-3px)scale(1.06)}.rq-swatch-canvas{width:100%;height:100%;display:block}.rq-swatch-key{background:#ffffffd9;border-radius:.4rem;padding:0 .25rem;font-size:.7rem;font-weight:900;position:absolute;bottom:0;right:2px}.rq-colour-submit{padding:.5rem 2rem;font-size:clamp(1.1rem,1.5vw,1.4rem)}.rq-colour-submit[hidden]{display:none}.rq-colour-status{max-width:16rem;margin:0}@media (height<=820px){.rq-assemble-layout{gap:24px}}.gc-panel{max-width:min(40rem,92vw)}.gc-lead{font-size:1.4rem;font-weight:700}.gc-error{color:#b3261e;min-height:1.2em;font-size:.95rem;font-weight:600}.gc-error:empty{display:none}.play-link{text-align:left;flex-direction:column;align-items:stretch;gap:.35rem;width:min(34rem,80vw);display:flex}.play-link-row{align-items:center;gap:.5rem;display:flex}.play-link-field{min-width:0;color:var(--ink);border:3px solid var(--ink);background:#fff;border-radius:.6rem;flex:1;padding:.45rem .6rem;font:.85rem ui-monospace,Menlo,monospace}.play-link-message{min-height:1.2em;font-size:.9rem}.pr-root .play-link{width:100%}.pr-root .play-link-field{color:var(--pr-ink);border:1px solid #8a93a0;border-radius:.4rem}.pause-link{border-top:3px solid var(--ink);flex-direction:column;align-items:center;gap:.5rem;padding-top:1rem;display:flex}.pause-link p{font-size:.95rem}.home-tip{left:50%;bottom:max(1rem, calc(env(safe-area-inset-bottom) + .5rem));width:min(30rem,92vw);color:var(--ink);background:var(--paper);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);text-align:left;border-radius:1.1rem;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem 1.25rem .9rem;font-size:.95rem;display:flex;position:absolute;transform:translate(-50%)}.home-tip-title{font-size:1.05rem}.home-tip-steps{align-self:stretch;margin:0;padding-left:1.4rem;line-height:1.45}.home-tip-share{vertical-align:-.3em;color:#0a84ff;width:1.3em;height:1.3em;padding:.1em}.home-tip-note{margin:0;font-weight:700}.home-tip .button{min-height:44px;padding:.3rem 1.25rem;font-size:1rem}.pause-full-screen{border-top:3px solid var(--ink);flex-direction:column;align-items:center;gap:.5rem;padding-top:1rem;display:flex}.pause-full-screen .home-tip-steps{text-align:left;width:min(30rem,80vw);font-size:.95rem}.pause-full-screen .home-tip-steps[hidden]{display:none}.pr-root{--pr-bg:#f3f1ec;--pr-card:#fff;--pr-ink:#1f2933;--pr-muted:#5f6b7a;--pr-line:#d9d5cb;--pr-accent:#2f6f9f;--pr-danger:#b3362b;background:var(--pr-bg);color:var(--pr-ink);text-align:left;flex-direction:column;gap:1rem;padding:1.25rem clamp(1rem,4vw,3rem) 2rem;font:.95rem/1.45 system-ui,Segoe UI,sans-serif;display:flex;position:absolute;inset:0;overflow-y:auto}.pr-root>*{flex:none;width:min(70rem,100%);margin-inline:auto}.pr-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pr-header h1{margin:0;font-size:1.6rem}.pr-root button{font:inherit;color:var(--pr-ink);box-shadow:none;cursor:pointer;background:#fff;border:1px solid #8a93a0;border-radius:.4rem;padding:.45rem 1rem;font-weight:600}.pr-root button:hover:not(:disabled){background:#eaf2f8}.pr-root button:disabled{opacity:.45;cursor:not-allowed}.pr-root button:active{box-shadow:none;transform:none}.pr-root button.pr-danger{color:#fff;background:var(--pr-danger);border-color:var(--pr-danger)}.pr-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.pr-stat,.pr-card{background:var(--pr-card);border:1px solid var(--pr-line);border-radius:.6rem;padding:1rem 1.25rem}.pr-stat{flex-direction:column;gap:.15rem;display:flex}.pr-stat-label{color:var(--pr-muted);font-size:.85rem}.pr-stat-value{font-size:1.6rem}.pr-card h2{margin:0 0 .75rem;font-size:1.05rem}.pr-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.pr-cloud{flex-direction:column;gap:.5rem;display:flex}.pr-stack{flex-direction:column;gap:1rem;display:flex}.pr-chart{grid-template-columns:repeat(14,minmax(0,1fr));gap:.4rem;height:11rem;display:grid}.pr-day{grid-template-rows:1.1rem minmax(0,1fr) 1.2rem;justify-items:center;min-width:0;display:grid}.pr-day-value,.pr-day-label{color:var(--pr-muted);white-space:nowrap;font-size:.7rem}.pr-bar-slot{border-bottom:1px solid var(--pr-line);align-items:flex-end;width:100%;display:flex}.pr-bar{background:var(--pr-accent);border-radius:.25rem .25rem 0 0;width:100%}.pr-table{border-collapse:collapse;width:100%}.pr-table th,.pr-table td{border-bottom:1px solid var(--pr-line);text-align:left;padding:.35rem .5rem}.pr-table th:not(:first-child),.pr-table td:not(:first-child){text-align:right}.pr-table th{color:var(--pr-muted);font-size:.8rem;font-weight:600}.pr-weak,.pr-pairs{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.pr-weak{grid-template-columns:1fr}.pr-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.5rem}.pr-weak li,.pr-pairs li{align-items:center;gap:.6rem;min-height:1.9rem;display:flex}.pr-flag{flex:none;justify-content:center;align-items:center;width:3.2rem;height:2.1rem;display:inline-flex}.pr-root .flag-frame{border-radius:2px;box-shadow:0 0 0 1px #1f293359}.pr-weak-name,.pr-pair-names{flex:1;min-width:0}.pr-weak-box,.pr-pair-count{color:var(--pr-muted);font-variant-numeric:tabular-nums}.pr-empty,.pr-line{color:var(--pr-muted);margin:0}.pr-save .save-code{width:100%;font-size:.9rem}.pr-save .save-label{font-weight:600}.pr-save .save-field{color:var(--pr-ink);border:1px solid #8a93a0;border-radius:.4rem}.pr-save .button{align-self:flex-start}.pr-reset{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.pr-input{font:inherit;width:12rem;color:var(--pr-ink);background:#fff;border:1px solid #8a93a0;border-radius:.4rem;padding:.4rem .6rem}.pr-warning{color:#9a3412;font-weight:600}.pr-notice:empty{display:none}@media (width<=900px){.pr-pair,.pr-pairs{grid-template-columns:1fr}}.save-status,.save-code{text-align:left;flex-direction:column;align-items:stretch;gap:.4rem;width:min(32rem,80vw);display:flex}.save-line,.save-message{margin:0;font-size:.95rem}.save-label{font-weight:700}.save-field{color:var(--ink);border:3px solid var(--ink);resize:none;word-break:break-all;background:#fff;border-radius:.6rem;padding:.4rem;font:.8rem ui-monospace,Menlo,monospace}.sh-root{--sh-ink:#1b2a4a;--sh-sun:#ffd23f;--sh-paper:#fffaf0;--sh-accent:#ff6b4a;--sh-good:#34c46b;color:var(--sh-ink);-webkit-user-select:none;user-select:none;background:radial-gradient(120% 38% at 18% 104%,#6bd36b 0 62%,#0000 63%),radial-gradient(110% 34% at 86% 106%,#4fbf5f 0 62%,#0000 63%),linear-gradient(#69cdf7 0%,#b6e8ff 58%,#fff3c9 100%);grid-template-rows:auto auto minmax(0,1fr);gap:clamp(.5rem,1.6vh,1rem);padding:clamp(.6rem,2vh,1.4rem) clamp(.8rem,2.4vw,2.2rem);display:grid;position:absolute;inset:0;overflow:hidden}.sh-header{align-items:center;gap:1rem;display:flex}.sh-header h2{flex:1;margin:0;font-size:clamp(1.4rem,2.4vw,2.2rem);font-weight:900}.sh-coins{background:var(--sh-paper);border:4px solid var(--sh-ink);box-shadow:0 4px 0 var(--sh-ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:.6rem;padding:.3rem 1.1rem .3rem .8rem;font-size:clamp(1.4rem,2vw,2rem);display:flex}.sh-coin{border:.18em solid var(--sh-ink);background:radial-gradient(circle at 35% 30%,#fff3a8 0 22%,#ffcf33 24% 100%);border-radius:50%;flex:none;width:1.1em;height:1.1em;display:inline-block}.sh-tabs{flex-wrap:wrap;gap:.6rem;display:flex}.sh-tab{font:inherit;color:var(--sh-ink);border:4px solid var(--sh-ink);cursor:pointer;background:#fffaf0bf;border-radius:999px;padding:.4rem 1.4rem;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:900}.sh-tab[aria-selected=true]{background:var(--sh-sun);box-shadow:0 4px 0 var(--sh-ink);transform:translateY(-2px)}.sh-body{grid-template-columns:minmax(16rem,24rem) minmax(0,1fr);gap:clamp(.8rem,2vw,1.6rem);min-height:0;display:grid}.sh-root[data-tab=badges] .sh-body{grid-template-columns:minmax(0,1fr)}.sh-root[data-tab=badges] .sh-stage{display:none}.sh-stage{border:5px solid var(--sh-ink);min-height:0;box-shadow:0 8px 0 var(--sh-ink);text-align:center;background:#fffaf099;border-radius:1.6rem;grid-template-rows:minmax(0,1fr) auto auto;gap:.5rem;padding:.8rem;display:grid}.sh-preview-canvas{border:4px solid var(--sh-ink);background:linear-gradient(#bfeaff,#e8f8ff);border-radius:1.1rem;width:100%;height:100%;min-height:12rem}.sh-hint,.sh-notice{margin:0;font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:800}.sh-notice{color:#1d9a4f;min-height:1.3em}.sh-content{min-height:0;padding:.3rem .5rem .9rem .2rem;overflow-y:auto}.sh-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.9rem;display:grid}.sh-item,.sh-badge{background:var(--sh-paper);border:4px solid var(--sh-ink);box-shadow:0 5px 0 var(--sh-ink);text-align:center;cursor:pointer;border-radius:1.2rem;grid-template-rows:auto auto 1fr;justify-items:center;gap:.4rem;padding:.7rem .6rem;display:grid}.sh-item[data-selected=true]{outline:4px solid var(--sh-accent);outline-offset:2px;background:#fff3b8}.sh-item[data-state=poor],.sh-item[data-state=locked]{opacity:.8}.sh-item[data-state=equipped]{border-color:#1d9a4f}.sh-name{margin:0;font-size:1.05rem;font-weight:900;line-height:1.15}.sh-swatch{border:3px solid var(--sh-ink);width:4.2rem;height:3.2rem;color:var(--sh-ink);background:#dfe9f5;border-radius:.8rem;place-items:center;font-size:1.1rem;font-weight:900;display:grid;overflow:hidden}.sh-swatch.is-hat,.sh-swatch.is-trail{border-radius:50%;width:3.2rem}.sh-swatch.is-glider{border-radius:50% 50% .6rem .6rem}.sh-swatch.is-engine,.sh-swatch.is-decor{background:var(--sh-sun);font-size:1.3rem}.sh-swatch.is-flag{background:0 0;border:0;width:4.6rem;height:3.2rem;overflow:visible}.sh-actions{align-content:end;justify-items:center;gap:.3rem;width:100%;display:grid}.sh-buy,.sh-equip{justify-content:center;align-items:center;gap:.2rem;width:100%;padding:.35rem .8rem;font-size:1rem;display:inline-flex}.sh-equip{background:var(--sh-good);color:#fff;text-shadow:0 2px 0 var(--sh-ink)}.sh-buy:disabled{color:#5d6a7e;cursor:not-allowed;pointer-events:none;background:#cdd5df;border-color:#5d6a7e;box-shadow:0 4px #8995a8}.sh-price{align-items:center;gap:.3rem;display:inline-flex}.sh-tag{border:3px solid var(--sh-ink);background:#b9f2c9;border-radius:999px;padding:.15rem .7rem;font-size:.8rem;font-weight:800}.sh-empty{grid-column:1/-1;font-weight:800}.sh-badge{cursor:default;grid-template-rows:auto auto 1fr auto auto}.sh-badge[data-earned=false]{background:#e4e9f0}.sh-badge[data-earned=false] .sh-medal{color:#5d6a7e;background:#c3ccd9}.sh-medal{background:var(--sh-sun);border:4px solid var(--sh-ink);border-radius:50%;place-items:center;width:3.6rem;height:3.6rem;font-size:1.8rem;font-weight:900;display:grid}.sh-desc{margin:0;font-size:.85rem;font-weight:700}.sh-progress{font-variant-numeric:tabular-nums;font-weight:900}.sh-bonus{color:#b0701a;font-size:.85rem;font-weight:900}#app[data-input=touch]{--touch-left:max(1rem, calc(env(safe-area-inset-left) + .75rem));--touch-right:max(1.25rem, calc(env(safe-area-inset-right) + .75rem));--touch-top:max(.75rem, calc(env(safe-area-inset-top) + .5rem));--touch-bottom:max(1.25rem, calc(env(safe-area-inset-bottom) + .75rem));--touch-jump:6.5rem}.touch-controls{pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.touch-controls[hidden]{display:none}.touch-stick{width:var(--stick-size);height:var(--stick-size);opacity:0;background:#1b2a4a47;border:4px solid #ffffffd9;border-radius:50%;place-items:center;transition:opacity .28s ease-out;display:grid;position:absolute;top:0;left:0;box-shadow:0 0 0 3px #1b2a4a59}.touch-stick[data-active=true]{opacity:1;transition:none}.touch-stick[data-sprint=true]{border-color:var(--sun)}.touch-stick-knob{border:4px solid var(--ink);background:#ffffffeb;border-radius:50%;width:3.4rem;height:3.4rem;display:block}.touch-stick[data-sprint=true] .touch-stick-knob{background:var(--sun)}.touch-pause,.touch-button{pointer-events:auto;touch-action:none;font:inherit;color:var(--ink);border:4px solid var(--ink);-webkit-tap-highlight-color:transparent;position:absolute}.touch-pause{top:var(--touch-top);left:var(--touch-left);background:var(--paper);width:3.25rem;height:3.25rem;box-shadow:0 4px 0 var(--ink);border-radius:50%;justify-content:center;align-items:center;gap:.28rem;padding:0;display:flex}.touch-pause i{background:var(--ink);border-radius:.15rem;width:.38rem;height:1.3rem;display:block}.touch-jump,.touch-boost{right:var(--touch-right);bottom:var(--touch-bottom);width:var(--touch-jump);height:var(--touch-jump);background:var(--sun);box-shadow:0 6px 0 var(--ink);letter-spacing:.03em;border-width:5px;border-radius:50%;font-size:1.5rem;font-weight:900}.touch-land{right:calc(var(--touch-right) + var(--touch-jump) + 1rem);bottom:var(--touch-bottom);background:var(--paper);width:5rem;height:5rem;box-shadow:0 5px 0 var(--ink);border-radius:50%;font-size:1.15rem;font-weight:900}.touch-hint,.touch-radio{top:var(--touch-top);background:var(--paper);min-width:5rem;height:3.25rem;box-shadow:0 4px 0 var(--ink);border-radius:999px;padding:0 1rem;font-size:1.05rem;font-weight:900}.touch-hint{left:calc(var(--touch-left) + 4rem)}.touch-radio{left:calc(var(--touch-left) + 9.5rem)}.touch-controls[data-mode=foot] :is(.touch-boost,.touch-land,.touch-hint,.touch-radio),.touch-controls[data-mode=flight] .touch-jump{display:none}.touch-button.is-pressed,.touch-pause:active{box-shadow:0 2px 0 var(--ink);background:#ffe27a;transform:translateY(3px)}#app[data-input=touch] :is(.hub-prompt,.hud-prompt){left:auto;right:var(--touch-right);bottom:calc(var(--touch-bottom) + var(--touch-jump) + 1rem);pointer-events:auto;touch-action:none;letter-spacing:.02em;min-height:2.9rem;color:var(--ink);background:var(--sun);border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink);text-shadow:none;-webkit-text-stroke:0;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;padding:.45rem 1.3rem;font-size:1.25rem;display:flex;translate:none}#app[data-input=touch] :is(.hub-prompt,.hud-prompt)[hidden],#app[data-input=touch] .key-hint{display:none}#app[data-input=touch] .hud-prompt .prompt-verb{display:inline-block}#app[data-input=touch] .hud-prompt .prompt-verb:first-letter{text-transform:uppercase}#app[data-input=touch] .hub-help{display:none}#app[data-input=touch][data-screen=zone] .zone-dock{top:var(--touch-top);left:calc(var(--touch-left) + 4rem);bottom:auto;right:auto}#app[data-input=touch] .zone-dock .button{min-width:2.75rem;min-height:2.75rem;padding:.4rem 1rem;font-size:1rem}#app[data-input=touch][data-screen=flight] .zone-dock{top:var(--touch-top);left:calc(var(--touch-left) + 15.5rem);bottom:auto;right:auto}#app[data-input=touch] .fl-radio,.hint-touch,#app[data-input=touch] .hint-keys{display:none}#app[data-input=touch] .hint-touch{display:inline}#app[data-input=touch] :is(.rq-swatch-key,.rq-fake-number){display:none}#app[data-input=touch] :is(.pr-input,.save-field,.play-link-field,.device-overlay-address){font-size:16px}#app[data-input=touch][data-keyboard=open] :is(#screen-root,#overlay-root,.rq-root){inset:var(--vv-top,0px) 0 auto 0;height:var(--vv-height,100%)}#app[data-input=touch][data-screen=flight] .fl-speed{left:calc(40% + 64px + 1rem);bottom:var(--touch-bottom)}
