:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#102f4b;background:#edf3f5;font-synthesis:none;--navy:#102f4b;--teal:#43b9c8;--muted:#536b7b;--line:#d6e3e8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #16758b;outline-offset:3px}button{border:0}h1,h2,p{margin:0}button,input,select{-webkit-tap-highlight-color:transparent}.app{max-width:520px;margin:auto;padding:26px 22px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.brand-kicker{font-size:.75rem;font-weight:800;letter-spacing:.22em;color:#476d80}h1{font-size:2rem;letter-spacing:-.065em;line-height:1.1}.accent{color:#199baa}.icon-button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--navy)}.icon-button svg{width:23px;height:23px;vertical-align:middle}.match-header p:first-child{font-size:1.1rem;font-weight:750}.match-header p:last-child{font-size:.875rem;color:var(--muted);margin-top:4px;line-height:1.4}.match-header{margin-bottom:20px;overflow-wrap:anywhere}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;gap:10px}.view-label select{border:0;background:transparent;color:var(--navy);font-weight:750;padding:10px 24px 10px 0;max-width:100%;font-size:1rem}.text-button{font-size:.875rem;font-weight:700;background:transparent;color:#176779;min-height:44px;padding:8px}.text-button span{font-size:1.1rem}.court-wrap{padding-top:9px}.net{height:13px;position:relative;margin:0 -8px 8px;border:solid var(--navy);border-width:3px 4px;background:repeating-linear-gradient(90deg,transparent 0 7px,#7792a4 7px 8px),repeating-linear-gradient(0deg,transparent 0 4px,#7792a4 4px 5px)}.net span{position:absolute;left:50%;transform:translateX(-50%);top:-14px;background:#edf3f5;padding:0 8px;font-size:.625rem;letter-spacing:.16em;font-weight:800}.court{position:relative;isolation:isolate;min-height:362px;border:3px solid white;background:#acdfe4;box-shadow:0 0 0 1px #9bbecb;overflow:hidden;padding:22px 12px 19px}.court:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#ffffff15,transparent 65%)}.attack-line{position:absolute;top:47%;left:0;right:0;border-top:3px solid #fff;z-index:-1}.front-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.back-row{display:flex;justify-content:center;margin-top:42px}.position{min-width:0;text-align:center}.back-row .position{width:calc((100% - 18px)/3)}.position-header{font-weight:850;font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:5px}.position-number{font-size:.75rem;font-weight:600;opacity:.68}.position-count{font-size:2.65rem;font-weight:800;letter-spacing:-.07em;line-height:1.2;margin-top:2px;font-variant-numeric:tabular-nums}.percentage{font-size:.75rem;color:#315e70;display:block;min-height:20px;font-weight:650}.counter-controls{display:grid;grid-template-columns:1fr 1.25fr;gap:5px;margin-top:7px}.counter-controls button{height:45px;min-width:0;border-radius:9px;font-size:1.5rem;line-height:1;font-weight:550}.minus{background:#ffffffbd;color:#294e64}.plus{background:var(--navy);color:#fff;box-shadow:0 3px 0 #092036}.plus:active{transform:translateY(2px);box-shadow:none}.sideline{position:absolute;bottom:22px;left:12px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.625rem;letter-spacing:.16em;color:#37727b;font-weight:700}.court-brand{position:absolute;bottom:18px;right:12px;max-width:78px;display:flex;align-items:center;flex-direction:column;opacity:.8;pointer-events:none}.court-brand span{font-weight:900;font-style:italic;font-size:.75rem}.court-brand small{font-size:.45rem;letter-spacing:.11em}.court-brand img{width:70px;height:70px;object-fit:contain}.totals{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.totals>div{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.totals strong{font-size:1.7rem;letter-spacing:-.06em}.totals span{font-size:.875rem;color:var(--muted)}.totals p{font-size:.75rem;color:var(--muted);text-align:right;line-height:1.5}.quality-panel{padding-top:14px}.section-label{display:flex;justify-content:space-between;align-items:center}.section-label h2{font-size:.875rem}.quality-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quality-buttons button{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:63px;color:var(--navy);display:flex;justify-content:center;align-items:center;gap:8px}.quality-buttons strong{font-size:1.5rem}.quality-buttons span{font-size:.75rem}.quality-buttons button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy);box-shadow:inset 0 -3px 0 var(--teal)}#quality-hint{font-size:.75rem;color:var(--muted);margin-top:9px;line-height:1.5}.actions{display:grid;grid-template-columns:1fr 1.7fr;gap:12px;margin-top:20px}.primary-button,.secondary-button{min-height:48px;border-radius:12px;padding:12px 18px;font-size:.875rem;font-weight:750}.primary-button{background:var(--navy);color:#fff}.secondary-button{background:#fff;color:var(--navy);border:1px solid var(--line)}footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px;gap:8px}footer p{font-size:.75rem;color:var(--muted)}footer .text-button{font-size:.75rem}dialog{width:min(460px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:24px;color:var(--navy);background:#f9fcfd;box-shadow:0 20px 100px #102f4b44}dialog::backdrop{background:#071d32a6;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px}.dialog-heading h2{font-size:1.3rem;letter-spacing:-.03em}.close-button{width:44px;height:44px;background:#eaf0f3;border-radius:50%;font-size:1.5rem;color:var(--navy)}form>label{display:block;font-size:.875rem;font-weight:700;margin-top:16px}input:not([type=checkbox]),form select{display:block;width:100%;border:1px solid #bdcfd7;border-radius:9px;padding:12px;background:#fff;color:var(--navy);margin-top:7px;font-size:1rem;min-width:0}.optional{font-weight:400;color:var(--muted);margin-left:4px}.field-help{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:12px}.toggle-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}.toggle-row small{display:block;font-weight:400;color:var(--muted);margin-top:5px;line-height:1.5}.toggle-row input{width:24px;height:24px;accent-color:#16758b;flex-shrink:0}.full{width:100%;margin-top:12px}.confirm-actions{display:flex;gap:10px;margin-top:22px}.confirm-actions>*{flex:1}#confirm-description{line-height:1.6;font-size:.95rem}.summary-meta{font-size:.875rem;color:var(--muted);line-height:1.6;margin-bottom:16px;overflow-wrap:anywhere}.summary-section{margin-top:22px}.summary-section h3{font-size:1rem;margin:0 0 10px}.summary-section table{border-collapse:collapse;width:100%;font-size:.8125rem;font-variant-numeric:tabular-nums}.summary-section th,.summary-section td{padding:10px 3px;text-align:right;border-bottom:1px solid var(--line)}.summary-section th:first-child,.summary-section td:first-child{text-align:left}.summary-section thead{color:var(--muted)}.summary-section tfoot{font-weight:750}.summary-legend{font-size:.75rem;color:var(--muted);margin-top:10px;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(min-width:650px){.app{margin:32px auto;border:1px solid #dce7eb;border-radius:26px;padding:28px;background:#edf3f5;box-shadow:0 15px 60px #163b5010}body{background:#dae7ec}.court{min-height:386px;padding-top:26px}.back-row{margin-top:52px}}@media(max-width:360px){.app{padding:18px 12px 8px}.court{padding-left:8px;padding-right:8px}.front-row{gap:6px}.quality-buttons button{gap:4px}.totals{gap:8px}.totals>div{gap:5px}.court-brand img{width:56px;height:56px}}@media print{body{background:white}.app,dialog:not(#export-dialog),.export-actions,#export-dialog>.field-help,.close-button{display:none!important}#export-dialog{display:block!important;position:static;width:100%;max-height:none;overflow:visible;border:0;border-radius:0;box-shadow:none;padding:0;background:white}dialog::backdrop{display:none}.summary-section{break-inside:avoid}.dialog-heading h2{font-size:24px}@page{margin:16mm}}

.setter-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;font-weight:700;margin:-5px 0 22px}.setter-picker select,.export-filter select{max-width:65%;min-width:140px;background:white;border:1px solid var(--line);border-radius:9px;padding:10px;color:var(--navy);font-size:1rem}.export-filter{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:.875rem;font-weight:700}textarea{font:inherit;display:block;width:100%;border:1px solid #bdcfd7;border-radius:9px;padding:12px;margin-top:7px;resize:vertical;font-size:1rem;color:var(--navy)}@media(max-width:649px){.app{padding-top:16px}.topbar{margin-bottom:16px}.match-header{margin-bottom:8px}.toolbar{margin-bottom:8px}.court{min-height:325px;padding-top:15px;padding-bottom:12px}.back-row{margin-top:30px}.position-count{font-size:2.3rem}.totals{padding:10px 0}.quality-panel{padding-top:6px}.actions{margin-top:12px}.setter-picker{margin-bottom:18px}.court-brand{bottom:8px}.quality-buttons button{min-height:56px}}@media print{.export-filter{display:none}}

.court-brand{max-width:88px;opacity:1;right:10px}.court-brand img{width:82px;height:82px;mix-blend-mode:multiply}@media(max-width:360px){.court-brand img{width:62px;height:62px}}

.outcome-panel{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;background:#e1edf0;border-radius:12px}.outcome-label{font-size:.625rem;font-weight:800;letter-spacing:.1em;color:var(--muted)}#last-attempt{font-size:.875rem;font-weight:700;overflow-wrap:anywhere;margin-top:4px}#kill-toggle{flex-shrink:0;min-height:44px;padding:10px 20px;border:1px solid #b8cdd5;border-radius:9px;color:var(--navy);background:white;font-weight:750}#kill-toggle span{opacity:.25;margin-left:7px}#kill-toggle[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}#kill-toggle[aria-pressed=true] span{color:#6fdfeb;opacity:1}

#kill-toggle{font-size:.8125rem;padding:10px 12px;max-width:55%}.outcome-panel>div{min-width:0}.summary-section th:last-child{min-width:44px}

.history-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:6px;background:white;border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:12px;color:var(--navy);overflow-wrap:anywhere}.history-date{font-size:.75rem;color:var(--muted)}.history-item strong{font-size:1rem}.history-item>span:last-child{font-size:.8125rem;color:var(--muted)}.history-empty{padding:28px 0;font-size:.95rem;line-height:1.6;color:var(--muted)}#saved-dialog>p{line-height:1.6}footer p{margin-right:auto}@media(max-width:360px){footer{flex-wrap:wrap}footer p{width:100%}}

.quality-buttons button{flex-direction:column;gap:2px;padding:9px 5px;min-height:78px}.quality-buttons span{font-size:.75rem;line-height:1.3;max-width:100%}.quality-buttons strong{font-size:1.4rem}

.hitter-pickers{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:-10px 0 24px}.hitter-pickers label{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:800;min-width:0}.hitter-pickers label>select{font:inherit;font-weight:500;font-size:.875rem;width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:white;padding:9px 4px;color:var(--navy)}.hitter-pickers label:nth-child(3),.hitter-pickers label:nth-child(4){letter-spacing:-.03em}.hitter-pickers select{letter-spacing:normal}@media print{.hitter-pickers{display:none}}

.outcome-panel{display:grid;grid-template-columns:1fr;gap:9px}.outcome-controls{display:grid;grid-template-columns:1.6fr 1fr;gap:8px}#kill-toggle{max-width:none;width:100%}#error-toggle{min-height:44px;padding:10px 12px;border:1px solid #b8cdd5;border-radius:9px;color:var(--navy);background:white;font-size:.8125rem;font-weight:750}#error-toggle span{opacity:.3;margin-left:7px}#error-toggle[aria-pressed=true]{background:#9e2638;border-color:#9e2638;color:white}#error-toggle[aria-pressed=true] span{opacity:1}#outcome-status{font-size:.75rem;color:var(--muted)}

.assignment-pickers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 24px}.assignment-pickers label{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;font-size:.8125rem;font-weight:750;text-align:center}.assignment-pickers select{width:100%;min-width:0;max-width:100%;height:44px;padding:8px 3px;font-size:.875rem;color:var(--navy);border:1px solid var(--line);border-radius:8px;background:white;text-overflow:ellipsis}@media print{.assignment-pickers{display:none}}

.clear-match-button{display:block;margin:4px auto 0;min-height:44px;padding:10px 16px;background:transparent;color:#9e2638;font-size:.8125rem;font-weight:700;border-radius:8px}.clear-match-button:hover{background:#9e26380a}
.assignment-pickers select.is-empty{appearance:none;-webkit-appearance:none;text-align:center;text-align-last:center;padding-inline:3px}
/* Compact courtside layout keeps recording controls comfortably tappable. */
.app{padding-top:12px}.topbar{margin-bottom:4px}.brand-kicker{font-size:.625rem}h1{font-size:1.7rem}.toolbar{margin-bottom:4px}.assignment-pickers{margin-bottom:15px}.assignment-pickers label{gap:4px}.court{min-height:0;padding:10px 12px}.back-row{margin-top:20px}.position-count{font-size:2rem;line-height:1.1}.percentage{min-height:16px}.counter-controls{margin-top:4px}.counter-controls button{height:44px}.position-header{font-size:.9375rem}.attack-line{top:49%}.totals{padding:6px 0}.totals strong{font-size:1.4rem}.quality-panel{padding-top:0}.quality-buttons button{min-height:58px;padding:5px 4px}.quality-buttons strong{font-size:1.15rem}#quality-hint{margin-top:4px;line-height:1.3}.outcome-panel{margin-top:8px;padding:8px 10px;gap:6px}.outcome-panel>div:first-child{display:flex;align-items:baseline;gap:8px}#last-attempt{margin-top:0}.actions{margin-top:8px}footer{margin-top:2px}.clear-match-button{margin-top:0}
@media(max-width:360px){.app{padding-top:10px}.court{padding-inline:8px}.quality-buttons span{font-size:.6875rem}footer{flex-wrap:nowrap}footer p{width:auto;font-size:.6875rem}}

.totals>div{flex-wrap:wrap;white-space:normal;gap:4px 8px}#kill-total{display:inline-flex;align-items:baseline;gap:6px;margin-left:6px}#kill-total strong{color:#176779}
