:root{--color-bg:#050818;--color-surface:#0d1a35;--color-surface-raised:#0a1428;--color-border:#1a3a6e;--color-primary:#00d4ff;--color-primary-dark:#06f;--color-primary-gradient:linear-gradient(90deg, #00d4ff, #06f);--color-gold:gold;--color-silver:silver;--color-bronze:#cd7f32;--color-text:#fff;--color-text-secondary:#89a;--color-text-muted:#456;--color-success:#00c48c;--color-danger:#f44;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.5}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}.btn{border-radius:var(--radius-md);border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-primary-gradient);color:#000}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem}.badge{border-radius:var(--radius-sm);letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.badge-open{color:var(--color-success);background:#00c48c26}.badge-locked{color:var(--color-gold);background:#ffd70026}.badge-scored{color:var(--color-primary);background:#00d4ff26}input.text-input{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);outline:none;width:100%;padding:.625rem .875rem;font-size:.9rem;transition:border-color .15s}input.text-input:focus{border-color:var(--color-primary)}.page{max-width:720px;margin:0 auto;padding:2rem 1rem}.page-title{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.75rem;font-weight:800}.error-msg{color:var(--color-danger);margin-top:.5rem;font-size:.85rem}.label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}
