@font-face{font-family:Local;src:local('Inter'),local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#f5f0f1;color:#2c191c;font-family:Local,system-ui,sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #e2d8d9;background:white;color:inherit;border-radius:10px;padding:11px 15px;font-weight:600;transition:background .15s,transform .15s}button:hover{background:#f0e4e6}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #983c48;outline-offset:3px}input,select,textarea{width:100%;padding:11px;border:1px solid #d8cacc;border-radius:8px;background:#fff;color:#2c191c}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}input[type=color]{padding:4px;height:43px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:5px}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:16px}small,.muted{color:#76686a}small{font-size:13px}.layout{display:grid;grid-template-columns:218px 1fr;min-height:100vh}.sidebar{background:#231315;color:#f6edee;padding:30px 19px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:218px;z-index:10}.brand{display:flex;gap:11px;align-items:center;font-size:25px;font-weight:800;letter-spacing:-1px;margin-bottom:42px}.brand img{width:35px;height:35px}.navlabel{font-size:12px;letter-spacing:1.7px;color:#a39597;padding:0 13px;margin-bottom:15px}.nav{display:grid;gap:7px}.nav button{background:transparent;color:#c6b8ba;border:0;text-align:left;display:flex;gap:13px;align-items:center;padding:14px}.nav button.active{background:#e48c98;color:#251517}.nav svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto;padding-top:35px;font-size:13px;color:#c6b8ba;line-height:1.6}.offline-badge{display:flex;align-items:center;gap:8px;color:#e48c98;font-weight:600}.dot{width:7px;height:7px;background:currentColor;border-radius:50%;display:inline-block}.main{grid-column:2;min-width:0;padding:30px 34px 50px;max-width:1800px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#806c6f;text-transform:uppercase;margin-bottom:8px}.top-actions,.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.primary{background:#e48c98;border-color:#e48c98;color:#251517}.dark{background:#3d181d;border-color:#3d181d;color:white}.danger{color:#ae4434}.pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;border-radius:20px;background:#efdfe1;padding:6px 10px;font-weight:700}.scoreboard{background:#2f181b;color:#fff;border-radius:17px;overflow:hidden;margin-bottom:22px;position:relative}.scoreboard-top{display:flex;justify-content:space-between;gap:10px;padding:17px 23px;border-bottom:1px solid #ffffff18;color:#d0c3c5;font-size:13px}.scoreboard .pill{background:#ffffff10;color:#e48c98}.scores{display:grid;grid-template-columns:1fr 200px 1fr;align-items:center;padding:25px 38px;gap:25px}.team-score{display:flex;align-items:center;gap:19px}.team-score.away{flex-direction:row-reverse;text-align:right}.crest{width:51px;height:56px;clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%);display:grid;place-items:center;font-size:19px;font-weight:850;background:var(--team);color:#251013;flex-shrink:0}.team-name{font-size:20px;font-weight:650}.big-score{font-size:68px;line-height:1;font-weight:800;letter-spacing:-3px;font-variant-numeric:tabular-nums;margin-left:auto}.away .big-score{margin-left:0;margin-right:auto}.team-meta{font-size:12px;color:#bba9ab;margin-top:8px}.clock-box{text-align:center}.clock{font-size:43px;letter-spacing:2px;font-weight:650;font-variant-numeric:tabular-nums;margin:5px 0 11px}.clock-box button{padding:8px 16px;font-size:13px;border:0}.period{font-size:12px;letter-spacing:1.6px;color:#d7c3c6}.scoreboard-foot{background:#ffffff06;display:flex;justify-content:center;gap:22px;padding:10px;flex-wrap:wrap}.scoreboard-foot button{background:none;color:#cab8ba;border:0;font-size:12px;padding:3px 6px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.card{border:1px solid #e2d7d8;background:#fff;border-radius:14px;padding:22px;margin-bottom:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.card-head h2{margin:0}.tabs{display:flex;background:#f1e9ea;padding:4px;border-radius:9px;gap:4px}.tabs button{border:0;background:transparent;padding:8px 13px;font-size:13px;color:#77696b}.tabs button.active{background:white;box-shadow:0 1px 5px #17291b10;color:#39191d}.players{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.player{padding:13px 6px 11px;position:relative;min-width:0;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:5px;background:#fbf7f8;border-color:#e7dbdd}.player.selected{border:2px solid #7b333d;background:#f6d7db;padding:12px 5px 10px}.jersey{font-size:26px;font-weight:800;line-height:1.1;color:#4c292e}.player .pname{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player small{font-size:12px}.player .fouled{color:#ba4635}.selection-hint{display:flex;justify-content:space-between;font-size:13px;margin:20px 0 13px;gap:10px}.shot-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.shotpair{border:1px solid #e5d5d7;border-radius:10px;overflow:hidden}.shotpair button{border:0;border-radius:0;width:100%;padding:15px 7px;background:#f8eeef}.shotpair button:first-child{font-size:25px;color:#452126}.shotpair button span{display:block;font-size:12px;font-weight:500;margin-top:4px}.shotpair button:last-child{border-top:1px solid #e5d5d7;font-size:13px;background:white;color:#7e7072;padding:9px}.other-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.other-actions button{font-size:13px;padding:12px 5px}.action-bottom{display:flex;justify-content:space-between;border-top:1px solid #e9e0e1;padding-top:16px;margin-top:19px;gap:10px}.action-bottom button{font-size:13px;padding:8px 11px}.court{position:relative;width:100%;aspect-ratio:1.15;background:#f2e8e9;border-radius:10px;overflow:hidden;color:#b9a3a6;touch-action:manipulation}.court svg{width:100%;height:100%}.court.markable{cursor:crosshair}.court-mark{position:absolute;transform:translate(-50%,-50%);font-size:15px;font-weight:900;color:#682f37;pointer-events:none;line-height:1}.court-mark.miss{color:#c4583f}.court-mark.pending{color:#231315;font-size:23px}.legend{display:flex;gap:17px;justify-content:center;font-size:12px;margin:12px 0 0;color:#816c6f}.feed{max-height:360px;overflow:auto}.event{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #f0e8e9;font-size:13px;align-items:center}.event:last-child{border-bottom:0}.event-time{color:#816f71;min-width:44px;font-variant-numeric:tabular-nums;font-size:12px}.event-desc{flex:1}.event-desc strong{display:block;font-weight:600;margin-bottom:3px}.event-point{font-size:13px;background:#f5e2e5;color:#77353e;border-radius:6px;padding:6px;font-weight:700}.event button{padding:3px 6px;border:0;font-size:15px;color:#938385}.empty{padding:26px 15px;text-align:center;color:#847375;font-size:14px;line-height:1.7}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:23px}.metric{background:white;border:1px solid #e2d7d8;border-radius:12px;padding:20px}.metric strong{font-size:29px;display:block;margin-top:6px;letter-spacing:-1px}.metric span{font-size:13px;color:#806c6f}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th{text-align:right;color:#816c6f;font-size:12px;font-weight:600;background:#f7f0f1;padding:12px 10px}td{text-align:right;padding:13px 10px;border-bottom:1px solid #ede3e4;font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:white}th:first-child{background:#f7f0f1}tr.total td{font-weight:750;background:#f5e7e9}.points-cell{font-weight:800;color:#58292f}.progress-row{margin:18px 0;font-size:13px}.progress-label{display:flex;justify-content:space-between;margin-bottom:7px}.bar-track{height:7px;background:#f0e6e7;border-radius:8px;overflow:hidden}.bar-fill{height:100%;background:#9a4f59;border-radius:8px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{margin-bottom:15px}.roster-row{display:grid;grid-template-columns:60px 1fr 125px 36px;gap:8px;margin-bottom:8px}.roster-row button{padding:6px}.roster-row input,.roster-row select{font-size:14px}.game-item{padding:20px;background:white;border:1px solid #e2d7d8;border-radius:12px;margin-bottom:12px;display:flex;justify-content:space-between;gap:15px;align-items:center}.game-item h3{margin:5px 0 8px}.game-item .result{font-size:29px;font-weight:800;letter-spacing:2px}.team-card{display:flex;gap:15px;align-items:center}.team-card h2{margin:0 0 5px}dialog{border:0;border-radius:17px;padding:27px;width:min(650px,calc(100% - 28px));max-height:90vh;color:#2c191c;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#10251ccc;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{margin:0}.modal-head button{padding:5px 10px;border:0}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.check-player{display:flex;gap:12px;align-items:center;padding:12px;background:#f8eff0;border-radius:8px;margin:7px 0}.check-player input{width:19px;height:19px}.notice{padding:13px 15px;background:#f6e7e9;border-radius:9px;line-height:1.6;font-size:14px;color:#6b4348;margin:15px 0}.notice.warning{background:#fff3db;color:#866128}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#381c20;color:white;border-radius:10px;z-index:100;box-shadow:0 6px 20px #0003;max-width:calc(100% - 24px);display:none}.section-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.section-actions button{font-size:14px}.history-chart{width:100%;height:185px}.help p{line-height:1.75}.print-only{display:none}.on-court{font-size:12px;color:#77353e}.badge-number{background:#f3e2e4;border-radius:5px;padding:3px 6px;margin-right:7px}.topbar p{margin:6px 0 0;font-size:14px;color:#877376}.team-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;margin-bottom:20px;align-items:center}.team-compare span:last-child{text-align:right}.lineup-note{font-size:12px;color:#8a6640;margin:10px 0 0}
@media(min-width:1450px){.workspace{grid-template-columns:minmax(0,1fr) 360px}.scores{padding:30px 50px}.players .player{padding-top:19px;padding-bottom:18px}}
@media(max-width:1150px){.sidebar{width:185px;padding:25px 13px}.layout{grid-template-columns:185px 1fr}.main{padding:25px 22px}.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.card{padding:17px}.scores{padding:23px 20px;grid-template-columns:1fr 140px 1fr;gap:12px}.team-score{gap:10px}.team-name{font-size:16px}.big-score{font-size:49px}.crest{width:40px;height:45px}.clock{font-size:34px}.top-actions button{font-size:13px;padding:10px}.players{gap:5px}.other-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{position:sticky;top:0;width:auto;grid-column:1/-1;padding:12px 18px;display:flex;flex-direction:row;align-items:center;gap:20px}.brand{margin:0;font-size:22px}.brand img{width:29px;height:29px}.nav{display:flex;gap:4px;overflow:auto}.nav button{padding:10px;white-space:nowrap;font-size:13px}.nav svg{display:none}.navlabel,.sidebar-bottom{display:none}.layout{display:block}.main{padding:24px 18px}.workspace{grid-template-columns:minmax(0,1fr) 290px}.topbar h1{font-size:27px}.twocol{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{flex-direction:column;align-items:stretch;gap:10px}.brand{font-size:20px}.brand img{width:25px;height:25px}.nav{justify-content:space-between}.nav button{padding:9px 7px;font-size:12px}.main{padding:20px 12px}.topbar{align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:18px}.top-actions{gap:6px}.top-actions button{font-size:12px}.workspace{display:block}.scores{grid-template-columns:1fr 100px 1fr;padding:20px 12px;gap:7px}.team-score,.team-score.away{flex-direction:column;text-align:center;gap:7px}.big-score,.away .big-score{margin:0;font-size:48px;order:2}.crest{display:none}.team-name{font-size:14px}.team-meta{font-size:11px}.clock{font-size:28px;letter-spacing:0}.clock-box button{font-size:12px;padding:9px}.scoreboard-top{font-size:11px;padding:12px}.scoreboard-foot{gap:10px}.card{padding:16px}.player .pname{font-size:12px}.jersey{font-size:24px}.shotpair button:first-child{font-size:24px}.other-actions{grid-template-columns:repeat(3,1fr)}.stat-strip{grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:15px}.form-grid{grid-template-columns:1fr}.roster-row{grid-template-columns:48px 1fr 85px 30px;gap:4px}.roster-row input,.roster-row select{padding:9px 5px;font-size:13px}.game-item{flex-wrap:wrap}.court{max-width:420px;margin:auto}.action-bottom{flex-wrap:wrap}.tabs button{padding:8px;font-size:12px}.card-head{flex-wrap:wrap}.team-compare{font-size:14px}}
@media print{body{background:white;color:black}.sidebar,.top-actions,.section-actions,.scoreboard-foot,.clock-box button,.no-print,#toast,dialog{display:none!important}.layout{display:block}.main{padding:0;max-width:none}.card,.metric{break-inside:avoid;border:1px solid #ccc;box-shadow:none}.print-only{display:block}.table-wrap{overflow:visible}table{font-size:10px}td,th{padding:7px 5px}.scoreboard{print-color-adjust:exact;-webkit-print-color-adjust:exact}.twocol{grid-template-columns:1fr}.stat-strip{grid-template-columns:repeat(4,1fr)}.card{margin-bottom:12px}.topbar{margin-bottom:12px}}
