@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{font-family:Outfit,system-ui,sans-serif;color:#f4f6ff;background:#071938;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 0,#173b78 0,transparent 55%),#071938;min-height:100vh}button,a,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffce39;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.page-header{height:90px;max-width:1400px;margin:auto;padding:18px 38px;display:flex;align-items:center;gap:22px}.page-header img{width:210px;max-height:64px;object-fit:contain}.preview-label{margin-left:auto;font-size:10px;letter-spacing:2px;color:#b5c9eb;font-weight:800}.preview-label i{display:inline-block;width:7px;height:7px;background:#ffce39;border-radius:100%;margin-right:8px}.round-button{border:1px solid #6685b34d;background:#173363;color:#ffce39;border-radius:50%;width:42px;height:42px;font-size:23px}.rush-layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:minmax(210px,1fr) minmax(350px,460px) minmax(210px,1fr);gap:38px;padding:12px 38px 32px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px;color:#ffce39}.intro-copy h1{font-size:clamp(46px,5.2vw,76px);font-weight:900;letter-spacing:-3px;line-height:.92;margin:22px 0}.intro-copy h1 em{font-style:normal;color:#ffcf38}.intro-copy .lead{font-size:23px;font-weight:700;color:#fff;line-height:1.25;margin-top:26px}.intro-copy>p{color:#afc2df;font-size:14px;line-height:1.6;max-width:290px}.tip-card{display:flex;gap:14px;padding:18px;border:1px solid #6788bb36;border-radius:18px;background:linear-gradient(120deg,#15366580,#15366520);margin:28px 0;max-width:310px}.tip-card>span{font-size:26px;color:#ffce39}.tip-card b{color:#ffce39;font-size:14px}.tip-card p{font-size:12px;line-height:1.6;color:#bfd0e8;margin:5px 0 0}.demo-notice{background:none;color:#c0d5f4;border:0;padding:10px 0;font-size:12px;text-align:left;text-decoration:underline;text-underline-offset:4px}.prototype-note{display:block;font-size:10px;color:#7e9bc0;max-width:280px;line-height:1.7;margin-top:15px}.game-frame{height:min(800px,calc(100svh - 116px));min-height:590px;position:relative;border:2px solid #6383c47a;border-radius:30px;overflow:hidden;background:#94cfea;box-shadow:0 24px 80px #0008,0 0 0 7px #1d3c6430;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none;outline:0}.hud{position:absolute;left:19px;right:19px;top:18px;display:flex;align-items:center;gap:10px;pointer-events:none}.hud>div{background:#0a2452e8;border:1px solid #98beff40;border-radius:16px;padding:9px 15px;box-shadow:0 5px 10px #051b3b25}.hud small{font-size:8px;letter-spacing:2px;color:#b4cae6;display:block;font-weight:800}.hud b{font-size:25px;font-weight:900;line-height:1}.hud b span{font-size:12px;margin-left:3px;color:#8da6cc}.score-pill{margin-left:auto;min-width:94px;text-align:center}.hud .score-pill b{color:#ffcf38}.pause-button{pointer-events:auto;border:1px solid #98beff40;background:#0a2452e8;color:#fff;width:43px;height:48px;border-radius:14px;font-size:21px;box-shadow:0 5px 10px #051b3b25}.progress-track{position:absolute;top:84px;left:22px;right:22px;height:5px;background:#0a24524d;border-radius:5px;overflow:hidden}.progress-track>div{height:100%;background:#ffce39;width:0;transition:width .1s}.secondary-hud{position:absolute;top:99px;left:23px;right:23px;display:flex;justify-content:space-between;align-items:center;font-weight:900;font-size:11px;color:#102c53;text-shadow:0 1px 3px #fff6}.secondary-hud>span:first-child{font-size:20px;color:#ff4a5b;letter-spacing:2px;filter:drop-shadow(0 1px 1px #5e1e2780)}.secondary-hud>span:last-child{background:#ffffffb8;padding:5px 8px;border-radius:7px;font-size:8px;letter-spacing:1px}.controls{position:absolute;bottom:30px;left:24px;right:24px;display:flex;gap:12px;justify-content:center}.controls button{color:#102c53;background:linear-gradient(#ffdd58,#f4b724);box-shadow:0 5px 0 #ab7619,0 8px 20px #0004;border:2px solid #ffe88d;border-radius:19px;height:56px;min-width:65px;font-weight:900;font-size:24px;touch-action:manipulation;user-select:none}.controls .jump-button{flex:1;max-width:160px;font-size:13px;letter-spacing:1px}.controls button:active{transform:translateY(3px);box-shadow:0 2px 0 #ab7619}.gesture-hint{position:absolute;bottom:8px;left:0;right:0;font-size:7px;text-align:center;font-weight:800;letter-spacing:1px;color:#d8e6f7}.overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:linear-gradient(#061d4eeb,#06285bbf 60%,#041c42ed);backdrop-filter:blur(5px);padding:28px;text-align:center}.start-content{width:100%;max-width:335px}.start-content h2{font-size:40px;line-height:1.02;font-weight:900;letter-spacing:-1.5px;margin:17px 0 0}.start-content em{color:#ffce39;font-style:normal}.hero-character{width:230px;height:200px;margin:8px auto;background-image:url('assets/mascot.webp');background-size:200% 200%;background-position:0 0;filter:drop-shadow(0 12px 12px #0004);animation:hero-bob 2.5s ease-in-out infinite}.start-content p{font-size:12px;line-height:1.65;color:#c7d9ef;margin:10px -10px 15px}.primary{width:100%;border:1px solid #ffe48c;border-radius:17px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#ffda4c,#ffc330);color:#092c59;padding:17px 21px;font-size:15px;font-weight:900;box-shadow:0 5px 0 #be831c}.primary span{font-size:23px}.start-content>small{display:block;color:#95b5d7;margin-top:17px;font-size:10px}.level-picker{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:15px}.level-picker label{font-size:8px;letter-spacing:1px;color:#b6ceeb;font-weight:800}.level-picker select{font:inherit;background:#0e3267;color:#ffce39;border:1px solid #6e96c84d;padding:7px;border-radius:8px;font-size:10px;max-width:145px}.guide{align-self:center}.record{border-bottom:1px solid #46648c50;padding-bottom:24px;margin-bottom:25px}.record small{color:#9bb7da;font-size:9px;font-weight:800;letter-spacing:2px;display:block}.record strong{font-size:49px;color:#ffce39;display:block;font-weight:900;letter-spacing:-2px}.record>span{color:#8da9cb;font-size:10px}.guide h3{font-size:18px;letter-spacing:-.5px;margin-bottom:22px}.guide-row{display:flex;gap:12px;margin:20px 0;max-width:290px;align-items:center}.guide-row p{font-size:11px;color:#9fb9dc;line-height:1.5;margin:3px 0}.guide-row b{font-size:12px}.guide-icon{display:grid;place-items:center;border-radius:13px;width:42px;height:42px;flex-shrink:0;background:#163565;font-size:25px}.box-icon{color:#77b2ff}.sauce-icon{color:#ef6b35}.keyboard-guide{color:#8ea9cd;font-size:10px;line-height:3;margin-top:24px}kbd{font:inherit;border:1px solid #517298;border-bottom-width:3px;padding:4px 7px;border-radius:5px;margin-right:5px;font-size:9px;color:#d4e5ff}.world-note{font-size:10px;line-height:1.8;color:#7d9bc3;max-width:260px;margin-top:18px}.toast{position:absolute;top:145px;left:15px;right:15px;text-align:center;font-size:17px;font-weight:900;color:#ffdf67;text-shadow:0 3px 5px #102443;pointer-events:none;opacity:0;transition:opacity .2s;z-index:4}.toast.visible{opacity:1}.power-bar{position:absolute;left:65px;right:65px;bottom:105px;background:#0c3061e8;border:1px solid #ffdc61;padding:9px;border-radius:25px;color:#ffdd58;text-align:center;font-size:9px;font-weight:900;letter-spacing:1px;box-shadow:0 0 25px #ffda7160}.power-bar b{margin-left:10px;font-size:13px}.ready-banner{position:absolute;top:135px;left:12px;right:12px;background:#ffcf38;color:#092c59;padding:14px;border-radius:17px;z-index:20;box-shadow:0 8px 25px #0005;border:2px solid #ffe793}.ready-banner>b{font-size:17px;display:block}.ready-banner>small{font-size:8px;display:block;margin:5px 0 10px;font-weight:800;letter-spacing:1px}.ready-banner>div{display:flex;gap:8px}.ready-banner button{flex:1;border:0;border-radius:10px;background:#0e3267;color:white;font-size:9px;font-weight:900;padding:11px 5px}.ready-banner button:last-child{color:#0e3267;background:#fff4c6}.countdown{position:absolute;inset:0;display:grid;place-items:center;z-index:12;font-size:100px;font-weight:900;color:#ffdc54;text-shadow:0 8px 0 #0a275b,0 12px 30px #0005;background:#0c285435;pointer-events:none}@keyframes hero-bob{50%{transform:translateY(-7px) rotate(-3deg)}}@media(max-width:1050px){.rush-layout{gap:22px;padding:12px 24px;grid-template-columns:1fr minmax(330px,440px)}.guide{display:none}.intro-copy h1{font-size:65px}.game-frame{height:calc(100svh - 120px)}.page-header{padding:15px 24px}}@media(max-width:650px){body{background:#071938}.page-header{height:64px;padding:8px 17px;gap:10px}.page-header img{width:145px}.preview-label{font-size:7px;letter-spacing:1px}.round-button{width:34px;height:34px;font-size:20px}.rush-layout{display:block;padding:0 7px 8px}.intro-copy,.guide{display:none}.game-frame{border-radius:23px;height:calc(100svh - 72px);min-height:520px;max-width:480px;margin:auto}.hud{left:14px;right:14px;top:14px}.hud>div{padding:8px 12px}.hud b{font-size:22px}.progress-track{top:75px;left:17px;right:17px}.secondary-hud{top:88px;left:18px;right:18px}.controls{left:20px;right:20px;bottom:28px;gap:10px}.controls button{height:49px;min-width:58px}.controls .jump-button{max-width:165px}.start-content h2{font-size:36px}.hero-character{width:200px;height:175px}.overlay{padding:22px}.ready-banner{top:123px}.toast{top:132px}.power-bar{bottom:98px}.start-content p{font-size:11px}.gesture-hint{font-size:6px}}@media(prefers-reduced-motion:reduce){.hero-character{animation:none}.toast,.progress-track>div{transition:none}}

.back-games{font-size:10px;color:#bad4f6;text-decoration:none;white-space:nowrap}.page-header .preview-label{margin-left:auto}@media(max-width:650px){.page-header .preview-label{display:none}.page-header .back-games{margin-left:auto;font-size:8px}.page-header{gap:8px}.page-header img{width:140px}}

.music-button{font:800 9px Outfit,system-ui;letter-spacing:.6px;color:#ffda51;background:#12376c;border:1px solid #5077ab;border-radius:11px;padding:10px;white-space:nowrap}.word-mission{position:absolute;top:132px;left:15px;right:15px;text-align:center;pointer-events:none}.word-mission>div{display:flex;gap:3px;justify-content:center}.word-mission span{background:#0b2d5ebd;color:#adc8e5;border:1px solid #b0ccf54d;border-radius:5px;padding:5px 0;width:25px;font-size:13px;font-weight:900;box-shadow:0 2px 3px #0002}.word-mission span.found{background:#ffd03d;color:#12366d;border-color:#ffeba3;transform:translateY(-2px)}.word-mission small{display:block;background:#0b2d5ebd;border-radius:8px;width:max-content;margin:6px auto 0;padding:4px 8px;font-size:7px;letter-spacing:1px}.word-mission b{color:#ffda51;margin-left:6px}.game-frame .toast{top:200px}.ready-banner{top:200px}.controls .jump-button{max-width:135px}.controls button{min-width:54px}.controls{gap:8px}.page-header .preview-label{font-size:8px}.rush-layout .guide-row{margin:15px 0}@media(max-width:650px){.page-header img{width:119px}.page-header .back-games{font-size:7px}.page-header{padding:8px 10px;gap:7px}.music-button{padding:8px 6px;font-size:7px}.word-mission{top:120px}.word-mission span{width:23px;font-size:12px;padding:4px 0}.word-mission small{font-size:6px}.game-frame .toast,.ready-banner{top:182px}.controls{left:16px;right:16px}.controls button{min-width:48px}.controls .jump-button{font-size:10px}}

.tower-stability{position:absolute;top:137px;left:20px;right:20px;display:flex;justify-content:space-between;gap:6px;pointer-events:none}.tower-stability span{font-size:8px;font-weight:900;padding:7px 9px;background:#0a2b5bc9;border:1px solid #93b8e955;border-radius:8px;color:#f3d267}.tower-stability+.precision{bottom:105px}@media(max-width:650px){.tower-stability{top:124px}.tower-stability span{font-size:7px}}

.game-frame .precision{background:#092b5cdb;border:1px solid #b7d5ff60;padding:7px 12px;border-radius:14px;color:#d7e7ff}.game-frame .precision b{color:#ffda51}.game-frame .toast{text-shadow:0 2px 4px #102443,0 0 14px #102443;font-size:15px}.game-frame{background:#9ad3ec}

.now-playing{max-width:1500px;margin:0 auto 12px;padding:0 32px;color:#aabed8;font-size:11px;letter-spacing:.04em;text-align:right}.jump-button{font-size:12px!important}@media(max-width:650px){.now-playing{padding:0 15px;font-size:10px}}
.rush-layout{align-items:start}.intro-copy{padding-top:35px}.guide{align-self:start;max-height:calc(100svh - 150px);overflow:auto;padding-right:5px}.game-frame{height:min(800px,calc(100svh - 155px));min-height:520px}.guide-row{margin:14px 0}.record{margin-bottom:16px;padding-bottom:14px}@media(max-width:650px){.game-frame{height:calc(100svh - 100px);min-height:450px}.now-playing{height:18px;margin-bottom:5px}.controls button{min-width:48px}.intro-copy{padding-top:0}}

/* Immersive arcade presentation: the game itself occupies the screen. */
.arcade-screen{background:radial-gradient(ellipse at top,#1354ba,#041127 75%);overflow-x:hidden}.arcade-screen .page-header{height:52px;padding:6px 16px;max-width:640px;gap:12px}.arcade-screen .page-header img{width:125px;max-height:40px}.arcade-screen .preview-label{display:none}.arcade-screen .page-header .round-button{width:31px;height:31px;font-size:18px}.arcade-screen .music-button{font-size:9px;padding:6px 9px}.arcade-screen .rush-layout{display:block;padding:0 8px 20px;max-width:570px}.arcade-screen .intro-copy,.arcade-screen .guide{display:none}.arcade-screen .game-frame{height:calc(100svh - 82px);min-height:520px;max-height:1100px;width:100%;border-radius:16px;border:2px solid #438fed;box-shadow:0 15px 60px #0008}.arcade-screen .now-playing{position:fixed;bottom:0;left:0;right:0;margin:0;padding:6px 10px;height:24px;text-align:center;background:#06172cf0;z-index:30;font-size:10px;color:#a6c1ec}.in-game-brand{position:absolute;top:14px;left:28%;width:44%;z-index:3;text-align:center;pointer-events:none;filter:drop-shadow(0 3px 2px #073673)}.in-game-brand img{width:100%;height:auto}.in-game-brand b{display:block;color:#ffda32;letter-spacing:6px;font-size:16px;font-style:italic;line-height:1}.arcade-screen .hud{top:14px;left:12px;right:12px;gap:7px}.arcade-screen .hud>div{padding:8px 9px;border:2px solid #52b8ff;background:linear-gradient(#0e3888,#061e59);box-shadow:0 3px 9px #00235780}.arcade-screen .hud b{font-size:23px}.arcade-screen .hud .score-pill{min-width:70px}.arcade-screen .pause-button{width:37px;height:43px;background:#ffcd21;color:#10367a;border:2px solid #ffe783;box-shadow:0 4px 0 #c08011;border-radius:11px}.arcade-screen .secondary-hud{top:92px}.arcade-screen .progress-track{top:81px}.arcade-screen .word-mission{top:126px}.arcade-screen .toast{top:185px;font-size:23px;font-style:italic;line-height:1.1;color:#ffdc32;text-shadow:2px 2px 0 #0d2f72,-2px -2px 0 #0d2f72,0 4px 4px #0008}.arcade-screen .controls{bottom:25px}.arcade-screen .controls button{border-radius:24px}.arcade-screen .power-bar{border:3px solid #ffd625;background:linear-gradient(#1759bd,#072869);color:#ffe32d;font-size:12px;box-shadow:0 0 25px #ffd347aa;bottom:102px}.arcade-screen.torre-dough .hud>div:first-child{visibility:hidden}.arcade-screen.torre-dough .in-game-brand{left:14px;width:43%;top:13px}.arcade-screen.torre-dough .precision{bottom:104px}.arcade-screen.torre-dough .tower-stability{top:98px}.arcade-screen .overlay{background:linear-gradient(#05245cc9,#05245b9c);backdrop-filter:blur(3px)}@media(min-width:700px){.arcade-screen .rush-layout{max-width:min(570px,calc((100svh - 82px)*.7))}}@media(max-width:650px){.arcade-screen .game-frame{height:calc(100svh - 78px);min-height:460px}.arcade-screen .rush-layout{padding:0 3px 20px}.arcade-screen .page-header{gap:8px}.arcade-screen .in-game-brand b{font-size:13px}.arcade-screen .controls{left:13px;right:13px;gap:7px}.arcade-screen .controls button{height:48px;min-width:48px}}
.score-registration{margin:13px 0;text-align:left}.score-registration .primary{padding:12px;font-size:12px;justify-content:center;box-shadow:0 3px 0 #ab7917}.score-registration label{display:block;font-size:11px;font-weight:700;color:#c3dafa;margin:9px 0}.score-registration input:not([type=checkbox]){display:block;width:100%;margin-top:5px;padding:10px 11px;font:inherit;font-size:13px;background:#092a5a;color:#fff;border:1px solid #6495d2;border-radius:10px}.score-registration .score-consent{display:flex;gap:7px;align-items:flex-start;font-size:10px;line-height:1.5}.score-registration p{font-size:9px!important;line-height:1.5!important;color:#8db1de!important;margin:10px 0!important}.score-board-toggle{display:block;margin:8px auto;background:none;border:0;color:#b7d6ff;font-size:9px;font-weight:800;letter-spacing:.5px}.score-registration ol{padding:0;margin:8px 0;list-style-position:inside;max-height:135px;overflow:auto}.score-registration li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #597fb64d;padding:7px 5px;color:#c7dfff;font-size:11px}.score-registration li b{color:#ffda31}.arcade-screen .overlay{overflow-y:auto}.arcade-screen .overlay:has(.score-registration){align-items:start;padding-top:35px}.arcade-screen .overlay:has(.score-registration) .start-content h2{font-size:31px}.arcade-screen .overlay:has(.score-registration) .start-content p{margin:10px 0}.arcade-screen .overlay:has(.score-registration) .start-content>.primary{font-size:12px;padding:12px}.arcade-screen .overlay:has(.score-registration) .level-picker{margin:8px 0}.arcade-screen .overlay:has(.score-registration) .start-content>small{font-size:9px;margin-top:10px}

/* Keep brand clear of all score counters, even on narrow phones. */
.arcade-screen.burger-rush .in-game-brand{top:64px;left:28%;width:44%;max-height:65px}.arcade-screen.burger-rush .in-game-brand img{max-height:46px;object-fit:contain}.arcade-screen.burger-rush .in-game-brand b{font-size:12px;letter-spacing:5px}.arcade-screen.burger-rush .progress-track{top:126px}.arcade-screen.burger-rush .secondary-hud{top:136px}.arcade-screen.burger-rush .word-mission{top:167px}.arcade-screen.burger-rush .toast{top:220px}.arcade-screen.burger-rush .ready-banner{top:220px}.arcade-screen.burger-rush .hud>div:first-child{min-width:72px}.arcade-screen.burger-rush .hud .score-pill{min-width:90px}@media(max-width:400px){.arcade-screen.burger-rush .in-game-brand{left:29%;width:42%}.arcade-screen.burger-rush .hud{left:9px;right:9px;gap:6px}.arcade-screen.burger-rush .hud b{font-size:20px}}
@media(max-width:650px){.arcade-screen.burger-rush .controls{display:none}.arcade-screen.burger-rush .power-bar{bottom:30px}.arcade-screen.burger-rush .gesture-hint{bottom:10px;font-size:8px;background:#0b2e64b5;padding:5px}.arcade-screen.burger-rush .game-frame{touch-action:none}}
