:root{--font-family: "Orbitron", system-ui, Avenir, Helvetica, Arial, sans-serif;--border-radius: 8px;--transition: all .3s ease;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--elev-1: 0 10px 30px rgba(0,0,0,.25);--elev-2: 0 20px 50px rgba(0,0,0,.35);--surface-alpha: .52}:root[data-color-theme=blue]{--primary: #68D5E9;--primary-rgb: 104, 213, 233;--secondary: #5fb0e5;--secondary-rgb: 95, 176, 229;--accent: #2c3e50;--hover: #3a7bc8}:root[data-color-theme=orange]{--primary: #FF8E37;--primary-rgb: 255, 142, 55;--secondary: #f39c12;--secondary-rgb: 243, 156, 18;--accent: #d35400;--hover: #ca6f1e}:root[data-color-theme=pink]{--primary: #F866C0;--primary-rgb: 248, 102, 192;--secondary: #fd79a8;--secondary-rgb: 253, 121, 168;--accent: #8e44ad;--hover: #c13584}:root[data-mode=dark]{--background: #0a0a0b;--gridline: rgba(255,255,255,.03)}:root{--bg: var(--background, #0f172a);--text: #e5e7eb;--card: #111827;--border: #374151;--accent: var(--primary, #7c3aed);--accent-2: var(--secondary, #22c55e)}:root{--muted: #9ca3af;--danger: #ef4444}*{box-sizing:border-box}html,body{height:100%}#root{height:100%;min-height:100dvh}body{margin:0;color:var(--text);font-family:var(--font-family, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 600px at 10% -10%,rgba(var(--primary-rgb, 124,58,237),.08),transparent 60%),radial-gradient(900px 500px at 120% 10%,rgba(var(--secondary-rgb, 34,197,94),.07),transparent 60%),linear-gradient(180deg,#ffffff05,#fff0),var(--bg)}.landing{min-height:100dvh;display:grid;place-items:center;gap:2rem;padding:2rem}.landing .logo{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.landing .logo img{width:200px;height:200px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.45));animation:float 6s ease-in-out infinite}.landing h1{margin:0;font-size:3.2rem;letter-spacing:1px}.landing .tagline{color:var(--muted);margin-top:-.25rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}button{background:var(--button-bg, #1f2937);color:var(--text);border:1px solid var(--button-border, var(--border));padding:.25rem .5rem;border-radius:8px;font-size:.85rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease;box-shadow:none}button:hover{background:#253041;box-shadow:none}button:active{background:#212a3a}:root[data-app-theme=material-light] button:hover{background:#dee7f2}:root[data-app-theme=material-light] button:active{background:#d5e0ee}button:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(var(--primary-rgb, 124,58,237),.25)}button.primary{background:rgba(var(--primary-rgb, 124,58,237),.22);border-color:rgba(var(--primary-rgb, 124,58,237),.45)}button.primary:hover{background:rgba(var(--primary-rgb, 124,58,237),.3)}button.accent{background:rgba(var(--secondary-rgb, 34,197,94),.22);border-color:rgba(var(--secondary-rgb, 34,197,94),.45)}button.accent:hover{background:rgba(var(--secondary-rgb, 34,197,94),.3)}button.danger{--danger-rgb: 239, 68, 68;background:rgba(var(--danger-rgb),.22);border-color:rgba(var(--danger-rgb),.45)}button.danger:hover{background:rgba(var(--danger-rgb),.3)}.page{width:100%;max-width:none;margin:0;padding:1rem;display:grid;gap:1rem}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.header h2{margin:0}.header .left{justify-self:start}.header .center{justify-self:center}.header .right{justify-self:end}.controls{background:color-mix(in oklab,var(--card) 80%,transparent);border:1px solid color-mix(in oklab,var(--border),transparent 40%);padding:.9rem;border-radius:14px;display:flex;align-items:center;gap:.75rem;box-shadow:0 10px 30px #00000040;-webkit-backdrop-filter:saturate(120%) blur(8px);backdrop-filter:saturate(120%) blur(8px)}.controls label{color:var(--muted);margin-right:.25rem}.controls input[type=number]{width:5rem;padding:.5rem .6rem;background:var(--input-bg, #0b1220);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:inset 0 1px #ffffff05}.controls input[type=number]:focus-visible{outline:none;border-color:#5b21b6;box-shadow:0 0 0 3px #7c3aed40}.controls .spacer{flex:1}.round-maxes{display:flex;align-items:center;gap:.5rem;overflow:auto;padding:.25rem 0}.round-max{display:inline-flex;align-items:center;gap:.25rem;background:#ffffff08;border:1px solid var(--border);padding:.25rem .4rem;border-radius:8px}.round-max span{color:var(--muted);font-size:.85rem}.round-max input[type=number]{width:4rem;padding:.25rem .35rem}.landing-controls{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.25rem 1.5rem;width:min(100%,900px);border-radius:16px;border:1px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,#7c3aed73,#22c55e73) border-box}.landing-controls .box-header h3{margin:0;font-size:1.35rem;letter-spacing:.2px}.landing-controls .box-header .muted{margin:.15rem 0 0}.landing-controls>div:first-child input[type=number]{width:8rem;padding:.6rem .8rem;font-size:1.1rem}.landing-controls .round-maxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;align-items:start;padding-top:.5rem}.landing-controls .round-maxes>.muted{grid-column:1 / -1;margin-bottom:-.25rem}.landing-controls .round-max{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.6rem}.landing-controls .round-max span{font-size:.8rem}.landing-controls .round-max input[type=number]{width:100%;padding:.5rem .6rem;font-size:1rem}.landing-controls .actions{display:flex;justify-content:flex-end}.table-wrapper{overflow:auto;background:color-mix(in oklab,var(--card) 78%,transparent);border:1px solid color-mix(in oklab,var(--border),transparent 40%);border-radius:14px;box-shadow:0 10px 30px #00000040;-webkit-backdrop-filter:saturate(120%) blur(8px);backdrop-filter:saturate(120%) blur(8px)}table.grid{border-collapse:separate;border-spacing:0;width:auto;min-width:100%}table.grid th,table.grid td{padding:.5rem;border-bottom:1px solid var(--border)}table.grid thead th{position:sticky;top:0;background:linear-gradient(180deg,color-mix(in oklab,#0e1628,transparent 10%),color-mix(in oklab,#0b1220,transparent 10%));text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root[data-app-theme=material-light] table.grid thead th{background:linear-gradient(180deg,color-mix(in oklab,var(--card),white 80%),color-mix(in oklab,var(--card),white 70%));border-bottom-color:color-mix(in oklab,var(--border),transparent 50%)}table.grid tbody tr:hover{background:#ffffff05}:root[data-app-theme=material-light] table.grid tbody tr:hover{background:#0000000a}table.grid tbody tr:nth-child(odd){background:#ffffff03}th.rank,td.rank{width:70px;text-align:center}th.team,td.team{min-width:220px}th.total,td.total{width:100px;font-weight:600}th.actions,td.actions{width:120px}td.empty{text-align:center;color:var(--muted);padding:1rem}input.team-name{width:100%;padding:.55rem .75rem;background:var(--input-bg, #0b1220);color:var(--text);border:1px solid color-mix(in oklab,var(--border),transparent 30%);border-radius:10px;box-shadow:inset 0 1px #ffffff05}input.team-name:focus-visible{outline:none;border-color:#5b21b6;box-shadow:0 0 0 3px #7c3aed40}input.score{width:5rem;padding:.4rem .55rem;background:var(--input-bg, #0b1220);color:var(--text);border:1px solid color-mix(in oklab,var(--border),transparent 30%);border-radius:10px;text-align:right;box-shadow:inset 0 1px #ffffff05;font-variant-numeric:tabular-nums}input.score:focus-visible{outline:none;border-color:#5b21b6;box-shadow:0 0 0 3px #7c3aed40}input[type=number].score::-webkit-outer-spin-button,input[type=number].score::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].score{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.muted{color:var(--muted)}.scoreboard{display:grid;gap:.75rem;padding:.5rem}.scoreboard .empty{color:var(--muted);text-align:center;padding:1rem}.status-banner{background:#3b82f614;border:1px solid rgba(59,130,246,.35);border-radius:12px;padding:.75rem;display:flex;align-items:center;gap:.75rem}.status-banner.selected{background:#22c55e14;border-color:#22c55e59}.status-banner .tie-text{flex:1;color:var(--text)}.status-banner .tie-actions{display:flex;gap:.5rem}.tie-break{background:#7c3aed14;border:1px solid rgba(124,58,237,.35);border-radius:14px;padding:.9rem 1rem;display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:1rem;align-items:start}.tie-break.gold{background:linear-gradient(180deg,#ffd7001f,#ffd70008);border-color:#ffd70073;box-shadow:inset 0 1px #ffffff08,0 8px 24px #ffd70014}.tie-break.silver{background:linear-gradient(180deg,#cbd5e124,#94a3b80a);border-color:#cbd5e173;box-shadow:inset 0 1px #ffffff08,0 8px 24px #cbd5e112}.tie-break.bronze{background:linear-gradient(180deg,#cd7f321f,#cd7f3208);border-color:#cd7f3273;box-shadow:inset 0 1px #ffffff08,0 8px 24px #cd7f3214}.tie-break.gold .tie-text{color:gold}.tie-break.silver .tie-text{color:#e5e7eb}.tie-break.bronze .tie-text{color:#f1c27d}.tie-break.gold{border-left:4px solid #ffd700}.tie-break.silver{border-left:4px solid #cbd5e1}.tie-break.bronze{border-left:4px solid #cd7f32}.tie-break.selected{background:#3b82f614;border-color:#3b82f659}.tie-break .tie-text{color:var(--text);line-height:1.35;font-weight:600}.tie-break .tie-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;align-items:stretch}.tie-break .tie-actions>button{width:100%;justify-self:stretch}.tie-break.gold .tie-actions>button{border-color:#ffd70073;background:#ffd7001f}.tie-break.gold .tie-actions>button:hover{background:#ffd7002e}.tie-break.silver .tie-actions>button{border-color:#cbd5e173;background:#cbd5e11f}.tie-break.silver .tie-actions>button:hover{background:#cbd5e12e}.tie-break.bronze .tie-actions>button{border-color:#cd7f3273;background:#cd7f321f}.tie-break.bronze .tie-actions>button:hover{background:#cd7f322e}@media (max-width: 720px){.tie-break{grid-template-columns:1fr}.tie-break .tie-text{margin-bottom:.25rem}}.lane{display:grid;grid-template-columns:260px 1fr 80px;align-items:center;gap:.9rem;background:color-mix(in oklab,var(--card) 78%,transparent);border:1px solid color-mix(in oklab,var(--border),transparent 40%);border-radius:14px;padding:.75rem .9rem;box-shadow:0 10px 30px #00000040;-webkit-backdrop-filter:saturate(120%) blur(8px);backdrop-filter:saturate(120%) blur(8px)}.lane-left{display:flex;align-items:center;gap:.6rem;min-width:0}.crown-btn{background:transparent;border:0;color:var(--muted);padding:.15rem;border-radius:6px;display:inline-grid;place-items:center;transition:transform .12s ease,color .12s ease,filter .12s ease}.crown-btn:hover{color:gold;transform:translateY(-1px);filter:drop-shadow(0 2px 8px rgba(255,215,0,.25))}.crown-btn.selected{color:gold;filter:drop-shadow(0 2px 10px rgba(255,215,0,.35))}.rank-badge{width:44px;height:44px;border-radius:999px;background:#0b1220;border:1px solid var(--border);display:grid;place-items:center;font-weight:800;position:relative;overflow:hidden}:root[data-app-theme=material-light] .rank-badge{background:#e9eef6;border-color:#cfd6e2;color:#1c1b1f;box-shadow:none}.team-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-rounds{display:grid;gap:.45rem;align-items:stretch}.round-cell{display:grid;place-items:center;padding:.5rem .35rem;border:1px solid color-mix(in oklab,var(--border),transparent 30%);border-radius:10px;background:var(--chip-bg, #0b1220);min-width:44px;font-variant-numeric:tabular-nums}.round-cell strong{font-size:1rem}.lane-right{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.lane.dimmed{opacity:.45;filter:grayscale(30%) blur(1px);transition:opacity .2s ease,filter .2s ease}.team-head{display:inline-flex;align-items:center;gap:.5rem}button.small{padding:.25rem .5rem;font-size:.85rem;border-radius:8px}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9998;display:grid;place-items:center;padding:1rem}.tour-card{max-width:640px;width:min(96%,640px);background:color-mix(in oklab,var(--card) 85%,transparent);border:1px solid color-mix(in oklab,var(--border),transparent 40%);border-radius:14px;box-shadow:0 10px 30px #00000040;padding:1rem;display:grid;gap:.75rem;z-index:9999}.tour-title{font-weight:700;font-size:1.1rem}.tour-body{color:var(--text);line-height:1.4}.tour-actions{display:flex;gap:.5rem;align-items:center}.top-1 .rank-badge{background:linear-gradient(180deg,#fff3b0,gold 55%,#c28b00);border-color:#b38600;color:#1a1a1a;box-shadow:0 0 0 2px #ffd70059,0 0 18px #ffc80059}.top-1 .rank-badge:after{content:"";position:absolute;top:-35%;left:-45%;width:180%;height:70%;transform:rotate(25deg);background:linear-gradient(90deg,#ffffffa6,#fff0)}.top-2 .rank-badge{background:linear-gradient(180deg,#9ca3af,#6b7280);border-color:#4b5563;color:#0b0b0b}.top-3 .rank-badge{background:linear-gradient(180deg,#f1c27d,#cd7f32 55%,#8b5a2b);border-color:#7a3e0d;color:#1a1a1a;box-shadow:0 0 0 2px #cd7f324d,0 0 14px #cd7f3247}.top-3 .rank-badge:after{content:"";position:absolute;top:-35%;left:-45%;width:180%;height:70%;transform:rotate(25deg);background:linear-gradient(90deg,#ffffff73,#fff0)}.top-1,.top-2,.top-3{border-left:3px solid var(--accent)}.top-1{border-left-color:gold}.top-2{border-left-color:#cbd5e1}.top-3{border-left-color:#cd7f32}@media (max-width: 640px){.lane{grid-template-columns:180px 1fr 60px}.rank-badge{width:36px;height:36px}}:root[data-app-theme=default]{--bg: var(--background, #0f172a);--text: #e5e7eb;--card: #111827;--border: #374151;--accent: var(--primary, #7c3aed);--accent-2: var(--secondary, #22c55e);--input-bg: #0b1220;--chip-bg: #0b1220;--button-bg: #1f2937;--button-border: var(--border)}:root[data-app-theme=material]{--bg: #0b1210;--text: #E3F2E7;--card: #111c17;--border: #274036;--accent: #2E7D32;--accent-2: #66BB6A;--input-bg: #0f1915;--chip-bg: #0f1915;--button-bg: #16251f;--button-border: #274036}:root[data-app-theme=material-light]{--bg: #FAFAFA;--text: #1C1B1F;--card: #FFFFFF;--border: #DCE0E6;--accent: #6750A4;--accent-2: #03DAC6;--input-bg: #F4F6FA;--chip-bg: #EDF1F6;--button-bg: #E9EEF6;--button-border: #CFD6E2}
