@font-face{font-family:Pixel;src:url('assets/pixel.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--pixel:Pixel,'Courier New',monospace;--ink:#4b3746;--purple:#302653;--green:#95da00;--yellow:#ffdb05}
*{box-sizing:border-box}body{margin:0;background:#201b4d;color:#fff;font-family:Arial,sans-serif;overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:disabled{cursor:default;filter:saturate(.35);opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #aef6ff;outline-offset:3px}button{touch-action:manipulation}a{color:inherit}.game{height:100vh;height:100dvh;min-height:420px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:80px;flex-shrink:0;background:#35295d;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:6px ridge #64557b;position:relative;z-index:4}.account,.header-actions{display:flex;align-items:center;gap:18px}.icon-button{min-width:44px;height:44px;border:0;background:transparent;color:#fff;display:grid;place-items:center;text-decoration:none;font-size:27px}.back{font-size:36px}.wallet-button{border:0;color:#fff;display:flex;align-items:center;gap:7px;background:none;font-size:20px;font-weight:700;padding:8px 0;min-height:44px;font-variant-numeric:tabular-nums}.wallet-icon{font-size:24px}.dollar{opacity:.65;margin-left:-5px}.brand{position:absolute;left:50%;top:9px;transform:translateX(-50%);font-family:var(--pixel);text-align:center;line-height:1.2;white-space:nowrap;filter:drop-shadow(3px 3px 0 #15112a)}.brand-top{display:block;font-size:20px;letter-spacing:-1px}.brand-bottom{display:block;color:#8bea21;font-size:12px;margin-top:5px}.demo-badge{position:absolute;right:-26px;top:13px;background:#b5ed16;color:#11171c;font-family:Arial,sans-serif;font-weight:900;font-size:12px;transform:rotate(-16deg);padding:3px 7px}.sound{border:1px solid #807194;background:#4c3f70;border-radius:10px;width:52px;position:relative;font-size:26px}.sound-off{position:absolute;width:25px;height:2px;background:#e1cce6;transform:rotate(-48deg)}.sound[aria-pressed=true] .sound-off{display:none}.stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#201b4d}canvas#scene{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:manipulation}.progress-hud{position:absolute;left:50%;top:26px;transform:translateX(-50%);width:min(440px,55vw);pointer-events:none}.progress-line{position:relative;background:#fff6dc;border:4px solid #6d4d58;box-shadow:4px 4px 0 #14132f;padding:6px 10px}.dots{display:flex;justify-content:space-between;gap:5px}.dot{width:10px;height:10px;background:#674e5b;clip-path:polygon(30% 0,70% 0,70% 20%,100% 20%,100% 70%,70% 70%,70% 100%,30% 100%,30% 70%,0 70%,0 30%,30% 30%);flex-shrink:0}.dot.passed{background:#69ad00}.dot.current{background:#b6ed11}.trophy{position:absolute;right:-8px;top:-18px;font-family:Georgia,serif;font-size:45px;color:#ffde33;text-shadow:2px 2px #a8581b,-2px 0 #a8581b}.milestones{display:flex;justify-content:space-around;font:13px var(--pixel);padding-top:13px;text-shadow:2px 2px #594354}.maxwin{position:relative;color:#ffe700;font-size:10px;text-align:center;right:-18px;line-height:1.5}.maxwin b{display:block;font-size:13px}.help-ticket{position:absolute;left:11%;bottom:185px;transform:rotate(-4deg);width:88px;border:4px solid #4b1667;background:#9515de;box-shadow:4px 5px 0 #251339;color:#fff;padding:0 4px 10px;font:11px/1.4 var(--pixel)}.ticket-art{display:block;margin:-25px 4px 10px;background:#ffe228;color:#8b4210;border:4px solid #d78913;box-shadow:3px 3px #6c351a;transform:rotate(12deg);font-size:29px;padding:5px}.control-panel{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);width:min(446px,calc(100% - 24px));background:#f4f3ef;color:var(--ink);border:5px solid #fff;padding:9px;box-shadow:0 0 0 3px #15121f,5px 5px 0 3px #171420;border-radius:13px;z-index:2}.mode-switch{display:flex;gap:8px;padding:2px 2px 9px}.mode{flex:1;border:0;border-bottom:5px solid transparent;color:#55404f;background:transparent;min-height:66px;padding:6px 2px;font-family:var(--pixel);text-shadow:1px 1px #fff}.mode b{font-size:20px;display:block}.mode span{font-size:10px;margin-top:8px;display:block;opacity:.65}.mode.selected{background:#8fda00;color:white;border:3px solid #566d18;border-bottom:6px solid #569f00;box-shadow:inset 0 3px #e6ff88,inset 3px 0 #bded17,3px 3px 0 #c3c2bb;border-radius:11px;text-shadow:2px 2px #4a6a1d}.mode.selected span{opacity:1}.bet-control{display:flex;align-items:center;justify-content:space-between;background:#dfdfdd;border-top:3px solid white;padding:4px;gap:12px}.small-pixel{width:48px;height:44px;background:#9cdb12;color:#fff;border:3px solid #638400;border-bottom:6px solid #4d8400;box-shadow:inset 2px 2px #d9ff6d;text-shadow:1px 2px #496c00;font-family:var(--pixel);font-size:23px;line-height:1;border-radius:6px}.bet-label{display:flex;align-items:center;justify-content:center;min-width:0;font-family:var(--pixel);font-size:24px;font-weight:700;color:#755213}.bet-label span:last-child{color:#a3979d}.bet-label input{font-family:inherit;font-size:inherit;background:none;border:0;color:inherit;text-align:right;width:130px;max-width:100%;min-width:0;padding:6px 3px;border-radius:4px}.quick-bets{display:flex;gap:6px;margin:7px 0 11px}.quick-bets button{flex:1;min-width:0;height:36px;border:2px solid #f6ffd9;background:#cce797;color:#3b6d08;font:12px var(--pixel);box-shadow:0 2px #b8d586;border-radius:5px}.quick-bets button:hover{background:#b8df68}.play-row{display:flex;gap:9px}.rules-button{width:59px;background:#ffcd00;border:3px solid #ad7200;border-bottom:6px solid #b77c00;color:#7d5100;font-family:var(--pixel);font-size:24px;border-radius:6px;box-shadow:inset 2px 3px #ffef7e}.play-button,.fly-button{background:repeating-linear-gradient(118deg,#ffe627 0 40px,#ffdf0b 41px 73px);border:3px solid #e0aa00;border-top-color:#fff65d;border-bottom:7px solid #e7a400;color:#6a4b08;min-height:61px;font:23px var(--pixel);text-shadow:1px 2px #fff46b;flex:1;box-shadow:inset 2px 0 #fff6ac;border-radius:5px}.play-button:hover,.fly-button:hover{filter:brightness(1.08)}.play-button:active,.fly-button:active{transform:translateY(2px)}.play-button span,.fly-button span{font-size:18px}.panel-footnote{font-size:10px;text-align:center;margin:8px 0 0;color:#756575}.status-line{position:absolute;bottom:8px;left:0;right:0;font-size:12px;color:#c8bddc;text-align:center;pointer-events:none;padding:0 12px}.round-readout{text-align:center;padding:12px 4px 14px}.round-readout>span{font:10px var(--pixel);color:#847078}.round-readout strong{display:block;font:26px var(--pixel);color:#567d11;margin:16px 0;overflow-wrap:anywhere}.round-readout>div{display:flex;justify-content:space-between;background:#dfdfdd;padding:8px;color:#6e576b;font:12px var(--pixel)}.round-actions{display:flex;gap:8px}.cashout-button{width:46%;min-height:60px;background:#8bcd12;color:#254b02;border:3px solid #577c0a;border-bottom:7px solid #507700;font:12px/1.6 var(--pixel);box-shadow:inset 1px 2px #d4f57d;border-radius:5px}.fly-button{font-size:15px}.fly-button span{font-size:12px}.round-announcement{position:absolute;left:50%;top:31%;transform:translate(-50%,-50%);background:#201637eb;border:3px solid #b597cf;box-shadow:6px 6px 0 #100b23;padding:22px 20px;text-align:center;z-index:2;max-width:calc(100% - 24px);min-width:260px;pointer-events:none}.round-announcement>span{display:block;font:20px/1.5 var(--pixel);color:#ffdf60}.round-announcement strong{display:block;font:20px var(--pixel);margin:14px 0;color:#baf475}.round-announcement small{display:block;font-size:13px;color:#d9cbe3;line-height:1.5}.round-announcement.lost>span{color:#ffb6b4}.round-announcement.lost strong{color:#ffdfc3}.input-error{font-size:12px;color:#a2202f;margin:5px 0 9px;line-height:1.4}.is-flying .fly-button{background:#ddd37b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{color:#47344b;width:min(440px,calc(100% - 28px));background:#f3f0e8;border:5px solid #fff;padding:20px;box-shadow:0 0 0 3px #261536,7px 7px 0 #160e25;border-radius:10px;max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#0c0725c4}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-header h1{font:15px/1.6 var(--pixel);margin:0}.dialog-close{width:44px;height:44px;border:0;background:#e4dee4;color:#5b4260;font:28px Arial}.dialog-intro,.demo-note{font-size:14px;line-height:1.6;color:#68596c}.dialog-intro{margin:12px 0 20px}dialog label{display:block;font-size:15px;font-weight:700;margin-bottom:8px}dialog input{display:block;min-height:48px;width:100%;background:#fff;color:#443347;border:2px solid #a89aae;border-radius:4px;font-size:20px;padding:8px 12px;font-variant-numeric:tabular-nums}.dialog-primary{display:block;width:100%;min-height:50px;border:3px solid #718b17;border-bottom:6px solid #4d7210;background:#a1dc26;color:#2c4c0e;font:12px var(--pixel);margin-top:20px;border-radius:4px}.menu-link{display:block;text-align:center;font-size:14px;color:#684981;margin-top:20px}.dialog-error{font-size:14px;color:#a12536;line-height:1.5}.rules{padding-left:22px;font-size:15px;line-height:1.6}.rules li{margin:14px 0}.demo-note{background:#e7e2ed;padding:12px}.keyboard-hint{font-size:13px;line-height:1.5;color:#786883}[hidden]{display:none!important}
@media(min-width:1500px){.topbar{padding-left:8%;padding-right:8%}.control-panel{bottom:42px}}
@media(max-width:700px){.topbar{height:72px;padding:0 10px}.account,.header-actions{gap:4px}.back{min-width:27px;font-size:30px}.wallet-button{font-size:15px;gap:3px}.wallet-icon{display:none}.brand{top:16px}.brand-top{font-size:13px}.brand-bottom{font-size:9px;margin-top:5px}.demo-badge{font-size:9px;right:-12px;top:-9px;padding:2px 4px}.icon-button{min-width:38px;height:44px}.sound{width:38px;font-size:23px}.gear{font-size:23px}.progress-hud{width:calc(100% - 70px);max-width:350px;top:25px}.progress-line{padding:6px 7px;border-width:3px}.dot{width:7px;height:8px}.dots{gap:3px}.milestones{font-size:10px;padding-top:9px}.maxwin{font-size:8px;right:-5px}.maxwin b{font-size:11px}.trophy{font-size:36px;top:-15px}.help-ticket{left:15px;bottom:355px;width:55px;font-size:7px;padding-bottom:5px;border-width:3px;opacity:.95}.ticket-art{font-size:18px;margin:-15px 1px 5px;border-width:3px;padding:3px}.control-panel{bottom:35px;padding:8px;max-width:390px}.mode{min-height:60px}.mode b{font-size:18px}.mode span{font-size:9px}.mode-switch{padding-bottom:7px}.play-button{font-size:21px}.quick-bets button{height:35px}.panel-footnote{font-size:10px}.status-line{font-size:11px;bottom:10px}.round-announcement{top:29%;padding:18px 14px}.round-announcement>span{font-size:17px}.round-announcement strong{font-size:17px}.bet-label input{width:115px}}
@media(max-width:360px){.brand-top{font-size:11px}.brand-bottom{font-size:8px}.wallet-button{font-size:13px}.header-actions{gap:0}.sound{border:0;background:none;min-width:30px;width:30px}.gear{min-width:30px}.topbar{padding:0 5px}.dot{width:6px}.dots{gap:2px}.progress-hud{width:calc(100% - 52px)}.control-panel{width:calc(100% - 20px)}}
@media(max-height:600px) and (min-width:700px){.topbar{height:60px}.brand{top:5px}.control-panel{bottom:22px;width:370px;padding:6px}.mode{min-height:45px}.mode b{font-size:16px}.mode span{font-size:8px;margin-top:5px}.mode-switch{padding-bottom:3px}.bet-control{padding:2px}.small-pixel{height:35px}.quick-bets{margin:5px 0 7px}.quick-bets button{height:28px}.play-button,.rules-button{min-height:45px;font-size:18px}.panel-footnote{margin-top:5px;font-size:9px}.status-line{bottom:3px}.progress-hud{top:12px;width:330px}.progress-line{padding:5px 8px}.dot{width:7px;height:7px}.milestones{font-size:10px}.help-ticket{left:13%;bottom:100px}.round-readout{padding:7px 4px}.round-readout strong{font-size:23px;margin:11px 0}.round-announcement{left:20%;top:40%;min-width:220px}.round-announcement>span{font-size:15px}.round-announcement strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:700px){.topbar{height:91px;align-items:flex-end;padding-bottom:7px}.brand{top:10px}.account,.header-actions{align-items:flex-end}.wallet-button{min-height:39px}.progress-hud{top:23px}}

.game{min-height:0}.trophy{width:40px;height:44px;top:-14px;right:-13px}.wallet-icon{line-height:0}
@media(max-width:700px){.demo-badge{top:34px;right:50%;transform:translateX(50%);font-size:8px;padding:2px 5px}.trophy{width:31px;height:34px;top:-11px;right:-8px}.trophy svg{width:31px;height:34px}}
@media(max-height:600px) and (min-width:700px){.control-panel{left:auto;right:22px;transform:none;width:330px}.progress-hud{left:27%;width:300px}.status-line{right:360px}.help-ticket{left:30px;bottom:45px}.round-announcement{left:24%}}

@media(max-width:700px){.wallet-button{max-width:calc(50vw - 48px)}.wallet-button #wallet{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account{min-width:0}}

@media(max-height:700px) and (max-width:700px){.help-ticket{display:none}.round-announcement{top:26%;padding:14px 10px;min-width:240px}.round-announcement>span{font-size:14px}.round-announcement strong{font-size:14px;margin:10px 0}.round-announcement small{font-size:12px}}
