:root{color-scheme:light;--blue:#1428c8;--ink:#182256;--cream:#fff;--yellow:#e7ff69}*{box-sizing:border-box}body{margin:0;background:#f5f6f9;color:var(--ink);font-family:Arial,Helvetica,sans-serif;min-height:100svh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible,a:focus-visible{outline:3px solid #c5de4b;outline-offset:3px}[hidden]{display:none!important}.arcade{width:min(100%,480px);margin:auto;padding:20px 16px}.brandbar{padding:0 4px 16px}.brand{font-size:1.65rem;font-weight:800;letter-spacing:-1px}.brand-dot{font-size:.7rem;vertical-align:top;margin-left:4px}.machine{background:var(--blue);border-radius:18px;overflow:hidden;color:white}.hud{padding:16px 20px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.6fr) minmax(0,1fr) auto;gap:12px;align-items:center}.label{font-size:.75rem;color:#d4daff;display:block;letter-spacing:.08em;margin-bottom:5px}.hud strong{font-size:1.6rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.level-hud{text-align:center}.time{text-align:right}#lives{font-size:1.25rem;white-space:nowrap;letter-spacing:1px;color:var(--yellow)}.icon-button{position:static;border:1px solid #7785eb;border-radius:9px;background:transparent;color:white;width:36px;height:40px}.run-info{padding:0 20px 12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.875rem;color:#d4daff}.active-combo{color:var(--yellow)}.timer-track{height:3px;background:#5364db}#timer-fill{height:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left}.arena{position:relative;aspect-ratio:420/580;min-height:440px;background:var(--blue);overflow:hidden}#game{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none}.screen{position:relative;inset:auto;min-height:100%;padding:24px;display:flex;align-items:center;flex-direction:column;text-align:center;background:var(--blue)}.arena:has(.screen:not([hidden])){aspect-ratio:auto;overflow:visible}.eyebrow{font-size:.8rem;color:#d4daff;line-height:1.5;letter-spacing:.06em}h1{font-size:2.5rem;letter-spacing:-1.5px;margin:8px 0 14px;line-height:1.1}h2{margin:8px 0;line-height:1.2}.hero-cup{height:106px;margin-bottom:14px}.hero-cup img{width:90px;height:106px;object-fit:contain}.rules{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.rules span{display:flex;align-items:center;font-size:1rem;font-weight:700}.rules img{height:26px;width:26px;object-fit:contain;margin-right:5px}.instructions{font-size:.875rem;line-height:1.6;margin:14px 0 22px;color:#e7eaff}.location-label{font-size:.875rem;align-self:flex-start;text-align:left;margin:0 0 7px;display:block}input,select{width:100%;min-height:46px;border-radius:9px;padding:10px 12px;border:1px solid #8794ee;background:white;color:var(--ink);font-size:1rem;min-width:0}input::placeholder{color:#747c97}.field-note{font-size:.8rem;line-height:1.5;text-align:left;margin:7px 0 18px;color:#d4daff}.primary,.secondary{width:100%;border:0;border-radius:10px;min-height:48px;padding:12px;font-weight:700;margin-top:14px;font-size:1rem}.primary{background:var(--yellow);color:#152367}.secondary{background:white;color:var(--blue)}.text-button{border:0;background:none;color:inherit;font-size:.875rem;padding:10px 4px;min-height:40px;text-decoration:underline;text-underline-offset:4px}.subtle{color:#d4daff}.local-best{font-size:.8rem;color:#d4daff;margin-top:10px}.local-best b{color:white;margin-left:8px}.status{font-size:.875rem;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.status:empty{display:none}.machine-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid #5c6cde;font-size:.75rem;line-height:1.5}.key-hint{font-variant-numeric:tabular-nums}.pause-screen{min-height:440px;justify-content:center;gap:18px}.pause-screen h2{font-size:2.3rem}.result-screen{padding-top:32px;padding-bottom:32px}.result-score{font-size:clamp(3rem,16vw,5.5rem);font-weight:800;letter-spacing:-3px;color:var(--yellow);overflow-wrap:anywhere;max-width:100%;margin:16px 0}.points-label{font-size:.8rem;line-height:1.6}.result-location{font-size:1rem;line-height:1.5}.result-stats{display:grid;grid-template-columns:1fr 1fr;width:100%;border-block:1px solid #6b7bdd;padding:16px 0;margin:8px 0}.result-stats span{display:block;font-size:.75rem;color:#d4daff;line-height:1.5}.result-stats b{font-size:1.6rem;display:block;margin-top:6px}.leaderboard{margin-top:28px;background:white;border:1px solid #e0e4ef;padding:20px;border-radius:16px}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.board-heading h2{font-size:1.3rem;letter-spacing:-.5px}.leaderboard .field-note,.demo-note{color:#616b85}.leaderboard select{border-color:#c9d0e2}.leaderboard ol{list-style:none;margin:0;padding:0}.leaderboard li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:15px 0;border-top:1px solid #e8ebf2}.rank{font-size:.875rem;color:#747d93}.player-info{min-width:0}.player-info strong{display:block;font-size:1rem;overflow-wrap:anywhere}.player-info small{display:block;color:#69738d;font-size:.8rem;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.board-score{font-size:1rem;font-variant-numeric:tabular-nums}.my-score .player-info strong{color:var(--blue)}.demo-note{font-size:.8rem;line-height:1.6;text-align:center;margin:16px 0 0}#signin{color:var(--yellow);font-size:.875rem;line-height:1.5;margin-top:10px}@media(max-width:360px){.arcade{padding:14px 10px}.hud{padding:14px;gap:8px}.hud strong{font-size:1.2rem}#lives{font-size:1.05rem}.screen{padding:20px 16px}.run-info{padding-inline:14px}.leaderboard{padding:16px}.rules{gap:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
#email-panel{width:100%;text-align:left;border-top:1px solid #6b7bdd;margin-top:16px;padding-top:16px}#email-panel h3{font-size:1.2rem;margin:0 0 10px}#email-panel .location-label{margin-top:12px}#email-panel form{width:100%}#email-panel .field-note{font-size:.875rem}#login-code{letter-spacing:.2em}

.hud-actions{display:flex;gap:6px;align-items:center}.sound-button{display:grid;place-items:center}.sound-cross{display:none}.sound-button[data-muted="true"] .sound-waves{display:none}.sound-button[data-muted="true"] .sound-cross{display:block}.sound-button:disabled{cursor:default}

.reward-link{display:block;text-align:center;text-decoration:none}.leaderboard p{font-size:.9rem;line-height:1.6}.leaderboard select+.location-label{margin-top:14px}#archive-list{padding-left:20px;font-size:.9rem;line-height:1.6}#archive-list li{display:list-item}a{color:inherit}

/* Focused arcade mode: the game fits the visible phone screen; menus stay scrollable. */
body.in-round{overflow:hidden;overscroll-behavior:none}
body.in-round .arcade{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;justify-content:center;background:#1428c8}
body.in-round .arcade>.brandbar,body.in-round .arcade>.leaderboard,body.in-round .arcade>.demo-note,body.in-round #load-status{display:none}
body.in-round .machine{display:flex;flex-direction:column;width:min(100%,480px);height:100%;border-radius:0}
body.in-round .arena{flex:1;min-height:0;aspect-ratio:auto;overflow:hidden;display:flex;justify-content:center;align-items:center}
body.in-round #game{position:relative;inset:auto;width:var(--arena-width,100%);height:var(--arena-height,100%);flex:none}
body.in-round .pause-screen{position:absolute;inset:0;min-height:0;overflow:auto;justify-content:flex-start;padding-block:24px}
body.in-round .hud{padding-block:12px;flex-shrink:0}
body.in-round .machine-footer{flex-shrink:0}
.game-details{width:100%;margin:0 0 18px;text-align:left;font-size:.875rem;line-height:1.6;color:#e7eaff}
.game-details summary{cursor:pointer;min-height:32px}
.audio-options{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;width:100%;font-size:1rem}
.audio-options label{display:flex;align-items:center;gap:8px;cursor:pointer}
.audio-options input{width:20px;min-height:20px;height:20px;padding:0;accent-color:#e7ff69}
.rank-card{width:100%;border:1px solid #7384ea;border-radius:16px;padding:18px;margin:10px 0;background:#1025b8}
.rank-card strong{display:block;font-size:2rem;color:var(--yellow);margin:8px 0}
.rank-card p{font-size:.9375rem;line-height:1.5;margin:0}
.own-standing{font-size:.9rem;line-height:1.6;background:#eff2ff;border-radius:10px;padding:12px}
.own-standing:empty{display:none}
.my-score{background:#f0f3ff;border-radius:10px;padding-inline:8px!important}
.simple-board .leaderboard{border:0;border-radius:0;background:transparent;padding:8px 0;margin:0}.simple-board .board-heading{gap:8px}.simple-board #month-caption{font-size:1rem;margin:4px 0 12px}.simple-board .board-filters{font-size:.875rem;border-top:0}.simple-board .board-filters summary{font-size:.875rem;padding:10px 0}.simple-board #refresh-board{font-size:1.5rem;min-width:44px;text-decoration:none}.simple-board #board-list li,.simple-board #board-list li.top-score{margin:0;padding:16px 8px;border:0;border-bottom:1px solid #e7eaf3;border-radius:0;background:transparent;color:#182256}.simple-board #board-list li.top-1{background:#edf1ff}.simple-board #board-list .rank{color:#737d96}.simple-board #board-list .board-score,.simple-board #board-list .player-info strong{color:#182256;font-size:1rem}.simple-board #board-list .my-score .player-info strong{color:#1428c8}.simple-board #my-standing{font-size:.875rem;line-height:1.5;padding:10px 0;margin:0;background:transparent;border:0}.simple-board #board-status:empty{display:none}.simple-board .archive-panel{margin-top:16px;border-top:1px solid #e7eaf3}.simple-board .archive-panel summary{font-size:.875rem;font-weight:400}.embedded-panel .simple-board #leaderboard-title{display:none}
#result-score{font-size:clamp(3rem,18vw,6rem);line-height:1.05}
body.at-home{background:#1428c8;color:white}body.at-home .arcade{min-height:100svh;padding:20px 24px 28px;display:flex;flex-direction:column}body.at-home .brandbar{padding:0 0 20px;flex-shrink:0}body.at-home .brandbar a{color:white}body.at-home .machine{flex:1;border-radius:0;display:flex;align-items:center}body.at-home .arena{width:100%}body.at-home .start-screen{padding:12px 0 0}body.at-home .home-intro{flex-direction:column-reverse;text-align:center;gap:20px}body.at-home .home-intro h1{font-size:clamp(2.5rem,12vw,3.5rem);letter-spacing:-.055em;margin:0 0 14px;font-weight:700}body.at-home .home-intro .eyebrow{display:none}body.at-home .home-intro .instructions{font-size:.875rem;line-height:1.6;color:#d9dfff}body.at-home .home-record{justify-content:center;gap:10px;padding:16px 0;margin:6px 0 16px;border:0}body.at-home .home-record strong{font-size:1rem;color:white}body.at-home .home-record>span,body.at-home .home-record small{font-size:.875rem;color:#d9dfff}body.at-home .start-screen>.location-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body.at-home #location{background:transparent;color:white;border:1px solid #8996f3;border-radius:6px;height:52px}body.at-home #location option{color:#182256;background:white}body.at-home .start-screen>.primary{background:white;color:#1428c8;border-radius:6px;height:54px}body.at-home .wallet-link{color:#e7eaff;text-align:center;font-size:.875rem;text-underline-offset:4px;padding:12px;min-height:44px}body.at-home .start-screen .game-details{border-color:#5265db}body.at-home .game-details summary{text-align:center;color:#d9dfff;padding:12px 0}body.at-home .start-screen #profile-status{font-size:.875rem;color:#d9dfff;margin:12px 0 0}body.at-home #load-status:empty{display:none}
.brandbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.board-link{font-size:.875rem;color:var(--blue);text-underline-offset:4px;padding-block:12px}
body.at-home .machine>.hud,body.at-home .machine>.run-info,body.at-home .machine>.timer-track,body.at-home .machine>.machine-footer,body.at-home #game{display:none}
body.at-home .arena{min-height:0}.start-screen{padding:24px;text-align:left;align-items:stretch}
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-intro>div:first-child{min-width:0}.home-intro h1{font-size:clamp(2rem,9vw,2.8rem);line-height:1.05;margin:10px 0 12px}.home-intro .eyebrow{font-size:.875rem;letter-spacing:.02em}.home-intro .instructions{margin:0;font-size:1rem;line-height:1.5}.home-intro .hero-cup{flex-shrink:0;height:106px;margin:0}
.home-record{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;margin:8px 0 14px;border-bottom:1px solid #6b7bdd}.home-record>span{font-size:.875rem;color:#e7eaff}.home-record strong{font-size:1.8rem;color:var(--yellow);overflow-wrap:anywhere;text-align:right;font-variant-numeric:tabular-nums;min-width:0}.home-record small{font-size:.875rem;font-weight:400}
.home-goal{font-size:.875rem;line-height:1.5;background:#0e21a5;padding:12px;border-radius:8px;margin:0 0 18px}.start-screen .primary{min-height:56px;font-size:1.125rem;margin-top:12px}.start-screen #profile-status{font-size:.875rem;color:#e7eaff;text-align:center;line-height:1.5;margin:12px 0}.start-screen .game-details{width:100%;margin:0;border:0;border-top:1px solid #6475e5;padding:0}.game-details summary{padding:15px 0;cursor:pointer;font-size:.875rem;min-height:48px}.game-details .rules{justify-content:flex-start;margin:8px 0 16px;gap:16px}.game-details p{font-size:.875rem;line-height:1.6}.game-details .location-label{margin-top:8px}.game-details .text-button{font-size:.875rem}
.leaderboard{padding:20px;margin-top:20px}.board-heading{margin-bottom:0}.board-heading h2{font-size:1.4rem}#month-caption{text-transform:capitalize;color:var(--blue);font-size:1rem;font-weight:700;margin:0 0 14px}.board-filters{border-block:1px solid #e0e4ef;padding-bottom:0}.board-filters summary,.archive-panel summary{cursor:pointer;min-height:48px;padding:14px 0;font-size:1rem}.board-filters[open]{padding-bottom:16px}.board-filters label{margin-top:10px}.board-explainer{font-size:.875rem!important;line-height:1.5}.leaderboard li.top-score{margin:8px 0;padding:14px 10px;border:1px solid #dce2f5;border-radius:10px;background:#f7f9ff}.leaderboard li.top-1{background:#1428c8;color:white;border-color:#1428c8}.top-1 .player-info small,.top-1 .rank{color:#e0e6ff}.top-1 .board-score,.top-1.my-score .player-info strong{color:#e7ff69}.top-score .rank{font-weight:800}.leaderboard li{grid-template-columns:26px minmax(0,1fr) auto}.board-score{max-width:100px;overflow-wrap:anywhere;text-align:right}.own-standing:empty{display:none}.archive-panel{padding-block:6px}.archive-panel summary{font-weight:700}.demo-note{font-size:.875rem}.label,.machine-footer{font-size:.875rem}
@media(max-width:360px){.start-screen{padding:20px 16px}.home-intro .hero-cup{width:68px;height:80px}.home-intro .hero-cup img{width:68px;height:80px}.home-intro .eyebrow{font-size:.875rem}.home-record strong{font-size:1.5rem}.leaderboard{padding:16px}}
@media(max-height:550px) and (orientation:landscape){body.in-round .hud{padding-block:6px}body.in-round .machine-footer{padding-block:4px}.pause-screen h2{font-size:1.5rem}}
.home-brand{display:grid!important;grid-template-columns:56px minmax(0,1fr) 56px;gap:12px;align-items:center}.brand-logo{display:block;width:100%;max-width:210px;height:auto;justify-self:center}.header-control{border:0;background:transparent;color:inherit;font-size:.875rem;padding:12px 0;min-height:44px}.header-control:first-child{text-align:left}.header-control:last-child{text-align:right}body:not(.at-home) .home-brand{background:#1428c8;color:white;padding:12px;border-radius:8px}.home-navigation{text-align:center;padding-top:24px;margin-top:auto}.home-navigation button{background:none;border:0;color:inherit;font-size:1rem;min-height:48px;padding:12px 24px;text-decoration:underline;text-underline-offset:5px}body:not(.at-home) .home-navigation{display:none}body.panel-open{overflow:hidden}body.in-round .home-brand{display:none!important}
.home-dialog{padding:0;border:1px solid #dce2ee;border-radius:16px;background:white;color:#182256;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}.home-dialog::backdrop{background:#071459b8}.home-dialog .panel-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;background:white;border-bottom:1px solid #e0e4ef}.panel-heading h2{font-size:1.25rem;margin:0}.panel-heading button{border:0;background:none;color:#1428c8;min-height:44px;padding:8px;font-size:.875rem}.home-dialog iframe{display:block;border:0;width:100%;height:65dvh;background:#f5f6f9}.home-dialog .panel-content{padding:16px 20px}.home-dialog .panel-content p{font-size:.875rem;line-height:1.6}.home-dialog h3{font-size:1rem}.home-dialog .text-button{color:#1428c8}.home-dialog .audio-options{color:#182256}.home-dialog .rules{justify-content:flex-start;gap:16px}body .home-dialog .home-record{margin:0 0 16px;padding:12px 0;justify-content:space-between}body .home-dialog .home-record strong,body .home-dialog .home-record small,body .home-dialog .home-record>span{color:#182256}.home-dialog .field-note{color:#616b85}.home-dialog #profile-settings .location-label{position:static;width:auto;height:auto;clip-path:none}body.at-home .home-intro{margin-bottom:24px}
