:root{--bg-color: #050510;--text-color: #fff;--primary-color: #0ff;--secondary-color: #f0f;--accent-color: #ffd700;--danger-color: #f00;--success-color: #0f0;--panel-bg: rgba(13, 13, 26, .95);--canvas-bg: #1a1a2e;--font-main: "Orbitron", sans-serif;--font-mono: "Courier New", monospace;--shadow-glow: 0 0 20px rgba(0, 255, 255, .2);--border-width: 2px;--bb-ui-scale: 1}body.theme-retro{--bg-color: #000;--text-color: #fff;--primary-color: #fff;--secondary-color: #fff;--accent-color: #fff;--danger-color: #fff;--success-color: #fff;--panel-bg: #000;--canvas-bg: #000;--font-main: "Courier New", monospace;--shadow-glow: none;--border-width: 4px}body.theme-minimal{--bg-color: #eee;--text-color: #333;--primary-color: #333;--secondary-color: #666;--accent-color: #333;--panel-bg: #fff;--canvas-bg: #fff;--shadow-glow: 0 5px 15px rgba(0, 0, 0, .1);--border-width: 1px}body{margin:0;display:flex;justify-content:center;align-items:center;height:100vh;height:100dvh;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;transition:background-color .3s,color .3s}body.ui-mode{touch-action:pan-y}#app{position:relative;width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2vw,18px);padding:clamp(10px,2vw,16px);box-sizing:border-box}#game-shell{width:min(1560px,100%);display:grid;grid-template-columns:minmax(0,1fr) clamp(248px,21vw,316px);align-items:start;gap:clamp(10px,1.6vw,20px)}#game-stage{min-width:0;display:flex;flex-direction:column;gap:10px}#game-sidebar{display:flex;flex-direction:column;gap:clamp(10px,1.6vw,16px)}body.compact-touch-ui[data-active-screen=PLAYING] #game-shell{grid-template-columns:minmax(0,1fr)}body.compact-touch-ui[data-active-screen=PLAYING] #skill-panel{display:none}canvas{background-color:var(--canvas-bg);box-shadow:var(--shadow-glow),0 0 40px #00ffff1a;box-sizing:border-box;display:block;width:100%;height:auto;max-width:100%;max-height:calc(100dvh - clamp(150px,22vh,260px));aspect-ratio:800/600;border:var(--border-width) solid var(--primary-color);transition:all .3s ease}#hud-shell,#controls-shell{width:100%;box-sizing:border-box}#controls-shell{display:flex;justify-content:center}body.theme-retro canvas{box-shadow:none}body.theme-minimal canvas{box-shadow:var(--shadow-glow)}@keyframes textGlow{0%{text-shadow:0 0 10px var(--primary-color)}50%{text-shadow:0 0 20px var(--primary-color),0 0 30px var(--text-color)}to{text-shadow:0 0 10px var(--primary-color)}}@keyframes pulseBorder{0%{box-shadow:0 0 10px var(--primary-color)}50%{box-shadow:0 0 20px var(--primary-color),0 0 40px var(--secondary-color)}to{box-shadow:0 0 10px var(--primary-color)}}#ui-layer{position:fixed;inset:0;pointer-events:none;display:flex;justify-content:center;align-items:center;z-index:400}.screen{display:none;flex-direction:column;align-items:center;background:var(--panel-bg);background-image:linear-gradient(rgba(0,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.05) 1px,transparent 1px);background-size:50px 50px;border:var(--border-width) solid var(--primary-color);box-sizing:border-box;padding:60px;border-radius:15px;pointer-events:auto;text-align:center;box-shadow:0 0 30px #0ff3;min-width:400px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:150;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;animation:pulseBorder 4s infinite}body.theme-retro .screen{background-image:none;border-radius:0;box-shadow:none;animation:none}body.theme-minimal .screen{background-image:none;box-shadow:var(--shadow-glow);animation:none}.screen::-webkit-scrollbar{width:8px}.screen::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.screen::-webkit-scrollbar-track{background:transparent}.screen.active{display:flex}.portal-screen{width:min(1180px,calc(100vw - 32px));min-width:0;max-height:calc(100dvh - 24px);padding:clamp(24px,4vw,44px);align-items:stretch}.hero-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.82fr);gap:clamp(18px,3vw,28px);width:100%}.hero-stage{display:flex;flex-direction:column;gap:18px;text-align:left}.menu-side-panel{display:flex}.menu-eyebrow{margin:0;color:var(--accent-color);letter-spacing:.32em;font-size:.8rem;text-transform:uppercase}.portal-screen h1{margin:0;font-size:clamp(2.8rem,7vw,5.6rem);text-align:left}.menu-lead,.menu-card-copy{margin:0;font-size:1rem;line-height:1.55;color:#fffc;text-shadow:none}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-meta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-meta-card{padding:14px 16px;border:1px solid rgba(0,255,255,.22);background:#ffffff0d;border-radius:16px;box-shadow:inset 0 1px #ffffff0d}.portal-meta-card span{display:block;margin-bottom:8px;color:var(--accent-color);letter-spacing:.18em;font-size:.72rem;text-transform:uppercase}.portal-meta-card strong{display:block;line-height:1.35;font-size:.98rem}.game-card,.menu-profile-card{border:1px solid rgba(0,255,255,.26);background:linear-gradient(180deg,#0c1422e6,#050b14d1);border-radius:20px;box-shadow:inset 0 1px #ffffff0d,0 18px 36px #00000038}.game-card{padding:20px;display:flex;flex-direction:column;gap:12px;text-align:left}.menu-profile-card{width:100%;padding:22px;display:flex;flex-direction:column;gap:14px;text-align:left}.menu-card-kicker{display:block;color:var(--accent-color);letter-spacing:.18em;font-size:.72rem;text-transform:uppercase}.game-card h2,.menu-profile-card h2{margin:0;border:none;padding:0;width:auto;font-size:2rem}.portal-feature-list{display:flex;flex-direction:column;gap:8px;margin:0}.portal-feature-list li{margin:0;font-size:.98rem;line-height:1.35;text-shadow:none;background:#ffffff0d;padding:10px 12px}.menu-stat-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);text-shadow:none}.menu-stat-row span{color:#ffffff9e}.menu-button-column{display:flex;flex-direction:column;gap:10px}.portal-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:12px 30px;border:var(--border-width) solid var(--primary-color);color:var(--primary-color);background:#00ffff1a;font-family:var(--font-main);font-size:1.2rem;text-decoration:none;text-shadow:0 0 5px var(--primary-color);transition:all .3s ease}.portal-link-button:hover{background:var(--primary-color);color:#000;box-shadow:0 0 25px var(--primary-color);transform:scale(1.05)}.summary-lead{margin:-4px 0 14px;max-width:540px;font-size:.98rem;line-height:1.5;color:#ffffffc7;text-shadow:none}body.theme-minimal .menu-lead,body.theme-minimal .menu-card-copy,body.theme-minimal .menu-stat-row span,body.theme-minimal .summary-lead{color:#555}body.theme-minimal .game-card,body.theme-minimal .menu-profile-card,body.theme-minimal .portal-feature-list li,body.theme-minimal .portal-meta-card{background:#f6f7fa;border-color:#d8dce3;box-shadow:none}body.theme-retro .game-card,body.theme-retro .menu-profile-card,body.theme-retro .portal-feature-list li,body.theme-retro .portal-meta-card{border-radius:0;box-shadow:none;background:#000000eb}@media(max-width:1100px){#game-shell{grid-template-columns:1fr}canvas{max-height:calc(100dvh - clamp(260px,42vh,420px))}}#ui-settings-panel{width:min(760px,calc(100vw - 32px));min-width:0;max-height:calc(100dvh - 24px);align-items:stretch;gap:8px;padding-inline:clamp(20px,3vw,32px)}#ui-settings-panel>button{width:min(100%,420px);align-self:center}.ui-settings-note{margin:0 0 15px;max-width:420px;font-size:.9rem;line-height:1.4;color:#fffc;text-shadow:none}body.theme-minimal .ui-settings-note{color:#666}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:420px;margin:10px 0;font-size:1rem}.setting-row>*{min-width:0}.setting-row label{flex:1;text-align:left}.setting-row select{flex:1;max-width:220px;padding:10px;border-radius:8px;border:var(--border-width) solid var(--primary-color);background:#0006;color:var(--text-color);font-family:var(--font-main)}.setting-row input[type=range]{flex:1;max-width:220px}#ui-scale-value{width:60px;text-align:right;font-variant-numeric:tabular-nums;color:#ffffffd9}body.theme-minimal #ui-scale-value{color:#333}body.theme-minimal .setting-row select{background:#fff;color:#333}.toggle-btn{min-width:90px}h1{font-size:3.5rem;color:var(--primary-color);text-transform:uppercase;letter-spacing:4px;margin-bottom:30px;animation:textGlow 2s infinite;line-height:1.1}body.theme-retro h1,body.theme-minimal h1{animation:none;text-shadow:none}h2{font-size:2.5rem;color:var(--secondary-color);margin-bottom:20px;text-shadow:0 0 15px var(--secondary-color);border-bottom:2px solid var(--secondary-color);padding-bottom:10px;width:100%}body.theme-retro h2,body.theme-minimal h2{text-shadow:none}button{background:#00ffff1a;border:var(--border-width) solid var(--primary-color);color:var(--primary-color);font-family:var(--font-main);font-size:1.5rem;padding:12px 30px;margin:10px;cursor:pointer;transition:all .3s ease;text-shadow:0 0 5px var(--primary-color);position:relative;overflow:hidden;flex-shrink:0}body.theme-retro button{background:#000;border-radius:0;text-shadow:none}body.theme-minimal button{background:#fff;box-shadow:0 2px 5px #0000001a;text-shadow:none}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,255,.4),transparent);transition:.5s}button:hover:before{left:100%}button:hover{background:var(--primary-color);color:#000;box-shadow:0 0 25px var(--primary-color);transform:scale(1.05)}button:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;box-shadow:0 0 0 2px #00000073,0 0 18px var(--accent-color)}body.theme-minimal button:hover{color:#fff;box-shadow:none}.info-content{text-align:left;margin-bottom:30px;width:100%}.info-content p{font-size:1.2rem;color:#ccc;margin-bottom:10px}body.theme-minimal .info-content p{color:#555}h3{margin-top:20px;color:var(--text-color);border-left:4px solid var(--primary-color);padding-left:10px}ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin-top:15px}li{margin:5px 0;font-weight:700;font-size:1.1rem;text-shadow:0 0 5px currentColor;background:#ffffff0d;padding:5px 10px;border-radius:5px}body.theme-minimal li{background:#eee;text-shadow:none}body.theme-retro li{text-shadow:none}.shop-balance{margin:10px 0 18px;font-size:1rem;color:var(--text-color);text-shadow:none}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:640px;margin:12px 0}.shop-item{display:flex;flex-direction:column;align-items:center;padding:12px;border-radius:12px;background:#00000059;border:var(--border-width) solid rgba(0,255,255,.3);box-shadow:0 0 18px #00ffff14}body.theme-retro .shop-item{box-shadow:none;background:#00000040}body.theme-minimal .shop-item{background:#f6f6f6;border-color:#ddd;box-shadow:none}.shop-item .icon{font-size:1.6rem;line-height:1;margin-bottom:6px}.shop-item .name{font-weight:700;font-size:.95rem}.shop-item .desc{margin-top:6px;font-size:.82rem;color:#ffffffbf;text-shadow:none}body.theme-minimal .shop-item .desc{color:#555}.shop-item button.btn-buy{margin-top:10px;width:100%;padding:10px}@media(max-width:600px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.shop-grid{grid-template-columns:1fr}}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.admin-grid button{font-size:1rem;padding:10px;margin:0;width:100%}#hud{position:static;width:100%;height:auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:calc(12px * var(--bb-ui-scale));padding:calc(14px * var(--bb-ui-scale));box-sizing:border-box;font-size:calc(clamp(.95rem,2.2vw,1.2rem) * var(--bb-ui-scale));color:var(--primary-color);text-shadow:0 0 5px var(--primary-color);pointer-events:auto;background:var(--panel-bg);border:var(--border-width) solid var(--primary-color);border-radius:16px;box-shadow:var(--shadow-glow)}body.theme-retro #hud,body.theme-minimal #hud{text-shadow:none}#hud>#score,#hud>#lives,#hud>#level{padding:calc(8px * var(--bb-ui-scale)) calc(12px * var(--bb-ui-scale));border:1px solid rgba(255,255,255,.16);border-radius:calc(12px * var(--bb-ui-scale));background:#ffffff0d;box-shadow:inset 0 1px #ffffff0d}#hud>#score,#hud>#lives,#hud>#level,#hud>#btn-pause-desktop,#hud>#combo-display{flex:0 1 auto}#btn-pause-desktop{display:none;align-items:center;justify-content:center;min-height:0;margin:0;padding:calc(8px * var(--bb-ui-scale)) calc(14px * var(--bb-ui-scale));font-size:calc(.95rem * var(--bb-ui-scale));line-height:1}#hud>#powerup-timers{flex:1 1 100%}#combo-display{position:static;margin-left:auto;font-size:calc(clamp(1.05rem,3.8vw,1.5rem) * var(--bb-ui-scale));font-weight:700;color:var(--accent-color);text-shadow:0 0 10px var(--accent-color);animation:pulseCombo .5s infinite alternate;padding:calc(8px * var(--bb-ui-scale)) calc(12px * var(--bb-ui-scale));background:#0000008c;border:calc(2px * var(--bb-ui-scale)) solid var(--accent-color);border-radius:calc(12px * var(--bb-ui-scale))}#combo-text{line-height:1.1}#combo-bar{margin-top:calc(6px * var(--bb-ui-scale));height:calc(6px * var(--bb-ui-scale));width:min(calc(180px * var(--bb-ui-scale)),32vw);background:#ffffff26;border-radius:999px;overflow:hidden}#combo-fill{height:100%;width:0%;background:linear-gradient(90deg,gold,#ff8c00,red);border-radius:999px;transition:width .08s linear}body.theme-retro #combo-display,body.theme-minimal #combo-display{animation:none;text-shadow:none}@keyframes pulseCombo{0%{transform:scale(1)}to{transform:scale(1.1)}}#powerup-timers{display:flex;flex-wrap:wrap;flex-direction:row;gap:calc(5px * var(--bb-ui-scale));pointer-events:none}#skill-panel{position:static;width:100%;margin:0;box-sizing:border-box;display:flex;flex-direction:column;gap:calc(6px * var(--bb-ui-scale));padding:calc(10px * var(--bb-ui-scale)) calc(12px * var(--bb-ui-scale));background:#000000a6;border:calc(2px * var(--bb-ui-scale)) solid var(--secondary-color);border-radius:calc(14px * var(--bb-ui-scale));color:var(--text-color);pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:none;max-width:none}#skill-panel.skill-layout-row{max-width:none;display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-items:center;gap:calc(8px * var(--bb-ui-scale));padding:calc(10px * var(--bb-ui-scale)) calc(12px * var(--bb-ui-scale));background:linear-gradient(180deg,#0a101ef5,#040812e6);border-color:#ff00ff8c;box-shadow:var(--shadow-glow),inset 0 1px #ffffff0a}body.ui-editing #skill-panel-toast,#skill-panel.skill-layout-row #skill-panel-toast,#skill-panel>#skill-panel-toast{grid-column:1 / -1}body.ui-editing #skill-panel-header,#skill-panel.skill-layout-row #skill-panel-header,#skill-panel>#skill-panel-header{grid-column:1;justify-self:start;align-self:center;margin:0;white-space:nowrap}body.ui-editing #skill-panel-header,#skill-panel.skill-layout-row #skill-panel-header{padding-right:calc(4px * var(--bb-ui-scale))}body.ui-editing .skill-slot-row,#skill-panel.skill-layout-row .skill-slot-row{flex-direction:column;justify-content:center;align-items:center;gap:calc(6px * var(--bb-ui-scale));min-height:calc(56px * var(--bb-ui-scale));padding:calc(6px * var(--bb-ui-scale))}body.ui-editing .skill-slot-name,#skill-panel.skill-layout-row .skill-slot-name{text-align:left;font-size:calc(.76rem * var(--bb-ui-scale));max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#skill-panel-header{font-size:calc(.75rem * var(--bb-ui-scale));letter-spacing:1px;color:#ffffffd9}.skill-slot-row{display:flex;align-items:center;gap:calc(10px * var(--bb-ui-scale));padding:calc(4px * var(--bb-ui-scale)) calc(6px * var(--bb-ui-scale));margin:0;width:100%;border:1px solid rgba(255,255,255,.12);border-radius:calc(10px * var(--bb-ui-scale));background:linear-gradient(180deg,#0f1628f2,#060a16e0);box-shadow:inset 0 1px #ffffff0a;color:var(--text-color);font:inherit;text-align:left;appearance:none;cursor:pointer;transition:background .12s ease,transform .08s ease}.skill-slot-row.skill-slot-empty{opacity:.75}.skill-slot-row.skill-slot-filled{border-color:#fff3}.skill-slot-row:active,.skill-slot-row.pressed{background:#ffffff14;transform:scale(.98)}.skill-slot-icon{width:calc(28px * var(--bb-ui-scale));height:calc(28px * var(--bb-ui-scale));border-radius:calc(8px * var(--bb-ui-scale));display:flex;align-items:center;justify-content:center;font-weight:700;border:calc(2px * var(--bb-ui-scale)) solid #555;color:#555;background:#ffffff0f;flex:0 0 auto;font-size:calc(.8rem * var(--bb-ui-scale))}.skill-slot-name{font-size:calc(.9rem * var(--bb-ui-scale));font-weight:600;color:var(--text-color)}.skill-slot-row:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}#skill-panel-toast{font-size:calc(.75rem * var(--bb-ui-scale));color:#fffc;margin-top:2px}body.theme-minimal #skill-panel{background:#ffffffe6;color:#333}body.theme-minimal #skill-panel-toast{color:#555}@media(hover:none)and (pointer:coarse){#skill-panel{width:min(100%,560px)}}.powerup-timer{display:flex;align-items:center;gap:calc(10px * var(--bb-ui-scale));font-size:calc(.9rem * var(--bb-ui-scale));text-shadow:0 0 2px #000}body.theme-minimal .powerup-timer{text-shadow:none;color:#333}.timer-icon{width:calc(20px * var(--bb-ui-scale));height:calc(20px * var(--bb-ui-scale));border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:calc(.8rem * var(--bb-ui-scale));box-shadow:0 0 calc(5px * var(--bb-ui-scale)) currentColor;color:#fff;background:#00000080}body:after{content:"";position:absolute;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(to bottom,#fff0,#fff0 50%,#0000001a 50%,#0000001a);background-size:100% 4px;pointer-events:none;z-index:10}body.theme-retro:after,body.theme-minimal:after{display:none}@media(max-width:768px){.screen{min-width:300px;width:90%;padding:20px 10px;max-height:85dvh;margin-top:10px}.portal-screen{width:calc(100vw - 16px);padding:18px 14px}.hero-layout,.portal-grid,.portal-meta-strip{grid-template-columns:1fr}#ui-settings-panel{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:calc(env(safe-area-inset-top) + 16px) 14px calc(env(safe-area-inset-bottom) + 16px);gap:10px}#ui-settings-panel .setting-row{max-width:none;margin:6px 0}h1{font-size:2rem;margin-bottom:15px}.portal-screen h1{font-size:2.35rem}button{padding:10px 20px;font-size:1.1rem;margin:8px}#ui-settings-panel .setting-row{flex-direction:column;align-items:stretch;gap:8px}#ui-settings-panel .setting-row label,#ui-settings-panel .setting-row select,#ui-settings-panel .setting-row input[type=range],#ui-settings-panel .setting-row button{width:100%;max-width:none}#ui-settings-panel>button,#ui-settings-panel .setting-row button{margin-left:0;margin-right:0}#ui-scale-value{width:100%;text-align:left}}@media(max-width:700px)and (orientation:portrait){body[data-active-screen=PLAYING] #app,body.ui-editing #app{justify-content:flex-start;gap:8px;padding:calc(env(safe-area-inset-top) + 6px) 6px calc(env(safe-area-inset-bottom) + 6px)}body[data-active-screen=PLAYING] #game-shell,body.ui-editing #game-shell,body[data-active-screen=PLAYING] #game-stage,body[data-active-screen=PLAYING] #game-sidebar,body.ui-editing #game-stage,body.ui-editing #game-sidebar{gap:8px}body[data-active-screen=PLAYING] canvas,body.ui-editing canvas{max-height:calc(100dvh - clamp(140px,24vh,210px))}body[data-active-screen=PLAYING] #nameplate,body.ui-editing #nameplate{margin-top:0;padding:calc(4px * var(--bb-ui-scale)) calc(10px * var(--bb-ui-scale));border-radius:calc(14px * var(--bb-ui-scale))}body[data-active-screen=PLAYING] #np-name,body.ui-editing #np-name{font-size:calc(.95rem * var(--bb-ui-scale));line-height:1}body[data-active-screen=PLAYING] #np-stats,body.ui-editing #np-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;font-size:calc(.66rem * var(--bb-ui-scale));line-height:1.2}body[data-active-screen=PLAYING] #hud,body.ui-editing #hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:calc(6px * var(--bb-ui-scale));padding:calc(8px * var(--bb-ui-scale)) calc(10px * var(--bb-ui-scale));border-radius:calc(14px * var(--bb-ui-scale))}body[data-active-screen=PLAYING] #hud>#score,body[data-active-screen=PLAYING] #hud>#lives,body[data-active-screen=PLAYING] #hud>#level,body.ui-editing #hud>#score,body.ui-editing #hud>#lives,body.ui-editing #hud>#level{min-width:0;padding:calc(6px * var(--bb-ui-scale)) calc(8px * var(--bb-ui-scale));font-size:calc(.86rem * var(--bb-ui-scale));text-align:center}body[data-active-screen=PLAYING] #combo-display,body.ui-editing #combo-display{grid-column:1 / -1;margin-left:0;display:flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--bb-ui-scale));padding:calc(6px * var(--bb-ui-scale)) calc(10px * var(--bb-ui-scale));font-size:calc(.95rem * var(--bb-ui-scale))}body[data-active-screen=PLAYING] #combo-text,body.ui-editing #combo-text{white-space:nowrap}body[data-active-screen=PLAYING] #combo-bar,body.ui-editing #combo-bar{margin-top:0;width:100%;max-width:96px;flex:1 1 auto}body[data-active-screen=PLAYING] #hud>#powerup-timers,body.ui-editing #hud>#powerup-timers{grid-column:1 / -1}body[data-active-screen=PLAYING] #powerup-timers,body.ui-editing #powerup-timers{gap:calc(4px * var(--bb-ui-scale))}body[data-active-screen=PLAYING] .powerup-timer,body.ui-editing .powerup-timer{gap:calc(6px * var(--bb-ui-scale));font-size:calc(.72rem * var(--bb-ui-scale))}body[data-active-screen=PLAYING] .timer-icon,body.ui-editing .timer-icon{width:calc(16px * var(--bb-ui-scale));height:calc(16px * var(--bb-ui-scale));font-size:calc(.66rem * var(--bb-ui-scale))}body[data-active-screen=PLAYING] #skill-panel,body.ui-editing #skill-panel{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:calc(6px * var(--bb-ui-scale));padding:calc(8px * var(--bb-ui-scale));border-radius:calc(12px * var(--bb-ui-scale))}body[data-active-screen=PLAYING] #skill-panel-header,body.ui-editing #skill-panel-header{grid-column:1;font-size:calc(.66rem * var(--bb-ui-scale));letter-spacing:.14em}body[data-active-screen=PLAYING] .skill-slot-row,body.ui-editing .skill-slot-row{flex-direction:column;justify-content:center;align-items:center;gap:calc(3px * var(--bb-ui-scale));min-height:calc(52px * var(--bb-ui-scale));padding:calc(4px * var(--bb-ui-scale));text-align:center;background:#ffffff08;border:1px solid rgba(255,255,255,.12)}body[data-active-screen=PLAYING] .skill-slot-icon,body.ui-editing .skill-slot-icon{width:calc(24px * var(--bb-ui-scale));height:calc(24px * var(--bb-ui-scale));border-width:calc(1.5px * var(--bb-ui-scale));border-radius:calc(7px * var(--bb-ui-scale));font-size:calc(.72rem * var(--bb-ui-scale))}body[data-active-screen=PLAYING] .skill-slot-name,body.ui-editing .skill-slot-name,body[data-active-screen=PLAYING] #skill-panel-toast,body.ui-editing #skill-panel-toast{display:none}body[data-active-screen=PLAYING] #mobile-controls,body[data-active-screen=PLAYING] .controls-wrapper,body.ui-editing #mobile-controls,body.ui-editing .controls-wrapper{min-height:108px}body[data-active-screen=PLAYING] .controls-wrapper,body.ui-editing .controls-wrapper{display:grid;grid-template-columns:1fr auto 1fr;align-items:end}body[data-active-screen=PLAYING] .control-btn,body.ui-editing .control-btn{position:relative;bottom:auto;width:clamp(52px,15vw,60px);border-width:calc(3px * var(--bb-ui-scale));font-size:calc(1.2rem * var(--bb-ui-scale))}body[data-active-screen=PLAYING] .pause-btn,body.ui-editing .pause-btn{top:auto;right:auto;justify-self:center;width:clamp(40px,11vw,44px);font-size:calc(.95rem * var(--bb-ui-scale))}body[data-active-screen=PLAYING] #btn-left,body.ui-editing #btn-left{left:auto;justify-self:start}body[data-active-screen=PLAYING] #btn-right,body.ui-editing #btn-right{right:auto;justify-self:end}}@media(max-height:500px)and (orientation:landscape){.screen{width:min(96vw,1040px);min-width:0;max-height:calc(100dvh - 12px);padding:16px 20px;gap:12px}#ui-settings-panel{width:min(96vw,960px);padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 12px)}#ui-settings-panel .setting-row{max-width:none}.screen h1,.screen h2{width:100%;margin-bottom:10px;font-size:2rem}.screen button{margin:5px 10px;padding:8px 16px;font-size:1rem}.info-content{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;font-size:.9rem;margin-bottom:10px}.info-content ul{margin-top:5px;gap:5px}.info-content p{font-size:.9rem;margin-bottom:5px}#start-screen{flex-direction:column}#hud{padding:calc(10px * var(--bb-ui-scale));font-size:calc(.9rem * var(--bb-ui-scale))}#powerup-timers{flex-direction:row}#combo-display{font-size:calc(1.2rem * var(--bb-ui-scale))}}#mobile-controls{position:relative;width:min(100%,620px);min-height:clamp(108px,20vw,144px);pointer-events:none;display:flex;justify-content:center;align-items:stretch;z-index:100}@media(hover:hover),(pointer:fine){body:not(.ui-editing):not(.touch-supported) #mobile-controls{display:none!important}}@media(hover:none),(pointer:coarse){#btn-pause-desktop{display:none!important}}#mobile-controls.touch-disabled{display:none!important}.controls-wrapper{position:relative;width:100%;min-height:inherit;pointer-events:none;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:clamp(10px,2vw,18px);padding:calc(6px * var(--bb-ui-scale)) calc(10px * var(--bb-ui-scale));box-sizing:border-box}.controls-wrapper>*{pointer-events:auto}.control-wing{display:flex}.control-wing-left{justify-content:flex-start}.control-wing-right{justify-content:flex-end}.control-center{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:calc(8px * var(--bb-ui-scale))}.control-btn{pointer-events:auto;position:relative;min-height:calc(62px * var(--bb-ui-scale));padding:calc(10px * var(--bb-ui-scale)) calc(18px * var(--bb-ui-scale));background:linear-gradient(180deg,#0b1224f5,#03060eeb);border:calc(2px * var(--bb-ui-scale)) solid rgba(0,255,255,.42);border-radius:calc(24px * var(--bb-ui-scale));color:var(--primary-color);font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(4px * var(--bb-ui-scale));-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:transform .1s,background .1s,box-shadow .1s;z-index:100;box-shadow:0 10px 28px #0000003d,inset 0 1px #ffffff0f;animation:none}.arrow-btn{min-width:clamp(108px,24vw,148px)}.pause-btn{min-width:clamp(56px,12vw,72px);min-height:calc(56px * var(--bb-ui-scale));padding:calc(10px * var(--bb-ui-scale));border-color:#ffd70080;color:var(--accent-color)}.control-skill-strip{display:flex;align-items:center;justify-content:center;gap:calc(8px * var(--bb-ui-scale));margin-bottom:calc(16px * var(--bb-ui-scale))}.skill-btn{position:relative;min-width:calc(44px * var(--bb-ui-scale));min-height:calc(44px * var(--bb-ui-scale));padding:0;border-color:#f0f6;border-radius:calc(14px * var(--bb-ui-scale));color:var(--secondary-color);overflow:visible}.skill-btn-slot{position:absolute;top:calc(4px * var(--bb-ui-scale));left:calc(7px * var(--bb-ui-scale));font-size:calc(.56rem * var(--bb-ui-scale));letter-spacing:.08em;opacity:.72}.skill-btn-icon{font-size:calc(1.02rem * var(--bb-ui-scale));line-height:1}.skill-btn-name{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);width:clamp(42px,14vw,68px);font-size:calc(.5rem * var(--bb-ui-scale));line-height:1.05;letter-spacing:.03em;text-align:center;color:#ffffffd1;pointer-events:none}.skill-btn.skill-btn-empty .skill-btn-icon,.skill-btn.skill-btn-empty .skill-btn-name{opacity:0}.skill-btn.active-skill{box-shadow:0 8px 24px #00000042,0 0 18px currentColor}#control-skill-note{max-width:min(260px,72vw);min-height:calc(1.8em * var(--bb-ui-scale));font-size:calc(.62rem * var(--bb-ui-scale));line-height:1.25;letter-spacing:.04em;text-align:center;color:#ffffffd1}.control-icon{font-size:calc(1.45rem * var(--bb-ui-scale));line-height:1}.control-label{font-size:calc(.62rem * var(--bb-ui-scale));letter-spacing:.16em;text-transform:uppercase;opacity:.84}body.theme-retro .control-btn{border-radius:0;border:calc(3px * var(--bb-ui-scale)) solid #fff;background:#000;color:#fff;animation:none;box-shadow:none}body.theme-minimal .control-btn{background:#fff;border:calc(1px * var(--bb-ui-scale)) solid #333;color:#333;animation:none;box-shadow:0 2px 5px #0000001a}@keyframes pulseBtn{0%{box-shadow:0 0 5px var(--success-color)}50%{box-shadow:0 0 15px var(--success-color)}to{box-shadow:0 0 5px var(--success-color)}}.control-btn:active,.control-btn.active{background:linear-gradient(180deg,#141e38fa,#050a16eb);transform:translateY(1px) scale(.97);box-shadow:0 12px 32px #0000004d,0 0 18px currentColor}.control-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}#red-line-visual{position:relative;width:100%;height:3px;background:var(--danger-color);box-shadow:0 -2px 10px var(--danger-color);pointer-events:none;z-index:50;opacity:.8}#leaderboard-screen{border:var(--border-width) solid #d400d4;box-shadow:0 0 30px #d400d4}body.theme-retro #leaderboard-screen{border:4px solid #fff;box-shadow:none}body.theme-minimal #leaderboard-screen{border:1px solid #333;box-shadow:0 0 10px #0000001a}#leaderboard-list li{font-family:Courier New,Courier,monospace;text-transform:uppercase;letter-spacing:1px}#leaderboard-list li:first-child{background:linear-gradient(90deg,transparent,rgba(255,215,0,.2),transparent);border:1px solid var(--accent-color)}#player-name{text-transform:uppercase;letter-spacing:2px}body.ui-editing .draggable{border:2px dashed #ffff00!important;background:#ff03!important;cursor:grab;pointer-events:auto!important;z-index:10000!important;touch-action:none}body.ui-editing .draggable *{pointer-events:none!important}body.ui-editing .draggable.is-dragging{transform:scale(1.01);box-shadow:0 0 0 2px #ff06,0 14px 28px #0000004d!important}body.ui-editing #hud{display:grid!important}body.ui-editing #btn-pause-desktop{display:inline-flex!important}body.ui-editing #mobile-controls,body.ui-editing #combo-display{display:flex!important}body.ui-editing #powerup-timers{display:flex!important;min-width:calc(120px * var(--bb-ui-scale));min-height:calc(34px * var(--bb-ui-scale));align-items:center;padding:calc(6px * var(--bb-ui-scale)) calc(10px * var(--bb-ui-scale));border:1px dashed rgba(255,255,255,.45);border-radius:calc(10px * var(--bb-ui-scale));background:#00000059}body.ui-editing #powerup-timers:empty:before{content:"POWERUPS";font-size:calc(.72rem * var(--bb-ui-scale));color:#ffffffc7;letter-spacing:.08em}#ui-edit-overlay{pointer-events:auto}body.ui-editing .draggable:active{cursor:grabbing}#nameplate{position:static;width:100%;background:#000000b3;border:calc(2px * var(--bb-ui-scale)) solid var(--primary-color);padding:calc(5px * var(--bb-ui-scale)) calc(15px * var(--bb-ui-scale));border-radius:calc(20px * var(--bb-ui-scale));text-align:center;box-shadow:0 0 calc(10px * var(--bb-ui-scale)) var(--primary-color);pointer-events:auto;margin-top:calc(4px * var(--bb-ui-scale))}body.theme-retro #nameplate{border-radius:0;border:calc(2px * var(--bb-ui-scale)) solid #fff;background:#000;box-shadow:none}body.theme-minimal #nameplate{background:#fff;border:calc(1px * var(--bb-ui-scale)) solid #333;color:#333;box-shadow:none}#np-name{font-size:calc(1.2rem * var(--bb-ui-scale));color:#fff;font-weight:700}body.theme-minimal #np-name{color:#333}#np-stats{font-size:calc(.8rem * var(--bb-ui-scale));color:var(--accent-color)}body.theme-minimal #np-stats{color:#333}#auth-modal{z-index:200;top:0;left:0;transform:none;width:100%;height:100%;max-height:none;min-width:0;padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 20px);border:none;border-radius:0;box-shadow:none;background:#000000a6;background-image:none;justify-content:center;align-items:center;animation:none}.auth-box{width:300px;background:#000c;border:1px solid var(--primary-color);padding:20px;border-radius:10px;position:relative;box-shadow:0 0 20px #0ff3}body.theme-minimal .auth-box{background:#fff;color:#333;border:1px solid #ccc;box-shadow:0 5px 15px #0000001a}.auth-tabs{display:flex;margin-bottom:20px;border-bottom:1px solid var(--primary-color)}.auth-message{display:none;margin:-5px 0 15px;padding:10px;border-radius:8px;border:1px solid var(--primary-color);background:#0000008c;font-size:.9rem;line-height:1.3;text-shadow:none}body.theme-minimal .auth-message{background:#eee;border:1px solid #ccc}.auth-message.success{border-color:var(--success-color)}.auth-message.error{border-color:var(--danger-color)}.auth-help{font-size:.85rem;line-height:1.3;color:#ffffffd9;text-shadow:none}body.theme-minimal .auth-help{color:#555}.auth-tabs button{flex:1;background:transparent;border:none;color:#555;font-size:1rem;padding:10px;margin:0;cursor:pointer;box-shadow:none;transition:color .3s}.auth-tabs button.active{color:var(--primary-color);border-bottom:3px solid var(--primary-color);text-shadow:0 0 5px var(--primary-color)}body.theme-minimal .auth-tabs button.active{text-shadow:none}.auth-tabs button:before{display:none}.auth-tabs button:hover{color:var(--text-color);transform:none;background:transparent;box-shadow:none}body.theme-minimal .auth-tabs button:hover{color:#333}.auth-form{display:none;flex-direction:column;gap:15px}.auth-form.active{display:flex}.auth-form input{background:#ffffff1a;border:1px solid var(--primary-color);padding:10px;color:#fff;font-family:var(--font-main);font-size:1rem;outline:none;text-align:center}body.theme-minimal .auth-form input{background:#eee;color:#333;border:1px solid #ccc}.auth-form input::placeholder{color:#aaa}.auth-form button{margin:10px 0 0;padding:10px;font-size:1.2rem}.auth-form .btn-secondary{background:transparent;border-color:var(--secondary-color);color:var(--secondary-color);box-shadow:none}body.theme-minimal .auth-form .btn-secondary{border-color:#666;color:#333}.close-btn{position:absolute;top:5px;right:5px;background:transparent;border:none;color:var(--danger-color);font-size:1.2rem;padding:5px;margin:0;width:30px;height:30px;line-height:1;box-shadow:none}.close-btn:hover{color:#fff;background:var(--danger-color);box-shadow:0 0 10px var(--danger-color);transform:scale(1.1)}.close-btn:before{display:none}#shop-modal{position:fixed;top:0;left:0;width:100%;height:100%;display:none;pointer-events:auto;justify-content:center;align-items:center;padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 20px);background:#000000a6;z-index:210}#shop-modal.active{display:flex}.shop-modal-box{width:340px;max-width:92vw;background:#000000d9;border:1px solid var(--primary-color);padding:20px;border-radius:10px;position:relative;box-shadow:0 0 20px #0ff3}body.theme-minimal .shop-modal-box{background:#fff;color:#333;border:1px solid #ccc;box-shadow:0 5px 15px #0000001a}.shop-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.shop-modal-title{font-size:1.3rem;color:var(--primary-color);text-transform:uppercase;text-shadow:none}body.theme-minimal .shop-modal-title{color:#333}.shop-modal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.shop-modal-row label{flex:1;text-align:left;font-size:.9rem;color:#ffffffd9;text-shadow:none}body.theme-minimal .shop-modal-row label{color:#555}.shop-modal-row input{width:120px;background:#ffffff1a;border:1px solid var(--primary-color);padding:10px;color:#fff;font-family:var(--font-main);font-size:1rem;outline:none;text-align:center}body.theme-minimal .shop-modal-row input{background:#eee;color:#333;border:1px solid #ccc}.shop-modal-suggestions{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-top:10px}.shop-modal-suggestion{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border-radius:8px;border:1px solid rgba(0,255,255,.35);background:#00ffff14;cursor:pointer;text-shadow:none;-webkit-user-select:none;user-select:none}body.theme-minimal .shop-modal-suggestion{border:1px solid #ccc;background:#f6f6f6}.shop-modal-suggestion.active{border-color:var(--success-color)}.shop-modal-suggestion-label{font-size:.95rem;color:var(--text-color)}body.theme-minimal .shop-modal-suggestion-label{color:#333}.shop-modal-suggestion-price{font-variant-numeric:tabular-nums;color:var(--accent-color)}.shop-modal-total{margin-top:10px;font-size:1.05rem;color:var(--accent-color);text-shadow:none}body.theme-minimal .shop-modal-total{color:#333}.shop-modal-actions{margin-top:10px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.shop-modal-actions button{margin:0;font-size:1.1rem;padding:10px 18px}.hidden{display:none!important}body.ui-editing #nameplate.hidden{display:block!important}
