:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18293c;background:#eef3f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #cad5e2;border-radius:10px;background:#fff;color:#18314c;padding:11px 15px;font-weight:650;min-height:44px}button:disabled{opacity:.45;cursor:not-allowed}button:active{transform:scale(.98)}h1,h2,h3,p{margin-top:0}h2{font-size:1.17rem;margin-bottom:12px}h3{font-size:.95rem;margin:14px 0 8px}p{color:#56677b}header{background:#15263a;color:#fff;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}header>div{display:flex;flex-direction:column;gap:4px}.brand{font-weight:850;letter-spacing:1px}header small{color:#c1cedb}nav{display:flex;gap:7px}nav button{color:#dce7f1;background:#253c55;border-color:#38506b}nav button.active{background:#fff;color:#15263a}.app{min-height:100vh;display:flex;flex-direction:column}main{padding:15px 20px;flex:1}.panel{background:#fff;border:1px solid #dbe4ee;border-radius:16px;padding:17px;box-shadow:0 2px 12px #1a3d6210}.scorebar{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;background:#233b54;color:#fff;padding:12px 20px;gap:12px}.scorebar>div:not(.centerScore){display:flex;align-items:center;gap:15px}.scorebar>div:last-child{justify-content:flex-end}.scorebar small{color:#c5d6e8;font-size:11px;letter-spacing:.06em}.scorebar strong{font-size:44px;line-height:1}.scorebar button{background:#355a7e;color:#fff;border-color:#60809e}.centerScore{text-align:center;display:flex;flex-direction:column;gap:2px}.centerScore span{font-size:12px;color:#d3e0ed}.live{display:grid;grid-template-columns:minmax(330px,1fr) minmax(410px,1.2fr);gap:15px;align-items:start}.court{border:4px solid #f8e9c4;background:#df9b58;border-radius:9px;padding:9px}.net{background:#f5f7fa;color:#50667e;text-align:center;font-size:11px;font-weight:800;letter-spacing:.4em;padding:5px}.courtgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:11px 5px}.player{min-height:112px;background:#fff6e6;border:2px solid #f5dfb9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px}.player small{font-size:10px;color:#826b52}.player b{font-size:29px}.player span{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.player.selected{background:#245f9e;color:#fff;border-color:#102d4a}.player.selected small{color:#d7eaff}.player.swapping{outline:3px solid #e99b26}.bench{display:flex;gap:7px;flex-wrap:wrap}.benchplayer{background:#edf4fb}.swaprow{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px}.actionpanel>p{margin-bottom:12px}.actiongroups{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px}.actionbuttons{display:flex;flex-wrap:wrap;gap:7px}.actionbuttons button{flex:1;min-width:95px}.positive{background:#e5f5ec;color:#176c43;border-color:#b9e2ca}.negative{background:#fff0ee;color:#a53535;border-color:#efc9c5}.neutral{background:#e9f2fc;color:#245f95;border-color:#c5dbf0}.bottomactions{display:flex;justify-content:space-between;gap:8px;margin-top:22px}.hint{font-size:12px;margin:12px 0 0}.setup{display:flex;align-items:center;justify-content:center}.setup .panel{width:min(500px,100%)}label{display:flex;flex-direction:column;gap:7px;font-weight:650;margin:12px 0}input,select{border:1px solid #c6d2df;border-radius:9px;padding:12px;background:#fff;min-height:44px}.setup input{width:100%}.primary,.formrow button{background:#245f9e;color:#fff;border-color:#245f9e}.setup button{margin-right:8px}.formrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.formrow input:first-child{flex:1}.formrow input:nth-child(2){width:100px}.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px;margin:12px 0}.rosterItem{border:1px solid #dbe4ee;border-radius:10px;padding:8px;display:flex;align-items:center;gap:8px}.rosterItem .small{margin-left:auto;padding:6px;font-size:12px;min-height:32px}.danger{color:#a22}.statshead{display:flex;align-items:center;justify-content:space-between;gap:15px}.statshead>div{display:flex;gap:7px;flex-wrap:wrap}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}td,th{padding:12px 10px;border-bottom:1px solid #e2eaf2;text-align:right}td:first-child,th:first-child{text-align:left;position:sticky;left:0;background:#fff}thead{background:#eef3f8}tfoot{font-weight:800}.eventlist{display:grid;gap:5px;font-size:13px}.eventlist>div{padding:9px;background:#f1f5f9;border-radius:7px}footer{padding:11px 20px;font-size:11px;color:#67798b;text-align:center}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#172a40;color:#fff;padding:13px 22px;border-radius:10px;z-index:9}@media(max-width:850px){.live{grid-template-columns:1fr}.scorebar strong{font-size:33px}.scorebar>div:not(.centerScore){gap:7px}.scorebar small{font-size:9px}.actiongroups{grid-template-columns:1fr 1fr}}@media(max-width:540px){header{flex-direction:column}.scorebar{padding:10px;gap:5px}.scorebar>div:not(.centerScore){flex-wrap:wrap}.scorebar button{padding:7px}.actiongroups{grid-template-columns:1fr}.statshead{flex-direction:column;align-items:stretch}.courtgrid{gap:4px}.player{min-height:90px}}.orientation{margin:0;display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px}.orientation select{padding:8px;min-height:36px}.court-left,.court-right{display:grid;grid-template-columns:34px minmax(0,1fr);min-height:350px}.court-right{grid-template-columns:minmax(0,1fr) 34px}.court-left .net,.court-right .net{writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;letter-spacing:.25em}.court-right .net{grid-column:2;grid-row:1}.court-left .courtgrid,.court-right .courtgrid{grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.court-right .courtgrid{grid-column:1}.court-left .player,.court-right .player{min-height:95px}.player.libero{background:#f4e8ff;border-color:#a87bd0}.benchplayer.lib{background:#f4e8ff}.metricgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;margin:15px 0}.metric{background:#edf4fb;border:1px solid #d6e3ef;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:5px}.metric strong{font-size:23px}.metric small{color:#576a7d}.stats tbody tr{cursor:pointer}.stats tbody tr:hover{background:#eef5fc}nav{flex-wrap:wrap}.court-left,.court-right{display:block;position:relative;min-height:0;padding:9px 18px}.court-left .net,.court-right .net{position:absolute;top:9px;bottom:9px;width:7px;padding:0;overflow:hidden;font-size:0;letter-spacing:0;background:#f5f7fa;border:1px solid #9caaba;writing-mode:horizontal-tb}.court-left .net{left:5px}.court-right .net{right:5px}.court-left .courtgrid,.court-right .courtgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));padding:4px;gap:7px}.court-left .player,.court-right .player{min-width:0;min-height:88px;padding:5px 2px}.court-left .player span,.court-right .player span{white-space:normal;overflow-wrap:anywhere;line-height:1.1;text-align:center;font-size:12px}.player.libero.selected,.player.selected.libero{background:#352051;color:#fff;border-color:#1e1031}.player.libero.selected small,.player.selected.libero small{color:#f4e6ff}.report-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:18px 0}.report-chart{border:1px solid #dbe4ee;border-radius:12px;padding:13px;background:#fafcff}.bar-row{display:grid;grid-template-columns:65px minmax(0,1fr) 30px;align-items:center;gap:8px;margin:10px 0;font-size:12px}.bar-row b{text-align:right}.bar-track{height:15px;background:#e7edf5;border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px}.bar-fill.good{background:#26825a}.bar-fill.mid{background:#3e86b6}.bar-fill.bad{background:#c45757}.chart-note{font-size:12px;color:#53657a;margin:10px 0 0}.print-context{display:none}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff;color:#111;font-size:10px}header,footer,.scorebar,.toast,.statshead>div,.eventlist,.stats .eventlist+h3{display:none!important}main{padding:0!important}.panel{box-shadow:none;border:0;padding:0}.statshead{display:block}.statshead h2{font-size:18px}.print-context{display:block;color:#333}.metricgrid{grid-template-columns:repeat(5,1fr);gap:5px}.metric{padding:6px;break-inside:avoid}.metric strong{font-size:14px}.metric small{font-size:9px}.report-charts{grid-template-columns:repeat(3,1fr);gap:8px}.report-chart{break-inside:avoid;padding:7px}.report-chart h3{font-size:11px}.bar-row{grid-template-columns:48px minmax(0,1fr) 20px;gap:3px;font-size:9px}.chart-note{font-size:9px}.tablewrap{overflow:visible}table{white-space:normal;font-size:9px}td,th{padding:5px 4px}.eventlist,button{display:none!important}}.csv-import{padding:14px;margin:12px 0 18px;border:1px solid var(--border,#aab4c0);border-radius:12px}.csv-import p{font-size:.9rem;margin:8px 0}.csv-file{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.csv-file input{max-width:100%}.roster-table{min-width:720px}.roster-table td,.roster-table th{text-align:left}.roster-table input{width:100%;min-width:110px}.roster-table td:first-child input{min-width:65px;width:75px}.roster-table select{min-width:130px}.roster-table td:last-child{white-space:nowrap}.setup .panel{width:min(760px,100%)}.lineup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lineup-grid label{min-width:0}.lineup-grid select{min-width:0;width:100%}@media(max-width:600px){.lineup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.live-setup{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:10px 0}.live-setup button.active{background:#14754b;color:#fff}.player{position:relative;touch-action:pan-y}.player.placement-target{outline:1px dashed #1d75a2;outline-offset:-4px}.serve-ball{position:absolute;top:3px;right:5px;font-size:22px;line-height:1;filter:drop-shadow(0 1px 2px #444)}.benchplayer.selected{outline:3px solid #1584c5}.player.libero{background:#24334d!important;color:#fff!important}.player.libero b,.player.libero span,.player.libero small{color:#fff!important}.benchplayer.lib{background:#24334d;color:#fff}.courtgrid .player{min-width:0}.court-left .net,.court-right .net{min-width:6px;max-width:18px}
