:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d17;--panel:#161a2c;--border:#2b3050;--text:#e8e6f0;--muted:#9aa0b8;--accent:#b98cff;--accent-strong:#8c5cff;--error:#ff7a90;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--text);min-height:100vh}.page{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;padding:1.5rem;display:flex}.game-title{letter-spacing:.08em;background:linear-gradient(120deg, var(--accent), #6ee7ff);color:#0000;text-align:center;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.8rem,5vw,3rem)}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:1rem;flex-direction:column;gap:.9rem;width:min(24rem,100%);padding:1.75rem;display:flex}.auth-card h2{font-weight:600}.auth-card label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.auth-card input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:.5rem;padding:.6rem .75rem;font-size:1rem}.auth-card input:focus{outline:2px solid var(--accent-strong);border-color:#0000}button,.button-link{background:var(--accent-strong);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:.5rem;padding:.65rem 1.2rem;font-size:1rem;font-weight:600;text-decoration:none}button:hover,.button-link:hover{filter:brightness(1.15)}button:disabled{opacity:.6;cursor:wait}.auth-links{justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.auth-links a{color:var(--accent)}.form-error{color:var(--error);font-size:.9rem}.lobby{justify-content:flex-start;padding-top:3rem}.lobby-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:min(52rem,100%);display:flex}.lobby-stats{color:var(--muted);gap:1.25rem;margin-top:.4rem;font-size:1.05rem;display:flex}.lobby-nav{gap:.75rem;display:flex}button.secondary,.button-link.secondary{border:1px solid var(--border);color:var(--text);background:0 0}.boss-select{flex-direction:column;gap:1rem;width:min(52rem,100%);margin-top:2rem;display:flex}.boss-card{aspect-ratio:1;border:1px solid var(--border);background:linear-gradient(160deg,#1c2140,#101327);border-radius:1.25rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:14rem;transition:transform .12s,border-color .12s;display:flex}.boss-card:hover{border-color:var(--accent);transform:translateY(-3px)}.boss-card-title{font-size:1.3rem;font-weight:700}.boss-card-sub{color:var(--muted);font-size:.9rem}.table-wrap{width:min(40rem,100%);overflow-x:auto}.leaderboard{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:.75rem;width:100%;overflow:hidden}.leaderboard th,.leaderboard td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .9rem}.leaderboard th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.leaderboard tbody tr:last-child td{border-bottom:none}.game-page{background:#000;position:fixed;inset:0;overflow:hidden}.game-canvas{width:100%;height:100%;position:absolute;inset:0}.game-canvas canvas{margin:0 auto}.corner{z-index:15;align-items:center;gap:.75rem;display:flex;position:absolute}.corner-tl{top:.75rem;left:.75rem}.corner-tr{top:.75rem;right:.75rem}.game-points{color:var(--accent);font-weight:600}.hold-button{-webkit-user-select:none;user-select:none;touch-action:none}.shop-overlay.translucent{background:#04050c8c}.game-topbar-left{align-items:center;gap:.75rem;display:flex}.dimension-badge{letter-spacing:.04em;font-weight:700}.edge-alert{pointer-events:none;z-index:20;animation:.45s ease-in-out infinite alternate edge-pulse;position:fixed;inset:0}@keyframes edge-pulse{0%{opacity:.55}to{opacity:1}}.shop-overlay{z-index:10;background:#04050cb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shop-modal{background:var(--panel);border:1px solid var(--border);border-radius:1rem;flex-direction:column;gap:1rem;width:min(26rem,90vw);padding:1.75rem;display:flex}.shop-actions{gap:.75rem;display:flex}.reset-token{background:var(--bg);border:1px dashed var(--border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:.5rem;padding:.5rem}
