*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=arcade-dark]{--black: #0a0a0f;--surface: #111118;--surface2: #1a1a24;--surface3: #22222f;--border: #33334a;--neon: #e8ff00;--neon2: #ff3cac;--neon3: #00f5ff;--text: #f0f0f8;--muted: #8888a8;--danger: #ff4444;--success: #00ff9d;--font-display: "Bebas Neue", sans-serif;--font-body: "Barlow Condensed", sans-serif;--font-mono: "DM Mono", monospace;--neon-bg: rgba(232,255,0,.15);--neon-border: rgba(232,255,0,.3);--neon2-bg: rgba(255,60,172,.15);--neon2-border: rgba(255,60,172,.3);--neon3-bg: rgba(0,245,255,.15);--neon3-border: rgba(0,245,255,.3);--success-bg: rgba(0,255,157,.15);--success-border: rgba(0,255,157,.3);--danger-bg: rgba(255,68,68,.15);--danger-border: rgba(255,68,68,.3);--overlay-bg: rgba(0,0,0,.85);--btn-hover: #ffffff;--gradient-success: linear-gradient(135deg, rgba(0,255,157,.1), rgba(232,255,0,.05));--gradient-card: linear-gradient(135deg, var(--surface) 0%, rgba(232,255,0,.05) 100%);--header-gradient: linear-gradient(90deg, var(--neon2), var(--neon), var(--neon3))}[data-theme=arcade-light]{--black: #f0f0f4;--surface: #ffffff;--surface2: #eaeaf0;--surface3: #dddde6;--border: #c0c0d0;--neon: #9aaa00;--neon2: #cc1888;--neon3: #008899;--text: #111118;--muted: #606078;--danger: #cc2222;--success: #008855;--neon-bg: rgba(154,170,0,.12);--neon-border: rgba(154,170,0,.3);--neon2-bg: rgba(204,24,136,.1);--neon2-border: rgba(204,24,136,.25);--neon3-bg: rgba(0,136,153,.1);--neon3-border: rgba(0,136,153,.25);--success-bg: rgba(0,136,85,.1);--success-border: rgba(0,136,85,.25);--danger-bg: rgba(204,34,34,.08);--danger-border: rgba(204,34,34,.25);--overlay-bg: rgba(0,0,0,.5);--btn-hover: var(--surface3);--gradient-success: linear-gradient(135deg, rgba(0,136,85,.08), rgba(154,170,0,.05));--gradient-card: linear-gradient(135deg, var(--surface) 0%, rgba(154,170,0,.06) 100%);--header-gradient: linear-gradient(90deg, var(--neon2), var(--neon), var(--neon3))}[data-theme=standard-dark]{--black: #0f1117;--surface: #181a22;--surface2: #1e2028;--surface3: #262830;--border: #363848;--neon: #5b8def;--neon2: #a78bfa;--neon3: #38bdf8;--text: #e8e8f0;--muted: #8888a8;--danger: #ef4444;--success: #34d399;--font-display: "Barlow Condensed", sans-serif;--font-body: "Barlow Condensed", sans-serif;--font-mono: "DM Mono", monospace;--neon-bg: rgba(91,141,239,.12);--neon-border: rgba(91,141,239,.3);--neon2-bg: rgba(167,139,250,.12);--neon2-border: rgba(167,139,250,.3);--neon3-bg: rgba(56,189,248,.12);--neon3-border: rgba(56,189,248,.3);--success-bg: rgba(52,211,153,.12);--success-border: rgba(52,211,153,.3);--danger-bg: rgba(239,68,68,.12);--danger-border: rgba(239,68,68,.3);--overlay-bg: rgba(0,0,0,.85);--btn-hover: #ffffff;--gradient-success: linear-gradient(135deg, rgba(52,211,153,.1), rgba(91,141,239,.05));--gradient-card: linear-gradient(135deg, var(--surface) 0%, rgba(91,141,239,.05) 100%);--header-gradient: linear-gradient(90deg, var(--neon2), var(--neon), var(--neon3))}[data-theme=standard-light]{--black: #f5f6f8;--surface: #ffffff;--surface2: #eef0f4;--surface3: #e2e4ea;--border: #cccdd8;--neon: #3b6fd8;--neon2: #7c5cbf;--neon3: #0891b2;--text: #1a1a2e;--muted: #606078;--danger: #dc2626;--success: #059669;--font-display: "Barlow Condensed", sans-serif;--font-body: "Barlow Condensed", sans-serif;--font-mono: "DM Mono", monospace;--neon-bg: rgba(59,111,216,.08);--neon-border: rgba(59,111,216,.25);--neon2-bg: rgba(124,92,191,.08);--neon2-border: rgba(124,92,191,.25);--neon3-bg: rgba(8,145,178,.08);--neon3-border: rgba(8,145,178,.25);--success-bg: rgba(5,150,105,.08);--success-border: rgba(5,150,105,.25);--danger-bg: rgba(220,38,38,.06);--danger-border: rgba(220,38,38,.2);--overlay-bg: rgba(0,0,0,.5);--btn-hover: var(--surface3);--gradient-success: linear-gradient(135deg, rgba(5,150,105,.08), rgba(59,111,216,.04));--gradient-card: linear-gradient(135deg, var(--surface) 0%, rgba(59,111,216,.05) 100%);--header-gradient: linear-gradient(90deg, var(--neon2), var(--neon), var(--neon3))}[data-theme^=standard] .glow-neon,[data-theme^=standard] .glow-pink{text-shadow:none}[data-theme^=standard] .font-display,[data-theme^=standard] .game-name,[data-theme^=standard] .mode-card .mode-title,[data-theme^=standard] .section-title,[data-theme^=standard] .section-title-sm,[data-theme^=standard] .section-title-xs,[data-theme^=standard] .section-title-game,[data-theme^=standard] .screen-title,[data-theme^=standard] .screen-title-sm,[data-theme^=standard] .screen-title-lg,[data-theme^=standard] .player-name,[data-theme^=standard] .player-name-sm,[data-theme^=standard] .player-name-lg,[data-theme^=standard] .machine-name-inline,[data-theme^=standard] .game-title,[data-theme^=standard] .modal-title,[data-theme^=standard] .logo{font-weight:900;text-transform:uppercase}html,body{height:100%;background:var(--black);color:var(--text);font-family:var(--font-body);overflow:hidden}#root{height:100%;display:flex;flex-direction:column}.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll::-webkit-scrollbar{width:3px}.scroll::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.loading-screen{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;color:var(--muted);letter-spacing:3px}.page{flex:1;display:flex;flex-direction:column;overflow:hidden}.page-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;display:flex;flex-direction:column;gap:16px}.page-centered{justify-content:center;padding:32px 20px}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:relative;z-index:10}.app-header:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--header-gradient)}.logo{font-family:var(--font-display);font-size:22px;letter-spacing:3px;color:var(--neon);line-height:1}.logo span{color:var(--neon2)}.tagline{font-family:var(--font-mono);font-size:9px;color:var(--muted);letter-spacing:2px;margin-top:2px}.btn{font-family:var(--font-body);font-weight:700;font-size:14px;letter-spacing:1px;padding:10px 18px;border:none;border-radius:6px;cursor:pointer;transition:all .15s;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--neon);color:var(--black)}.btn-primary:hover:not(:disabled){background:var(--btn-hover)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--neon);color:var(--neon)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:var(--black)}.btn-pink{background:var(--neon2);color:#fff}.btn-sm{font-size:12px;padding:6px 12px}.btn-lg{font-size:16px;padding:14px 24px;width:100%}.btn-icon{padding:8px;border-radius:6px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:16px;cursor:pointer}.btn-icon:hover{border-color:var(--neon);color:var(--neon)}.btn-link{background:transparent;border:none;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline;font-family:var(--font-body)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;flex-shrink:0}.card-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-body{padding:16px}.card-highlight{border-color:var(--neon)}.card-gradient{background:var(--gradient-card)}.card-success-gradient{background:var(--gradient-success);border-color:var(--success)}.input{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:16px;padding:12px 14px;border-radius:8px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--neon)}.input::placeholder{color:var(--muted)}.input-mono{font-family:var(--font-mono);font-size:22px;text-align:center;letter-spacing:2px}.input-score{font-size:36px;padding:18px;text-align:center;cursor:text;position:relative;z-index:1}.input-score-neon{color:var(--neon)}.input-score-muted{color:var(--muted)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238888a8' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}label{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:block}textarea.input{resize:vertical;min-height:80px;line-height:1.5}.tabs{display:flex;background:var(--surface2);border-radius:8px;padding:3px;gap:2px}.tab{flex:1;padding:8px;text-align:center;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .15s;color:var(--muted);border:none;background:transparent;font-family:var(--font-body)}.tab.active{background:var(--neon);color:var(--black)}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-family:var(--font-mono)}.badge-neon{background:var(--neon-bg);color:var(--neon);border:1px solid var(--neon-border)}.badge-pink{background:var(--neon2-bg);color:var(--neon2);border:1px solid var(--neon2-border)}.badge-cyan{background:var(--neon3-bg);color:var(--neon3);border:1px solid var(--neon3-border)}.badge-muted{background:var(--surface3);color:var(--muted);border:1px solid var(--border)}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-xs{font-size:9px}.badge-sm{font-size:10px}.progress-bar{height:4px;background:var(--surface3);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--neon2),var(--neon));border-radius:2px;transition:width .4s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:100;display:flex;align-items:flex-end}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px 16px 0 0;padding:24px 20px 32px;width:100%;max-height:90vh;overflow-y:auto}.modal-title{font-family:var(--font-display);font-size:26px;letter-spacing:2px;margin-bottom:16px}.chevron{font-size:14px;color:var(--muted);transition:transform .2s;display:inline-block}.chevron.open{transform:rotate(90deg)}.chevron-sm{font-size:12px}.score-big{font-family:var(--font-mono);color:var(--neon);font-size:22px;font-weight:700}.score-huge{font-family:var(--font-display);color:var(--neon);font-size:48px}.points-display{font-family:var(--font-display);font-size:26px}.score-input-wrapper{position:relative;margin-bottom:20px}.score-input-hidden{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0;z-index:2}.skip-machine-box{margin-top:24px;padding:12px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;text-align:center}.status-bar{padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.tab-bar{padding:10px 16px;flex-shrink:0}.info-box-neon{background:var(--neon-bg);border:1px solid var(--neon-border);border-radius:8px;padding:12px}.error-box{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;padding:12px;font-size:13px;color:var(--danger)}.event-code{font-family:var(--font-mono);font-size:36px;color:var(--neon);letter-spacing:6px;background:var(--surface2);padding:16px 32px;border-radius:10px;border:2px solid var(--neon)}.confirm-box{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:10px;padding:16px;text-align:center}.confirm-box-info{background:var(--neon3-bg);border-color:var(--neon3-border)}.section-label{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px}.score-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.score-row:last-child{border-bottom:none}.game-pill{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;margin-bottom:8px}.game-pill:hover{border-color:var(--neon3)}.game-pill.done{border-color:var(--success);opacity:.85}.game-pill.pending{border-color:var(--neon)}.game-name{font-family:var(--font-display);font-size:20px;letter-spacing:1px}.rank{font-family:var(--font-display);font-size:22px;min-width:32px;text-align:center}.rank-1{color:gold}.rank-2{color:silver}.rank-3{color:#cd7f32}.rank-n{color:var(--muted);font-size:16px}.glow-neon{color:var(--neon);text-shadow:0 0 20px rgba(232,255,0,.5)}.glow-pink{color:var(--neon2);text-shadow:0 0 20px rgba(255,60,172,.5)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cursor-pointer{cursor:pointer}.no-link{text-decoration:none;display:block}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:var(--neon);color:var(--black);font-weight:700;font-size:13px;letter-spacing:1px;padding:10px 20px;border-radius:8px;z-index:999;animation:toastIn .2s ease;max-width:90vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-error{background:#ef4444;color:#fff}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.home-hero{text-align:center;padding:40px 20px 20px}.home-hero .big-logo{font-family:var(--font-display);font-size:72px;letter-spacing:8px;color:var(--neon);line-height:1}.home-hero .sub{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:3px;margin-top:8px}.mode-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.mode-card:hover,.mode-card:active{border-color:var(--neon);background:var(--surface2)}.mode-card .mode-icon{font-size:36px;margin-bottom:10px}.mode-card .mode-title{font-family:var(--font-display);font-size:28px;letter-spacing:2px;color:var(--neon)}.mode-card .mode-desc{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.4}.version-footer{text-align:center;color:var(--muted);font-size:11px;font-family:var(--font-mono);letter-spacing:2px}.auth-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;gap:24px}.auth-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px}.auth-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;padding:12px;font-size:13px;color:var(--danger)}.auth-heading{font-family:var(--font-display);font-size:40px;letter-spacing:4px}.auth-subheading{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:2px;margin-top:6px}.auth-link{color:var(--neon);text-decoration:none}.auth-link-muted{color:var(--muted);font-size:12px;text-decoration:none}.auth-link-alt{color:var(--neon3);font-size:13px;text-decoration:none}.screen-title{font-family:var(--font-display);font-size:18px;letter-spacing:3px;color:var(--neon)}.screen-title-sm{font-family:var(--font-display);font-size:15px;letter-spacing:2px}.screen-title-lg{font-family:var(--font-display);font-size:22px;letter-spacing:4px}.screen-subtitle{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:3px}.section-title{font-family:var(--font-display);font-size:20px;letter-spacing:2px}.section-title-sm{font-family:var(--font-display);font-size:18px;letter-spacing:2px}.section-title-xs{font-family:var(--font-display);font-size:16px;letter-spacing:2px}.section-title-game{font-family:var(--font-display);font-size:16px;letter-spacing:1px}.player-name{font-family:var(--font-display);font-size:18px;letter-spacing:1px}.player-name-sm{font-family:var(--font-display);font-size:15px;letter-spacing:1px}.player-name-lg{font-family:var(--font-display);font-size:17px;letter-spacing:1px}.machine-name-inline{font-family:var(--font-display);font-size:18px;letter-spacing:1px}.game-title{font-family:var(--font-display);font-size:36px;letter-spacing:3px}.game-pill-col-left{min-width:0;flex:0 0 auto;max-width:30%}.game-pill-col-center{flex:1;text-align:center;min-width:0}.game-pill-col-right{flex:0 0 auto}.game-pill-name{color:var(--success);font-size:16px}.settings-desc{margin-bottom:10px;font-size:13px;color:var(--muted);line-height:1.5}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-option{padding:14px 12px;border-radius:10px;cursor:pointer;border:2px solid var(--border);transition:all .15s;text-align:center}.theme-option:hover{border-color:var(--muted)}.theme-option.active{border-color:var(--neon)}.theme-swatch{width:100%;height:32px;border-radius:6px;margin-bottom:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px}.theme-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:6px}.gap-10{gap:10px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-8{margin-bottom:32px}.p-3{padding:12px}.p-6{padding:24px}.py-4{padding-top:16px;padding-bottom:16px}.py-8{padding-top:32px;padding-bottom:32px}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--muted)}.text-neon{color:var(--neon)}.text-neon2{color:var(--neon2)}.text-neon3{color:var(--neon3)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-2xs{font-size:9px}.font-mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.font-bold{font-weight:700}.leading-relaxed{line-height:1.6}.tracking-1{letter-spacing:1px}.tracking-2{letter-spacing:2px}.tracking-3{letter-spacing:3px}.w-full{width:100%}.min-w-0{min-width:0}.border-b{border-bottom:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.divider{border:none;border-top:1px solid var(--border);margin:8px 0}
