*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{color:#e2e8f0;background:#0f172a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root{--bg:#0f172a;--surface:#1a2540;--surface-2:#22305a;--border:#2f3f66;--text:#e2e8f0;--muted:#93a3c4;--primary:#f97316;--primary-dark:#c2560a;--danger:#ef4444;--danger-dark:#b91c1c}.app{flex-direction:column;max-width:720px;min-height:100vh;margin:0 auto;padding-bottom:72px;display:flex}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1rem .5rem;display:flex}.app-header h1{letter-spacing:.02em;margin:0;font-size:1.2rem}.admin-bar{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem;font-size:.7rem}.badge-admin{color:var(--primary);border-color:var(--primary)}.banner{border:1px solid var(--danger);background:#ef44441a;border-radius:8px;margin:0 1rem .5rem;padding:.5rem .75rem}.poster-banner{text-align:center;background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-radius:14px;margin:0 1rem 1rem;padding:1.1rem 1rem;box-shadow:0 4px 16px #f9731640}.poster-banner-title{color:#1a1005;letter-spacing:.02em;font-size:1.3rem;font-weight:800}.poster-banner-subtitle{color:#4a2a08;margin-top:.25rem;font-size:.85rem}@media (width>=600px){.poster-banner-title{font-size:1.6rem}}.app-main{flex:1;padding:0 1rem 1rem}.view h2{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .75rem;font-size:1.1rem}.view h3{margin:1.5rem 0 .5rem;font-size:1rem}.view h4{color:var(--muted);margin:1rem 0 .4rem;font-size:.9rem}.nav{background:var(--surface);border-top:1px solid var(--border);max-width:720px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:.5rem .25rem;font-size:.7rem;display:flex}.nav-item-active{color:var(--primary)}.nav-icon{font-size:1.2rem}input,select,button{font-family:inherit;font-size:1rem}input,select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:.6rem .7rem}.inline-form{gap:.5rem;margin-bottom:.5rem;display:flex}.inline-form input,.inline-form-grow{flex:1}.stack-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.stack-form label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.rules-form{margin-top:.75rem}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;padding:.6rem 1rem}.btn:hover{border-color:var(--primary)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#1a1005;font-weight:600}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:.35rem .6rem;font-size:.8rem}.btn-lg{border-radius:12px;padding:.9rem 1.5rem;font-size:1.3rem}.list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.list-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.list-title{font-weight:500}.list-subtitle{color:var(--muted);margin-top:.15rem;font-size:.8rem}.list-actions{flex-shrink:0;gap:.4rem;display:flex}.vs{color:var(--muted);margin:0 .3rem;font-size:.8rem}.empty-state{color:var(--muted);font-style:italic}.error-text{color:var(--danger);margin:.25rem 0;font-size:.85rem}.hint{color:var(--muted);font-size:.8rem}.court-grid{flex-direction:column;gap:1.25rem;display:flex}.court-card{border:1px solid var(--border);background:#ffffff05;border-radius:14px;padding:1rem}.controller-banner{border:1px solid var(--primary);background:#f973161a;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.scoreboard-header{color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:.75rem;font-size:.85rem;display:flex}.scoreboard-teams{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid}.scoreboard-divider{color:var(--muted);font-size:.9rem}.team-score-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;padding:1rem}.team-score-name{justify-content:center;align-items:center;min-height:2.4em;font-size:.95rem;font-weight:600;display:flex}.team-score-value{margin:.5rem 0;font-size:3rem;font-weight:700}.team-score-controls{justify-content:center;gap:.5rem;display:flex}.player-chips{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.5rem 0;display:flex}.chip-btn{padding:.4rem .7rem}.commentary{margin-top:1rem}.commentary-list{flex-direction:column;gap:.35rem;max-height:260px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex;overflow-y:auto}.commentary-score{color:var(--muted);margin-right:.35rem;font-weight:600}.court-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.template-popover{background:var(--surface-2);border:1px solid var(--primary);border-radius:10px;margin-top:.75rem;padding:.75rem}.template-popover-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.template-popover-list{flex-direction:column;gap:.4rem;max-height:220px;display:flex;overflow-y:auto}.template-btn{text-align:left;white-space:normal}.template-list-editor{flex-direction:column;gap:.4rem;display:flex}.template-edit-list{flex-direction:column;gap:.3rem;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.template-edit-list li{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.85rem;display:flex}.template-edit-list li button{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:1rem;line-height:1}.template-edit-list li button:hover{color:var(--danger)}.member-chips{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.member-chips-empty{margin-top:.4rem}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.8rem;display:inline-flex}.chip-removable button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.chip-removable button:hover{color:var(--danger)}.member-editor{flex-direction:column;gap:.4rem;display:flex}.list-row-column{flex-direction:column;align-items:stretch}.roster-toggle{align-self:flex-start;margin-top:.5rem}.roster-pair{grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem;display:grid}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .5rem}.table th{color:var(--muted);text-transform:uppercase;font-size:.75rem}.modal-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:1.25rem}.modal h3{margin:0 0 .5rem}.modal p{color:var(--muted);font-size:.9rem}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}@media (width>=600px){.app-header h1{font-size:1.7rem}.nav-label{font-size:.8rem}}
