:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141416;--panel:#1f1f23;--panel-2:#2a2a30;--text:#f2f2f4;--muted:#9a9aa3;--accent:#7c3aed;--accent-2:#2f9e5b;--danger:#e5484d;--radius:10px;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;margin:0}h1{margin:0;font-size:1.25rem}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:1.5rem 0 .5rem;font-size:1rem}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel-2);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #ffffff14;padding:.5rem .8rem}button:hover:not(:disabled){background:#34343b}button:disabled{opacity:.4;cursor:default}button.primary,button.active{background:var(--accent);border-color:var(--accent)}button.primary:hover:not(:disabled),button.active:hover:not(:disabled){background:#8b5cf6}button.danger{color:#ff8b8e}button.link{text-align:left;background:0 0;border:none;padding:.5rem 0;font-weight:600}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #a78bfa}input,select,textarea{background:var(--panel-2);border:1px solid #ffffff1f;border-radius:8px;min-width:0;padding:.5rem .6rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:#ff8b8e}.hint{color:var(--muted);text-align:center;margin:.25rem 0;font-size:.85rem}.grow{flex:1}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.centered{place-items:center;min-height:100dvh;padding:1rem;display:grid}.card{background:var(--panel);border-radius:14px;padding:1.5rem}.login{gap:1rem;width:min(360px,100%);display:grid}.login label,.field{gap:.35rem;font-size:.9rem;display:grid}.page{max-width:640px;padding:.75rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom));margin:0 auto}.topbar{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.topbar h1:first-child{flex:1}.save-status{color:var(--muted);font-size:.8rem}.save-status.error{color:#ff8b8e}.list{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.list-row{background:var(--panel);border-radius:var(--radius);align-items:center;gap:.4rem;padding:.35rem .5rem .35rem .75rem;display:flex}.inline-form{gap:.5rem;display:flex}.inline-form input{flex:1}.tabs{gap:.4rem;margin-bottom:.75rem;display:flex}.tabs button{flex:1}.tab-panel{gap:.6rem;display:grid}.tab-panel h2{margin-bottom:0}.roster{border-collapse:collapse;width:100%}.roster th{text-align:left;color:var(--muted);padding:0 .25rem;font-size:.8rem;font-weight:400}.roster td{padding:.2rem .25rem}.roster input,.roster select{width:100%}.roster select{min-width:7.5rem}.roster input.number{text-align:center;width:3.5rem}.lineup{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem;display:grid}.court-tab{gap:.5rem;display:grid}.court-header{text-align:center;text-transform:uppercase;letter-spacing:.03em;font-size:.95rem}.toolbar{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.toolbar button{padding:.4rem .65rem;font-size:.85rem}.court{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-height:62dvh}.court .watermark{fill:#ffffff0d;pointer-events:none;font-size:70px;font-weight:900}.court .player,.court .ball{cursor:grab;transition:transform .45s cubic-bezier(.4,0,.2,1)}.court .player.dragging,.court .ball.dragging{transition:none}.court .watermark{animation:.45s fade-in}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.court .player,.court .ball,.court .watermark{transition:none;animation:none}}.court .player.dragging{cursor:grabbing;filter:drop-shadow(0 0 3px #000)}.court.arrow-mode{cursor:crosshair}.court.arrow-mode .player,.court.arrow-mode .ball{pointer-events:none}.court.arrow-mode .arrow{cursor:pointer}.court .role{fill:#fff;pointer-events:none;font-weight:800}.court .badge{fill:#fff;pointer-events:none;font-size:4px;font-weight:700}.court .name{fill:#fff;pointer-events:none;font-size:4.2px;font-weight:600}.situation-bar{scrollbar-width:thin;gap:.35rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.situation-bar button{padding:.45rem .7rem;font-size:.85rem}.rotation-bar{gap:.3rem;display:flex}.rotation-bar button{flex:1;padding:.6rem 0;font-weight:700}.rotation-bar button.rotate{background:var(--accent-2);border-color:var(--accent-2);flex:2;font-size:.85rem}.note textarea{resize:vertical}
