:root{--km-bg:#07111f;--km-card:#101d31;--km-text:#e5edf7;--km-muted:#90a4bd;--km-border:rgba(255,255,255,.12);--km-primary:#17b3ed}
[data-bs-theme="light"]{--km-bg:#f3f8fd;--km-card:#fff;--km-text:#172033;--km-muted:#5f7288;--km-border:rgba(0,0,0,.12)}
html,body{background:var(--km-bg);color:var(--km-text);font-family:Inter,system-ui,Segoe UI,sans-serif}.km-navbar{background:linear-gradient(135deg,#0d233c,#102d4f);box-shadow:0 6px 20px rgba(0,0,0,.25)}.km-card{background:var(--km-card);border:1px solid var(--km-border);border-radius:18px;box-shadow:0 12px 35px rgba(0,0,0,.18)}.table{--bs-table-bg:transparent;--bs-table-color:var(--km-text);--bs-table-border-color:var(--km-border)}.text-secondary{color:var(--km-muted)!important}.btn-primary{background:var(--km-primary);border-color:var(--km-primary)}.form-control,.form-select{background:color-mix(in srgb,var(--km-card),#000 4%);color:var(--km-text);border-color:var(--km-border)}[data-bs-theme="light"] .form-control,[data-bs-theme="light"] .form-select{background:#fff;color:#172033}.km-score-table{max-height:72vh;overflow:auto;border:1px solid var(--km-border);border-radius:16px}.km-score-table thead th{position:sticky;top:0;background:var(--km-card);z-index:5}.km-score-table .num{width:4.6rem}.team-name{min-width:11rem}.presentation-header{padding:1.5rem;border-radius:20px;background:linear-gradient(135deg,#0d47a1,#17b3ed);margin-bottom:1rem}.chart-wrap{display:grid;gap:.6rem}.bar-row{display:grid;grid-template-columns:minmax(12rem,22rem) 1fr 5rem;align-items:center;gap:.7rem;transition:opacity .35s,transform .35s}.bar-row.hidden-score{opacity:.08;filter:blur(2px);transform:translateY(8px)}.bar-label{font-weight:800}.bar-stack{height:2.2rem;border-radius:999px;overflow:hidden;background:#173557;display:flex;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.seg{display:block;height:100%;min-width:2px}.r1{background:#2563eb}.r2{background:#ef4444}.r3{background:#facc15}.shots{background:#fb923c}.r4{background:#22c55e}.joker{background:#a855f7}.r5{background:#14b8a6}.score{font-size:1.25rem}.km-stat{height:100%;padding:1.2rem;border-radius:18px;background:var(--km-card);border:1px solid var(--km-border)}.km-stat span{display:block;color:var(--km-muted);font-size:.9rem}.km-stat strong{display:block;font-size:1.4rem}.km-stat small{color:var(--km-muted)}
