@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0c1017;--muted:#798291;--mint:#b4ff69}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f5f7fa;font:14px 'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit}header{height:94px;border-bottom:1px solid #242a33;display:flex;align-items:center;justify-content:space-between;margin:0 6%}.brand{font:700 23px 'Space Grotesk',sans-serif;letter-spacing:-1px;text-decoration:none;color:#fff;display:flex;align-items:center}.brand>span:last-child{color:var(--mint)}.brand-icon{color:var(--mint);font-size:42px;margin-right:10px}.edition{font-size:10px;letter-spacing:2px;color:var(--muted)}.edition b{margin-left:12px;color:#c9ced6}.small{background:transparent;border:1px solid #343b46;border-radius:6px;font-size:10px;letter-spacing:1px;padding:11px 14px}main{max-width:1180px;margin:54px auto 0;padding:0 28px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--mint);display:flex;align-items:center;gap:8px}.eyebrow span,.live-dot,.green-dot{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%}h1{font:600 54px 'Space Grotesk',sans-serif;letter-spacing:-2.8px;margin:12px 0 8px}h1 em{font-style:normal;color:var(--mint)}.heading p{color:var(--muted);margin:0;font-size:14px}.record{text-align:right}.record>span{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.record strong{display:block;font:500 44px 'Space Grotesk';margin-top:6px}.record strong span{color:#606b79;font-size:24px}.game-shell{border:1px solid #303b48;border-radius:12px;overflow:hidden;box-shadow:0 20px 70px #0004}.game-top{height:49px;display:flex;align-items:center;padding:0 22px;gap:20px;background:#171e27;font-size:10px;letter-spacing:1.4px}.game-top>div:first-child{flex:1}.live-dot{margin-right:9px}.difficulty{color:#778393;margin-left:15px;font-size:9px}.game-top>div:nth-child(2){color:#939ca9}#pause{background:#242d38;border:0;border-radius:4px;width:25px;height:25px}.stage{position:relative;height:410px;background:#101c2d;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.progress{position:absolute;left:24px;right:65px;top:20px;height:3px;background:#ffffff12;border-radius:3px}.progress>div{height:100%;background:var(--mint);width:0;box-shadow:0 0 10px #b4ff6980}#percentage{position:absolute;right:22px;top:15px;font-size:10px;color:#b6c9d9}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#09142066}#overlay.hidden{display:none}.overlay-tag{font-size:9px;letter-spacing:2.5px;color:var(--mint)}.hero-cube{border:2px solid var(--mint);color:var(--mint);background:#b4ff6918;width:43px;height:43px;margin:22px 0 0;display:grid;place-items:center;font-size:32px;transform:rotate(-12deg);box-shadow:0 0 28px #b4ff6922}h2{font:600 38px 'Space Grotesk';letter-spacing:-1.5px;margin:14px 0 5px}#overlay p{color:#a1afbd;font-size:12px;margin:4px 0 22px}#play{background:var(--mint);color:#182711;border:0;padding:14px 24px;min-width:176px;border-radius:5px;font-size:11px;font-weight:800;letter-spacing:1px;box-shadow:0 4px 25px #b4ff6915}#play span{margin-left:25px;font-size:17px}.start-hint{font-size:8px;letter-spacing:1.7px;color:#7c8d9e;margin-top:17px}.level-label{position:absolute;bottom:17px;left:23px;font-size:8px;letter-spacing:2px;color:#597087;pointer-events:none}.level-label span{margin-left:12px;color:#3e5368}.game-bottom{height:43px;background:#151c25;display:flex;justify-content:space-between;align-items:center;padding:0 22px;font-size:9px;letter-spacing:1px;color:#778392}.game-bottom b{font-weight:500;color:#afbac6}.green-dot{width:5px;height:5px;margin-right:8px}.divider{margin:0 15px;color:#3d4856}.below{display:flex;justify-content:space-between;align-items:center;padding:23px 0}.controls{display:flex;gap:9px;align-items:center;color:#83909e;font-size:11px}.key{border:1px solid #303844;border-bottom-width:3px;padding:5px 8px;border-radius:4px;font-size:9px;color:#bdc6d0}.control-divider{height:16px;width:1px;background:#303844;margin:0 7px}.practice{border:0;background:none;display:flex;gap:10px;align-items:center;font-size:11px;color:#a0a9b7}.toggle{width:28px;height:16px;background:#313a47;border-radius:20px;position:relative}.toggle:after{content:'';position:absolute;width:10px;height:10px;background:#8994a2;left:3px;top:3px;border-radius:50%}.practice[aria-pressed=true] .toggle{background:#405b2b}.practice[aria-pressed=true] .toggle:after{left:15px;background:var(--mint)}.tips{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #252d38;padding:25px 0;gap:20px}.tips>div{display:flex;gap:15px}.tip-number{font:12px 'Space Grotesk';color:#50606c;margin-top:4px}.tips h3{font-size:12px;font-weight:500;margin:0 0 7px}.tips p{font-size:11px;color:#747f8c;margin:0}footer{max-width:1124px;margin:25px auto;padding:24px 0;border-top:1px solid #252d38;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;color:#535f6c}footer b{color:var(--mint);margin-left:10px}button:hover{filter:brightness(1.15)}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}@media(max-width:650px){header{height:72px}.edition{display:none}main{margin-top:30px;padding:0 16px}h1{font-size:39px}.eyebrow{font-size:8px}.heading p{font-size:11px}.record strong{font-size:32px}.record>span{font-size:7px}.stage{height:390px}.difficulty{display:none}.game-top{padding:0 14px}.controls{gap:5px;font-size:9px}.key{padding:4px}.control-divider{margin:0 3px}.practice{font-size:9px;gap:5px}.tips{grid-template-columns:1fr;gap:20px}footer{margin:10px 16px;font-size:7px}footer>span:last-child{display:none}h2{font-size:32px}#overlay p{font-size:10px}}

.round-picker{display:flex;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}.round-picker label{font-size:9px;letter-spacing:1.5px;color:var(--mint)}.round-picker select{background:#171e27;color:#f5f7fa;border:1px solid #343b46;border-radius:5px;padding:10px;font:12px inherit}.round-picker>span{font-size:11px;color:var(--muted)}

/* A brighter arcade palette. */
:root{--bg:#201749;--muted:#b4b2d9;--mint:#aaff76}body{background:radial-gradient(ellipse at 5% 0%,#633e9d88,transparent 55%),radial-gradient(ellipse at 100% 55%,#007caa55,transparent 60%),#201749}header{border-color:#ffffff26}.header-actions{display:flex;gap:8px}.small{background:#ffffff0d;border-color:#ffffff35}.game-shell{border-color:#ac89ff;box-shadow:0 12px 75px #964aff40}.game-top,.game-bottom{background:#352664}.game-top>div:nth-child(2),.difficulty,.game-bottom,.game-bottom b{color:#e2dafa}.stage{background:#714ee0}#overlay{background:linear-gradient(110deg,#291249b0,#24327365)}#overlay p{color:#eee6ff}.start-hint{color:#d2c1ee}.level-label{color:#d6d5ff}.tips{border-color:#ffffff25}.tips p,.controls,.practice{color:#c2b8df}.tip-number{color:#77e9ec}.round-picker select{background:#3e2b71}.key{border-color:#8a78ad;color:#fff}.hero-cube{background:#b4ff6940}h1 em{background:linear-gradient(90deg,#b4ff69,#68f7ff,#ffa8e1);background-clip:text;color:transparent}footer{color:#b3a6ce;border-color:#ffffff25}
 dialog{color:#fff;width:min(640px,94vw);border:1px solid #bda1ff;border-radius:20px;padding:28px;background:linear-gradient(135deg,#493079,#202753);box-shadow:0 25px 100px #080318aa;max-height:90vh;overflow:auto}dialog::backdrop{background:#0c0823b8;backdrop-filter:blur(7px)}.profile-heading{display:flex;justify-content:space-between;gap:12px}.profile-heading h2{font-size:29px}.profile-heading button{align-self:flex-start;font-size:26px;border:0;background:none}.wardrobe{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}.avatar-card{border:1px solid #d8baff44;border-radius:14px;background:radial-gradient(circle,#865db8,#322951);text-align:center;padding-bottom:14px}.avatar-card canvas{width:100%;height:auto}.avatar-card strong{font:600 20px 'Space Grotesk',sans-serif;display:block;overflow-wrap:anywhere}.avatar-card p{color:#d5c7ec;font-size:11px}.outfit-fields{display:grid;gap:13px}.outfit-fields label{display:grid;gap:6px;font-size:11px;color:#e7d9ff}.outfit-fields input,.outfit-fields select{width:100%;min-width:0;border:1px solid #a996cf70;border-radius:6px;background:#211c43;padding:10px;color:#fff;font:13px inherit}.save-profile{width:100%;padding:14px;border:0;border-radius:8px;background:linear-gradient(90deg,#aaff76,#67ecff);color:#193444;font-weight:700}.local-note{font-size:11px;color:#d0c4e3;margin:20px 0} @media(max-width:650px){header{margin:0 16px}.brand{font-size:18px}.brand-icon{font-size:30px;margin-right:5px}.header-actions{gap:4px}.header-actions .small{padding:8px 6px;font-size:8px}.wardrobe{gap:12px}.profile-heading h2{font-size:24px}dialog{padding:18px}.edition{display:none}}

.coin-balance{align-self:center;color:#ffe580;font-size:11px;font-weight:700;white-space:nowrap}.shop-panel p{font-size:11px;color:#ffe580;margin:0 0 8px}.shop-panel button{width:100%;padding:10px;border:1px solid #ffdf7b;border-radius:6px;background:#ffdf7b;color:#302343;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed;filter:none}@media(max-width:650px){header{height:auto;min-height:85px;flex-wrap:wrap;padding:12px 0;gap:10px}.coin-balance{font-size:9px}}

#shopBalance,#roundReward,#overlayText{overflow-wrap:anywhere}#overlayText{max-width:85%;text-align:center}#coinBalance{max-width:210px}.outfit-fields{min-width:0} .avatar-card{align-self:start;position:sticky;top:0}#profileDialog{width:min(760px,94vw)}

.account-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;font-size:12px;color:#ddd3ff;overflow-wrap:anywhere}.account-bar button{background:#423172;border:1px solid #ab91e3;border-radius:5px;font-size:10px;padding:5px}.header-actions{flex-wrap:wrap;justify-content:flex-end}header{gap:18px}.auth-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.auth-actions .save-profile{flex:1}#authDialog p{line-height:1.6}table{width:100%;border-collapse:collapse;margin:18px 0;font-size:13px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #ffffff22}#leaderboardDialog{width:min(720px,94vw)}[hidden]{display:none!important}

@media(max-width:650px){.stage{height:300px}.heading{align-items:flex-start}.record{min-width:72px}.game-bottom{padding:0 12px}.auth-actions{display:grid;grid-template-columns:1fr}.auth-actions .save-profile{min-height:48px}#authMessage:not(:empty){padding:10px;border-radius:8px;background:#160d35;color:#fff4a8}.outfit-fields input{font-size:16px}}

.legacy-select{display:none!important}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:10px;max-height:350px;overflow:auto;padding:4px}.item-card{min-width:0;border:1px solid #9d83d755;border-radius:11px;background:#221943;padding:8px 5px;color:#fff;display:grid;justify-items:center;gap:4px;text-align:center}.item-card canvas{width:76px;height:76px;border-radius:8px;background:radial-gradient(circle,#7658b8,#282044)}.item-card span{width:100%;font-size:10px;line-height:1.2;overflow-wrap:anywhere}.item-card b{font-size:9px;color:#ffe580}.item-card.selected{border-color:#aaff76;box-shadow:0 0 0 2px #aaff7638}.item-card.owned b{color:#aaff76}#registerMessage:not(:empty){padding:10px;border-radius:8px;background:#160d35;color:#fff4a8}@media(max-width:650px){.wardrobe{grid-template-columns:1fr}.avatar-card{position:static}.item-grid{grid-template-columns:repeat(3,minmax(78px,1fr));max-height:310px}.item-card canvas{width:64px;height:64px}#profileDialog{width:96vw}}
.jackpot-badge,.profile-jackpot-badge{background:linear-gradient(135deg,#fff176,#ff8a35);color:#351400;border:2px solid #fff2a8;border-radius:999px;padding:.45rem .7rem;font-weight:900;box-shadow:0 0 18px #ffd24f99;white-space:nowrap}.profile-jackpot-badge{display:inline-block;margin-top:.7rem;font-size:.82rem}
.leader-avatar{width:54px;height:54px;border-radius:10px;background:radial-gradient(circle,#7658b8,#282044);vertical-align:middle}#leaderboardDialog{width:min(900px,96vw)}#leaderboardDialog table{min-width:650px}#leaderboardDialog{overflow-x:auto}@media(max-width:650px){#leaderboardDialog th,#leaderboardDialog td{padding:8px 5px;font-size:11px}.leader-avatar{width:44px;height:44px}}
.crew-panel{margin-top:24px;padding:18px;border:1px solid #ffffff2b;border-radius:14px;background:#1a1238}.crew-panel h3{margin:0}.crew-add{display:flex;gap:8px}.crew-add input{flex:1;min-width:0;border:1px solid #a996cf70;border-radius:7px;background:#211c43;padding:10px;color:#fff}.crew-rows{display:grid;gap:8px}.crew-card{display:flex;align-items:center;gap:12px;padding:9px;border-radius:10px;background:#ffffff0b}.round-picker{flex-wrap:wrap}#resetMapScore{margin-left:auto}

#flappyDialog{width:min(520px,94vw)}#flappyCanvas{display:block;width:auto;max-width:100%;height:min(60vh,640px);aspect-ratio:3/4;margin:auto;touch-action:none;border-radius:16px}#openFlappy{margin-top:12px}#flappyStatus{min-height:2em}
