:root{--bg: #05010d;--panel: #0b0620;--panel-hi: #12102a;--line: #241a4a;--text: #e8f4ff;--text-dim: #8a7fb8;--accent: #ffe600;--accent-dim: #b8a600;--cyan: #00e5ff;--cyan-soft: #5ee6ff;--good: #39ff14;--warn: #ffe600;--bad: #ff3355;--gold: #ffd700;--silver: #c8c8d0;--bronze: #cd7f32;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-pixel: "Press Start 2P", var(--font-mono)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--cyan);text-decoration:none}a:hover{color:var(--accent);text-decoration:none}.shell{min-height:100%;display:grid;grid-template-rows:auto 1fr;background:radial-gradient(ellipse at 50% -10%,#0d052b,#05010d 60%)}.shell header{border-bottom:4px solid var(--line);background:var(--panel);padding:22px 40px;display:flex;align-items:center;gap:24px}.shell header .brand{font-family:var(--font-pixel);font-size:18px;color:var(--accent);letter-spacing:3px;text-shadow:0 0 10px rgba(255,230,0,.5)}.shell header nav{display:flex;gap:28px;margin-left:auto;align-items:center}.shell header nav a{font-family:var(--font-pixel);font-size:12px;letter-spacing:2px;color:var(--cyan);padding:10px 14px;border:3px solid transparent}.shell header nav a:hover{color:var(--accent)}.shell header nav a.active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 10px #ffe60040}.shell header .team-chip{font-family:var(--font-pixel);font-size:10px;letter-spacing:1px;color:var(--cyan-soft);padding:8px 12px;border:2px solid var(--line)}.shell main{padding:32px;display:flex;justify-content:center}.shell main>*{width:100%;max-width:900px}.card{background:var(--panel);border:4px solid var(--line);box-shadow:0 0 30px #00e5ff14;padding:44px 48px}.card h1{margin:0 0 6px;font-family:var(--font-pixel);font-size:24px;font-weight:400;color:#fff;letter-spacing:3px;line-height:1.5;text-transform:uppercase}.card p.hint{margin:18px 0 28px;color:var(--text-dim);font-family:var(--font-pixel);font-size:12px;letter-spacing:1px;line-height:2.1;text-transform:uppercase}.field{display:block;margin-bottom:26px}.field label{display:block;font-family:var(--font-pixel);font-size:12px;color:var(--cyan-soft);letter-spacing:2px;margin-bottom:12px;text-transform:uppercase}.field input,.field select{width:100%;padding:16px 14px;font-size:16px;font-family:var(--font-pixel);letter-spacing:1px;background:var(--panel-hi);color:var(--text);border:3px solid var(--line);border-radius:0}.field input:focus,.field select:focus{border-color:var(--cyan);box-shadow:0 0 12px #00e5ff59;outline:none}button.primary{padding:18px 26px;font-family:var(--font-pixel);font-size:16px;letter-spacing:3px;text-transform:uppercase;background:var(--accent);color:#05010d;border:none;border-bottom:6px solid var(--accent-dim);border-radius:0;cursor:pointer}button.primary:disabled{opacity:.5;cursor:not-allowed}button.primary:hover:not(:disabled){background:#fff176}button.primary:active:not(:disabled){border-bottom-width:2px;transform:translateY(4px)}button.ghost{padding:10px 14px;font-family:var(--font-pixel);font-size:11px;letter-spacing:1px;text-transform:uppercase;background:transparent;color:var(--text-dim);border:2px solid var(--line);border-radius:0;cursor:pointer}button.ghost:hover{color:var(--text);border-color:var(--text-dim)}.error{margin-top:18px;padding:14px;background:#ff33551a;color:var(--bad);border:3px solid rgba(255,51,85,.4);font-family:var(--font-pixel);font-size:12px;letter-spacing:1px;line-height:1.9}.info{margin-top:18px;padding:14px;background:#39ff1414;color:var(--good);border:3px solid rgba(57,255,20,.35);font-family:var(--font-pixel);font-size:12px;letter-spacing:1px;line-height:1.9}.card-foot{margin-top:32px;font-family:var(--font-pixel);font-size:11px;color:var(--text-dim);letter-spacing:1px;line-height:2;text-transform:uppercase}.dropzone{border:3px dashed var(--line);padding:48px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;color:var(--text-dim);font-family:var(--font-pixel);font-size:13px;letter-spacing:1px;line-height:2}.dropzone:hover,.dropzone.dragover{border-color:var(--cyan);background:#00e5ff0a;box-shadow:0 0 12px #00e5ff33}.dropzone.selected{border-style:solid;border-color:var(--cyan);color:var(--text)}.progress{height:20px;border:3px solid var(--good);padding:3px;box-shadow:0 0 10px #39ff1466;margin-top:16px}.progress>div{height:100%;background:repeating-linear-gradient(90deg,var(--good) 0 12px,var(--panel) 12px 16px);transition:width .15s linear}.sub-list{list-style:none;padding:0;margin:20px 0 0}.sub-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:12px 16px;border:2px solid var(--line);margin-bottom:8px;font-family:var(--font-mono);font-size:13px;align-items:center}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-family:var(--font-pixel);font-size:10px;text-transform:uppercase;letter-spacing:1px}.pill.scored{background:#39ff141f;color:var(--good)}.pill.judging{background:#ffe6001f;color:var(--accent)}.pill.uploaded,.pill.awaiting_upload{background:#5ee6ff1f;color:var(--cyan-soft)}.pill.flagged{background:#ffe6001f;color:var(--warn)}.pill.failed{background:#ff33551f;color:var(--bad)}.pill.pending{background:#8a7fb824;color:var(--text-dim)}.pill.judging:after,.pill.uploaded:after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.arcade{min-height:100vh;background:radial-gradient(ellipse at 50% -10%,#12063a,#05010d 62%);font-family:"Press Start 2P",var(--font-mono);color:#e8f4ff;position:relative;overflow:hidden;padding:56px 40px 220px}.arcade a{color:#00e5ff;text-decoration:none}.arcade a:hover{color:#ffe600;text-decoration:none}.arc-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;max-width:1400px;margin:0 auto}.arc-topbar-left{display:flex;gap:28px;align-items:baseline}.arc-meta{font-size:14px;color:#5ee6ff;opacity:.85;letter-spacing:2px}.arc-error{color:#f35}.arc-signin{font-size:13px;letter-spacing:2px}.arc-btn{font-family:inherit;font-size:13px;padding:10px 14px;background:#0b0620;color:#5ee6ff;border:3px solid #241a4a;cursor:pointer}.arc-btn.sound{color:#ffe600}.arc-btn:hover{border-color:#ffe600}.arc-marquee{max-width:1200px;margin:36px auto 0;text-align:center;border:6px solid #ff2bd6;box-shadow:0 0 0 6px #05010d,0 0 0 10px #00e5ff,0 0 42px #ff2bd680,inset 0 0 30px #ff2bd62e;padding:40px 24px 34px;background:#0a0322}.arc-marquee h1{margin:0;font-size:52px;font-weight:400;color:#fff;letter-spacing:6px;animation:arcMarqueeGlow 2.6s ease-in-out infinite}.arc-subtitle{margin-top:26px;font-size:26px;color:#ffe600;letter-spacing:12px;text-shadow:0 0 14px rgba(255,230,0,.8)}.arc-empty{max-width:1200px;margin:110px auto;text-align:center}.arc-press-start{font-size:44px;color:#ffe600;letter-spacing:8px;text-shadow:0 0 18px rgba(255,230,0,.8);animation:arcBlinkSlow 1.6s steps(1) infinite}.arc-empty-sub{margin-top:40px;font-size:24px;color:#5ee6ff;letter-spacing:6px}.arc-empty-hint{margin-top:32px;font-size:14px;color:#8a7fb8;letter-spacing:3px}.arc-board{max-width:1200px;margin:44px auto 0}.arc-head{display:grid;grid-template-columns:150px minmax(300px,1fr) minmax(290px,auto);gap:24px;padding:0 28px 16px;font-size:16px;color:#ff2bd6;letter-spacing:4px}.arc-head .right{text-align:right}.arc-rows{display:flex;flex-direction:column;gap:18px}.arc-row{display:grid;grid-template-columns:150px minmax(300px,1fr) minmax(290px,auto);gap:24px;align-items:center;padding:24px 28px;background:#0b0620;border:4px solid #241a4a}.arc-row.leader{border-color:#ff2bd6;box-shadow:0 0 26px #ff2bd659}.arc-rank{font-size:36px}.arc-team{display:flex;align-items:center;gap:20px;min-width:0}.arc-name{flex:1 1 auto;min-width:120px;font-size:28px;color:#e8f4ff;letter-spacing:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}.arc-chip{font-size:14px;color:#00e5ff;border:2px solid #00e5ff;padding:7px 10px;letter-spacing:2px;flex-shrink:0;box-shadow:0 0 10px #00e5ff59;text-transform:uppercase}.arc-chip.flag{color:#ffe600;border-color:#ffe600;box-shadow:0 0 10px #ffe60059}.arc-score{display:flex;justify-content:flex-end}.arc-digits{display:flex;gap:4px}.arc-digit-window{height:52px;width:42px;overflow:hidden;text-align:center}.arc-digit-reel{transition:transform .9s cubic-bezier(.2,.8,.2,1);font-size:38px;color:#39ff14;text-shadow:0 0 12px rgba(57,255,20,.7)}.arc-digit-reel div{height:52px;line-height:52px}.arc-status{text-align:right}.arc-status-label{font-size:22px;color:#39ff14;letter-spacing:3px;text-shadow:0 0 12px rgba(57,255,20,.7)}.arc-bar{margin-top:12px;width:260px;height:20px;border:3px solid #39ff14;padding:3px;box-shadow:0 0 10px #39ff1466}.arc-bar>div{height:100%;background:repeating-linear-gradient(90deg,#39ff14 0,#39ff14 12px,#0b0620 12px,#0b0620 16px);animation:arcJudgeBar 1.4s steps(9) infinite alternate}.arc-failed{font-size:22px;color:#f35;letter-spacing:2px;text-align:right;line-height:1.7;text-shadow:0 0 14px rgba(255,51,85,.8)}.arc-pending{font-size:18px;color:#8a7fb8;letter-spacing:3px;text-align:right;animation:arcBlinkSlow 2.4s steps(1) infinite}.arc-footer{max-width:1200px;margin:70px auto 0;text-align:center}.arc-insert-coin{font-size:24px;color:#ffe600;letter-spacing:6px;text-shadow:0 0 14px rgba(255,230,0,.7);animation:arcBlinkSlow 2s steps(1) infinite}.arc-sponsors{margin:44px auto 0;display:inline-flex;flex-direction:column;align-items:center;gap:22px;background:#0b0620;border:4px solid #241a4a;padding:28px 56px 32px;box-shadow:0 0 24px #00e5ff26}.arc-presented{font-size:15px;color:#8a7fb8;letter-spacing:5px}.arc-logos{display:flex;align-items:center;gap:56px}.arc-logo-tile{background:#12102a;padding:18px 26px;border-radius:6px;display:flex;align-items:center;justify-content:center}.arc-logo-tile img{width:220px;height:72px;object-fit:contain}.arc-wordmark{width:220px;height:72px;display:flex;align-items:center;justify-content:center;font-size:19px;color:#00e5ff;letter-spacing:3px;text-shadow:0 0 12px rgba(0,229,255,.6)}.arc-ship{position:fixed;bottom:10px;left:-70px;width:55px;height:25px;z-index:30;animation:arcShipPatrol 40s linear infinite alternate;pointer-events:none}.arc-ship>div{width:5px;height:5px;background:transparent;box-shadow:25px 0 #39ff14,20px 5px #39ff14,25px 5px #00e5ff,30px 5px #39ff14,10px 10px #39ff14,15px 10px #39ff14,20px 10px #39ff14,25px 10px #39ff14,30px 10px #39ff14,35px 10px #39ff14,40px 10px #39ff14,5px 15px #39ff14,10px 15px #39ff14,20px 15px #39ff14,25px 15px #39ff14,30px 15px #39ff14,40px 15px #39ff14,45px 15px #39ff14,15px 20px #ff2bd6,35px 20px #ff2bd6}.arc-crt-scanlines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0,#0000 3px,#00000029 3px,#00000029 5px)}.arc-crt-vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;pointer-events:none;background:radial-gradient(ellipse at center,#0000 55%,#0000006b)}.arc-confetti{position:fixed;top:-20px;width:12px;height:12px;z-index:60;pointer-events:none;animation-name:arcConfettiFall;animation-timing-function:linear;animation-fill-mode:forwards}.arc-flash{position:fixed;top:44%;left:50%;transform:translate(-50%,-50%);z-index:70;pointer-events:none;font-size:64px;color:#ff2bd6;letter-spacing:8px;text-align:center;text-shadow:0 0 12px #ff2bd6,0 0 40px #ff2bd6,4px 4px 0 #05010d;animation:arcFlashZoom 2.8s ease forwards;white-space:nowrap}.arc-rainbow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;overflow:hidden}.arc-rainbow>div{position:absolute;left:0;right:0;height:40%;top:-45%;opacity:.3;filter:blur(6px);background:linear-gradient(180deg,#ff0040,#ff8c00,#ffe600,#39ff14,#00e5ff,#4d4dff,#ff2bd6);animation:arcRainbowSweep 1.3s linear infinite}.arc-toast{position:fixed;top:32px;left:50%;transform:translate(-50%);z-index:90;background:#0b0620;border:4px solid #ff2bd6;box-shadow:0 0 24px #ff2bd699;padding:20px 28px;font-size:16px;color:#5ee6ff;letter-spacing:2px;line-height:1.8;text-align:center;max-width:80vw}@keyframes arcBlinkSlow{0%,55%{opacity:1}56%,to{opacity:0}}@keyframes arcJudgeBar{0%{width:6%}to{width:94%}}@keyframes arcConfettiFall{to{transform:translateY(110vh) rotate(720deg)}}@keyframes arcShipPatrol{0%{left:-70px}to{left:calc(100% + 20px)}}@keyframes arcFlashZoom{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}12%{transform:translate(-50%,-50%) scale(1.08);opacity:1}20%{transform:translate(-50%,-50%) scale(1)}82%{opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes arcRainbowSweep{0%{top:-45%}to{top:105%}}@keyframes arcMarqueeGlow{0%,to{text-shadow:0 0 8px #ff2bd6,0 0 26px #ff2bd6,0 0 60px rgba(255,43,214,.6)}50%{text-shadow:0 0 6px #ff2bd6,0 0 16px #ff2bd6,0 0 34px rgba(255,43,214,.45)}}@media (prefers-reduced-motion: reduce){.arcade *,.arcade *:before,.arcade *:after{animation:none!important;transition:none!important}}table.admin{width:100%;border-collapse:collapse}table.admin th,table.admin td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}table.admin th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}table.admin td.actions{display:flex;gap:6px}
