:root{--bg:#090e16;--surface:#0d1420;--line:#252c35;--yellow:#ffdf00;--text:#f5f6f8;--muted:#8993a3;--font:Arial,Helvetica,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}button{border:0}button[hidden],[hidden]{display:none!important}.header{height:96px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:24px}.brand-crop{display:block;position:relative;width:156px;height:29px;border-radius:30px;overflow:hidden}.brand-crop img{width:156px;height:auto;position:absolute;top:-17px;left:0}.brand-divider{height:22px;width:1px;background:#39404a}.brand-game{font-size:12px;font-weight:700;letter-spacing:2px;color:#c8ccd5}.header-controls{display:flex;align-items:center;gap:17px}.plain-button,.icon-button{background:none;color:#a9b1bf}.plain-button{font-size:13px}.icon-button{width:32px;height:32px;padding:5px}.icon-button svg{width:22px;height:22px}.icon-button.muted{opacity:.4}.layout{max-width:1440px;margin:0 auto;padding:38px 4.5% 34px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(390px,1.65fr) minmax(230px,.9fr);gap:42px;min-height:700px}.intro{padding-top:35px}.eyebrow{font-size:11px;color:#aab2c0;letter-spacing:1.6px;font-weight:600;display:flex;align-items:center;gap:8px}.tiny-cube{color:var(--yellow);font-size:22px}h1{font-size:clamp(54px,5.5vw,82px);letter-spacing:-5px;line-height:.99;margin:24px 0;font-weight:900}h1 span{color:var(--yellow)}.tagline{font-size:24px;line-height:1.4;font-weight:500;margin:26px 0;color:#e0e5eb}.intro-line{width:40px;height:2px;background:#657184;margin:26px 0}.intro-copy{font-size:15px;line-height:1.8;color:var(--muted)}.mascot{display:flex;align-items:center;margin:30px 0 22px;gap:8px}.mascot img{width:104px;height:104px;object-fit:contain;mix-blend-mode:screen}.mascot-quote{font-size:13px;font-weight:600;display:grid;gap:12px}.mascot-quote small{font-size:9px;letter-spacing:1px;color:#697487;font-weight:400}.precision{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:18px}.precision-value{font-size:28px;letter-spacing:-1px;font-weight:800}.precision-value span{font-size:16px;color:var(--yellow);margin-left:2px}.precision-copy{font-size:12px;color:var(--muted);line-height:1.6}.arena{height:660px;position:relative;border:1px solid #2c3543;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#18344b55 0,transparent 65%),#0c1421;box-shadow:0 30px 80px #0003;touch-action:manipulation;isolation:isolate;transition:background .8s}.arena::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:18px;box-shadow:inset 0 0 80px #04091455;z-index:1}.arena[data-stage="1"]{background:radial-gradient(ellipse at 50% 60%,#00688044,transparent 70%),#091621}.arena[data-stage="2"]{background:radial-gradient(ellipse at 30% 40%,#472c7344,transparent 75%),#100f25}.arena[data-stage="3"]{background:radial-gradient(ellipse at 50% 55%,#70531b44,transparent 70%),#171320}.arena-top{position:absolute;top:23px;left:23px;right:23px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:#8d9aaf;z-index:3}.arena-label{display:flex;align-items:center;gap:8px}.status-dot{width:5px;height:5px;border-radius:50%;background:#fbe138;box-shadow:0 0 8px #ffdf0066}.arena-id{font-family:monospace;letter-spacing:1px}.pause-button{color:#aab2bf;font-size:16px;background:transparent;padding:0 8px;margin-left:auto;margin-right:14px}.score-display{position:absolute;top:66px;left:0;width:100%;text-align:center;pointer-events:none;z-index:2}.score-display>span{font-size:11px;letter-spacing:3px;color:#8392a8}.score-display>strong{font-size:76px;line-height:1.15;font-weight:600;letter-spacing:-3px;display:block}.score-best{display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#8190a6;letter-spacing:.8px;margin-top:7px}.score-best svg{width:13px;height:13px;color:var(--yellow)}.score-best b{color:#d4dce6;letter-spacing:0}#game{display:block;width:100%;height:100%;cursor:pointer;position:absolute;inset:0}.start-overlay{position:absolute;bottom:67px;left:0;right:0;text-align:center;z-index:4}.primary{background:var(--yellow);color:#12171e;border:1px solid var(--yellow);border-radius:6px;font-size:13px;letter-spacing:1.5px;font-weight:800;min-height:50px;padding:0 30px;box-shadow:0 4px 20px #ffdf0012;transition:transform .16s,background .16s}.primary:hover{background:#ffe943;transform:translateY(-2px)}.primary:active{transform:translateY(1px)}.play-icon{font-size:12px;margin-right:12px}.start-overlay p{font-size:12px;color:#a4adbb;margin:15px 0 0}.arena-bottom{position:absolute;bottom:22px;left:23px;right:23px;display:flex;justify-content:space-between;font-family:monospace;font-size:9px;color:#627188;letter-spacing:1px;pointer-events:none;z-index:2}.coordinates{white-space:nowrap}.play-hint{position:absolute;bottom:73px;text-align:center;left:0;right:0;pointer-events:none;font-size:10px;color:#94a2b9;letter-spacing:2px;z-index:2}.feedback{position:absolute;top:235px;left:10px;right:10px;text-align:center;pointer-events:none;z-index:3;font-size:18px;font-weight:800;color:var(--yellow);letter-spacing:2px;text-shadow:0 0 30px #ffdf0066;opacity:0;transition:opacity .12s}.feedback.visible{opacity:1}.feedback small{display:block;font-size:10px;letter-spacing:1px;color:#d0dbe7;margin-top:9px}.sidebar{padding-top:35px}.side-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1.4px;color:#a3acba}.mini-line{width:20px;height:1px;background:var(--yellow)}.sidebar>.side-heading{justify-content:flex-start}.combo-display{margin-top:29px}.combo-display>span{font-size:10px;letter-spacing:2px;color:#738095}.combo-display>div:first-of-type{display:flex;align-items:baseline;gap:10px;margin:7px 0 18px}.combo-display strong{font-size:60px;line-height:1;font-weight:500;letter-spacing:-2px}.combo-display>div>span{font-size:30px;color:#556074}.combo-dots{display:flex;gap:5px}.combo-dots i{width:20px;height:4px;background:#2e3642;border-radius:1px}.combo-dots i.active{background:var(--yellow);box-shadow:0 0 14px #ffdf0033}.combo-display p{font-size:12px;line-height:1.6;color:#7f8a9b;margin:17px 0 22px}.reward{padding:17px 0;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center}.reward-number{font-family:monospace;font-size:14px;color:#738096}.reward h3{font-size:10px;font-weight:600;letter-spacing:1px;margin:0 0 7px}.reward p{font-size:11px;color:#7f8a9b;line-height:1.5;margin:0}.reward-icon{font-size:24px;color:#637088;margin-left:auto}.reward.earned .reward-icon,.reward.earned .reward-number{color:var(--yellow)}.journey{margin-top:33px}.journey>.side-heading{margin-bottom:19px}.journey-step{display:flex;align-items:center;gap:14px;height:47px;position:relative}.journey-step:not(:last-child)::after{content:'';position:absolute;left:4px;top:29px;height:29px;width:1px;background:#293140}.journey-dot{width:9px;height:9px;border-radius:50%;border:1px solid #546177;z-index:1;background:var(--bg)}.journey-step.active .journey-dot{border-color:var(--yellow);background:var(--yellow);box-shadow:0 0 0 4px #ffdf0010}.journey-step div{display:flex;align-items:center;justify-content:space-between;flex:1;gap:10px}.journey-step b{font-size:12px;font-weight:400;color:#737f92}.journey-step.active b{color:#e0e6ee}.journey-step small{color:#546075;font-family:monospace;font-size:10px}.one-tap{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);margin-top:27px;padding-top:23px}.one-tap svg{width:30px;height:30px;color:#7e8b9f}.one-tap p{font-size:12px;color:#97a1b1;line-height:1.6;margin:0}footer{max-width:1600px;margin:auto;min-height:64px;border-top:1px solid var(--line);padding:20px 5%;display:flex;align-items:center;gap:24px;color:#657086;font-size:9px;letter-spacing:1.1px}.footer-separator{margin:0 12px}.footer-right{margin-left:auto}.text-button{background:none;color:#93a0b3;font-size:11px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.secondary{background:#172030;border:1px solid #344154;color:#e0e7f1;border-radius:6px;min-height:46px;font-size:12px;letter-spacing:.8px;font-weight:600;padding:10px 20px}.secondary:hover{background:#223047}.paused-overlay,.result-overlay{position:absolute;inset:0;background:#090e16d9;backdrop-filter:blur(9px);z-index:6;display:flex;justify-content:center;align-items:center}.paused-overlay{flex-direction:column;gap:24px;font-size:30px;font-weight:800;letter-spacing:4px}.result-panel{text-align:center;width:80%;max-width:320px}.result-panel>.eyebrow{justify-content:center;color:var(--yellow)}.result-panel h2{font-size:36px;letter-spacing:-1px;margin:17px 0 12px}.result-panel>strong{display:block;font-size:98px;line-height:1.1}.result-unit{font-size:11px;letter-spacing:3px;color:#8290a5}.result-panel p{font-size:14px;line-height:1.6;color:#a6b3c5;margin:21px 0}.result-panel>.primary,.result-panel>.secondary{width:100%;margin-bottom:10px}.result-panel .share-status{font-size:11px;min-height:16px;margin:7px 0 0}dialog{width:min(90vw,490px);background:#101927;color:#edf1f6;border:1px solid #344154;border-radius:16px;padding:38px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#02060bdd;backdrop-filter:blur(8px)}dialog h2{font-size:30px;line-height:1.15;letter-spacing:-.7px;margin:22px 0}dialog p,dialog li{font-size:15px;line-height:1.7;color:#a4b0c2}dialog ol{padding-left:20px}dialog li{margin-bottom:13px}.dialog-close{position:absolute;right:15px;top:10px;background:none;font-size:28px;color:#8a97aa}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.layout{padding-top:55px}.arena{height:710px}.layout{gap:54px}}@media(max-width:1150px){.layout{gap:24px;padding-left:3%;padding-right:3%;grid-template-columns:minmax(190px,1fr) minmax(340px,1.6fr) minmax(190px,.8fr)}h1{font-size:60px}.eyebrow{font-size:9px}.tagline{font-size:20px}.precision{gap:10px}.precision-value{font-size:24px}.reward{gap:8px}.reward-icon{display:none}.mascot img{width:83px;height:83px}}
@media(max-width:900px){.layout{grid-template-columns:minmax(180px,.7fr) minmax(340px,1.3fr);max-width:850px}.sidebar{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding-top:0}.sidebar>.side-heading,.journey,.one-tap{display:none}.combo-display{margin:0}.combo-display>div:first-of-type{margin:9px 0}.combo-display strong{font-size:34px}.combo-display p{margin:12px 0 0}.reward{align-self:start;min-height:115px}.footer-right{display:none}}
@media(max-width:620px){.header{height:70px;padding:0 20px}.brand{gap:12px}.brand-crop{width:130px;height:24px}.brand-crop img{width:130px;top:-14px}.brand-divider,.brand-game{display:none}.header-controls{gap:10px}.layout{display:block;padding:16px 14px 18px;min-height:0}.intro{display:none}.arena{height:min(680px,calc(100svh - 155px));min-height:480px;border-radius:14px}.arena-top{top:18px;left:18px;right:18px}.score-display{top:51px}.score-display>strong{font-size:64px}.score-best{margin-top:4px}.start-overlay{bottom:65px}.feedback{top:196px;font-size:16px}.sidebar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:18px}.combo-display>span{font-size:9px;letter-spacing:1px}.combo-display>div:first-of-type{margin:6px 0}.combo-display>div:first-of-type>span{font-size:20px}.combo-display strong{font-size:29px}.combo-dots{gap:3px}.combo-dots i{width:12px;height:3px}.combo-display p{display:none}.reward{min-height:0;border:0;flex:1;padding:0 0 0 10px;border-left:1px solid var(--line);gap:7px}.reward-number{font-size:12px}.reward h3{font-size:8px;letter-spacing:.3px;line-height:1.5;margin-bottom:3px}.reward p{font-size:9px}.arena-bottom{font-size:8px;left:18px;right:18px}.coordinates{display:none}footer{padding:17px 20px;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.4px}footer .footer-separator,footer span[data-i18n="footer"]{display:none}footer .text-button{font-size:10px}.result-panel h2{font-size:32px}.result-panel>strong{font-size:80px}dialog{padding:29px}.plain-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Readable progress labels on compact screens. */
.intro-copy{font-size:1rem}.reward h3,.reward p,.journey-step b,.combo-display p,.mascot-quote,.precision-copy,.start-overlay p{font-size:.75rem}.eyebrow,.side-heading,.score-display>span,.score-best,.combo-display>span{font-size:.75rem}
@media(max-width:620px){.reward h3{font-size:.75rem;letter-spacing:0}.reward p{display:none}.reward-number{font-size:.75rem}.combo-display>span{font-size:.75rem}.sidebar{gap:8px}.reward{padding-left:8px;gap:6px}.arena-top,.play-hint{font-size:.75rem;letter-spacing:.7px}.arena-bottom{font-size:.65rem}.score-best{font-size:.7rem}.header{padding-top:env(safe-area-inset-top)}footer{padding-bottom:max(17px,env(safe-area-inset-bottom))}}

/* A readable end-of-run score card, with a full-size image on demand. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.result-overlay{padding:18px;background:#070b12ef;backdrop-filter:blur(5px)}
.result-panel{width:100%;max-width:380px}.result-panel>.eyebrow{font-size:12px}.result-panel h2{font-size:25px;margin:9px 0 12px}
.poster-preview-button{display:block;margin:auto;background:transparent;padding:0;line-height:0;border-radius:9px;max-width:100%;transition:transform .15s}
.poster-preview-button:hover{transform:scale(1.015)}.poster-preview-button img{display:block;max-width:100%;height:clamp(190px,calc(100svh - 385px),365px);width:auto;border:1px solid #aa8d4444;border-radius:8px;box-shadow:0 8px 40px #0006}
.poster-preview-fallback{font-size:14px;line-height:1.5;display:block;padding:50px 20px;color:#aab5c5}.result-panel #nearMiss{font-size:12px;margin:11px 0;line-height:1.5}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-actions .primary,.result-actions .secondary{width:100%;padding:0 10px;min-height:46px;font-size:12px;letter-spacing:.8px}.result-panel #download{font-size:12px;margin-top:8px}.result-panel .share-status{font-size:11px;margin:2px 0;min-height:15px}
.poster-dialog{width:min(94vw,640px);padding:24px;max-height:94svh;overflow:auto}.poster-dialog h2{font-size:18px;letter-spacing:1px;margin:0 24px 18px 0}.poster-dialog>img{display:block;width:100%;height:auto;border-radius:7px}.poster-dialog>.primary{width:100%;margin-top:18px}.poster-dialog>p{font-size:14px;line-height:1.5;margin-bottom:0}
@media(max-width:620px){.result-overlay{padding:14px}.result-panel{max-width:310px}.result-panel h2{font-size:24px}.poster-preview-button img{height:clamp(185px,calc(100svh - 380px),350px)}.poster-dialog{padding:20px}.result-actions .primary,.result-actions .secondary{font-size:12px;letter-spacing:0}.poster-dialog>.dialog-close{right:10px;top:7px}}
