:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text-color:#f5f5f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior-x:contain;overscroll-behavior-y:auto;max-width:100vw;overflow-x:hidden}body{color:var(--text-color,#f5f5f5);background:#111;min-height:100vh;margin:0;padding:.5rem;overflow-x:hidden}.hidden{display:none!important}body.modal-open{width:100%;height:100%;position:fixed;overflow:hidden}#global-modal-scrim{z-index:150;background:0 0;display:none;position:fixed;inset:0}body.modal-open #global-modal-scrim{display:block}body[data-match-finished=true] .tab-panel[data-tab=scout] .score-layout,body[data-match-finished=true] .tab-panel[data-tab=scout] .score-top-row,body[data-match-finished=true] .tab-panel[data-tab=scout] .libero-inline,body[data-match-finished=true] .tab-panel[data-tab=scout] .court-actions-bar,body[data-match-finished=true] .tab-panel[data-tab=scout] .players-area,body[data-match-finished=true] .tab-panel[data-tab=scout] .log-section{filter:grayscale()}body[data-match-finished=true] .tab-panel[data-tab=scout] *{pointer-events:none}body[data-match-finished=true] .tab-panel[data-tab=scout] .resume-btn{pointer-events:auto;filter:none}body[data-theme=light]{color:var(--text-color,#0f172a);--text-color:#0f172a;background:#f7f7f8}h1,h2,h3{color:var(--text-color,#f5f5f5);margin:.5rem 0;font-weight:600}h1{text-align:left;margin:.1rem 0 .2rem .15rem;font-size:1.1rem}.app-title{z-index:1;color:var(--text-color,#e8e8e8);margin:.2rem 0 .5rem .15rem;position:static}h2{margin-top:.8rem;font-size:1.1rem}h3{margin-top:.6rem;font-size:1rem}h4{margin:.35rem 0;font-size:.95rem;font-weight:600}.section{color:var(--text-color,#f5f5f5);background:#1b1b1b;border:1px solid #333;border-radius:.6rem;margin-top:.35rem;padding:.32rem .35rem}body[data-theme=light] .section{color:var(--text-color,#0f172a);background:#fff;border-color:#d6d6d6}.tabs-nav{align-items:center;gap:.4rem;margin:.1rem 0 .2rem;display:flex}.manual-link-btn{color:#dbeafe;white-space:nowrap;background:#0b1c2e;border:1px solid #334155;border-radius:8px;margin-left:.35rem;padding:.45rem .8rem;font-weight:600;text-decoration:none}.manual-link-btn:hover{color:#e0f2fe;border-color:#3b82f6}.tab-btn{color:var(--text-color,#e6e6e6);background:#222;border:1px solid #333;flex:1 1 0}.tab-btn.active{color:#fff;background:#2d6cdf;border-color:#2d6cdf}body[data-theme=light] .tab-btn{color:var(--text-color,#0f172a);background:#fff;border-color:#d1d5db}body[data-theme=light] .tab-btn.active{color:#fff;background:#2563eb}.tabs-nav.floating{z-index:15;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111111b8;border:1px solid #ffffff14;border-radius:.7rem;margin-bottom:.15rem;padding:.12rem .2rem;transition:box-shadow .18s,background .18s;top:auto;left:0;transform:none;box-shadow:0 8px 24px #00000059}.tabs-nav,.tabs-nav.floating,.app-footer{position:static}.tabs-nav .app-title{white-space:nowrap;color:inherit;margin:0;font-size:1rem;font-weight:700}.tabs-nav.floating.centered{left:0;right:0;transform:none}.tabs-nav.floating .tab-btn{flex:none;padding:.3rem .55rem;font-size:.85rem}.tabs-dots{z-index:35;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a0a99;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:.15rem .3rem;display:none;position:fixed;top:.5rem;left:50%;transform:translate(-50%)}body.top-bar-hidden .tabs-nav{display:none}body.top-bar-hidden .tabs-dots{display:none!important}body.top-bar-hidden{padding-top:.12rem}body.top-bar-hidden .tab-panel .section:first-child{margin-top:0}body.top-bar-hidden .tab-panel .section:first-child h2,body.top-bar-hidden .tab-panel .section:first-child h3{margin-top:.1rem}.topbar-toggle-btn{z-index:40;color:#e2e8f0;cursor:pointer;opacity:.8;background:#0a121eeb;border:1px solid #334155;border-top:0;border-radius:0 0 10px 10px;justify-content:center;align-items:center;width:44px;height:7px;padding:0;font-size:.72rem;line-height:1;transition:height .14s,width .14s,opacity .14s,background-color .14s,transform .14s;display:inline-flex;position:sticky;top:3.15rem;left:50%;overflow:hidden;transform:translate(-50%)}.topbar-toggle-btn:hover,.topbar-toggle-btn:focus-visible{opacity:1;width:58px;height:20px}body.top-bar-hidden .topbar-toggle-btn{top:0}body[data-theme=light] .topbar-toggle-btn{color:#0f172a;background:#fffffff2;border-color:#cbd5e1}.tab-dot{background:#2b2b2b;border:1px solid #4b5563;border-radius:50%;flex:none;width:8px;min-width:8px;height:8px;padding:0}.tab-dot.active{background:#2d6cdf;border-color:#2d6cdf}body[data-theme=light] .tabs-dots{background:#ffffffd9;border-color:#0f172a2e}body[data-theme=light] .tab-dot{background:#e5e7eb;border-color:#cbd5f5}body[data-theme=light] .tab-dot.active{background:#2563eb;border-color:#2563eb}.tab-panel{display:none}.tab-panel.active{display:block}body[data-theme=light] .tab-panel{color:#0f172a}.theme-toggle{gap:.25rem;display:inline-flex}.theme-toggle button{min-width:44px}.theme-toggle button.active{color:#fff;background:#2d6cdf;border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa3d}.pdf-capture .tabs-nav,.pdf-capture .controls-row,.pdf-capture [data-pdf-hide=true]{display:none!important}.pdf-capture .section{background:#f8fafc}.print-match-title{color:#0f172a;margin:.2rem 0 .6rem;font-size:1rem;font-weight:700;display:none}.pdf-capture .print-match-title{display:block}.pdf-capture .trajectory-layout,.pdf-capture .serve-trajectory-layout,.pdf-capture .second-layout{grid-template-columns:1fr}.pdf-capture .trajectory-grid,.pdf-capture .serve-trajectory-grid{width:100%}.pdf-filter-summary{color:#0f172a;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;margin:.2rem 0 .6rem;font-size:.82rem;display:flex}.pdf-filter-summary__title{font-weight:700}.pdf-filter-chip{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;padding:.15rem .4rem}.tab-panel{padding-top:.6rem}.app-footer{color:#cbd5e1;background:#0f172a;border:1px solid #334155;border-radius:.7rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin-top:.75rem;padding:.65rem .7rem;display:flex}body[data-theme=light] .app-footer{color:#334155;background:#fff;border-color:#cbd5e1}.app-footer-meta{flex-wrap:wrap;gap:.35rem .7rem;font-size:.82rem;display:flex}.app-footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:inline-flex}.app-footer-refresh{color:#bfdbfe;white-space:nowrap;cursor:pointer;background:#07142b;border:1px solid #2563eb;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;min-height:2rem;padding:.3rem .6rem;font-size:.84rem;font-weight:600;display:inline-flex}.app-footer-refresh:hover{color:#dbeafe;border-color:#60a5fa}.app-footer-manual{color:#dbeafe;white-space:nowrap;background:#0b1c2e;border:1px solid #1d4ed8;border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:.3rem .75rem;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex}.app-footer-manual:hover{color:#eff6ff;border-color:#60a5fa}.app-footer-github{color:#e2e8f0;white-space:nowrap;background:#020617;border:1px solid #475569;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:2rem;padding:.3rem .6rem;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-flex}.app-footer-github svg{flex:none;width:1rem;height:1rem}.app-footer-github:hover{color:#bfdbfe;border-color:#60a5fa}body[data-theme=light] .app-footer-github{color:#0f172a;background:#f8fafc;border-color:#94a3b8}body[data-theme=light] .app-footer-manual,body[data-theme=light] .app-footer-refresh{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.app-footer-bug{color:#fde68a;white-space:nowrap;background:#291708;border:1px solid #d97706;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;min-height:2rem;padding:.3rem .7rem;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex}.app-footer-bug:hover{color:#fef3c7;border-color:#fbbf24}body[data-theme=light] .app-footer-bug{color:#92400e;background:#fffbeb;border-color:#f59e0b}.app-footer-sponsor{color:#fda4af;font-size:.85rem;font-weight:600;text-decoration:none}.app-footer-sponsor:hover{color:#fecdd3;text-decoration:underline}body[data-theme=light] .app-footer-sponsor{color:#be123c}body[data-theme=light] .app-footer-sponsor:hover{color:#9f1239}label{margin-bottom:.2rem;font-size:.85rem;display:block}input[type=text],input[type=date],textarea,select{box-sizing:border-box;width:100%;color:var(--text-color,#f5f5f5);background:#121212;border:1px solid #444;border-radius:.4rem;padding:.3rem .4rem;font-size:.9rem}body[data-theme=light] input[type=text],body[data-theme=light] input[type=date],body[data-theme=light] textarea,body[data-theme=light] select{color:var(--text-color,#0f172a);background:#fff;border-color:#d1d5db}textarea{resize:vertical;min-height:4rem}.row{flex-wrap:wrap;gap:.5rem;display:flex}.col{flex:1 1 0;min-width:130px}button{cursor:pointer;color:#fff;background:#2d6cdf;border:none;border-radius:.6rem;padding:.4rem .6rem;font-size:.9rem;transition:box-shadow 50ms,background .1s}body[data-theme=light] button{color:#fff;background:#2563eb;border:1px solid #1d4ed8}button:active{box-shadow:0 0}button.secondary{background:#444}body[data-theme=light] button.secondary{color:#0f172a;background:#e5e7eb;border-color:#cbd5e1}.file-btn{color:#fff;cursor:pointer;background:#2d6cdf;border:1px solid #1d4ed8;border-radius:.6rem;justify-content:center;align-items:center;gap:.2rem;padding:.4rem .7rem;text-decoration:none;display:inline-flex}.file-btn:hover{background:#3b82f6}body[data-theme=light] .file-btn{color:#fff;background:#2563eb;border-color:#1d4ed8}button.danger{background:#b3261e}body[data-theme=light] button.danger{background:#dc2626}button.success{background:#15803d}body[data-theme=light] button.success{background:#16a34a}button.danger:focus,button.danger:focus-visible{outline-offset:3px;box-shadow:none;outline:2px solid #fca5a5}button.small{border-radius:.55rem;min-width:2.6rem;min-height:38px;padding:.35rem .5rem;font-size:.95rem}.top-bar{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.top-bar .col{min-width:140px}.set-controls{align-items:center;gap:.28rem;margin-bottom:.05rem}.set-controls.grid-row{grid-template-columns:1fr;align-items:start;display:grid}.rotation-block{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.court-actions-bar{background:#0f172a;border:1px solid #1f2937;border-radius:.85rem;flex-wrap:wrap;gap:.6rem;margin-top:.35rem;padding:.55rem .65rem;display:flex}.team-field-box{background:#0f172a;border:1px solid #1f2937;border-radius:.85rem;flex-direction:column;gap:.35rem;max-width:100%;min-height:0;padding:.45rem;display:flex;overflow:hidden}.team-field-box--opponent{background:#3a0f12;border-color:#7f1d1d}body[data-theme=light] .team-field-box{background:#f8fafc;border-color:#e2e8f0}body[data-theme=light] .team-field-box--opponent{background:#fee2e2;border-color:#fca5a5}.team-field-box .court-actions-bar{background:0 0;border:none;flex:none;width:100%;max-width:100%;margin-top:0;padding:0}.team-field-box--home>#players-container{order:1}.team-field-box--home>.court-actions-bar{order:2}.players-area.court-area--swapped .team-field-box--home>.court-actions-bar{order:1}.players-area.court-area--swapped .team-field-box--home>#players-container{order:2}.team-panel{flex-direction:column;gap:.35rem;display:flex;position:relative}.team-panel--near #opponent-players-container{order:1}.team-panel--near .court-actions-bar{order:2}.team-panel .panel-title{flex:1 0 100%}.team-panel__bar{width:100%}.team-panel--opponent .team-panel__bar{background:#3a0f12;border-color:#7f1d1d}body[data-theme=light] .team-panel--opponent .team-panel__bar{background:#fee2e2;border-color:#fca5a5}.team-panel--opponent .team-panel__bar .panel-title{color:#fecaca}body[data-theme=light] .team-panel--opponent .team-panel__bar .panel-title{color:#7f1d1d}.court-actions-bar.team-panel--opponent{background:#3a0f12;border-color:#7f1d1d}body[data-theme=light] .court-actions-bar.team-panel--opponent{background:#fee2e2;border-color:#fca5a5}.court-actions-bar.team-panel--opponent .panel-title{color:#fecaca}body[data-theme=light] .court-actions-bar.team-panel--opponent .panel-title{color:#7f1d1d}.team-score-actions{flex:240px;min-width:220px}.panel-title{width:100%;margin:0 0 .2rem;font-size:1rem;font-weight:700}body[data-theme=light] .court-actions-bar{background:#f8fafc;border-color:#e2e8f0}.court-actions-inline{grid-template-rows:auto auto;grid-template-columns:minmax(170px,210px) minmax(0,1fr);align-items:start;gap:.4rem;width:100%;max-width:100%;margin-top:.6rem;display:grid;overflow-x:hidden}.court-actions-inline>*{min-width:0}.court-actions-inline>.panel-title{grid-column:1/-1;min-width:100%}.court-rotation-block{grid-column:1;gap:.4rem;min-width:0}.court-rotation-block .rotation-toggles{flex-wrap:wrap;gap:.3rem .8rem;margin-top:.1rem;display:flex}.skill-flow-panel{margin-top:.5rem}.skill-flow-grid.skill-flow-inline{flex-wrap:nowrap;gap:.25rem;display:flex}.skill-flow-grid.skill-flow-inline .skill-flow-btn{flex:1 1 0;min-height:36px;padding:.35rem .32rem;font-size:.9rem;font-weight:700}.skill-flow-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.3rem;display:grid}.skill-flow-btn{cursor:pointer;border:none;border-radius:.5rem;width:100%;min-height:48px;padding:.7rem .65rem;font-size:1rem;font-weight:600;line-height:1.2}.skill-flow-btn.badge{padding:.7rem .65rem;font-size:1rem}.court-game-actions{flex:320px;align-items:stretch}.court-actions-inline .court-game-actions{white-space:nowrap;grid-area:1/2;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:.16rem;width:100%;min-width:0;max-width:100%;min-height:0;display:grid;overflow:hidden}.court-game-actions button{flex:0 auto}.court-actions-inline .court-game-actions button{white-space:nowrap;border-radius:.4rem;justify-content:center;align-items:center;width:clamp(4.6rem,5.2vw,5.6rem);min-width:clamp(4.6rem,5.2vw,5.6rem);max-width:clamp(4.6rem,5.2vw,5.6rem);height:2rem;min-height:2rem;padding:.2rem .3rem;font-size:.82rem;line-height:1.05;display:inline-flex}.court-actions-inline .court-game-actions #single-team-score-actions,.court-actions-inline .court-game-actions .freeball-actions-inline{flex-wrap:nowrap;flex:none;align-items:stretch;gap:.16rem;width:auto;min-width:0;display:inline-flex}.court-actions-inline .court-game-actions #single-team-score-actions button,.court-actions-inline .court-game-actions .freeball-actions-inline button{width:clamp(4.6rem,5.2vw,5.6rem);min-width:clamp(4.6rem,5.2vw,5.6rem);max-width:clamp(4.6rem,5.2vw,5.6rem);height:2rem;min-height:2rem;padding:.2rem .3rem;font-size:.82rem;line-height:1.05}.court-actions-inline .team-controls-panel{flex-wrap:wrap;grid-area:2/1/auto/-1;align-items:center;gap:.35rem;width:100%;min-width:0;display:flex;overflow:hidden}.court-actions-inline .libero-inline{flex:160px;min-width:0}.court-actions-inline .skill-flow-panel{flex:170px;min-width:0}.court-actions-inline .skill-flow-grid.skill-flow-inline{flex-wrap:wrap}.court-actions-inline .skill-flow-grid.skill-flow-inline .skill-flow-btn{min-width:46px}.court-actions-inline button.small,.court-actions-inline .team-controls-panel button,.court-actions-inline .skill-flow-btn{min-width:0}@media (max-width:1350px){.court-actions-inline{grid-template-columns:minmax(160px,200px) minmax(0,1fr)}.court-actions-inline .team-controls-panel{grid-column:1/-1}}@media (max-width:760px){.court-actions-inline{grid-template-columns:1fr}.court-rotation-block,.court-actions-inline .court-game-actions,.court-actions-inline .team-controls-panel{grid-column:1}}.court-actions-inline .court-game-actions .score-actions-inline,.court-actions-inline .court-game-actions .freeball-actions-inline{flex:none!important;width:auto!important}.court-actions-inline .team-controls-panel .skill-flow-panel{flex:1 1 0;margin-top:0}.team-timeout-block{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.team-timeout-block .team-counter{white-space:nowrap;opacity:.85;font-size:.82rem}.team-timeout-block strong{font-weight:700}.rotation-display{position:relative}.rotation-select{margin-top:.25rem}body[data-theme=light] .rotation-block,body[data-theme=light] .rotation-display{color:#0f172a}.log-serve-trajectory{flex-direction:column;gap:.3rem;margin-bottom:.35rem;display:flex}.log-serve-trajectory__grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.4rem;display:grid}.serve-trajectory-card.log-serve-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.35rem;min-height:90px;padding:.16rem;display:grid}.log-serve-card .trajectory-card__title{margin-bottom:.12rem;font-size:.7rem}.log-serve-card canvas{min-height:55px}.serve-trajectory-card__stats{border-top:1px solid var(--border-color,#2f2f2f);margin-top:.35rem;padding-top:.3rem}.log-serve-card .serve-trajectory-card__stats{border-top:0;margin-top:0;padding-top:0}.log-serve-card .serve-trajectory-card__stats-grid{flex-direction:column;gap:.12rem;display:flex}.serve-trajectory-card__stats-title{opacity:.85;margin-bottom:.12rem;font-size:.85rem;font-weight:600}.serve-trajectory-card__stats-grid{grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:.2rem .4rem;font-size:.9rem;display:grid}.serve-trajectory-card__stat{white-space:nowrap;align-items:center;gap:.2rem;display:inline-flex}.serve-trajectory-card__stat strong{font-weight:700}.score-card{background:#191919;border:1px solid #2f2f2f;border-radius:.7rem;flex-direction:column;gap:.18rem;min-width:150px;padding:.18rem .3rem;display:flex}.score-top-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;width:100%;display:grid}.score-layout{grid-template-columns:repeat(3,minmax(120px,1fr));align-items:center;gap:.5rem;display:grid}.score-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem;display:grid}.score-side>button{white-space:nowrap;min-width:0;padding-inline:.38rem;font-size:.78rem}.score-center{text-align:center;flex-direction:column;gap:.2rem;display:flex}body[data-theme=light] .score-card{color:#0f172a;background:#fff;border-color:#dfe3eb}.score-set-select{align-items:center;gap:.4rem;min-width:110px;display:flex}.score-top-action{width:auto;min-width:0;padding-inline:.5rem}.score-top-action-left{justify-self:start}.score-top-action-right{justify-self:end}.set-display{background:#0f172a;border:1px solid #2f2f2f;border-radius:999px;padding:.25rem .65rem;font-weight:700}body[data-theme=light] .set-display{background:#f8fafc;border-color:#dfe3eb}.hidden-select{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.set-bottom-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.4rem;margin-top:.45rem;display:grid}.set-bottom-actions button{width:100%}.resume-btn{color:#ecfdf3;background:#166534;border-color:#22c55e}body[data-theme=light] .resume-btn{color:#0f172a;background:#16a34a;border-color:#22c55e}.score-actions{flex-wrap:wrap;justify-content:stretch;gap:.35rem;width:100%;display:flex}.score-actions-inline{flex-wrap:wrap;gap:.35rem;width:100%;display:flex}.freeball-actions-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%;min-width:0;display:grid}.score-actions button{flex:120px;min-width:0;padding:.18rem .3rem;font-size:.76rem}.freeball-actions-inline button{width:100%;min-width:0}.score-actions button#btn-score-team-point,.score-actions button#btn-score-team-point-modal{color:#ecfdf3;background:#166534;border-color:#22c55e}body[data-theme=light] .score-actions button#btn-score-team-point,body[data-theme=light] .score-actions button#btn-score-team-point-modal{color:#0f172a;background:#16a34a;border-color:#22c55e}.score-card.detail{min-width:130px}.score-value{font-size:1.15rem;font-weight:700}.score-value.emph{font-size:1.3rem}.score-value.small{font-size:.95rem}.score-set-row{color:#cbd5f5;justify-content:center;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.score-set-label{text-transform:uppercase;letter-spacing:.05em;color:#9aa3b2;font-size:.75rem}.score-set-value{color:#e2e8f0;font-size:.9rem;font-weight:700}body[data-theme=light] .score-set-row{color:#475569}body[data-theme=light] .score-set-label{color:#64748b}body[data-theme=light] .score-set-value{color:#0f172a}.score-sets{color:#d4d4d4;font-size:.88rem;line-height:1.35}.score-sets.cards{flex-wrap:wrap;justify-content:flex-start;gap:.3rem;display:flex}.score-set-chip{background:#0f0f0f;border:1px solid #2b2b2b;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.9rem;font-weight:650;display:inline-flex}button:hover{background:#3b7cff;box-shadow:0 2px 8px #00000040}button.secondary:hover{background:#555}button.danger:hover{background:#c7372d}.score-card button:hover,.score-actions button:hover,.court-game-actions button:hover{filter:brightness(1.05)}#btn-freeball{position:relative;overflow:hidden}#btn-freeball.active{color:#fff;background:#1d4ed8;box-shadow:0 0 0 6px #3b82f659}#btn-freeball.freeball-pulse{animation:.36s freeballPulse;box-shadow:0 0 0 6px #3b82f640}@keyframes freeballPulse{0%{transform:scale(.98)}40%{transform:scale(1.04)}to{transform:scale(1)}}.rotation-controls{align-items:center;gap:.28rem;display:flex}.court-actions-inline .rotation-controls{grid-template-columns:minmax(2rem,2.4rem) minmax(0,1fr) minmax(2rem,2.4rem);align-items:stretch;gap:.28rem;width:100%;min-width:0;min-height:36px;display:grid}.court-actions-inline .rotation-controls .rotate-cw,.court-actions-inline .rotation-controls .rotate-ccw{width:100%;min-width:0;height:100%;min-height:36px;padding:0 .2rem}.court-actions-inline .rotation-controls .rotation-display{justify-content:center;align-items:stretch;min-width:0;height:100%;display:flex}.court-actions-inline .rotation-controls .rotation-select{width:100%;min-width:0;height:100%;min-height:36px;margin-top:0}.rotate-ccw{background:#1b5e20}.rotate-cw{background:#b3261e}.rotation-display{flex-direction:column;align-items:center;display:flex}.touch-drag-ghost{pointer-events:none;z-index:9999;color:#e5e7eb;white-space:nowrap;background:#1f2937;border:1px solid #3b82f6;border-radius:.7rem;padding:.35rem .55rem;font-weight:700;position:fixed;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000059}.auto-rotate-toggle{align-items:center;gap:.35rem;margin-top:.2rem;font-size:.85rem;display:inline-flex}.auto-rotate-toggle.floating{margin-top:0;font-size:.8rem}.auto-rotate-toggle input{width:16px;height:16px}.floating-serve-error-btn{z-index:140;background:var(--skill-serve-bg,#1b5e20);width:52px;height:52px;color:var(--skill-serve-text,#d1fae5);border:1px solid #0003;border-radius:999px;justify-content:center;align-items:center;font-size:1.35rem;font-weight:700;display:inline-flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 12px 24px #00000040}body[data-theme=light] .floating-serve-error-btn{border-color:#0f172a33;box-shadow:0 12px 24px #0f172a29}.event-edit-table th.bulk-editable{cursor:default}.event-edit-table.bulk-edit-active th.bulk-editable{cursor:pointer;color:#93c5fd;text-underline-offset:.2rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.event-edit-table.bulk-edit-active th.bulk-editable:after{content:"✎";opacity:.7;margin-left:.25rem;font-size:.75em}.settings-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.settings-btn{align-items:center;gap:.35rem;display:inline-flex}.settings-modal{z-index:220;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;position:absolute;inset:0}.settings-modal__content{color:#e2e8f0;border:1px solid var(--border-color,#334155);z-index:1;background:#0b111a;border-radius:10px;width:min(420px,100% - 1.5rem);max-height:min(90vh,720px);padding:1rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 18px 32px #00000059}body[data-theme=light] .settings-modal__content{color:#0f172a;background:#f8fafc}.settings-modal__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.settings-modal__head h3{margin:0}.settings-modal__body{-webkit-overflow-scrolling:touch;gap:.35rem;max-height:calc(90vh - 160px);display:grid;overflow-y:auto}.next-set__body{gap:.75rem}.next-set-lineups{gap:.6rem}.next-set-lineups.next-set-lineups--double{grid-template-columns:repeat(auto-fit,minmax(min(390px,100%),1fr));align-items:start}.next-set-lineup-block{gap:.45rem;display:grid}.next-set-lineup-head{justify-content:space-between;gap:.6rem}.next-set-lineup-head h4{margin:0;font-size:.9rem}.next-set-rotation-controls{align-items:center;gap:.35rem;display:flex}.next-set-bench{background:#0f172a;border:1px solid #1f2937;border-radius:.6rem;padding:.45rem}body[data-theme=light] .next-set-bench{background:#f8fafc;border-color:#dfe3eb}.next-set__serve{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.next-set__serve-label{grid-column:1/-1}.next-set-sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.next-set-sides .next-set__serve-label{grid-column:1/-1}.next-set__serve-label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:.75rem}.next-set__serve .auto-rotate-toggle{align-items:center;gap:.4rem;display:flex}body.desktop-court-modal .court-modal{z-index:10;background:0 0;justify-content:center;align-items:stretch;width:100%;height:100%;padding:0;position:absolute;inset:0;overflow:hidden}body.desktop-court-modal .court-modal .skill-modal__backdrop{display:none}body.desktop-court-modal .court-modal .skill-modal__content{border-radius:.6rem;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}body.desktop-court-modal .court-modal .lineup-modal__content{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}body.desktop-court-modal .court-modal .attack-trajectory-content{border-radius:.6rem;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}body.desktop-court-modal .court-modal .attack-trajectory-body{min-height:0}body.desktop-court-modal .court-modal .attack-trajectory-stage{flex:auto;height:auto;min-height:0;max-height:none}.match-summary{background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:.35rem .5rem;font-weight:600}body[data-theme=light] .match-summary{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.match-manager__content{width:min(920px,100% - 1.5rem);max-height:min(90vh,760px);overflow:hidden}.match-manager__body{-webkit-overflow-scrolling:touch;gap:.8rem;max-height:calc(90vh - 160px);overflow-y:auto}.match-manager-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;display:grid}.tab-panel[data-tab=match] .match-manager__content{width:100%;max-height:none;overflow:visible}.tab-panel[data-tab=match] .match-manager__body{max-height:none;overflow:visible}.tab-panel[data-tab=match] .match-manager-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1rem}.tab-panel[data-tab=match] .match-list{max-height:360px}@media (max-width:980px){.tab-panel[data-tab=match] .match-manager-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.match-manager-panel{background:#0f172aa6;border:1px solid #1f2937;border-radius:.75rem;padding:.75rem}.match-manager-panel--actions{grid-column:1/-1}body[data-theme=light] .match-manager-panel{background:#f8fafc;border-color:#e2e8f0}.match-manager-panel h4{margin:0 0 .5rem;font-size:.95rem}.match-list{background:#02061766;border:1px solid #1f2937;border-radius:.6rem;flex-direction:column;gap:.35rem;max-height:240px;padding:.4rem;display:flex;overflow-y:auto}body[data-theme=light] .match-list{background:#f8fafc;border-color:#e2e8f0}.match-list-item{text-align:left;color:inherit;background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.3rem .4rem;display:flex}.match-list-item.active{background:#2d6cdf1f;border-color:#2d6cdf}.match-list-item:hover{background:#94a3b826}.match-list-empty{opacity:.75;font-size:.85rem}.offset-skill-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.4rem .6rem;display:grid}.offset-skill-row{justify-content:space-between;align-items:center;gap:.4rem;padding:.2rem 0;display:flex}.offset-skill-row label{font-size:.85rem;font-weight:600}.offset-skill-row input[type=number]{text-align:right;width:4.5rem;padding:.25rem .4rem}.offset-actions{justify-content:flex-end;gap:.4rem;margin-top:.4rem;display:flex}.unify-times-grid{gap:.6rem;margin-top:.4rem;display:grid}.unify-times-row{border-bottom:1px solid #ffffff14;gap:.3rem;padding:.3rem 0;display:grid}body[data-theme=light] .unify-times-row{border-bottom:1px solid #0f172a14}.unify-times-row:last-child{border-bottom:none}.unify-times-row__head{align-items:center;gap:.5rem;display:flex}.unify-times-row__label{font-size:.9rem;font-weight:600}.unify-times-row__options{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.unify-times-row__options label{align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.video-time-input{align-items:center;gap:.35rem;display:inline-flex}.video-time-part{text-transform:uppercase;opacity:.75;align-items:center;gap:.2rem;font-size:.75rem;display:inline-flex}.video-time-part input{width:64px;min-width:0;padding:.2rem .35rem;font-size:.9rem}.lineup-modal__content{flex-direction:column;width:90vw;max-width:900px;max-height:90vh;display:flex}.lineup-modal__body{flex-direction:column;flex:auto;gap:.6rem;min-height:0;padding:.2rem .1rem .4rem;display:flex;overflow:auto}.lineup-modal__court{background:#0f172a;border:1px solid #1f2937;border-radius:.6rem;padding:.4rem}.lineup-court-grid{grid-template-columns:repeat(3,minmax(120px,1fr));grid-template-areas:"pos4 pos3 pos2""pos5 pos6 pos1";gap:.35rem;display:grid}.lineup-slot.pos-1{grid-area:pos1}.lineup-slot.pos-2{grid-area:pos2}.lineup-slot.pos-3{grid-area:pos3}.lineup-slot.pos-4{grid-area:pos4}.lineup-slot.pos-5{grid-area:pos5}.lineup-slot.pos-6{grid-area:pos6}.lineup-slot{background:#111827;border:1px dashed #334155;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:.2rem .35rem;display:flex;position:relative}.lineup-slot.empty:after{content:attr(data-pos);color:#94a3b899;pointer-events:none;place-items:center;font-size:1.05rem;display:grid;position:absolute;inset:0}.lineup-slot .slot-head{display:none}.lineup-slot .slot-body{background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.lineup-slot .slot-name{text-align:center;color:#e2e8f0;word-break:break-word;font-size:.9rem;font-weight:600}.lineup-slot button.slot-clear{padding:.18rem .45rem;font-size:.8rem}.lineup-slot.drop-over{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb66}.lineup-modal__bench{background:#0f172a;border:1px solid #1f2937;border-radius:.6rem;flex-direction:column;gap:.35rem;padding:.5rem;display:flex}.lineup-modal__bench h4{margin:0 0 .2rem}.lineup-number-input{text-align:center;color:#e2e8f0;background:#0b1224;border:1px solid #334155;border-radius:6px;width:72px;padding:.25rem .4rem;font-size:1rem;font-weight:700}.lineup-number-input:focus{outline-offset:1px;outline:2px solid #38bdf8}body[data-theme=light] .lineup-number-input{color:#0f172a;background:#fff;border-color:#dfe3eb}.lineup-bench-chips{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.25rem;display:grid}.lineup-chip{color:#e2e8f0;cursor:grab;background:#111827;border:1px solid #334155;border-radius:.6rem;justify-content:space-between;gap:.4rem;padding:.3rem .45rem;display:flex}.lineup-chip:active{cursor:grabbing}.lineup-chip span{font-weight:700}.lineup-chip.selected{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb99}.lineup-chip.replaced-chip{color:#dcfce7;background:#14532d;border-color:#22c55e}body[data-theme=light] .lineup-chip.replaced-chip{color:#14532d;background:#dcfce7;border-color:#16a34a}.lineup-modal__foot{justify-content:flex-end;gap:.4rem;padding-top:.2rem;display:flex}.lineup-modal__libero{align-items:center;gap:.4rem;margin-right:auto;font-size:.85rem;display:flex}.lineup-modal__libero select,.default-lineup-preferred-libero select{color:#e2e8f0;background:#0b1224;border:1px solid #334155;border-radius:6px;min-width:180px;padding:.2rem .4rem}body[data-theme=light] .lineup-modal__libero select,body[data-theme=light] .default-lineup-preferred-libero select{color:#0f172a;background:#fff;border-color:#dfe3eb}.default-lineup-preferred-libero{justify-content:space-between;align-items:center;gap:.5rem;margin:.4rem 0 .2rem;display:flex}@media (max-width:900px){.lineup-court-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}}:root{--update-banner-offset:0px}.update-banner{z-index:1200;color:#fff;background:#0f3a6d;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 6px 16px #00000040}.update-banner-text{font-weight:600}.update-banner-actions{gap:8px;display:flex}.update-banner .small{color:#0f3a6d;background:#fff;border-color:#0000}.update-banner .small.secondary{color:#fff;background:#fff3;border-color:#ffffff73}body{padding-top:var(--update-banner-offset)}.scout-grid{grid-template-columns:minmax(0, var(--scout-left-width,280px)) 10px minmax(0, 1fr) 10px minmax(0, var(--scout-right-width,380px));align-items:start;gap:.35rem;width:100%;margin-top:.35rem;display:grid}.scout-grid>.section{min-width:0;container-type:inline-size}.scout-column-resizer{cursor:col-resize;touch-action:none;background:0 0;border:0;border-radius:999px;align-self:stretch;width:10px;min-width:10px;min-height:14rem;padding:0;position:relative}.scout-column-resizer:before{content:"";border-radius:inherit;background:color-mix(in srgb, var(--border-color,#334155) 76%, transparent);transition:inset .15s,background .15s;position:absolute;inset:0 3px}.scout-column-resizer:hover:before,.scout-column-resizer:focus-visible:before,body.scout-columns-resizing .scout-column-resizer:before{background:#3b82f6;inset-inline:2px}.scout-column-resizer:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}body.scout-columns-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.scout-dvw-bar{margin-bottom:.65rem;padding:.75rem .9rem}.scout-dvw-bar__top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.45rem;display:flex}.scout-dvw-bar__title-row{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.scout-dvw-bar__top label{margin:0;font-weight:700}.scout-dvw-help-btn{border-radius:999px;width:1.7rem;min-width:1.7rem;height:1.7rem;padding:0;font-weight:700;line-height:1}.scout-dvw-bar__last{color:var(--muted,#b7c1d6);font-size:.9rem}.scout-dvw-bar__controls{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;display:grid}.scout-dvw-bar__controls input{min-width:0;font-family:JetBrains Mono,Fira Code,monospace}.scout-dvw-bar__breakdown{color:var(--muted,#b7c1d6);word-break:break-word;background:#ffffff08;border:1px solid #ffffff17;border-radius:.45rem;margin-top:.45rem;padding:.45rem;font-size:.76rem;line-height:1.2}.scout-dvw-breakdown__suggestion{background:#3b82f61f;border:1px solid #60a5fa59;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:.4rem;padding:.28rem .42rem;display:flex}.scout-dvw-breakdown__suggestion-label{letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;font-size:.62rem;font-weight:700}.scout-dvw-breakdown__suggestion code{color:#e0f2fe;font-family:JetBrains Mono,Fira Code,monospace}.scout-dvw-breakdown__grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.35rem;display:grid}.scout-dvw-breakdown__group{border:1px solid #ffffff14;border-radius:.42rem;min-width:0;overflow:hidden}.scout-dvw-breakdown__group--main{background:#f59e0b1a;border-color:#f59e0b3d}.scout-dvw-breakdown__group--advanced{background:#3b82f61a;border-color:#3b82f63d}.scout-dvw-breakdown__group--extended{background:#f43f5e1a;border-color:#f43f5e3d}.scout-dvw-breakdown__group--command{background:#22c55e1a;border-color:#22c55e3d}.scout-dvw-breakdown__group.is-placeholder{opacity:.78}.scout-dvw-breakdown__group-title{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ffffff14;padding:.2rem .38rem;font-size:.6rem;font-weight:700}.scout-dvw-breakdown__group-body{flex-wrap:wrap;gap:.2rem;padding:.28rem .32rem .32rem;display:flex}.scout-dvw-breakdown__item{background:#ffffff0d;border-radius:999px;align-items:baseline;gap:.22rem;min-width:0;padding:.16rem .26rem;display:inline-flex}.scout-dvw-breakdown__key{letter-spacing:.04em;text-transform:uppercase;color:#ffffffa6;font-size:.56rem;font-weight:700}.scout-dvw-breakdown__value{color:#ffffffeb;min-width:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.68rem}.scout-dvw-breakdown__item:not(.is-filled) .scout-dvw-breakdown__value{color:#ffffff61}.scout-dvw-breakdown__command-text{color:#ffffffe0;padding:.28rem .34rem .34rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.68rem}.scout-dvw-bar__status{min-height:1.2rem;color:var(--muted,#b7c1d6);margin-top:.45rem;font-size:.92rem}.scout-dvw-bar__pending{flex-wrap:wrap;gap:.45rem;margin-top:.55rem;display:flex}.scout-dvw-chip{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.45rem;max-width:100%;padding:.34rem .55rem;font-size:.84rem;line-height:1;display:inline-flex}.scout-dvw-chip.is-skill-serve{border-color:color-mix(in srgb, var(--skill-serve-bg,#1b5e20) 70%, white 16%);background:color-mix(in srgb, var(--skill-serve-bg,#1b5e20) 72%, transparent);color:var(--skill-serve-text,#d1fae5)}.scout-dvw-chip.is-skill-pass{border-color:color-mix(in srgb, var(--skill-pass-bg,#f9a825) 72%, white 12%);background:color-mix(in srgb, var(--skill-pass-bg,#f9a825) 74%, transparent);color:var(--skill-pass-text,#fff)}.scout-dvw-chip.is-skill-freeball{border-color:color-mix(in srgb, var(--skill-freeball-bg,#c026d3) 72%, white 12%);background:color-mix(in srgb, var(--skill-freeball-bg,#c026d3) 74%, transparent);color:var(--skill-freeball-text,#fdf4ff)}.scout-dvw-chip.is-skill-attack{border-color:color-mix(in srgb, var(--skill-attack-bg,#b71c1c) 72%, white 12%);background:color-mix(in srgb, var(--skill-attack-bg,#b71c1c) 74%, transparent);color:var(--skill-attack-text,#ffe4e6)}.scout-dvw-chip.is-skill-defense{border-color:color-mix(in srgb, var(--skill-defense-bg,#546e7a) 72%, white 12%);background:color-mix(in srgb, var(--skill-defense-bg,#546e7a) 74%, transparent);color:var(--skill-defense-text,#e2e8f0)}.scout-dvw-chip.is-skill-block{border-color:color-mix(in srgb, var(--skill-block-bg,#4a148c) 72%, white 12%);background:color-mix(in srgb, var(--skill-block-bg,#4a148c) 74%, transparent);color:var(--skill-block-text,#ede9fe)}.scout-dvw-chip.is-skill-second{border-color:color-mix(in srgb, var(--skill-second-bg,#00838f) 72%, white 12%);background:color-mix(in srgb, var(--skill-second-bg,#00838f) 74%, transparent);color:var(--skill-second-text,#ccfbf1)}.scout-dvw-chip.is-draft{opacity:.88;border-style:dashed}.scout-dvw-chip.is-invalid{color:#ffb0b0;border-color:#ff7f7f8c}.scout-dvw-chip__code{white-space:nowrap;font-family:JetBrains Mono,Fira Code,monospace}.scout-dvw-chip__remove{min-width:1.2rem;min-height:1.2rem;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.scout-dvw-bar__status.is-error{color:#ff7f7f}.scout-dvw-bar__status.is-success{color:#7bd88f}.scout-mobile-bar{z-index:36;pointer-events:none;justify-content:space-between;align-items:center;padding:0 .6rem;display:none;position:fixed;bottom:.6rem;left:0;right:0}.scout-mobile-bar button{color:#e5e7eb;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#0c0c0cb3;border:1px solid #ffffff1f;border-radius:999px;min-width:0;min-height:0;padding:.4rem .55rem;font-size:.72rem;font-weight:700;box-shadow:0 8px 18px #0000004d}#btn-open-menu-mobile{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}#btn-open-menu-mobile svg{fill:currentColor;width:18px;height:18px}#btn-open-log-mobile{padding:.4rem .7rem}body[data-theme=light] .scout-mobile-bar button{color:#0f172a;background:#ffffffe6;border-color:#0f172a26}.drawer-backdrop{z-index:40;background:#00000073;display:none;position:fixed;inset:0}.drawer-close{align-self:flex-end;margin-bottom:.35rem;display:none}.scout-grid .section{height:auto;margin-top:0}.scout-col-center .players-area{height:auto}.scout-col-right{flex-direction:column;gap:.5rem;display:flex}.scout-widget-zone{min-width:0}.scout-widget-zone--right,.scout-widget-zone--center{flex-direction:column;gap:.5rem;display:flex}.scout-widget-zone--right{flex:auto;min-height:5rem}.scout-widget-zone--center:empty{display:none}.scout-widget{box-sizing:border-box;background:#0f172a94;border:1px solid #334155;border-radius:.7rem;min-width:0;max-width:100%;margin-block:0;padding:.55rem;position:relative}body[data-theme=light] .scout-widget{background:#f8fafc;border-color:#cbd5e1}.scout-widget-handle{z-index:20;border:1px solid color-mix(in srgb, var(--border-color,#334155) 82%, transparent);width:1.35rem;height:1.35rem;color:var(--muted,#94a3b8);cursor:grab;touch-action:none;opacity:.42;background:#0f172ad1;justify-content:center;align-items:center;margin:0;line-height:1;transition:opacity .15s,color .15s,background .15s;display:flex;position:absolute;top:.18rem;right:.18rem;border-radius:999px!important;min-width:1.35rem!important;min-height:1.35rem!important;padding:0!important}.scout-widget:hover>.scout-widget-handle,.scout-widget-handle:hover,.scout-widget-handle:focus-visible{opacity:1;color:#fff;background:#2563eb;border-color:#60a5fa}.scout-widget-handle:active{cursor:grabbing}.scout-widget.is-dragging{opacity:.48;outline-offset:2px;outline:2px solid #60a5fa}body.scout-widget-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.scout-widget-drag-ghost{z-index:1000;pointer-events:none;color:#fff;white-space:nowrap;will-change:transform;background:#0f172af0;border:1px solid #60a5fa;border-radius:.45rem;padding:.35rem .55rem;font-size:.76rem;font-weight:700;position:fixed;top:0;left:0;box-shadow:0 8px 24px #00000057}body.scout-widget-dragging .scout-widget-zone{outline-offset:2px;background:#3b82f60a;border-radius:.6rem;outline:1px dashed #60a5fa94;min-height:3.5rem;display:flex}body.scout-widget-dragging .scout-widget-zone.is-drop-target{background:#3b82f624;outline:2px solid #60a5fa}body.scout-widget-dragging .scout-widget-zone--right{min-height:max(12rem,60vh)}body.scout-widget-dragging .scout-widget-zone:empty:before{color:#93c5fd;text-align:center;justify-content:center;align-items:center;min-height:3.5rem;font-size:.75rem;font-weight:700;display:flex}body.scout-widget-dragging [data-scout-widget-zone=center-top]:empty:before{content:"Rilascia sopra il campo"}body.scout-widget-dragging [data-scout-widget-zone=center-bottom]:empty:before{content:"Rilascia sotto il campo"}body.scout-widget-dragging [data-scout-widget-zone=center-court]:empty:before{content:"Rilascia al centro"}body.scout-widget-dragging [data-scout-widget-zone=right]:empty:before{content:"Rilascia nella colonna destra"}@media (pointer:coarse){.scout-widget-handle{opacity:.75}}.scout-events-widget{width:100%}.scout-widgets-reset{align-self:flex-end;margin-bottom:.1rem}.scout-col-right #events-log{min-height:180px;max-height:44vh}.players-area{flex-direction:column;gap:.35rem;display:flex;position:relative}@media (min-width:901px){body[data-active-tab=scout] .tab-panel[data-tab=scout]{height:auto;overflow:visible}body[data-active-tab=scout] .scout-grid{height:auto;min-height:0}body[data-active-tab=scout] .scout-grid>.section{min-height:0}body[data-active-tab=scout] .scout-col-left,body[data-active-tab=scout] .scout-col-center,body[data-active-tab=scout] .scout-col-right{overflow:visible}body[data-active-tab=scout] .scout-col-right #events-log{overflow-y:auto}}body:has(.next-set-inline:not(.hidden)){overflow:hidden}.next-set-inline{z-index:1900;overscroll-behavior:contain;box-sizing:border-box;background:#0a0c1499;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.next-set-inline__card{box-sizing:border-box;color:#e2e8f0;background:#0b111a;border:1px solid #334155;border-radius:12px;width:min(1200px,100%);min-height:0;max-height:100%;padding:1rem 1.1rem;overflow-y:auto;box-shadow:0 16px 28px #00000073}.next-set-inline__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.next-set-lineups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.8rem;display:grid}.next-set-lineup-block{border:1px solid #0000;border-radius:.75rem;min-width:0;padding:.7rem}#next-set-block-our{background:#1e40af33;border-color:#3b82f67a}#next-set-block-opp{background:#991b1b33;border-color:#ef44447a}.next-set-lineup-head{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.55rem;display:flex}.next-set-lineup-head h4{margin:0 auto 0 0}.next-set-court-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}.next-set-bench{margin-top:.55rem}.next-set-libero{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.55rem;font-size:.82rem;display:flex}.next-set-libero select{min-width:0;max-width:55%}body[data-theme=light] .next-set-inline{background:#e2e8f0b3}body[data-theme=light] .next-set-inline__card{color:#0f172a;background:#f8fafc;border-color:#cbd5f5}body[data-theme=light] #next-set-block-our{background:#dbeafed1;border-color:#93c5fd}body[data-theme=light] #next-set-block-opp{background:#fee2e2d1;border-color:#fca5a5}@media (max-width:820px){.next-set-lineups{grid-template-columns:1fr}}.court-net-divider{letter-spacing:.2em;text-transform:uppercase;color:#94a3b8;flex-wrap:wrap;order:2;align-items:center;gap:.5rem;padding:.1rem 0;font-size:.7rem;font-weight:600;display:flex}.net-action-btn{white-space:nowrap;width:auto;max-width:none;padding:.32rem .45rem;font-size:clamp(.68rem,1.7vw,.76rem);line-height:1}.net-actions-default{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:inline-flex}#btn-contesa{margin-left:auto}.net-action-btn--block-prompt{letter-spacing:.08em;background:var(--skill-block-bg,#4a148c);border-color:var(--skill-block-bg,#4a148c);min-width:160px;color:var(--skill-block-text,#ede9fe);padding:.38rem .9rem;font-size:.88rem;font-weight:800}.court-net-divider.block-prompt-active{flex-wrap:nowrap;align-items:stretch}.court-net-divider.block-prompt-active>span,.court-net-divider.block-prompt-active:before,.court-net-divider.block-prompt-active:after{display:none}.court-net-divider.block-prompt-active .net-action-btn--block-prompt{letter-spacing:.12em;width:100%;min-width:0;min-height:44px;font-size:1rem}.court-net-divider.block-prompt-active #btn-contesa,.court-net-divider.block-prompt-active #btn-undo{white-space:nowrap;width:auto}body[data-theme=light] .net-action-btn--block-prompt{color:#fff;background:#7c3aed;border-color:#7c3aed}.court-net-divider:before,.court-net-divider:after{content:"";background:#94a3b866;flex:1;height:1px}@media (min-width:700px){.court-net-divider{flex-wrap:nowrap;align-items:center}}body[data-theme=light] .court-net-divider{color:#64748b}body[data-theme=light] .court-net-divider:before,body[data-theme=light] .court-net-divider:after{background:#64748b59}.base-modal__content{max-width:360px}.app-shell-nav{min-height:2.8rem}.match-session-only{display:none!important}body[data-match-session=true] .match-session-only{display:inline-flex!important}body[data-match-session=true] .lobby-only{display:none!important}.match-session-identity{border-left:1px solid #334155;flex-direction:column;flex:0 18rem;gap:.05rem;min-width:0;padding:.25rem .65rem;line-height:1.15}.match-session-identity__label,.match-lobby-eyebrow{color:#94a3b8;letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:700}.match-session-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-session-exit{white-space:nowrap;flex:none}.mobile-match-exit{color:#fff;background:#7f1d1d;border:1px solid #ef4444;border-radius:999px;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;padding:0}.global-settings-btn{flex:none}.match-lobby-heading{justify-content:space-between;align-items:flex-end;gap:1rem;padding:.35rem .2rem .55rem;display:flex}.match-lobby-heading h2,.match-lobby-eyebrow{margin:0}.match-lobby-heading h2{margin-top:.15rem;font-size:1.45rem}.lobby-theme-picker{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.lobby-theme-picker__label{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}@media (max-width:720px){.match-lobby-heading{flex-direction:column;align-items:stretch}.lobby-theme-picker{align-items:flex-start}.lobby-theme-picker .theme-toggle{width:100%}.lobby-theme-picker .theme-toggle button{flex:auto}}.global-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.global-settings-card{background:#151a21;border:1px solid #334155;border-radius:.65rem;padding:.8rem}.global-settings-card h3{margin-top:0}.global-settings-card .opponent-skill-toggles{margin-top:.7rem}.new-match-modal__content{width:min(620px,100vw - 1.5rem)}.new-match-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:.9rem 0;display:grid}.new-match-field{flex-direction:column;gap:.35rem;font-weight:600;display:flex}.new-match-mode{border:1px solid #334155;border-radius:.5rem;flex-wrap:wrap;gap:.75rem;margin:0;padding:.55rem .7rem;display:flex}.new-match-mode legend{padding:0 .3rem;font-size:.82rem;font-weight:700}.new-match-mode label{align-items:center;gap:.35rem;display:inline-flex}body[data-theme=light] .match-session-identity{border-left-color:#cbd5e1}body[data-theme=light] .global-settings-card{background:#f8fafc;border-color:#d1d5db}body[data-theme=light] .new-match-mode{border-color:#cbd5e1}.base-modal__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.4rem;display:grid}.base-modal-btn{color:#e2e8f0;z-index:2;pointer-events:auto;background:#0f172a;border:1px solid #334155;border-radius:.6rem;padding:.6rem .4rem;font-size:1rem;font-weight:700;position:relative}.base-modal-btn:hover{filter:brightness(1.05)}.base-modal__hint{margin-top:.4rem}body[data-theme=light] .base-modal-btn{color:#0f172a;background:#fff;border-color:#cbd5f5}.players-area>[data-team-panel=opponent],.players-area>.single-team-opponent-panel{order:1}.players-area>.court-net-divider{order:2}.players-area>[data-team-panel=home]{order:3}.players-area.court-area--swapped>[data-team-panel=home]{order:1}.players-area.court-area--swapped>.court-net-divider{order:3}.players-area.court-area--swapped>[data-team-panel=opponent],.players-area.court-area--swapped>.single-team-opponent-panel{order:4}body.desktop-court-modal-open #court-area{overflow:hidden}#court-overlay{z-index:12;pointer-events:none;position:absolute;inset:0}body.desktop-court-modal.desktop-court-modal-open #court-overlay{pointer-events:auto;z-index:260}.libero-inline{flex:200px;align-items:center;gap:.35rem;min-width:200px;display:flex}.libero-inline .libero-tags{flex:auto}.court-actions-inline .libero-inline button{min-height:34px}.libero-inline label{white-space:nowrap;margin:0;font-size:.8rem}.auto-libero-inline{align-items:center;gap:.25rem;display:inline-flex}#players-container,#opponent-players-container{flex:auto;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-content:start;gap:.4rem;max-width:100%;min-height:0;padding:.4rem;display:grid}#players-container{background:0 0;border:none;border-radius:0}body[data-theme=light] #players-container{background:0 0}#opponent-players-container{background:0 0;border:none;border-radius:0}body[data-theme=light] #opponent-players-container{background:0 0}.court-layout{grid-template-columns:repeat(3,minmax(160px,1fr));grid-template-areas:"pos4 pos3 pos2""pos5 pos6 pos1";position:relative}.court-layout.court-layout--mirror{grid-template-areas:"pos1 pos6 pos5""pos2 pos3 pos4"}.player-card{background:#181818;border:1px solid #333;border-radius:.8rem;flex-direction:column;gap:.3rem;padding:.34rem;display:flex}body[data-theme=light] .player-card{color:#0f172a;background:#fff;border-color:#dfe3eb}.court-card{background:#181818;border:1px dashed #2f2f2f;min-height:0;position:relative;overflow:hidden}.court-card.has-player-photo:before{content:"";inset:0;top:var(--court-photo-top,2rem);background-image:linear-gradient(180deg, #080f1c1f 0%, #080f1c94 56%, #080f1cc2 100%), var(--player-photo-image);z-index:0;background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute}.court-card.has-player-photo .court-role-tag,.court-card.has-player-photo .court-libero-pill{box-shadow:0 4px 12px #0000002e}.court-card .skill-picker-btn,.court-card .event-btn,.court-card .libero-return-btn{background:#0f172a52!important}.court-card .player-skill-cancel{background:#dc2626b8!important}.court-card .event-btn.code-positive{background:#16653466!important}.court-card .event-btn.code-neutral{background:#ca8a0466!important}.court-card .event-btn.code-negative{background:#b91c1c66!important}.court-card .event-btn.block-confirm-skip{background:#37415157!important}.court-card .event-btn.block-confirm-go{background:#16a34a57!important}.court-card .skill-picker-btn.skill-serve{background:color-mix(in srgb, var(--skill-serve-bg,#1b5e20) 38%, transparent)!important;color:var(--skill-serve-text,#d1fae5)!important;border-color:color-mix(in srgb, var(--skill-serve-bg,#1b5e20) 88%, #fff 12%)!important}.court-card .skill-picker-btn.skill-pass{background:color-mix(in srgb, var(--skill-pass-bg,#f9a825) 38%, transparent)!important;color:var(--skill-pass-text,#fff)!important;border-color:color-mix(in srgb, var(--skill-pass-bg,#f9a825) 88%, #fff 12%)!important}.court-card .skill-picker-btn.skill-freeball{background:color-mix(in srgb, var(--skill-freeball-bg,#c026d3) 38%, transparent)!important;color:var(--skill-freeball-text,#fdf4ff)!important;border-color:color-mix(in srgb, var(--skill-freeball-bg,#c026d3) 88%, #fff 12%)!important}.court-card .skill-picker-btn.skill-attack{background:color-mix(in srgb, var(--skill-attack-bg,#b71c1c) 38%, transparent)!important;color:var(--skill-attack-text,#ffe4e6)!important;border-color:color-mix(in srgb, var(--skill-attack-bg,#b71c1c) 88%, #fff 12%)!important}.court-card .skill-picker-btn.skill-defense{background:color-mix(in srgb, var(--skill-defense-bg,#546e7a) 38%, transparent)!important;color:var(--skill-defense-text,#e2e8f0)!important;border-color:color-mix(in srgb, var(--skill-defense-bg,#546e7a) 88%, #fff 12%)!important}.court-card .skill-picker-btn.skill-block{background:color-mix(in srgb, var(--skill-block-bg,#4a148c) 38%, transparent)!important;color:var(--skill-block-text,#ede9fe)!important;border-color:color-mix(in srgb, var(--skill-block-bg,#4a148c) 88%, #fff 12%)!important}.court-card .skill-picker-btn.skill-second{background:color-mix(in srgb, var(--skill-second-bg,#00838f) 38%, transparent)!important;color:var(--skill-second-text,#ccfbf1)!important;border-color:color-mix(in srgb, var(--skill-second-bg,#00838f) 88%, #fff 12%)!important}.court-card .skill-picker-btn:hover,.court-card .event-btn:hover,.court-card .libero-return-btn:hover{background:#2563eb6b!important}.court-card .skill-picker-btn.skill-serve:hover{background:color-mix(in srgb, var(--skill-serve-bg,#1b5e20) 50%, transparent)!important;color:var(--skill-serve-text,#d1fae5)!important}.court-card .skill-picker-btn.skill-pass:hover{background:color-mix(in srgb, var(--skill-pass-bg,#f9a825) 50%, transparent)!important;color:var(--skill-pass-text,#fff)!important}.court-card .skill-picker-btn.skill-freeball:hover{background:color-mix(in srgb, var(--skill-freeball-bg,#c026d3) 50%, transparent)!important;color:var(--skill-freeball-text,#fdf4ff)!important}.court-card .skill-picker-btn.skill-attack:hover{background:color-mix(in srgb, var(--skill-attack-bg,#b71c1c) 50%, transparent)!important;color:var(--skill-attack-text,#ffe4e6)!important}.court-card .skill-picker-btn.skill-defense:hover{background:color-mix(in srgb, var(--skill-defense-bg,#546e7a) 50%, transparent)!important;color:var(--skill-defense-text,#e2e8f0)!important}.court-card .skill-picker-btn.skill-block:hover{background:color-mix(in srgb, var(--skill-block-bg,#4a148c) 50%, transparent)!important;color:var(--skill-block-text,#ede9fe)!important}.court-card .skill-picker-btn.skill-second:hover{background:color-mix(in srgb, var(--skill-second-bg,#00838f) 50%, transparent)!important;color:var(--skill-second-text,#ccfbf1)!important}.court-card>*{z-index:1;position:relative}.player-skill-cancel{color:#fff;cursor:pointer;z-index:2;background:#dc2626;border:none;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:800;display:grid;position:absolute;top:.2rem;right:.2rem}.player-skill-cancel:active{transform:scale(.98)}.court-card[data-team-scope=our] .court-name{color:#60a5fa}.court-card[data-team-scope=opponent] .court-name{color:#fca5a5}.court-card[data-team-scope=opponent] .court-role-tag{color:#fee2e2;background:#7f1d1d;border-color:#b91c1c}body[data-theme=light] .court-card[data-team-scope=our] .court-name{color:#2563eb}body[data-theme=light] .court-card[data-team-scope=opponent] .court-name{color:#b91c1c}body[data-theme=light] .court-card[data-team-scope=opponent] .court-role-tag{color:#7f1d1d;background:#fee2e2;border-color:#fca5a5}.court-card.compact-card{background:#181818}body[data-theme=light] .court-card,body[data-theme=light] .court-card.compact-card{background:#fff}body[data-theme=light] .court-card .skill-picker-btn,body[data-theme=light] .court-card .event-btn,body[data-theme=light] .court-card .libero-return-btn{background:#ffffff61!important}body[data-theme=light] .court-card .player-skill-cancel{background:#dc2626c7!important}body[data-theme=light] .court-card .event-btn.code-positive{background:#22c55e52!important}body[data-theme=light] .court-card .event-btn.code-neutral{background:#eab30852!important}body[data-theme=light] .court-card .event-btn.code-negative{background:#ef444452!important}body[data-theme=light] .court-card .event-btn.block-confirm-skip{background:#94a3b83d!important}body[data-theme=light] .court-card .event-btn.block-confirm-go{background:#22c55e38!important}body[data-theme=light] .court-card .skill-picker-btn:hover,body[data-theme=light] .court-card .event-btn:hover,body[data-theme=light] .court-card .libero-return-btn:hover{background:#2563eb47!important}.court-card.compact-card{min-height:0}.player-card.compact-card{gap:.2rem;padding:.22rem}.player-card.compact-card .court-pos-label{font-size:.78rem}.player-card.compact-card .court-name{font-size:.9rem}.player-card.compact-card .court-role-tag{padding:.08rem .3rem;font-size:.76rem}.player-card.compact-card .skill-picker-btn{border-radius:8px;padding:.35rem .3rem;font-size:.85rem}body[data-theme=light] .court-card{border-color:#d1d5db}.court-card.empty:after{content:attr(data-pos-number);color:#3b82f647;pointer-events:none;letter-spacing:-2px;place-items:center;font-size:3.2rem;font-weight:800;display:grid;position:absolute;inset:.35rem}body[data-theme=light] .court-card.empty:after{color:#2563eb4d}.court-header{grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;font-weight:600;display:grid}.court-header .court-tagbar{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.court-header.draggable{cursor:grab}.court-header.draggable:active{cursor:grabbing}.court-pos-label{color:#c7d5ff;white-space:nowrap;margin-right:.35rem;font-size:.85rem}.court-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:center;gap:.35rem;min-width:0;font-size:.95rem;display:inline-flex;overflow:hidden}.court-role-tag{color:#dbeafe;white-space:nowrap;background:#112041;border:1px solid #233a7a;border-radius:999px;padding:.12rem .38rem;font-size:.82rem}body[data-theme=light] .court-role-tag{color:#0f172a;background:#e5edff;border-color:#bfd0ff}.court-name-block{flex-direction:column;gap:.1rem;width:100%;display:flex}.court-name-block.inline{flex-direction:row;flex:auto;align-items:center;gap:.4rem;min-width:0}.libero-return-btn{padding:.15rem .45rem}.court-card.libero-card{color:#d1fae5;background:#0b2a2a;border-color:#1c9999}body[data-theme=light] .court-card.libero-card{color:#065f46;background:#daf5e7;border-color:#22c55e}.court-card.setter-card{color:#fef9c3;background:#332b08;border-color:#eab308}body[data-theme=light] .court-card.setter-card{color:#713f12;background:#fef9c3;border-color:#eab308}.court-setter-pill,.base-modal-btn.player-role-setter{color:#fef9c3!important;background:#422006!important;border-color:#eab308!important}.base-modal-btn.player-role-libero{color:#d1fae5!important;background:#0b2a2a!important;border-color:#1c9999!important}.court-libero-pill{color:#d1fae5;background:#0b2a2a;border:1px solid #1c9999;border-radius:999px;padding:.2rem .45rem;font-size:.75rem}.libero-return-btn{border:1px solid var(--border-color,#2f2f2f);min-width:1.5rem;height:1.5rem;color:var(--text-color,#f5f5f5);cursor:pointer;background:#1f2937;border-radius:.35rem;justify-content:center;align-items:center;margin-left:.35rem;padding:.05rem .25rem;font-size:.75rem;line-height:1;display:inline-flex}.libero-return-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb}.court-card>.libero-return-btn{z-index:2;margin:0;position:absolute;top:.2rem;right:.2rem}.court-card.libero-card:has(>.libero-return-btn) .court-header{padding-right:1.75rem}body[data-theme=light] .court-libero-pill{color:#065f46;background:#daf5e7;border-color:#22c55e}.court-card.pos-1{grid-area:pos1}.court-card.pos-2{grid-area:pos2}.court-card.pos-3{grid-area:pos3}.court-card.pos-4{grid-area:pos4}.court-card.pos-5{grid-area:pos5}.court-card.pos-6{grid-area:pos6}.court-card.drop-over{border-color:#2d6cdf;box-shadow:0 0 0 1px #2d6cdf4d}.skill-row-pair{grid-template-columns:1fr 1fr;gap:.2rem;display:grid}.skill-row-pair .skill-row{background:#0f0f0f;border:1px solid #222}body[data-theme=light] .skill-row-pair .skill-row{background:#f8fafc;border-color:#dfe3eb}.player-name{margin-bottom:.1rem;font-size:.95rem;font-weight:600}.skill-row{background:#101010;border-radius:.35rem;flex-direction:column;gap:.12rem;padding:.18rem .24rem;display:flex}body[data-theme=light] .skill-row{background:#f8fafc;border:1px solid #dfe3eb}.skill-grid,.code-grid{grid-template-columns:repeat(2,minmax(110px,1fr));gap:.35rem;width:100%;display:grid}.serve-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player-card{overflow:hidden}.player-card .serve-type-grid button{min-width:0;padding:.45rem .3rem;font-size:.9rem}.attack-main-btn{grid-column:1/-1;width:100%}.skill-picker-btn{text-align:center;border:1px solid #1f2937;border-radius:10px;padding:.42rem .32rem;font-size:.88rem;font-weight:600;transition:border-color .14s,box-shadow .14s}.skill-single-btn{width:100%}.code-grid .skill-header{grid-column:1/-1}.skill-picker-btn:hover{color:#3b82f6;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f6,0 0 0 4px #3b82f640}.code-error-btn,.skill-error-btn{grid-column:1/-1}.code-back-btn{grid-column:1/-1;justify-self:start}.skill-header{opacity:.9;justify-content:flex-start;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.skill-title{color:var(--skill-text,#0b0b0b);border-radius:.55rem;padding:.12rem .45rem;font-weight:700;line-height:1.2;display:inline-block}.skill-subtitle{color:inherit;background:#ffffff1a;border-radius:999px;padding:.12rem .45rem;font-weight:600}.skill-title.skill-serve{background:var(--skill-serve-bg,#1b5e20);color:var(--skill-serve-text,#d1fae5)}.skill-title.skill-pass{background:var(--skill-pass-bg,#f9a825);color:var(--skill-pass-text,#fff)}.skill-title.skill-freeball{background:var(--skill-freeball-bg,#c026d3);color:var(--skill-freeball-text,#fdf4ff)}.skill-title.skill-attack{background:var(--skill-attack-bg,#b71c1c);color:var(--skill-attack-text,#ffe4e6)}.skill-title.skill-defense{background:var(--skill-defense-bg,#546e7a);color:var(--skill-defense-text,#e2e8f0)}.skill-title.skill-block{background:var(--skill-block-bg,#4a148c);color:var(--skill-block-text,#ede9fe)}.skill-title.skill-second{background:var(--skill-second-bg,#00838f);color:var(--skill-second-text,#ccfbf1)}.skill-buttons{grid-template-columns:repeat(2,minmax(60px,1fr));gap:.35rem;display:grid}.skill-buttons button{min-width:44px;padding:.34rem .52rem;font-size:1rem}.event-btn{color:#fff;background:#2d6cdf;border:1px solid #1d4ed8;transition:background .12s,color .12s,border-color .12s}.event-btn.code-positive,.event-btn.code-neutral,.event-btn.code-negative{color:#fff;background:#2d6cdf;border-color:#1d4ed8}.event-btn.code-positive{border-color:#22c55e}.event-btn.code-neutral{border-color:#eab308}.event-btn.code-negative{border-color:#ef4444}.event-btn.code-positive:hover,.event-btn.code-neutral:hover,.event-btn.code-negative:hover,.event-btn:hover{color:#fff;background:#3b82f6;border-color:#2563eb}.event-btn.code-positive:hover{color:#e8ffe6;background:#166534}.event-btn.code-neutral:hover{color:#0f172a;background:#eab308}.event-btn.code-negative:hover{color:#fff;background:#b91c1c}.event-btn.code-positive:hover{border-color:#22c55e}.event-btn.code-neutral:hover{border-color:#eab308}.event-btn.code-negative:hover{border-color:#ef4444}.event-btn.block-confirm-skip{background:#374151;border-color:#4b5563}.event-btn.block-confirm-go{background:#16a34a;border-color:#15803d}.event-btn.block-confirm-skip:hover{background:#4b5563}.event-btn.block-confirm-go:hover{background:#22c55e}.block-confirm-grid{flex-direction:column;gap:.35rem;display:flex}.block-confirm-grid .event-btn{width:100%}.event-btn.danger{background:#b3261e;border-color:#b3261e}.event-btn.danger:hover{background:#c7372d;border-color:#c7372d}.error-pick-row{background:0 0;border:none;padding:0}.error-pick-toolbar{z-index:5;pointer-events:none;position:absolute;top:-.8rem;right:0}.error-pick-close{pointer-events:auto;width:28px;min-width:28px;height:28px;position:static}.error-pick-btn{width:100%}.error-pick-toolbar{align-items:center;gap:.35rem;margin-bottom:.25rem;display:flex}.error-pick-bench{background:#02061773;border:1px solid #1f2937;border-radius:.7rem;padding:.45rem}.error-pick-bench-host{order:99;width:100%;margin-top:.3rem}.error-pick-bench-title{color:#cbd5e1;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;font-size:.82rem;font-weight:700}.error-pick-bench-grid{margin-top:0}.error-pick-bench-btn{width:100%}body[data-theme=light] .error-pick-bench{background:#f8fafc;border-color:#dfe3eb}body[data-theme=light] .error-pick-bench-title{color:#475569}body[data-theme=light] .event-btn,body[data-theme=light] .event-btn.code-positive,body[data-theme=light] .event-btn.code-neutral,body[data-theme=light] .event-btn.code-negative{color:#fff;background:#2563eb;border-color:#1d4ed8}body[data-theme=light] .event-btn:hover,body[data-theme=light] .event-btn.code-positive:hover,body[data-theme=light] .event-btn.code-neutral:hover,body[data-theme=light] .event-btn.code-negative:hover{background:#3b82f6;border-color:#1d4ed8}body[data-theme=light] .event-btn.code-positive,body[data-theme=light] .event-btn.code-positive:hover{border-color:#22c55e}body[data-theme=light] .event-btn.code-neutral,body[data-theme=light] .event-btn.code-neutral:hover{border-color:#eab308}body[data-theme=light] .event-btn.code-negative,body[data-theme=light] .event-btn.code-negative:hover{border-color:#ef4444}body[data-theme=light] .event-btn.code-positive:hover{color:#0f172a;background:#bbf7d0}body[data-theme=light] .event-btn.code-neutral:hover{color:#0f172a;background:#fef08a}body[data-theme=light] .event-btn.code-negative:hover{color:#7f1d1d;background:#fecdd3}.event-btn:focus,.event-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff3}.event-btn.danger,.event-btn.danger:focus,.event-btn.danger:focus-visible{border-color:#c24130;outline:none;box-shadow:0 0 0 2px #f8717166}.skill-stats{opacity:.85;font-size:.75rem}.badge{background:#2c2c2c;border-radius:.5rem;padding:.05rem .3rem;font-size:.75rem;display:inline-block}.badge-serve{background:var(--skill-serve-bg,#1b5e20);color:var(--skill-serve-text,#d1fae5)}.badge-pass{background:var(--skill-pass-bg,#f9a825);color:var(--skill-pass-text,#fff)}.badge-freeball{background:var(--skill-freeball-bg,#c026d3);color:var(--skill-freeball-text,#fdf4ff)}.badge-attack{background:var(--skill-attack-bg,#b71c1c);color:var(--skill-attack-text,#ffe4e6)}.badge-defense{background:var(--skill-defense-bg,#546e7a);color:var(--skill-defense-text,#e2e8f0)}.badge-block{background:var(--skill-block-bg,#4a148c);color:var(--skill-block-text,#ede9fe)}.badge-second{background:var(--skill-second-bg,#00838f);color:var(--skill-second-text,#ccfbf1)}.controls-row{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.controls-row button{flex:120px}.match-actions-row{flex-wrap:nowrap}.match-actions-row button{flex:1 1 0;min-width:0}.match-actions-row--url{flex-wrap:wrap;align-items:center}.match-url-input{flex:2 320px;min-width:220px}.team-manage{margin-top:.25rem}.opponent-skill-toggles{flex-wrap:wrap;gap:.3rem .8rem;display:flex}.metrics-panel{margin-top:.4rem}.metrics-panel summary{cursor:pointer;font-weight:700}.metrics-config{gap:.4rem;display:grid}.metric-block{background:#121212;border:1px solid #2a2a2a;border-radius:.6rem;padding:.35rem}.metric-block.skill-serve{background:var(--skill-serve-soft,#1b5e202e)}.metric-block.skill-pass{background:var(--skill-pass-soft,#f9a8252e);color:#fff}.metric-block.skill-freeball{background:var(--skill-freeball-soft,#c026d32e)}.metric-block.skill-attack{background:var(--skill-attack-soft,#b71c1c2e)}.metric-block.skill-defense{background:var(--skill-defense-soft,#546e7a2e)}.metric-block.skill-block{background:var(--skill-block-soft,#4a148c2e)}.metric-block.skill-second{background:var(--skill-second-soft,#00838f2e)}.metric-block.disabled{opacity:.7;background:#1a1a1a;border-color:#3a3a3a}.metric-cols{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.25rem .5rem;display:grid}.metric-col{flex-direction:column;gap:.15rem;display:flex}.metric-helper{opacity:.8;margin-bottom:.2rem;font-size:.75rem}.metrics-points .metric-toggle.code-positive,.metrics-points .metric-toggle.code-negative,.metrics-points .metric-toggle.code-neutral{border-color:#2f2f2f}.metric-title{margin-bottom:.25rem;font-weight:700}.metric-row{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.15rem;display:flex}.metric-label{opacity:.85;flex:0 0 120px;align-self:center;min-width:0;font-size:.85rem}.metric-toggle{color:#fff;background:#161922;border:1px solid #2f2f2f;justify-content:center;align-items:center;min-width:2.6rem;padding:.25rem .35rem;transition:background .14s,border-color .14s,box-shadow .14s,color .14s;display:inline-flex;box-shadow:inset 0 0 0 1px #3b7cff14}.metric-toggle:hover{color:#fff;background:#2d6cdf;border-color:#2d6cdf}.metric-toggle.active{color:#fff}.metric-toggle.code-positive.active{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e80}.metric-toggle.code-neutral.active{border-color:#eab308;box-shadow:0 0 0 2px #eab30880}.metric-toggle.code-negative.active{border-color:#ef4444;box-shadow:0 0 0 2px #ef444480}.metric-toggle.toggle-skill{min-width:4.2rem}.metric-toggle.toggle-on{background:#1b5e20}.metric-toggle.toggle-off{background:#b3261e}.metric-toggle.active{background:#2d6cdf}.metrics-actions{justify-content:flex-end;margin:.2rem 0}.metrics-actions button{flex:none}.players-list{flex-wrap:wrap;gap:.35rem;padding:.2rem 0;display:flex}.pill-remove{background:#3b3b3b;min-width:auto;padding:.25rem .4rem}.pill-remove:hover{background:#b3261e}.players-empty{opacity:.85;padding:.25rem 0;font-size:.9rem}.import-panel{background:#ffffff05;border:1px dashed #333;border-radius:.6rem;padding:.4rem}.import-panel summary{cursor:pointer;font-weight:600}.import-panel textarea{margin-top:.3rem}.lineup-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin-top:.3rem;display:grid}.lineup-select select{width:100%}.lineup-chip{background:linear-gradient(145deg,#1f2c45,#111a2d);border:1px solid #2d6cdf;border-radius:.75rem;flex-direction:column;gap:.15rem;min-width:160px;padding:.35rem .55rem;display:inline-flex}.bench-chip{cursor:grab;touch-action:none;background:#2b2b2b;border:1px solid #3a3a3a;border-radius:.65rem;padding:.24rem .4rem}body[data-theme=light] .bench-chip{color:#0f172a;background:#f1f5f9;border-color:#d1d5db}.bench-chip.libero-flag{background:#0f254f;border-color:#2d6cdf}body[data-theme=light] .bench-chip.libero-flag{color:#0f172a;background:#dbeafe;border-color:#60a5fa}.court-name.libero-flag{background:#0f254f;border-radius:.4rem;padding:.05rem .35rem}.bench-chip.bench-locked{background:#0b2a2a;border-color:#1c9999}body[data-theme=light] .bench-chip.bench-locked{background:#e0f2fe;border-color:#38bdf8}.libero-tags{touch-action:none;flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.libero-inline .libero-tags{scrollbar-width:thin;flex-flow:row;align-items:center;gap:.25rem;padding-bottom:.1rem;overflow-x:auto}.libero-tag{white-space:nowrap;background:#1b1b1b;border:1px solid #3a3a3a;border-radius:.6rem;padding:.2rem .45rem;font-size:.85rem}.libero-tag.active{background:#102349;border-color:#2d6cdf}.libero-flag{color:#9ad1ff}.replaced-chip{opacity:.9;border-style:dashed}.bench-empty{opacity:.8}.lineup-chip{border:2px solid #0000}.lineup-chip.drop-over{border-color:#2d6cdf;box-shadow:0 0 0 1px #2d6cdf4d}#events-log{max-height:140px;color:var(--text-color,#f5f5f5);background:#0c0c0c;border:1px solid #222;border-radius:.4rem;padding:.3rem;font-size:.8rem;overflow-y:auto}body[data-theme=light] #events-log{color:#0f172a;background:#f8fafc;border-color:#d1d5db}@keyframes flyer-move{0%{transform:translate(var(--sx), var(--sy)) scale(.6) rotate(-10deg);opacity:1}20%{transform:translate(var(--sx), var(--sy)) scale(1.35) rotate(-4deg);opacity:1}38%{transform:translate(var(--sx), var(--sy)) scale(1.25) rotate(0deg);opacity:1}to{transform:translate(calc(var(--sx) + var(--dx)), calc(var(--sy) + var(--dy))) scale(.65) rotate(12deg);opacity:0}}.section-note{opacity:.9;margin:.2rem 0;font-size:.87rem}.table-wrapper{background:linear-gradient(145deg,#0f0f0f,#151515);border:1px solid #222;border-radius:.6rem;margin-top:.4rem;overflow-x:hidden;box-shadow:inset 0 1px #ffffff0a}table{border-collapse:collapse;width:100%}th,td{text-align:center;color:var(--text-color,#f5f5f5);border-bottom:1px solid #222;padding:.35rem .45rem;font-size:.82rem}th{text-transform:uppercase;letter-spacing:.02em;color:var(--text-color,#f5f5f5);background:#1f1f1f;font-size:.75rem;position:sticky;top:0}body[data-theme=light] th,body[data-theme=light] td{color:#0f172a;border-bottom-color:#e5e7eb}body[data-theme=light] th{background:#e5e7eb}th[rowspan]{vertical-align:middle}tbody tr:nth-child(odd){background:#ffffff05}tbody tr:hover{background:#2d6cdf14}.event-row{cursor:pointer}.event-row.selected{background:#2d6cdf38;box-shadow:inset 2px 0 #3b82f6}.event-row.selected:hover{background:#2d6cdf52}body[data-theme=light] .event-row.selected{background:#dbeafe;box-shadow:inset 2px 0 #2563eb}body[data-theme=light] .event-row.selected:hover{background:#c7d9fb}.row-select{text-align:center;width:36px}.agg-table td{text-align:center;color:inherit;white-space:nowrap!important;padding:.2rem .12rem!important}.agg-table td:not(:first-child),.agg-table th:not(:first-child){padding:.14rem .08rem!important}.agg-table.agg-table--hide-freeball .skill-col.skill-freeball{display:none}.agg-table td:first-child{text-align:center;font-weight:600}.agg-table td:nth-child(2){text-align:center;opacity:1}.agg-subnav{gap:.4rem;margin:.4rem 0 .6rem;display:flex}.agg-subtab-btn{border:1px solid var(--border-color,#2f2f2f);color:var(--text-color,#f5f5f5);cursor:pointer;background:#1f2937;border-radius:.5rem;padding:.35rem .65rem;transition:all .15s}.agg-subtab-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.agg-subpanel{display:none}.agg-subpanel.active{display:block}.agg-subpanel[data-agg-tab=skill-charts]{isolation:isolate;background:#111;border-radius:.7rem;padding:.35rem;position:relative}.agg-subpanel[data-agg-tab=skill-charts]:before{content:"";z-index:-1;pointer-events:none;background:0 0;border-radius:.7rem;position:absolute;inset:0}.agg-subpanel[data-agg-tab=skill-charts] .analysis-skill-charts-panel{background:#111;border-radius:.55rem}.agg-subpanel[data-agg-tab=skill-charts]:hover,.agg-subpanel[data-agg-tab=skill-charts] .analysis-skill-charts-panel:hover{box-shadow:none;filter:none;transform:none}.agg-actions{margin-top:.8rem}.distribution-section{margin-top:.9rem}.distribution-section h3{margin:0 0 .4rem}.distribution-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;display:grid}.distribution-grid.distribution-grid-layout{grid-template-columns:repeat(3,minmax(200px,1fr));grid-template-areas:"r4 r3 r2""r5 r6 r1"".all."}.distribution-legend{color:var(--muted,#94a3b8);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.75rem 1rem;font-size:.84rem;display:flex}.distribution-legend span{align-items:center;gap:.38rem;display:inline-flex}.distribution-legend i{border:2px solid #0000;border-radius:.18rem;width:1.2rem;height:.82rem;display:inline-block}.distribution-legend__volume{background:0 0;border-color:#2563eb!important}.distribution-legend__eff{background:#22c55e6b;border-color:#22c55ebf!important}.distribution-card{border:1px solid var(--border-color,#2f2f2f);background:#ffffff05;border-radius:.7rem;padding:.5rem}.distribution-card__title-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.4rem;display:flex}.distribution-card__title-row h4{margin:0}.distribution-card__damp{color:var(--muted,#94a3b8);white-space:nowrap;flex:none;font-size:.7rem;font-weight:600}.trajectory-layout,.second-layout{grid-template-columns:minmax(260px,.9fr) minmax(420px,1.6fr);align-items:start;gap:.6rem;display:grid}.player-second-layout{grid-template-columns:1fr}.player-analysis-column .trajectory-layout,.player-analysis-column .serve-trajectory-layout,.player-analysis-column .second-layout{grid-template-rows:auto auto;grid-template-columns:1fr}.analysis-filters,.trajectory-filters{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:.18rem;margin:.12rem 0 .28rem;display:flex}.agg-topbar{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-bottom:.5rem;display:flex}.agg-topbar .analysis-filters,.agg-topbar .agg-subnav{margin:0}.agg-topbar .agg-subnav{flex-basis:100%}.analysis-summary-toolbar{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;width:100%;min-width:0;display:flex}.analysis-team-filter--summary{flex:2 42rem;align-items:center}.analysis-team-filter--summary>.analysis-filter{flex:16rem}.analysis-team-filter--summary>.analysis-set-filter{flex:2 26rem}.analysis-summary-toolbar>.score-summary{flex:24rem;min-width:0}.analysis-filter,.trajectory-filter{background:#171717;border:1px solid #2f2f2f;border-radius:.55rem;flex-direction:column;flex:180px;align-self:flex-start;gap:.18rem;min-width:0;height:-moz-fit-content;height:fit-content;padding:.35rem .45rem;display:flex}.analysis-filter__label,.trajectory-filter__label{font-size:.9rem;font-weight:600}.analysis-filter__options{flex-wrap:wrap;gap:.2rem .4rem;display:flex}.analysis-filter__row{flex-wrap:wrap;align-items:center;gap:.25rem .45rem;display:flex}.analysis-filter__row .primary{background:#4b5563;border-color:#4b5563}.analysis-filter__row .primary.is-active{background:#0f766e;border-color:#0f766e}.skill-chart-metric-select-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skill-chart-metric-buttons{flex-wrap:wrap;align-items:center;gap:.25rem .35rem;display:flex}.skill-chart-metric-btn{color:#e5e7eb;cursor:pointer;background:#1f2937;border:1px solid #475569;border-radius:999px;padding:.22rem .5rem;font-size:.78rem;line-height:1.2}.skill-chart-metric-btn.active{color:#e0f2fe;background:#0c4a6e;border-color:#38bdf8}body[data-theme=light] .skill-chart-metric-btn{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}body[data-theme=light] .skill-chart-metric-btn.active{color:#1d4ed8;background:#dbeafe;border-color:#60a5fa}.analysis-filter__options label{cursor:pointer;align-items:center;gap:.2rem;font-size:.85rem;display:inline-flex}.video-filters-panel{background:#141414;border:1px solid #2b2b2b;border-radius:.8rem;margin-top:.8rem;padding:.7rem .85rem}.video-filters-layout{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:start;gap:.2rem;display:grid}.video-filters-main{width:auto;min-width:0}.video-filters-header{margin-bottom:.45rem;font-size:.9rem;font-weight:600}body[data-theme=light] .video-filters-panel{background:#f8fafc;border-color:#e2e8f0}.video-filter-presets-panel{background:#111827;border:1px solid #2f2f2f;border-radius:.6rem;width:auto;min-width:0;padding:.45rem}.video-filter-preset-create{grid-template-columns:1fr auto;gap:.3rem;margin-bottom:.35rem;display:grid}.video-filter-preset-create input{min-width:0}.video-filter-presets-list{column-width:220px;column-fill:auto;-webkit-column-fill:auto;column-gap:.28rem;height:min(52vh,420px);min-height:2.2rem;padding-bottom:.1rem;display:block;overflow:auto hidden}.video-filter-preset-empty{opacity:.75;width:100%;min-width:0;padding:.3rem .1rem;font-size:.82rem}.video-filter-preset-card{box-sizing:border-box;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;color:#e2e8f0;text-align:left;cursor:pointer;background:#0b1224;border:1px solid #334155;border-radius:.55rem;align-items:center;gap:.35rem;width:100%;min-width:0;margin:0 0 .28rem;padding:.32rem .4rem;display:flex}.video-filter-preset-card:hover{border-color:#3b82f6}.video-filter-preset-card.active{background:#172554;border-color:#3b82f6;box-shadow:inset 3px 0 #60a5fa}.video-filter-preset-card.dragging{opacity:.55}.video-filter-preset-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.video-filter-preset-meta{opacity:.75;flex:none;font-size:.76rem}.video-filter-preset-rename{color:#cbd5e1;background:#172033;border:1px solid #334155;border-radius:999px;flex:none;width:1.7rem;min-width:1.7rem;height:1.7rem;padding:0;font-size:.9rem;font-weight:700;line-height:1}.video-filter-preset-rename:hover{color:#dbeafe;background:#1e3a8a;border-color:#2563eb}.video-filter-preset-delete{color:#fecaca;background:#3f1014;border:1px solid #7f1d1d;border-radius:999px;flex:none;min-width:1.6rem;height:1.6rem;padding:0;line-height:1}.video-filter-preset-delete:hover{background:#7f1d1d;border-color:#b91c1c}.video-filter-preset-name-input{color:#e2e8f0;background:#0f172a;border:1px solid #2563eb;border-radius:.4rem;flex:auto;min-width:0;padding:.18rem .35rem;font-size:.82rem;font-weight:600}.video-filter-preset-card.editing{cursor:default}body[data-theme=light] .video-filter-presets-panel{background:#eef2ff;border-color:#cbd5e1}body[data-theme=light] .video-filter-preset-card{color:#0f172a;background:#fff;border-color:#cbd5e1}body[data-theme=light] .video-filter-preset-card:hover{border-color:#2563eb}body[data-theme=light] .video-filter-preset-card.active{background:#dbeafe;border-color:#2563eb;box-shadow:inset 3px 0 #2563eb}body[data-theme=light] .video-filter-preset-rename{color:#334155;background:#eef2ff;border-color:#cbd5e1}body[data-theme=light] .video-filter-preset-rename:hover{color:#1e3a8a;background:#dbeafe;border-color:#93c5fd}body[data-theme=light] .video-filter-preset-name-input{color:#0f172a;background:#fff;border-color:#2563eb}@media (max-width:1200px){.video-filters-layout{grid-template-columns:1fr}}body[data-theme=light] .analysis-filter,body[data-theme=light] .trajectory-filter{background:#f8fafc;border-color:#dbe2ee}.match-sheet-sideout-filters{margin-bottom:.6rem}.match-sheet-sideout-filters summary{cursor:pointer}.match-sheet-sideout-filters fieldset{border:1px solid var(--border-color,#555);flex-wrap:wrap;gap:.4rem 1rem;margin:.5rem 0;display:flex}.match-sheet-sideout-filters label{align-items:center;gap:.3rem;display:inline-flex}#video-filters.analysis-filters{column-width:210px;column-gap:.18rem;margin:.12rem 0 .2rem;display:block}#video-filters.analysis-filters>.analysis-filter{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;flex:unset;width:100%;margin:0 0 .18rem;display:inline-flex}#video-filters.analysis-filters>.analysis-filter.filter-actions{margin-top:.05rem}.filter-scope-group{border:1px solid #ffffff14;border-radius:.5rem;flex-direction:column;gap:.2rem;padding:.2rem .35rem;display:flex}.filter-scope-title{opacity:.85;font-size:.78rem;font-weight:600}body[data-theme=light] .filter-scope-group{border-color:#0f172a26}.analysis-filter__options input{accent-color:#2563eb}.multiscout-list{padding:.4rem 0}.multiscout-subtitle{opacity:.85;margin-bottom:.4rem;font-size:.9rem;font-weight:600}.multiscout-controls{margin-bottom:.6rem}.multiscout-controls select{min-width:180px}.export-splash{z-index:9999;opacity:0;pointer-events:none;background:#080c12b8;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.export-splash.is-visible{opacity:1;pointer-events:all}.export-splash__card{color:#f4f6fb;background:#141a24f2;border-radius:14px;align-items:center;gap:12px;padding:18px 22px;font-size:15px;font-weight:600;display:flex;box-shadow:0 20px 40px #00000059}.export-splash__spinner{border:3px solid #fff3;border-top-color:#4aa3ff;border-radius:50%;width:26px;height:26px;animation:.8s linear infinite export-spin}@keyframes export-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analysis-filter select{width:100%;color:var(--text-color,#f5f5f5);background:#121212;border:1px solid #444;border-radius:.4rem;padding:.28rem .4rem;font-size:.85rem}body[data-theme=light] .analysis-filter select{color:var(--text-color,#0f172a);background:#fff;border-color:#d1d5db}.analysis-filter.filter-actions{align-self:end}.player-analysis{gap:.7rem;display:grid}.player-analysis-hero{margin-top:-.1rem}.player-analysis-hero-card{background:radial-gradient(circle at 0 0,#3b82f638,#0000 42%),#0c121e94;border:1px solid #3b82f63d;border-radius:1rem;min-height:124px;padding:.9rem 1rem}.player-analysis-identity{align-items:center;gap:.85rem;min-width:0;display:flex}.player-analysis-identity__avatar{object-fit:cover;object-position:center;border:3px solid #60a5faa6;border-radius:50%;flex:none;width:104px;height:104px;display:block;box-shadow:0 10px 28px #0000004d}.player-analysis-identity__text{flex-direction:column;align-items:flex-start;gap:.45rem;min-width:0;display:flex}.player-analysis-identity.is-compact{gap:.65rem}.player-analysis-identity.is-compact .player-analysis-identity__avatar{border-width:2px;width:58px;height:58px;box-shadow:0 6px 18px #0000003d}.player-analysis-identity.is-compact .player-analysis-hero-card__title{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;font-size:1.05rem}.player-analysis-hero-card__badge,.player-analysis-hero-card__title{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:-moz-fit-content;width:fit-content;max-width:100%}.player-analysis-hero-card__badge{color:#dbeafe;background:#0f172a7a;border:1px solid #ffffff14;border-radius:999px;padding:.28rem .55rem;font-size:.82rem;font-weight:700}.player-analysis-hero-card__title{color:#f8fafc;background:#0f172a85;border-radius:.75rem;margin:0;padding:.45rem .7rem;font-size:1.2rem;line-height:1.2}.player-analysis-hero-card:not(.has-photo) .player-analysis-hero-card__title,.player-analysis-hero-card:not(.has-photo) .player-analysis-hero-card__badge{background:#0f172a38}.analysis-skill-charts-panel{gap:.7rem;display:grid}.set-trend-panel{--set-trend-plot-background:radial-gradient(circle at top, #94a3b814, transparent 58%), #0206177a;--set-trend-grid:#94a3b833;--set-trend-axis:#94a3b861;--set-trend-zero:#facc15d1;--set-trend-label:#e2e8f0b8;--set-trend-positive:#22c55e;--set-trend-neutral:#facc15;--set-trend-negative:#ef4444;--set-trend-guide:#f8fafceb;--set-trend-dot-ring:#0f172af2;--set-trend-dot-active-ring:#fff;gap:.8rem;display:grid}.set-trend-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.8rem;display:grid}.set-trend-card{background:#0c121e8f;border:1px solid #3b82f63d;border-radius:.75rem;gap:.7rem;padding:.85rem;display:grid}.set-trend-card__head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.set-trend-card__title{font-size:1rem;font-weight:700}.set-trend-card__score{color:#e2e8f0d1;font-size:.9rem}.set-trend-card__plot{background:var(--set-trend-plot-background);border-radius:.7rem;width:100%;min-height:260px;position:relative;overflow:hidden}.set-trend-card__plot svg{width:100%;height:auto;display:block}.set-trend-svg .set-trend__bg{fill:#0000}.set-trend-svg .set-trend__grid line,.set-trend-svg .set-trend__axis{stroke:var(--set-trend-grid);stroke-width:1px}.set-trend-svg .set-trend__axis{stroke:var(--set-trend-axis)}.set-trend-svg .set-trend__zero{stroke:var(--set-trend-zero);stroke-width:1.6px;stroke-dasharray:4 4}.set-trend-svg .set-trend__tick text,.set-trend-svg .set-trend__label{fill:var(--set-trend-label);font-size:11px}.set-trend-svg .set-trend__segment{fill:none;stroke-width:3.5px;stroke-linecap:round}.set-trend-svg .set-trend__segment.is-positive{stroke:var(--set-trend-positive)}.set-trend-svg .set-trend__segment.is-neutral{stroke:var(--set-trend-neutral)}.set-trend-svg .set-trend__segment.is-negative{stroke:var(--set-trend-negative)}.set-trend-svg .set-trend__guide{opacity:0;pointer-events:none;stroke:var(--set-trend-guide);stroke-width:2px;stroke-dasharray:4 5;transition:opacity .12s,stroke .12s,stroke-width .12s}.set-trend-svg .set-trend__guide.is-selected{opacity:.5;stroke:var(--set-trend-guide)}.set-trend-svg .set-trend__guide.is-hover{opacity:1;stroke:var(--set-trend-guide);stroke-width:2.5px}.set-trend-svg .set-trend__dot{cursor:pointer;stroke:var(--set-trend-dot-ring);stroke-width:1.5px;transition:r .12s,stroke-width .12s,stroke .12s,filter .12s}.set-trend-svg .set-trend__dot.is-positive{fill:var(--set-trend-positive)}.set-trend-svg .set-trend__dot.is-neutral{fill:var(--set-trend-neutral)}.set-trend-svg .set-trend__dot.is-negative{fill:var(--set-trend-negative)}.set-trend-svg .set-trend__dot.is-selected{r:6;stroke:var(--set-trend-dot-active-ring);stroke-width:2px}.set-trend-svg .set-trend__dot.is-hover{r:7;stroke:var(--set-trend-dot-active-ring);stroke-width:2.75px;filter:drop-shadow(0 0 6px #ffffff4d)}.set-trend-svg .set-trend__hit{fill:#0000;cursor:pointer}.set-trend-card__tooltip{pointer-events:none;z-index:2;color:#f8fafc;background:#020617f5;border:1px solid #94a3b852;border-radius:10px;min-width:130px;max-width:min(220px,90%);padding:.55rem .7rem;font-size:.8rem;position:absolute;box-shadow:0 16px 32px #02061759}.set-trend-card__tooltip strong{margin-bottom:.2rem;display:block}.set-trend-detail{background:#0c121e8f;border:1px solid #3b82f63d;border-radius:.75rem;padding:.95rem}.set-trend-detail__head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.set-trend-detail__title{font-size:1rem;font-weight:700}.set-trend-detail__score{color:#e2e8f0cc}.set-trend-detail__summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:.85rem;display:grid}.set-trend-detail__card{background:#0206176b;border:1px solid #94a3b829;border-radius:12px;padding:.7rem .8rem}.set-trend-detail__card-label{color:#e2e8f0b8;margin-bottom:.2rem;font-size:.78rem;display:block}.set-trend-detail__card-value{font-size:1.05rem;font-weight:700}.set-trend-detail__events-wrap{background:#02061757;border:1px solid #94a3b81f;border-radius:12px;padding:.8rem}.set-trend-detail__events-title{color:#e2e8f0c7;margin-bottom:.65rem;font-size:.82rem;font-weight:700}.set-trend-detail__events{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.set-trend-detail__event{background:#0f172a94;border:1px solid #94a3b824;border-left:4px solid #facc15cc;border-radius:10px;padding:.65rem .75rem}.set-trend-detail__event.pos{border-left-color:#22c55e}.set-trend-detail__event.neg{border-left-color:#ef4444}.set-trend-detail__event.is-scoring{box-shadow:0 0 0 1px #f8fafc29}.set-trend-detail__event-main{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.set-trend-detail__event-actor{font-weight:700}.set-trend-detail__event-skill{color:#bfdbfeeb;font-size:.84rem}.set-trend-detail__event-score{color:#e2e8f0e0;background:#3b82f62e;border:1px solid #60a5fa3d;border-radius:999px;margin-left:auto;padding:.1rem .45rem;font-size:.76rem;font-weight:700}.set-trend-detail__event-reason{color:#e2e8f0db;font-size:.86rem}.set-trend-detail__event-point{margin-top:.35rem;font-size:.8rem;font-weight:700}.set-trend-detail__event-point.pos{color:#22c55e}.set-trend-detail__event-point.neg{color:#ef4444}.set-trend-detail__event-point.neu{color:#facc15}.set-trend-detail__event.empty{color:#e2e8f0ad}.play-by-play-panel{gap:.65rem;display:grid}.play-by-play-summary{color:#e2e8f0c7;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.play-by-play-summary span{background:#0f172a6b;border:1px solid #94a3b82e;border-radius:999px;padding:.18rem .5rem}.play-by-play-summary strong{color:#f8fafc}.play-by-play-summary .positive strong{color:#22c55e}.play-by-play-summary .negative strong{color:#ef4444}.play-by-play-list{min-width:0}.play-by-play-controls{margin:0}.play-by-play-table-shell{color:#e2e8f0;background:#0c121e8f;border:1px solid #3b82f63d;border-radius:.75rem;width:100%;max-height:72vh;position:relative;overflow:auto;box-shadow:inset 0 1px #ffffff08}.play-by-play-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1040px;font-size:.82rem}.play-by-play-table th{z-index:3;color:#dbeafe;letter-spacing:.03em;text-transform:uppercase;background:#111827;font-size:.72rem;font-weight:700;position:sticky;top:0}.play-by-play-table th,.play-by-play-table td{vertical-align:top;border-bottom:1px solid #94a3b824;border-right:1px solid #94a3b81a;padding:.48rem .55rem}.play-by-play-table th:first-child,.play-by-play-table td.num{text-align:center;width:3.2rem}.play-by-play-table th:nth-child(2),.play-by-play-table th:nth-child(3),.play-by-play-table td.score{text-align:center;font-variant-numeric:tabular-nums;width:5.2rem}.play-by-play-table th:nth-child(4){width:12rem}.play-by-play-table th:nth-child(5){text-align:center;width:4.2rem}.play-by-play-table th:nth-child(6){width:12rem}.play-by-play-table th:nth-child(7){width:16rem}.play-by-play-row:nth-child(2n){background:#0f172a47}.play-by-play-row:hover{background:#3b82f61f}.play-by-play-row .final,.play-by-play-row .winner{font-weight:700}.play-by-play-row.is-positive .final,.play-by-play-row.is-positive .winner{color:#22c55e}.play-by-play-row.is-negative .final,.play-by-play-row.is-negative .winner{color:#f87171}.play-by-play-row .phase{text-align:center;color:#93c5fd;font-weight:700}.play-by-play-sequence{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.play-by-play-token{color:#f8fafc;cursor:default;white-space:nowrap;background:#0f172aad;border:1px solid #94a3b82e;border-radius:.45rem;align-items:center;gap:.28rem;max-width:100%;padding:.18rem .42rem;display:inline-flex}.play-by-play-token code{color:#f8fafc;font-size:.78rem;font-weight:800}.play-by-play-token__idx{color:#cbd5e1c7;font-variant-numeric:tabular-nums}.play-by-play-token.is-positive{background:#1665346b;border-color:#22c55e57}.play-by-play-token.is-neutral{background:#78350f5c;border-color:#f59e0b57}.play-by-play-token.is-negative,.play-by-play-token.is-error{background:#7f1d1d70;border-color:#ef444461}.play-by-play-token.is-ace{background:#1e40af75;border-color:#60a5fa6b}.play-by-play-tooltip{z-index:10000;color:#f8fafc;pointer-events:none;background:#0f172af5;border:1px solid #94a3b852;border-radius:.45rem;width:min(710px,100% - 1rem);padding:.35rem .5rem;position:fixed;box-shadow:0 14px 28px #0f172a40}.play-by-play-tooltip__title{justify-content:space-between;align-items:center;gap:.8rem;padding-bottom:.25rem;display:flex}.play-by-play-tooltip table{border-collapse:collapse;width:100%;font-size:.78rem}.play-by-play-tooltip th,.play-by-play-tooltip td{text-align:left;vertical-align:top;border-top:1px dotted #ffffffa6;padding:.18rem .45rem}body[data-theme=light] .play-by-play-summary span,body[data-theme=light] .play-by-play-table-shell{color:#0f172a;background:#fff;border-color:#dbe4f0}body[data-theme=light] .play-by-play-summary{color:#475569}body[data-theme=light] .play-by-play-summary strong{color:#0f172a}body[data-theme=light] .play-by-play-table th{color:#020617;background:#f8fafc}body[data-theme=light] .play-by-play-row{border-bottom-color:#e2e8f0}body[data-theme=light] .play-by-play-row:nth-child(2n){background:#f8fafc}body[data-theme=light] .play-by-play-table th,body[data-theme=light] .play-by-play-table td{border-right-color:#e2e8f0}body[data-theme=light] .play-by-play-row .phase{color:#4f46e5}body[data-theme=light] .play-by-play-token{color:#334155;background:#f8fafc}body[data-theme=light] .play-by-play-token code{color:#0f172a}.match-sheet-panel{overflow-x:auto}.match-sheet-page{--sheet-ink:#0f172a;--sheet-line:#1f2937;--sheet-soft:#e5e7eb;width:min(100%,1120px);color:var(--sheet-ink);background:#fff;border:1px solid #94a3b83d;border-radius:.45rem;margin:0 auto;padding:.75rem}.match-sheet-header{border-bottom:2px solid var(--sheet-line);justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.35rem;display:flex}.match-sheet-header h2{color:var(--sheet-ink);margin:0;font-size:1rem;line-height:1.15}.match-sheet-header p{margin:.12rem 0 0;font-size:.76rem}.match-sheet-header__meta{color:#475569;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.1rem;font-size:.68rem;display:flex}.match-sheet-filter{color:#111827;cursor:pointer;align-items:center;gap:.25rem;font-size:.66rem;line-height:1.1;display:inline-flex}.match-sheet-filter input{width:.72rem;height:.72rem;margin:0}.match-sheet-section{margin-top:.45rem}.match-sheet-section--with-label{grid-template-columns:1.15rem minmax(0,1fr);align-items:stretch;gap:.35rem;display:grid}.match-sheet-section h3{text-transform:uppercase;color:#111827;margin:0 0 .25rem;font-size:.74rem;line-height:1}.match-sheet-section--with-label>h3{writing-mode:vertical-rl;text-align:center;letter-spacing:0;border:1px solid #111827;border-radius:.2rem;place-self:stretch center;margin:0;padding:.35rem .12rem;transform:rotate(180deg)}.match-sheet-player-grid{grid-template-columns:repeat(var(--match-sheet-player-count), minmax(0, 1fr));gap:.28rem;display:grid}.match-sheet-player-matrix{grid-template-columns:1.1rem minmax(0,1fr);gap:.28rem;min-width:0;display:grid}.match-sheet-player-row-labels{grid-template-rows:1.35rem 1fr 1fr;gap:0;display:grid}.match-sheet-player-row-labels span{writing-mode:vertical-rl;color:#111827;border:1px solid #111827;border-bottom:0;justify-content:center;align-items:center;font-size:.58rem;font-weight:700;display:flex;transform:rotate(180deg)}.match-sheet-player-row-labels span:last-child{border-bottom:1px solid #111827}.match-sheet-player{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.22rem;min-width:0;overflow:hidden}.match-sheet-player.is-starter{border-color:#1d4ed8}.match-sheet-player__head{color:#fff;background:#111827;grid-template-columns:auto 1fr auto;align-items:center;gap:.2rem;min-height:1.35rem;padding:.16rem .24rem;font-size:.62rem;line-height:1.05;display:grid}.match-sheet-player__head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-sheet-player__head em{color:#bfdbfe;font-style:normal}.match-sheet-court{border-top:1px solid #dbe3ef;padding:.14rem .18rem .18rem}.match-sheet-court__title{color:#475569;margin-bottom:.08rem;font-size:.55rem;font-weight:700;line-height:1}.match-sheet-court svg{background:#fff;width:100%;height:auto;display:block}.match-sheet-court svg rect{fill:#fff;stroke:#111827;stroke-width:1px}.match-sheet-court svg line{vector-effect:non-scaling-stroke}.match-sheet-court svg .match-sheet-source-arrow{stroke:#111827;stroke-width:2.2px;stroke-linecap:round}.match-sheet-court svg .net{stroke:#111827;stroke-width:1.3px}.match-sheet-court svg .attack-line{stroke:#111827;stroke-width:.9px}.match-sheet-court svg .court-line-soft{stroke:#cbd5e1;stroke-width:.45px}.match-sheet-court-player circle{fill:#fff;stroke:#111827;stroke-width:.75px}.match-sheet-court-player text{fill:#111827;text-anchor:middle;font-size:4px;font-weight:700}.match-sheet-court-player text.match-sheet-court-player__role{font-size:3px}.match-sheet-court-grid{gap:.3rem;display:grid}.match-sheet-court-grid--defense{grid-template-columns:repeat(5,minmax(0,1fr))}.match-sheet-court-grid--sideout{grid-template-columns:repeat(6,minmax(0,1fr))}.match-sheet-court-grid .match-sheet-court{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.24rem}.match-sheet-notes{grid-template-columns:8rem 1fr;align-items:start;gap:.35rem;margin-top:.25rem;display:grid}.match-sheet-court .match-sheet-notes{margin-top:.12rem;display:block}.match-sheet-court .match-sheet-notes label{display:none}.match-sheet-court .match-sheet-notes textarea{min-height:1.65rem;padding:.16rem .22rem;font-size:.58rem}.match-sheet-notes label{color:#111827;font-size:.62rem;font-weight:700;line-height:1.2}.match-sheet-notes textarea{resize:vertical;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.25rem;width:100%;min-height:2.4rem;padding:.28rem .35rem;font-size:.7rem;line-height:1.25;display:block}.match-sheet-notes-print{display:none}.match-sheet-note-line{color:#0f172a;border-bottom:1px solid #94a3b8;min-height:.92rem;font-size:.66rem;line-height:.92rem}body[data-theme=light] .match-sheet-page{color:#0f172a;background:#fff;border-color:#cbd5e1}.analysis-skill-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.7rem;display:grid}.analysis-skill-chart-grid>*{min-width:0}.analysis-skill-chart-grid--single{grid-template-columns:1fr}.player-analysis-skill-chart-grid{margin-bottom:.2rem}@media (max-width:1500px){.analysis-skill-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.analysis-skill-chart-grid{grid-template-columns:1fr}}.skill-chart-card{min-width:0;box-shadow:none;background:#0c121e8f;border:1px solid #3b82f63d;border-radius:.75rem;gap:.45rem;padding:.6rem;transition:none;display:grid;overflow:visible;transform:none}.skill-chart-card:hover{box-shadow:none;background:#0c121e8f;transform:none}.skill-chart-card__head{gap:.1rem;display:grid}.skill-chart-card__title-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.skill-chart-card__title{font-weight:700}.skill-chart-copy-btn{color:#dbeafe;cursor:pointer;background:#101828bf;border:1px solid #3b82f659;border-radius:.45rem;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;line-height:1;display:inline-flex}.skill-chart-copy-btn:hover:not(:disabled){color:#93c5fd;border-color:#60a5fa}.skill-chart-copy-btn:disabled{opacity:.45;cursor:not-allowed}.skill-chart-card__subtitle,.skill-chart-card__meta{color:#c8d5ee;font-size:.9rem}.skill-chart-card__meta{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.15rem .35rem;min-width:0;line-height:1.25;display:flex}.skill-chart-card__body{gap:.45rem;min-width:0;display:grid}.skill-chart-card__plot{aspect-ratio:420/320;border-radius:.55rem;width:100%;height:auto;min-height:280px;position:relative;overflow:hidden}.skill-chart-card__plot--interactive{cursor:crosshair}.skill-chart-hover-line{pointer-events:none;z-index:4;background:#ffffffa6;width:1px;position:absolute;transform:translate(-.5px);box-shadow:0 0 0 1px #3b82f61f}.skill-chart-tooltip{color:#eef2ff;pointer-events:none;z-index:5;overflow-wrap:anywhere;background:#0a0f19f2;border:1px solid #94a3b859;border-radius:.55rem;min-width:118px;max-width:220px;padding:.4rem .5rem;font-size:.88rem;line-height:1.2;position:absolute;box-shadow:0 10px 24px #00000059}.skill-chart-tooltip.is-positive{border-color:var(--chart-tone-positive,#22c55eb3)}.skill-chart-tooltip.is-neutral{border-color:var(--chart-tone-neutral,#facc15cc)}.skill-chart-tooltip.is-negative{border-color:var(--chart-tone-negative,#ef4444cc)}.skill-chart-tooltip__row{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.skill-chart-tooltip__row.small{color:#c9d4ee;margin-top:.2rem;font-size:.8rem}.skill-chart-tooltip__code{background:#94a3b82e;border-radius:999px;justify-content:center;align-items:center;min-width:1.2rem;height:1.2rem;font-weight:700;display:inline-flex}.skill-chart-tooltip.is-positive .skill-chart-tooltip__code{background:var(--chart-tone-positive-soft,#22c55e33);color:var(--chart-tone-positive,#22c55e)}.skill-chart-tooltip.is-neutral .skill-chart-tooltip__code{background:var(--chart-tone-neutral-soft,#facc1533);color:var(--chart-tone-neutral,#facc15)}.skill-chart-tooltip.is-negative .skill-chart-tooltip__code{background:var(--chart-tone-negative-soft,#ef444433);color:var(--chart-tone-negative,#ef4444)}.skill-chart-svg{text-rendering:geometricprecision;width:100%;height:100%;display:block;overflow:visible}.skill-chart-svg .skill-chart__bg{fill:#040a1880}.skill-chart-svg .skill-chart__tick line{stroke:#94a3b847;stroke-width:1px}.skill-chart-svg .skill-chart__tick text,.skill-chart-svg .skill-chart__xlabel{fill:#d7e3fa;font-size:14px;font-weight:600}.skill-chart-svg .skill-chart__set-band{fill:#3b82f60f}.skill-chart-svg .skill-chart__set-band.is-odd{fill:#94a3b80a}.skill-chart-svg .skill-chart__set-sep{stroke:#94a3b847;stroke-width:1px;stroke-dasharray:3 4}.skill-chart-svg .skill-chart__set-label{fill:#cbd8f0;font-size:12px;font-weight:700}.skill-chart-svg .skill-chart__axis{stroke:#94a3b861;stroke-width:1px}.skill-chart-svg .skill-chart__zero{stroke:#ef444459;stroke-width:1px;stroke-dasharray:4 4}.skill-chart-svg .skill-chart__line{fill:none;stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.skill-chart-svg .skill-chart__line--base{stroke:#94a3b847}.skill-chart-svg .skill-chart__segment{stroke-width:2.6px;stroke-linecap:round}.skill-chart-svg .skill-chart__segment.is-positive{stroke:var(--chart-tone-positive,#22c55e)}.skill-chart-svg .skill-chart__segment.is-neutral{stroke:var(--chart-tone-neutral,#facc15)}.skill-chart-svg .skill-chart__segment.is-negative{stroke:var(--chart-tone-negative,#ef4444)}.skill-chart-svg .skill-chart__dots circle{stroke:#ffffffe6;stroke-width:1px}.skill-chart-svg .skill-chart__dots circle.is-hover{stroke:#fff;stroke-width:2px;filter:drop-shadow(0 0 4px #ffffff59)}.skill-chart-svg .skill-chart__dots circle.is-positive{fill:var(--chart-tone-positive,#22c55e)}.skill-chart-svg .skill-chart__dots circle.is-neutral{fill:var(--chart-tone-neutral,#facc15)}.skill-chart-svg .skill-chart__dots circle.is-negative{fill:var(--chart-tone-negative,#ef4444)}.skill-chart-card__meta strong{color:#f8fbff}.skill-chart-legend{white-space:normal;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.15rem .25rem;margin-left:.35rem;display:inline-flex}.skill-chart-legend .pos{color:var(--chart-tone-positive,#22c55e)}.skill-chart-legend .neu{color:var(--chart-tone-neutral,#facc15)}.skill-chart-legend .neg{color:var(--chart-tone-negative,#ef4444)}.skill-chart-empty{place-items:center;min-height:150px;display:grid}.skill-chart-inline-filters{margin-bottom:.15rem}body[data-theme=light] .skill-chart-card{background:#fffffff2;border-color:#3b82f647}body[data-theme=light] .skill-chart-card__subtitle,body[data-theme=light] .skill-chart-card__meta,body[data-theme=light] .skill-chart-svg .skill-chart__tick text,body[data-theme=light] .skill-chart-svg .skill-chart__xlabel{color:#475569;fill:#475569}body[data-theme=light] .skill-chart-svg .skill-chart__set-label{fill:#334155}body[data-theme=light] .skill-chart-card__meta strong{color:#0f172a}body[data-theme=light] .skill-chart-svg .skill-chart__bg{fill:#f1f5f9e6}body[data-theme=light] .skill-chart-hover-line{background:#0f172a73}body[data-theme=light] .skill-chart-tooltip{color:#0f172a;background:#fffffff7;border-color:#94a3b873}body[data-theme=light] .skill-chart-tooltip__row.small{color:#475569}.player-analysis-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:.8rem;display:grid}.player-analysis-columns>.player-analysis-section{border-left:2px solid #3b82f659;padding-left:.8rem}.player-analysis-columns>.player-analysis-section:first-child{border-left:none;padding-left:0}body[data-theme=light] .player-analysis-columns>.player-analysis-section{border-left-color:#2563eb73}.attack-analysis-summary{gap:.8rem;margin-bottom:.5rem;display:grid}.attack-analysis-type-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.attack-analysis-type-table th,.attack-analysis-type-table td{text-align:right;border-bottom:1px solid #94a3b829;padding:.45rem .5rem}.attack-analysis-type-table th:first-child,.attack-analysis-type-table td:first-child{text-align:left}.attack-analysis-type-table thead th{background:#ef44441f}.attack-analysis-type-table td.is-better{color:#22c55e;font-weight:700}.attack-analysis-type-table td.is-worse{color:#ef4444;font-weight:700}.attack-analysis-total-row td{background:#94a3b814;font-weight:800}.player-analysis-column{gap:.6rem;display:grid}.player-analysis-controls{flex-wrap:wrap;align-items:flex-end;gap:.7rem 1rem;display:flex}.player-analysis-compare-toggle{align-self:flex-end}.player-analysis-compare-view{margin-top:.35rem}.player-analysis-compare-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.player-analysis-compare-card{background:#0f172a7a;border:1px solid #94a3b842;border-radius:18px;min-width:0;padding:.9rem 1rem 1rem}body[data-theme=light] .player-analysis-compare-card{background:#ffffffeb}body[data-theme=light] .player-analysis-hero-card{background:radial-gradient(circle at 0 0,#2563eb24,#0000 42%),#ffffffeb;border-color:#2563eb2e}body[data-theme=light] .player-analysis-hero-card__badge,body[data-theme=light] .player-analysis-hero-card__title{color:#0f172a;background:#ffffffb8;border-color:#0f172a14}.player-analysis-compare-card.is-primary{box-shadow:inset 0 0 0 1px #3b82f673}.player-analysis-compare-card.is-compare{box-shadow:inset 0 0 0 1px #10b98173}.player-analysis-compare-card>.player-analysis-identity{margin-bottom:.75rem}.player-analysis-compare-card .player-analysis-identity__text h3{margin:0}.player-analysis-compare-sections{gap:.85rem;margin-top:.9rem;display:grid}.player-analysis-compare-subsection{background:#02061747;border-radius:14px;padding:.75rem}body[data-theme=light] .player-analysis-compare-subsection{background:#f1f5f9e0}.player-analysis-compare-subsection h4{margin:0 0 .6rem}.player-analysis-compare-table{border-collapse:collapse;width:100%}.player-analysis-compare-table th,.player-analysis-compare-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #94a3b829;padding:.42rem .45rem}.player-analysis-compare-table th{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8f2;font-size:.78rem}.player-analysis-compare-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.player-analysis-compare-section-row th{background:#94a3b814;padding-top:.8rem}.player-analysis-compare-section-row.skill-serve th{background:#3b82f624}.player-analysis-compare-section-row.skill-pass th{background:#10b98124}.player-analysis-compare-section-row.skill-freeball th{background:#c026d329}.player-analysis-compare-section-row.skill-attack th{background:#ef444424}.player-analysis-compare-section-row.skill-block th{background:#a855f724}.player-analysis-compare-section-row.skill-defense th{background:#f59e0b24}.player-analysis-compare-section-row.skill-points th{background:#94a3b81f}.player-analysis-compare-value.is-better{color:#22c55e;font-weight:700}.player-analysis-compare-value.is-worse{color:#ef4444;font-weight:700}.player-analysis-compare-value.is-neutral{color:inherit}.player-analysis-compare-subsection .agg-table td.player-analysis-compare-value.is-better{font-weight:700;color:#22c55e!important}.player-analysis-compare-subsection .agg-table td.player-analysis-compare-value.is-worse{font-weight:700;color:#ef4444!important}.player-analysis-compare-row.is-primary td:first-child{box-shadow:inset 3px 0 #3b82f6e6}.player-analysis-compare-row.is-compare td:first-child{box-shadow:inset 3px 0 #10b981e6}.player-analysis-toggles{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;display:flex}.analysis-toggle{cursor:pointer;align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.player-analysis-section{display:block}@media (max-width:1200px){.player-analysis-compare-layout{grid-template-columns:1fr}.player-analysis-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:900px){.player-analysis-columns{grid-template-columns:1fr}}.trajectory-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,minmax(150px,1fr));grid-template-areas:"z4 z3 z2""z5 z6 z1";gap:.6rem;display:grid}.trajectory-grid.is-far{grid-template-areas:"z1 z6 z5""z2 z3 z4"}.serve-trajectory-grid{grid-template-rows:auto;grid-template-columns:repeat(auto-fit,minmax(170px,215px));justify-content:start;align-items:start}.serve-trajectory-card{width:100%;min-height:150px}.serve-trajectory-card__visual{position:relative}.traj-area-z4{grid-area:z4}.traj-area-z3{grid-area:z3}.traj-area-z2{grid-area:z2}.traj-area-z5{grid-area:z5}.traj-area-z6{grid-area:z6}.traj-area-z1{grid-area:z1}.trajectory-card{border:1px solid var(--border-color,#2f2f2f);background:#ffffff05;border-radius:.75rem;min-height:130px;padding:.3rem;position:relative}.trajectory-card__title{margin-bottom:.2rem;font-size:.9rem;font-weight:700}.trajectory-card canvas{border-radius:.5rem;width:100%;height:auto;min-height:100px;display:block}.trajectory-card__empty{pointer-events:none;opacity:0;background:#00000059;border-radius:.5rem;justify-content:center;align-items:center;font-size:.9rem;transition:opacity .15s;display:flex;position:absolute;inset:.5rem}.trajectory-card.empty .trajectory-card__empty{opacity:1}.trajectory-card.empty canvas{opacity:.35}.serve-trajectory-card__visual.empty .trajectory-card__empty{opacity:1}.serve-trajectory-card__visual.empty canvas{opacity:.35}.analysis-filters{min-width:0}@media (max-width:900px){.tab-panel[data-tab=aggregated] .table-wrapper,.tab-panel[data-tab=aggregated] .trajectory-layout,.tab-panel[data-tab=aggregated] .second-layout,.tab-panel[data-tab=aggregated] .video-analysis__grid,.tab-panel[data-tab=aggregated] .trajectory-grid,.tab-panel[data-tab=aggregated] .serve-trajectory-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-panel[data-tab=aggregated] .agg-table{width:max-content;min-width:100%}.tab-panel[data-tab=aggregated] .trajectory-layout,.tab-panel[data-tab=aggregated] .second-layout{min-width:720px}.tab-panel[data-tab=aggregated] .video-analysis__grid{min-width:780px}.tab-panel[data-tab=aggregated] .trajectory-grid,.tab-panel[data-tab=aggregated] .serve-trajectory-grid{min-width:520px}.video-analysis__grid{grid-template-columns:1fr}.video-player-wrap,.video-player-wrap--scout{width:100%;min-width:0}.video-resize-handle{display:none}}.event-time-cell{min-width:92px}.event-time-cell input[type=number]{width:88px}.distribution-card h4{margin:0 0 .4rem;font-size:.95rem}.distribution-court{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.court-cell{background:#ffffff08;border:1px dashed #4b5563;border-radius:.45rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:72px;padding:.3rem;display:flex}.court-cell .cell-label{opacity:.8;font-size:.7rem}.court-cell .cell-main{font-size:1.05rem;font-weight:700}.court-cell .cell-sub{opacity:.9;font-size:.75rem}.court-cell.best-volume{border:2px solid #3b82f6}.pdf-capture .court-cell.best-volume{border-width:3px;border-color:#2d6cdf;box-shadow:0 0 0 2px #2d6cdf40}.court-cell.best-eff{background:#22c55e38}body[data-theme=light] .court-cell{background:#f9fafb;border-color:#cdd6e5}body[data-theme=light] .court-cell.best-volume{border:2px solid #2563eb;box-shadow:0 0 0 2px #2563eb24}body[data-theme=light] .court-cell.best-eff{background:#dcfce7}.score-summary{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .6rem;display:flex}.score-summary--inline{margin:0}.score-summary--inline .score-card{background:#171717;border:1px solid #2f2f2f;border-radius:.55rem;flex-flow:wrap;align-items:center;gap:.35rem 1rem;width:100%;min-width:0;padding:.35rem .45rem;display:flex}.score-summary__metric{flex:none;gap:.1rem;display:grid}.score-summary__label{opacity:.8;font-size:.75rem}.score-summary--inline .score-value{white-space:nowrap;font-size:1rem;font-weight:700}.score-summary--inline .score-sets.cards{flex-wrap:wrap;flex:12rem;align-items:center;gap:.25rem;min-width:0;display:flex}.score-summary--inline .score-set-chip{white-space:nowrap;border:1px solid #475569;border-radius:.35rem;padding:.2rem .4rem;font-size:.8rem}.agg-table--double thead{display:none}.clickable-cell{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.video-analysis__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.video-analysis__actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.8rem;display:flex}.youtube-input{align-items:center;gap:.25rem;display:inline-flex}.youtube-input input{min-width:220px}.video-analysis__grid{grid-template-columns:minmax(420px,1.35fr) minmax(360px,1fr);align-items:stretch;gap:.8rem;display:grid}.video-scout-container{width:100%;margin-bottom:.8rem}.video-scout-controls{width:100%;margin:.35rem 0 .6rem}.video-scout-panel{flex-direction:column;gap:.5rem;display:flex}.video-scout-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.video-player-wrap--scout{align-self:stretch;width:100%;min-width:0;max-width:100%;position:relative}.video-player-wrap--scout video,.video-player-wrap--scout .youtube-frame{min-height:var(--video-scout-height,320px);height:var(--video-scout-height,320px);max-height:none}.video-player-wrap--scout video{object-fit:contain}.video-skills{flex-direction:column;gap:.6rem;height:100%;display:flex}.video-table-wrapper{max-height:70vh;overflow:auto}.video-skills-table{border-collapse:collapse;width:100%;font-size:.92rem}.video-skills-table th,.video-skills-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #1f2937;padding:.35rem .4rem}.video-skills-table th.video-sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.video-skills-table th.video-sortable-header:hover,.video-skills-table tbody tr:hover{background:#ffffff0a}.video-skills-table td:first-child{width:46px}.video-skills-table td:nth-child(7){white-space:nowrap;font-variant-numeric:tabular-nums}.video-skills-table td:nth-child(8){text-align:center;width:70px}.video-skills-table select,.video-skills-table input[type=number]{width:100%;font:inherit;color:#e2e8f0;background:#0b1220;border:1px solid #1f2937;border-radius:.35rem;padding:.25rem .3rem}.video-skills-table select:focus,.video-skills-table input[type=number]:focus{outline:1px solid #2d6cdf}.video-player-wrap{flex-direction:column;align-self:stretch;gap:.35rem;width:100%;min-width:360px;display:flex;position:sticky;top:.5rem}.video-player-wrap--analysis{position:sticky}.video-player-wrap--analysis video,.video-player-wrap--analysis .youtube-frame{min-height:var(--video-panel-height,320px);height:var(--video-panel-height,320px)}.video-resize-handle{cursor:ns-resize;touch-action:none;width:48px;height:10px;min-height:10px;box-shadow:none;background:0 0;border:0;border-radius:.35rem;flex-shrink:0;align-self:center;margin:0 auto;padding:0;position:relative}.video-resize-handle:before{content:"";background:#64748b;border-radius:999px;position:absolute;inset:4px 8px}.video-resize-handle:hover,.video-resize-handle:focus-visible{background:#3b82f624}.video-resize-handle:hover:before,.video-resize-handle:focus-visible:before{background:#60a5fa}.video-resize-handle:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}body.video-panel-resizing,body.video-panel-resizing *{cursor:ns-resize!important;-webkit-user-select:none!important;user-select:none!important}.video-frame-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.video-media{position:relative}.trajectory-legend{grid-column:1/-1;align-self:start;margin-top:.4rem}.video-overlay{z-index:2;color:#fff;pointer-events:none;background:#0000008c;border-radius:8px;flex-direction:column;gap:4px;max-width:70%;padding:8px 10px;font-size:.95rem;font-weight:600;line-height:1.15;display:flex;position:absolute;top:12px;left:12px}.video-overlay-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.video-score-form{grid-template-columns:1fr;gap:.6rem;margin-bottom:1rem;display:grid}.video-score-form label{color:var(--text,#e2e8f0);font-weight:600}.video-score-form input{width:100%;max-width:220px}.video-analysis__footer-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:inline-flex}.video-mobile-only{display:none}@media (max-width:700px){body.video-mobile-filters-open{overflow:hidden}#video-panel .video-analysis{padding:.55rem}#video-panel .video-analysis__desktop-title,#video-panel .video-skills,#video-panel .video-frame-actions,#video-panel .video-player-wrap .section-note,#video-panel .video-analysis__actions{display:none!important}#video-panel .video-mobile-only{display:flex}#video-panel .video-analysis__head{z-index:2;margin-bottom:.55rem;position:relative}#video-panel .video-analysis__head h2{margin:0;font-size:1.18rem}#video-panel .video-mobile-filter-open{align-items:center;gap:.4rem}#video-panel .video-mobile-head-actions{align-items:center;gap:.35rem}#video-panel .video-mobile-source-open,#video-panel .video-mobile-filter-open{min-height:42px;padding-inline:.65rem}.video-mobile-filter-count{color:#fff;background:#2563eb;border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;font-size:.76rem;font-weight:800;display:inline-grid}#video-panel .video-analysis__grid{flex-direction:column;display:flex}#video-panel .video-player-wrap--analysis{order:-1;gap:.55rem;min-width:0;position:relative;top:auto}#video-panel .video-player-wrap--analysis video,#video-panel .video-player-wrap--analysis .youtube-frame{aspect-ratio:16/9;border-radius:.75rem;height:auto!important;min-height:0!important}#video-panel .video-resize-handle{display:none}#video-panel .video-media{width:100%}#video-panel .video-mobile-overlay-nav{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;position:absolute;inset:0}#video-panel .video-mobile-overlay-nav__button{color:#fff;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02061794;border:1px solid #ffffff73;border-radius:0 999px 999px 0;width:44px;height:58px;padding:0;font-size:2.15rem;line-height:1}#video-panel .video-mobile-overlay-nav__button--next{border-radius:999px 0 0 999px}#video-panel .video-mobile-overlay-nav__button:disabled{opacity:.25}#video-panel .video-filters-panel{z-index:121;visibility:hidden;background:#0b1220;border:0;border-radius:0;flex-direction:column;margin:0;padding:0;transition:transform .24s,visibility .24s;display:flex;position:fixed;inset:0;transform:translateY(105%)}body.video-mobile-filters-open #video-panel .video-filters-panel{visibility:visible;transform:translateY(0)}.video-mobile-filter-sheet-head{min-height:68px;padding:max(.7rem, env(safe-area-inset-top)) .85rem .65rem;background:#111827;border-bottom:1px solid #243145;flex:none;justify-content:space-between;align-items:center}.video-mobile-filter-sheet-head strong{font-size:1.08rem}#video-panel .video-filters-layout{flex-direction:column;flex:auto;gap:.8rem;padding:.75rem;display:flex;overflow-y:auto}#video-panel .video-filter-presets-panel{order:-1}#video-panel .video-filter-presets-list{gap:.4rem;height:auto;min-height:2.2rem;display:flex;overflow:auto hidden}#video-panel .video-filter-preset-card{flex:0 0 min(280px,78vw);margin:0}#video-panel #video-filters.analysis-filters{grid-template-columns:1fr;gap:.55rem;margin:0;display:grid}#video-panel #video-filters.analysis-filters>.analysis-filter{background:#111827;border:1px solid #273449;border-radius:.7rem;width:auto;margin:0;padding:.65rem;display:flex}.video-mobile-filter-footer{padding:.65rem .75rem max(.65rem, env(safe-area-inset-bottom));background:#111827;border-top:1px solid #243145;flex:none}.video-mobile-filter-footer button{width:100%;min-height:48px}#video-panel .video-mobile-filter-backdrop{display:none}body[data-theme=light] #video-panel .video-analysis__actions,body[data-theme=light] #video-panel #video-filters.analysis-filters>.analysis-filter,body[data-theme=light] #video-panel .video-mobile-filter-sheet-head,body[data-theme=light] #video-panel .video-mobile-filter-footer{background:#fff;border-color:#dbe3ef}body[data-theme=light] #video-panel .video-filters-panel{background:#f4f7fb}}.video-player-wrap video{aspect-ratio:16/9;object-fit:contain;background:#000;border:none;border-radius:.8rem;width:100%;min-height:320px}.youtube-frame{aspect-ratio:16/9;background:#000;border:0;border-radius:.8rem;width:100%;min-height:320px;display:none}.youtube-focus-guard{z-index:2;cursor:default;pointer-events:none;display:none;position:absolute;inset:0}.youtube-frame.active+.youtube-focus-guard{display:none}body[data-theme=light] .video-skills-table th,body[data-theme=light] .video-skills-table td{border-bottom-color:#e5e7eb}body[data-theme=light] .video-skills-table tbody tr:hover{background:#f8fafc}body[data-theme=light] .video-skills-table select,body[data-theme=light] .video-skills-table input[type=number]{color:#0f172a;background:#fff;border-color:#e2e8f0}body[data-theme=light] .video-resize-handle{box-shadow:0 0 0 1px #94a3b873,0 10px 24px #0f172a1f}.rotation-row.total{font-weight:700}.rotation-delta-cell.pos{color:#16a34a}.rotation-delta-cell.neg{color:#dc2626}.rotation-delta-cell.zero{color:#94a3b8}body[data-theme=light] .rotation-delta-cell.pos{color:#15803d}body[data-theme=light] .rotation-delta-cell.neg{color:#b91c1c}body[data-theme=light] .rotation-delta-cell.zero{color:#64748b}.formation-starter-cell{color:#fff;background:#1e3a8a}.formation-setter-cell{color:#fff;background:#991b1b}.set-start-header{cursor:pointer}.set-start-list{gap:.5rem;display:grid}.set-start-row{grid-template-columns:1fr 120px;align-items:center;gap:.6rem;display:grid}.set-start-name{font-weight:600}.set-start-select{color:#f8fafc;text-align:center;width:100%;font:inherit;background:#111827;border:1px solid #94a3b873;border-radius:6px;padding:.2rem .35rem}.set-start-select:focus{outline:1px solid #94a3b8b3}.set-start-select option{color:#f8fafc;background:#111827}body[data-theme=light] .set-start-select{color:#0f172a;background:#fff;border-color:#cbd5f5}body[data-theme=light] .set-start-select option{color:#0f172a;background:#fff}.rotation-row.best{color:var(--text-color,#f5f5f5);background:#22c55e33}.rotation-row.worst{color:var(--text-color,#f5f5f5);background:#ef444433}body[data-theme=light] .rotation-row.best{color:var(--text-color,#0f172a);background:#dcfce7}body[data-theme=light] .rotation-row.worst{color:var(--text-color,#0f172a);background:#fee2e2}body[data-theme=light] .skill-stats,body[data-theme=light] .metric-helper{color:#0f172a}.agg-table{border-collapse:collapse;border:1px solid #303030;width:100%;table-layout:auto!important}.agg-table th{text-transform:none;border:1px solid #303030;padding:.22rem .12rem!important}.agg-table td{border:1px solid #303030}.agg-table tbody tr:nth-child(2n) td{background-image:linear-gradient(#ffffff24,#ffffff24)}.agg-table tbody tr:nth-child(2n) td.skill-col{background-image:linear-gradient(#ffffff1f,#ffffff1f)}.agg-table tbody tr.agg-body-header td{background-image:none!important}.agg-table tbody tr.agg-body-header td.skill-col{box-shadow:none!important}.agg-table tbody tr:hover td{background-image:linear-gradient(#3b82f642,#3b82f642);border-color:#3b82f699}.agg-table th:first-child,.agg-table td:first-child{border-left:1px solid #303030;min-width:max-content}.agg-table th:last-child,.agg-table td:last-child{border-right:1px solid #303030}.agg-table th.skill-col.skill-serve,.agg-table th.skill-col.skill-pass,.agg-table th.skill-col.skill-freeball,.agg-table th.skill-col.skill-attack,.agg-table th.skill-col.skill-defense,.agg-table th.skill-col.skill-block,.agg-table th.skill-col.skill-second{background:var(--skill-serve-soft,#1b5e202e);color:#0f172a}.agg-table th.skill-col.skill-pass{background:var(--skill-pass-soft,#f9a8252e)}.agg-table th.skill-col.skill-freeball{background:var(--skill-freeball-soft,#c026d32e)}.agg-table th.skill-col.skill-attack{background:var(--skill-attack-soft,#b71c1c2e)}.agg-table th.skill-col.skill-defense{background:var(--skill-defense-soft,#546e7a2e)}.agg-table th.skill-col.skill-block{background:var(--skill-block-soft,#4a148c2e)}.agg-table th.skill-col.skill-second{background:var(--skill-second-soft,#00838f2e)}.agg-table thead tr:nth-child(2) th{background:#262626;font-size:.72rem}body[data-theme=light] .agg-table thead tr:nth-child(2) th{background:#e5e7eb}body[data-theme=light] .agg-table td{color:#0f172a;background:#fff}body[data-theme=light] .agg-table tbody tr:nth-child(2n) td{background-image:linear-gradient(#0f172a1a,#0f172a1a)!important}body[data-theme=light] .agg-table tbody tr:nth-child(2n) td.skill-col{box-shadow:inset 0 0 0 9999px #0f172a1a}body[data-theme=light] .agg-table tbody tr.agg-body-header td{background-image:none!important}body[data-theme=light] .agg-table tbody tr.agg-body-header td.skill-col{box-shadow:none!important}.agg-table tbody tr:nth-child(2n) td.skill-col{box-shadow:inset 0 0 0 9999px #ffffff1f}body[data-theme=light] .agg-table tbody tr:hover td{background-image:linear-gradient(#2563eb33,#2563eb33);border-color:#2563eb99}body[data-theme=light] .agg-table,body[data-theme=light] .agg-table th,body[data-theme=light] .agg-table td{border-color:#d6d6d6}.agg-table th.agg-skill-header,.agg-table td.agg-skill-header,.agg-table td.agg-player-cell,.agg-table th.agg-table-back{cursor:pointer;transition:background .15s}.agg-table th.agg-skill-header:hover,.agg-table td.agg-skill-header:hover,.agg-table td.agg-player-cell:hover,.agg-table th.agg-table-back:hover{background:#3b82f61f}.agg-skill-modal__content{width:min(640px,94vw);max-height:80vh}.agg-skill-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.45rem;margin-bottom:.7rem;display:grid}.agg-skill-summary-card{background:#141414;border:1px solid #262626;border-radius:.6rem;padding:.45rem .55rem}.agg-skill-summary-label{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;font-size:.75rem}.agg-skill-summary-value{color:#f8fafc;font-size:1.05rem;font-weight:700}.agg-skill-codes{border-collapse:collapse;width:100%}.agg-skill-modal-chart{gap:.5rem;margin-top:.8rem;display:grid}.agg-skill-codes th,.agg-skill-codes td{text-align:center;border:1px solid #2a2a2a;padding:.35rem .45rem;font-size:.9rem}.agg-skill-codes th{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;background:#111;font-size:.75rem}body[data-theme=light] .agg-table th.agg-skill-header:hover,body[data-theme=light] .agg-table td.agg-player-cell:hover,body[data-theme=light] .agg-table th.agg-table-back:hover{background:#2563eb29}body[data-theme=light] .agg-skill-summary-card{background:#f8fafc;border-color:#d7d9e0}body[data-theme=light] .agg-skill-summary-label{color:#475569}body[data-theme=light] .agg-skill-summary-value{color:#0f172a}body[data-theme=light] .agg-skill-codes th,body[data-theme=light] .agg-skill-codes td{border-color:#d6d6d6}body[data-theme=light] .agg-skill-codes th{color:#475569;background:#eef2f7}.skill-modal{z-index:200;justify-content:center;align-items:center;padding:.35rem;display:flex;position:fixed;inset:0;overflow-y:auto}.skill-modal.force-popup{z-index:3200!important}.skill-modal__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:0;background:#0009;position:absolute;inset:0}.skill-modal__content{z-index:1;pointer-events:auto;background:#0f0f0f;border:1px solid #2f2f2f;border-radius:.8rem;flex-direction:column;width:min(420px,92vw);height:auto;min-height:0;max-height:70vh;padding:.5rem .6rem;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}#lineup-modal .skill-modal__content,.lineup-modal__content{width:min(1040px,96vw);max-width:1040px;height:auto;max-height:92vh;overflow:visible}.skill-modal__close-abs{z-index:3;color:#fff;cursor:pointer;pointer-events:auto;background:#2d6cdf;border:none;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid;position:absolute;top:.15rem;right:.15rem}.skill-modal__cancel-abs{z-index:3;color:#fff;cursor:pointer;pointer-events:auto;background:#dc2626;border:none;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid;position:absolute;top:.15rem;right:2.45rem}.skill-modal__cancel-abs:active,.skill-modal__close-abs:active{transform:scale(.98)}.skill-modal__head{background:#0f0f0f;justify-content:space-between;align-items:center;gap:.4rem;padding-bottom:.25rem;display:flex;position:relative;top:auto}.skill-modal__body{flex:auto;min-height:0;padding-bottom:.8rem;padding-right:.2rem;overflow-y:auto}.video-mobile-source-modal{display:none}@media (max-width:700px){.video-mobile-source-modal:not(.hidden){z-index:3300;display:flex}.video-mobile-source-dialog{width:min(430px,94vw);max-height:min(620px,90svh)}.video-mobile-source-body{flex-direction:column;gap:.7rem;padding-top:.4rem;display:flex}.video-mobile-source-body label{font-size:.84rem;font-weight:700}.video-mobile-source-body input,.video-mobile-source-body button{box-sizing:border-box;width:100%;min-height:48px}.video-mobile-source-file{font-size:1rem;font-weight:800}.video-mobile-source-divider{color:#94a3b8;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.78rem;display:flex}.video-mobile-source-divider:before,.video-mobile-source-divider:after{content:"";background:#334155;flex:auto;height:1px}.video-mobile-source-later{color:#94a3b8;background:0 0;border:0}body[data-theme=light] .video-mobile-source-dialog,body[data-theme=light] .video-mobile-source-dialog .skill-modal__head{background:#fff;border-color:#dbe3ef}body[data-theme=light] .video-mobile-source-divider{color:#64748b}body[data-theme=light] .video-mobile-source-divider:before,body[data-theme=light] .video-mobile-source-divider:after{background:#cbd5e1}body[data-theme=light] .video-mobile-source-later{color:#475569}}.attack-trajectory-content{border-radius:.9rem;flex-direction:column;width:min(1100px,96vw);max-width:1100px;height:min(680px,92dvh);max-height:100%;display:flex;position:relative;overflow:hidden}.attack-trajectory-body{flex-direction:column;flex:auto;gap:.4rem;min-height:0;display:flex;position:relative}.attack-trajectory-netpoints{border-radius:.8rem;flex-wrap:wrap;flex:none;align-items:center;gap:.35rem;min-height:3.2rem;padding:1.3rem .1rem .2rem;display:flex;position:relative}.attack-trajectory-netpoints-label{opacity:.8;flex:none;font-size:.8rem;font-weight:600;position:absolute;top:.1rem;left:.2rem}.attack-trajectory-netpoints button[data-net-point]{left:calc(var(--net-x,.5) * 100%);color:#e2e8f0;background:#1f1f1f;border:1px solid #2f2f2f;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:700;position:absolute;bottom:.1rem;transform:translate(-50%)}.attack-trajectory-netpoints--far button[data-net-point]{left:calc(100% - var(--net-x,.5) * 100%)}.attack-trajectory-netpoints button[data-net-point].active{color:#fff;background:#2d6cdf;border-color:#2d6cdf}body[data-theme=light] .attack-trajectory-netpoints button[data-net-point]{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}body[data-theme=light] .attack-trajectory-netpoints button[data-net-point].active{color:#fff;background:#2563eb;border-color:#2563eb}.attack-trajectory-stage{border:1px solid #2f2f2f;border-radius:.6rem;flex:auto;width:100%;height:520px;min-height:0;position:relative;overflow:hidden}@media (max-width:900px){.attack-trajectory-content{border-radius:0}}.attack-trajectory-stage img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.attack-trajectory-stage canvas{pointer-events:auto;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.attack-trajectory-actions{pointer-events:auto;flex:none;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.35rem;display:flex;position:static}.attack-trajectory-actions button{pointer-events:auto}.attack-trajectory-info{pointer-events:auto;background:#00000073;border:1px solid #ffffff14;border-radius:.6rem;flex-direction:column;gap:.35rem;width:100%;min-width:0;max-width:100%;padding:.4rem .55rem;display:flex}.attack-trajectory-instructions{color:#e2e8f0;font-size:.92rem}.serve-type-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;width:100%;padding-top:.15rem;display:flex}.serve-type-buttons button{color:#e2e8f0;background:#0f172a;border:1px solid #2f2f2f;border-radius:.55rem;padding:.35rem .6rem;font-weight:700}.serve-type-buttons button.active{color:#f8fafc;background:#2563eb;border-color:#2563eb}body[data-theme=light] .attack-trajectory-netpoints{color:#0f172a}.set-type-btn{background:#1f2937;border:1px solid #334155;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.75rem .6rem;font-weight:700;display:flex}.set-type-btn.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb59}.set-type-btn span{font-size:1rem}.set-type-btn small{opacity:.7;font-size:.75rem}.set-type-btn:hover{background:#2563eb;border-color:#2563eb}.set-type-shortcuts{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;margin-top:12px;padding:10px}body[data-theme=light] .set-type-shortcuts{background:#f1f5f9;border-color:#d5dbe5}.set-type-shortcuts__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.set-type-shortcuts__label{font-weight:700}.set-type-shortcuts__buttons{flex-wrap:wrap;gap:8px;display:flex}.set-type-inline{flex-wrap:nowrap;align-items:center;gap:10px;width:100%;margin-top:10px;display:none;overflow-x:auto}.set-type-inline.set-type-inline--active{display:flex}.set-type-inline .set-type-shortcuts__head{flex-wrap:nowrap;gap:12px;margin-bottom:0}.set-type-inline .set-type-shortcuts__buttons{flex-wrap:nowrap;gap:6px}.set-type-inline .set-type-btn{padding:.45rem .6rem;font-size:.95rem}.set-type-wrapper{margin-bottom:.4rem}body[data-theme=light] .skill-modal__content{background:#f8fafc;border-color:#d5dbe5}body[data-theme=light] .skill-modal__head{background:#f8fafc}.skill-modal__title{font-weight:700}.skill-modal__head button{pointer-events:auto}.skill-modal__body .skill-row{border:1px solid #222}.error-choice-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.45rem;margin-top:.6rem;display:grid}.error-choice-btn{color:#e5e7eb;text-align:center;background:#1a1f2a;border:1px solid #1f2937;border-radius:.65rem;padding:.45rem .6rem}.error-choice-btn.danger{color:#fee2e2;background:#7f1d1d;border-color:#b91c1c}.error-type-btn.active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}body[data-theme=light] .error-type-btn.active{border-color:#1d4ed8;box-shadow:inset 0 0 0 1px #1d4ed8}body[data-theme=light] .error-choice-btn{color:#0f172a;background:#e2e8f0;border-color:#cbd5e1}body[data-theme=light] .error-choice-btn.danger{color:#7f1d1d;background:#fecdd3;border-color:#fda4af}.team-modal{z-index:2000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.team-modal__backdrop{background:#00000080;position:absolute;inset:0}.team-modal__dialog{background:#0f172a;border:1px solid #1f2937;border-radius:8px;width:min(1600px,96vw);max-height:92vh;padding:1rem;position:relative;overflow:hidden;box-shadow:0 18px 48px #00000059}.team-modal__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.panel-title-row{justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.panel-title-row .panel-title{flex:none;width:auto;margin:0}.team-panel-edit-btn{color:#bfdbfe;background:#3b82f624;border:1px solid #60a5fa66;border-radius:999px;flex:none;width:2rem;min-width:2rem;height:2rem}.team-panel-edit-btn:hover{background:#3b82f638}.team-modal__content{-webkit-overflow-scrolling:touch;flex-direction:column;gap:.75rem;max-height:calc(92vh - 140px);display:flex;overflow-y:auto}.team-modal__dialog.team-modal__dialog--live-edit{width:min(1400px,96vw)}.team-modal__dialog.team-modal__dialog--live-edit .team-manager-default,.team-modal__dialog.team-modal__dialog--live-edit #btn-export-team{display:none}.team-modal__dialog.team-modal__dialog--live-edit .team-manager-roster-layout{display:block}.team-meta-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;display:grid}.team-meta-grid label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.team-meta-grid input{color:#e5e7eb;background:#0b1224;border:1px solid #1f2937;border-radius:6px;width:100%;padding:.4rem .5rem}.team-manager-actions{align-items:center;gap:.5rem;display:flex}.team-manager-tablewrap{max-height:55vh;overflow:auto}.team-manager-roster-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:.8rem;display:grid}.team-manager-default{background:#0b1224;border:1px solid #1f2937;border-radius:.6rem;flex-direction:column;gap:.5rem;padding:.6rem;display:flex}.default-lineup-rotation{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.default-lineup-rotation .rotation-controls{justify-content:flex-start}.default-lineup-rotation .rotation-select{color:#e2e8f0;background:#0f172a;border:1px solid #1f2937;border-radius:6px;margin-top:0;padding:.35rem .45rem}.team-manager-default h4{margin:0}.default-lineup-grid{grid-template-columns:repeat(3,minmax(80px,1fr));gap:.4rem;display:grid}.default-lineup-slot{color:#e2e8f0;text-align:center;cursor:pointer;background:#111827;border:1px dashed #334155;border-radius:.6rem;flex-direction:column;justify-content:center;align-items:center;min-height:50px;padding:.4rem .3rem;font-size:.85rem;display:flex;position:relative;overflow:hidden}.default-lineup-slot:before{content:attr(data-position);color:#94a3b833;pointer-events:none;justify-content:center;align-items:center;font-size:2.6rem;font-weight:700;display:flex;position:absolute;inset:0}.default-lineup-name{z-index:1;font-weight:600;position:relative}.default-lineup-slot.empty{color:#94a3b8b3}.default-lineup-slot.drop-over{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb66}.default-lineup-bench{flex-direction:column;gap:.35rem;display:flex}.default-lineup-bench__title{color:#94a3b8;font-size:.85rem}.default-lineup-bench__list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.35rem;max-height:220px;display:grid;overflow:auto}.default-lineup-chip{color:#e2e8f0;cursor:grab;background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:.35rem .45rem;font-weight:600}.default-lineup-chip:active{cursor:grabbing}body[data-theme=light] .team-manager-default{background:#f8fafc;border-color:#e5e7eb}body[data-theme=light] .default-lineup-slot,body[data-theme=light] .default-lineup-chip{color:#0f172a;background:#fff;border-color:#e2e8f0}.default-lineup-chip.default-lineup-out,.default-lineup-name.default-lineup-out{color:#94a3b8}.default-lineup-chip.default-lineup-out{background:#0b0f16;border-color:#334155}body[data-theme=light] .default-lineup-chip.default-lineup-out{color:#475569;background:#f1f5f9;border-color:#cbd5f5}body[data-theme=light] .default-lineup-rotation .rotation-select{color:#0f172a;background:#fff;border-color:#e2e8f0}body[data-theme=light] .default-lineup-slot:before{color:#64748b40}@media (max-width:900px){.team-manager-roster-layout{grid-template-columns:1fr}}.team-manager-table{border-collapse:collapse;width:100%;min-width:960px}.team-manager-table th,.team-manager-table td{text-align:left;border-bottom:1px solid #1f2937;padding:.35rem .5rem}.team-manager-table th:first-child,.team-manager-table td:first-child{width:64px}.team-manager-table th:nth-child(2),.team-manager-table td:nth-child(2),.team-manager-table th:nth-child(3),.team-manager-table td:nth-child(3){width:140px;min-width:140px}.team-manager-table td:nth-child(2) input,.team-manager-table td:nth-child(3) input{box-sizing:border-box;width:100%;min-width:120px;max-width:140px}.team-manager-table td:nth-child(4){width:132px}.team-manager-table td:nth-child(5),.team-manager-table td:nth-child(6){text-align:center;width:60px}.team-manager-table td:nth-child(7){text-align:center;width:88px}.team-manager-table td:nth-child(8){width:180px}.team-manager-table td:nth-child(9){text-align:center;width:88px}.team-manager-row--out td{color:#94a3b8}.team-manager-table tbody tr.team-manager-row--out{box-shadow:inset 4px 0 #64748b;background:#12151c!important}.team-manager-table tbody tr.team-manager-row--out:hover{background:#151a22!important}.team-manager-row--out .team-manager-input{background:#0f172a99;border-color:#4b5563}body[data-theme=light] .team-manager-row--out td{color:#64748b}body[data-theme=light] .team-manager-table tbody tr.team-manager-row--out{box-shadow:inset 4px 0 #94a3b8;background:#e2e8f0!important}body[data-theme=light] .team-manager-table tbody tr.team-manager-row--out:hover{background:#dbe2ec!important}body[data-theme=light] .team-manager-row--out .team-manager-input{background:#f8fafc;border-color:#cbd5e1}.team-manager-row--libero td{color:#dbeafe}.team-manager-table tbody tr.team-manager-row--libero{box-shadow:inset 4px 0 #60a5fa;background:#0b2a4f!important}.team-manager-table tbody tr.team-manager-row--libero:hover{background:#0d2f57!important}.team-manager-row--libero .team-manager-input{background:#0f254f99;border-color:#3b82f6}body[data-theme=light] .team-manager-row--libero td{color:#1e3a8a}body[data-theme=light] .team-manager-table tbody tr.team-manager-row--libero{box-shadow:inset 4px 0 #3b82f6;background:#dbeafe!important}body[data-theme=light] .team-manager-table tbody tr.team-manager-row--libero:hover{background:#cfe2ff!important}body[data-theme=light] .team-manager-row--libero .team-manager-input{background:#eff6ff;border-color:#60a5fa}.team-manager-row--libero input[type=checkbox]{accent-color:#60a5fa}.team-manager-row--out input[type=checkbox]{accent-color:#94a3b8}.team-manager-id{color:#94a3b8;word-break:break-all;max-width:180px;font-family:SFMono-Regular,ui-monospace,DejaVu Sans Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;display:inline-block}.team-manager-input{color:#e5e7eb;background:#0b1224;border:1px solid #1f2937;border-radius:4px;width:100%;padding:.35rem .4rem}.team-manager-photo-cell,.players-db-photo-cell{align-items:center;gap:.5rem;display:flex}.team-manager-photo-preview,.players-db-photo-preview{cursor:pointer;background-color:#0f172a;background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #334155;border-radius:.65rem;flex:none;width:42px;height:42px;padding:0}.team-manager-photo-preview.empty,.players-db-photo-preview.empty{background-image:linear-gradient(135deg,#94a3b824,#1e293b66)}.team-manager-photo-preview.empty:after,.players-db-photo-preview.empty:after{content:"+";color:#cbd5e1;place-items:center;width:100%;height:100%;font-size:1.2rem;line-height:1;display:grid}.team-manager-photo-preview:hover,.players-db-photo-preview:hover{border-color:#60a5fa}#team-meta-name:disabled{color:#cbd5e1;cursor:not-allowed;opacity:1;background:#374151}.team-manager-footer{justify-content:flex-end;gap:.5rem;display:flex}.players-db__content{width:min(900px,95vw)}.players-db__body{flex-direction:column;gap:.75rem;display:flex}.player-photo-modal__content{width:min(560px,95vw)}#player-photo-modal{z-index:2100}.camp3-confirm-modal{z-index:2300}.camp3-confirm-modal__content{width:min(720px,95vw)}.camp3-confirm-modal__body{flex-direction:column;gap:.85rem;display:flex}.camp3-confirm-summary{gap:.75rem;max-height:min(58vh,520px);display:grid;overflow:auto}.camp3-confirm-tablewrap{overflow-x:auto}.camp3-confirm-table{border-collapse:collapse;width:100%;min-width:560px}.camp3-confirm-table th,.camp3-confirm-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #94a3b82e;padding:.35rem}.camp3-confirm-row--added td{background:#22c55e14}.camp3-confirm-row--modified td{background:#3b82f614}.camp3-confirm-row--unchanged td{background:#94a3b80d}.camp3-confirm-table th:first-child,.camp3-confirm-table td:first-child{width:96px}.camp3-confirm-table th:nth-child(2),.camp3-confirm-table td:nth-child(2){width:72px}.camp3-confirm-table th:nth-child(5),.camp3-confirm-table td:nth-child(5),.camp3-confirm-table th:nth-child(6),.camp3-confirm-table td:nth-child(6),.camp3-confirm-table th:nth-child(7),.camp3-confirm-table td:nth-child(7){text-align:center;width:44px}.camp3-confirm-status{border-radius:999px;justify-content:center;align-items:center;min-width:74px;min-height:24px;padding:.15rem .45rem;font-size:.78rem;font-weight:700;display:inline-flex}.camp3-confirm-status--added{color:#86efac;background:#22c55e2e;border:1px solid #22c55e59}.camp3-confirm-status--modified{color:#93c5fd;background:#3b82f62e;border:1px solid #3b82f659}.camp3-confirm-status--unchanged{color:#cbd5e1;background:#94a3b824;border:1px solid #94a3b847}.camp3-confirm-table .team-manager-input{min-width:0}.camp3-confirm-section{background:#0f172a8c;border:1px solid #334155;border-radius:6px;padding:.65rem .75rem}.camp3-confirm-section h4{margin:0 0 .45rem;font-size:.95rem}.camp3-confirm-section ul{margin:0;padding-left:1.2rem}.camp3-confirm-section li{margin:.18rem 0}.camp3-confirm-out-list{gap:.4rem;display:grid}.camp3-confirm-out-item{border:1px solid #94a3b82e;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem .45rem;display:flex}.camp3-confirm-remove{flex:none;width:28px;height:28px}.player-photo-modal__body{flex-direction:column;gap:.85rem;display:flex}.player-photo-cropper{justify-content:center;display:flex}.player-photo-stage{aspect-ratio:1;cursor:grab;touch-action:none;background:linear-gradient(45deg,#0f172aeb 25%,#1e293beb 25% 50%,#0f172aeb 50% 75%,#1e293beb 75% 100%) 0 0/22px 22px;border:1px solid #334155;border-radius:1rem;width:min(82vw,360px);position:relative;overflow:hidden}.player-photo-stage.dragging{cursor:grabbing}.player-photo-stage:after{content:"";pointer-events:none;border:1px solid #ffffff14;position:absolute;inset:0;box-shadow:inset 0 0 0 9999px #0f172a2e}.player-photo-stage img{transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;max-height:none;position:absolute;top:50%;left:50%}.player-photo-zoom{flex-direction:column;gap:.35rem;font-size:.92rem;display:flex}.player-photo-zoom input[type=range]{width:100%}.players-db__summary{color:#94a3b8;justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.players-db__tablewrap{max-height:60vh;overflow:auto}.players-db-table{border-collapse:collapse;width:100%}.players-db-table th,.players-db-table td{text-align:left;border-bottom:1px solid #1f2937;padding:.45rem .6rem}.players-db-table td:nth-child(5){color:#94a3b8;word-break:break-all;font-family:SFMono-Regular,ui-monospace,DejaVu Sans Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem}body[data-theme=light] .players-db__summary{color:#64748b}body[data-theme=light] .player-photo-stage{background:linear-gradient(45deg,#f8fafcf5 25%,#e2e8f0f5 25% 50%,#f8fafcf5 50% 75%,#e2e8f0f5 75% 100%) 0 0/22px 22px;border-color:#cbd5e1}body[data-theme=light] .player-photo-stage:after{border-color:#0f172a14;box-shadow:inset 0 0 0 9999px #ffffff1a}body[data-theme=light] .team-manager-photo-preview,body[data-theme=light] .players-db-photo-preview{background-color:#fff;border-color:#cbd5e1}body[data-theme=light] .team-manager-photo-preview.empty,body[data-theme=light] .players-db-photo-preview.empty{background-image:linear-gradient(135deg,#e2e8f0eb,#cbd5e1e6)}.teams-manager__content{width:min(640px,95vw)}.teams-manager__body{flex-direction:column;gap:1rem;display:flex}.teams-manager-row{flex-direction:column;gap:.35rem;display:flex}.teams-manager-list{background:#0b1224;border:1px solid #1f2937;border-radius:8px;max-height:50vh;margin:0;padding:0;list-style:none;overflow:auto}.teams-manager-item{cursor:pointer;border-bottom:1px solid #1f2937;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;display:flex}.teams-manager-item:last-child{border-bottom:0}.teams-manager-item.selected{background:#2563eb26}.teams-manager-actions{flex-wrap:wrap;gap:.5rem;display:flex}body[data-theme=light] .teams-manager-list{background:#f8fafc;border-color:#e5e7eb}body[data-theme=light] .teams-manager-item{border-color:#e5e7eb}body[data-theme=light] .team-modal__dialog{color:#0f172a;background:#fff;border-color:#e5e7eb}body[data-theme=light] .team-manager-input,body[data-theme=light] .team-meta-grid input{color:#0f172a;background:#f8fafc;border-color:#e5e7eb}.skill-modal__body .skill-buttons{flex-wrap:wrap;gap:.35rem}.skill-modal__body .skill-buttons button{border-radius:.65rem;min-width:72px;min-height:52px;padding:.55rem .75rem;font-size:1.15rem}.modal-skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.modal-skill-btn{color:#e5e7eb;background:#111827;border:1px solid #1f2937;border-radius:.75rem;justify-content:space-between;align-items:center;padding:.65rem .75rem;font-size:1rem;font-weight:700;display:flex}body[data-theme=light] .modal-skill-btn{color:#0f172a;background:#f8fafc;border-color:#e2e8f0}.modal-skill-btn .modal-skill-badge{border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:30px;font-size:.9rem;display:inline-flex}.modal-skill-head{justify-content:flex-start;margin-bottom:.35rem;display:flex}.modal-skill-back{min-width:0;padding:.45rem .65rem}.modal-skill-codes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-bottom:.35rem;display:grid}.modal-skill-codes .event-btn{min-height:52px;font-size:1.1rem}.icon-button{color:inherit;cursor:pointer;background:0 0;border:1px solid #1f2937;border-radius:8px;padding:.35rem .55rem}.icon-button:hover{background:#ffffff0f}body[data-theme=light] .icon-button{border-color:#e5e7eb}.rotation-display.minimal select{display:none}.events-log-summary{color:#cbd5e1;margin-bottom:.25rem;font-size:.85rem;display:none}.skill-modal__body .skill-row-pair{grid-template-columns:repeat(3,minmax(100px,1fr))}.skill-hidden{display:none}.skill-col.skill-serve{background:var(--skill-serve-soft,#1b5e202e);color:#0f172a}.skill-col.skill-pass{background:var(--skill-pass-soft,#f9a8252e);color:#0f172a}.skill-col.skill-freeball{background:var(--skill-freeball-soft,#c026d32e);color:#0f172a}.skill-col.skill-attack{background:var(--skill-attack-soft,#b71c1c2e);color:#0f172a}.skill-col.skill-defense{background:var(--skill-defense-soft,#546e7a2e);color:#0f172a}.skill-col.skill-block{background:var(--skill-block-soft,#4a148c2e);color:#0f172a}.skill-col.skill-second{background:var(--skill-second-soft,#00838f2e);color:#0f172a}@media (min-width:700px){body{padding:.8rem}.section{padding:.6rem}}@media (max-width:900px){.topbar-toggle-btn{display:none!important}.tabs-nav{display:none}.tabs-dots{display:inline-flex;top:.5rem;bottom:auto}body[data-match-session=true]{padding-top:4.4rem}body[data-match-session=true]:before{content:attr(data-match-label);z-index:33;color:var(--text-color,#e8e8e8);text-overflow:ellipsis;text-align:center;white-space:nowrap;font-size:.78rem;font-weight:700;position:fixed;top:2.55rem;left:.75rem;right:.75rem;overflow:hidden}body.top-bar-hidden .tabs-dots{display:inline-flex!important}.scout-grid{display:block}.scout-column-resizer{display:none}.scout-mobile-bar{display:flex}.drawer-backdrop{opacity:0;pointer-events:none;transition:opacity .2s;display:block}body.drawer-menu-open .drawer-backdrop,body.drawer-log-open .drawer-backdrop{opacity:1;pointer-events:auto}.scout-col-left,.scout-col-right{z-index:50;width:min(88vw,360px);transition:transform .2s;position:fixed;top:0;bottom:0;overflow-y:auto;transform:translate(-105%)}.scout-col-right{left:auto;right:0;transform:translate(105%)}body.drawer-menu-open .scout-col-left,body.drawer-log-open .scout-col-right{transform:translate(0)}.drawer-close{display:inline-flex}.scout-col-center{width:100%}.players-area{gap:.45rem}#players-container,#opponent-players-container{align-items:start;min-height:0}}@media (max-width:640px){.global-settings-grid,.new-match-setup-grid{grid-template-columns:1fr}}body.force-mobile .scout-grid{display:block}body.force-mobile .scout-column-resizer{display:none}body.force-mobile .topbar-toggle-btn{display:none!important}body.force-mobile .tabs-nav{display:none}body.force-mobile .tabs-dots{display:inline-flex;top:.5rem;bottom:auto}body.force-mobile[data-match-session=true]{padding-top:4.4rem}body.force-mobile[data-match-session=true]:before{content:attr(data-match-label);z-index:33;color:var(--text-color,#e8e8e8);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700;position:fixed;top:2.55rem;left:.75rem;right:.75rem;overflow:hidden}body.force-mobile.top-bar-hidden .tabs-dots{display:inline-flex!important}body.force-mobile .scout-mobile-bar{display:flex}body.force-mobile .drawer-backdrop{opacity:0;pointer-events:none;transition:opacity .2s;display:block}body.force-mobile.drawer-menu-open .drawer-backdrop,body.force-mobile.drawer-log-open .drawer-backdrop{opacity:1;pointer-events:auto}body.force-mobile .scout-col-left,body.force-mobile .scout-col-right{z-index:50;width:min(88vw,360px);transition:transform .2s;position:fixed;top:0;bottom:0;overflow-y:auto;transform:translate(-105%)}body.force-mobile .scout-col-right{left:auto;right:0;transform:translate(105%)}body.force-mobile.drawer-menu-open .scout-col-left,body.force-mobile.drawer-log-open .scout-col-right{transform:translate(0)}body.force-mobile .drawer-close{display:inline-flex}body.force-mobile .scout-col-center{width:100%}body.force-mobile .players-area{gap:.45rem}body.force-mobile #players-container,body.force-mobile #opponent-players-container{align-items:start;min-height:0}.tabs-dots.mobile-navigation{border-radius:1.2rem;padding:0}.mobile-navigation summary{cursor:pointer;padding:.65rem .9rem;font-weight:600;list-style:none}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation__options{background:#171d28;border:1px solid #475569;border-radius:.85rem;width:min(19rem,100vw - 2rem);max-height:65dvh;padding:.5rem;position:absolute;top:calc(100% + .4rem);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 24px #0005}.mobile-navigation:not([open]) .mobile-navigation__options{display:none}.mobile-navigation__options .tab-btn,.mobile-navigation__options .mobile-match-export,.mobile-navigation__options .mobile-match-exit{color:#f5f5f5;background:#263244;border-radius:.5rem;width:100%;height:auto;min-height:44px;margin:.2rem 0;padding:.6rem;font-size:.9rem;display:block}.mobile-navigation__options .tab-btn.active{color:#fff;background:#2563eb}body[data-theme=light] .mobile-navigation__options{background:#fff;border-color:#cbd5e1}body[data-theme=light] .mobile-navigation__options button{color:#0f172a;background:#e2e8f0}body[data-theme=light] .mobile-navigation__options .tab-btn.active{color:#fff;background:#2563eb}@media (max-width:900px){body:not([data-match-session=true]){padding-top:3.6rem}}body.force-mobile:not([data-match-session=true]){padding-top:3.6rem}.scout-live{--sl-gap:.35rem;--sl-btn-h:2rem;--sl-btn-w-min:4.6rem;--sl-btn-w-max:5.35rem;--sl-btn-fs:.82rem;--sl-btn-radius:.42rem}.scout-live .section{border-radius:.7rem}.scout-live button.small,.scout-live .file-btn{min-height:var(--sl-btn-h);font-size:var(--sl-btn-fs);border-radius:var(--sl-btn-radius)}.scout-live .set-bottom-actions{gap:var(--sl-gap)}.scout-live .scout-col-left .rotation-toggles{gap:.2rem;display:grid}.scout-live .scout-col-left .rotation-toggles br{display:none}.scout-live .scout-col-left .auto-rotate-toggle{margin-top:0;line-height:1.12}.scout-live .scout-col-left .team-panel{gap:.2rem}.scout-live .scout-col-left .court-actions-bar.team-panel{gap:.35rem;padding:.42rem .55rem}.scout-live .scout-col-left .team-timeout-block{gap:.22rem}.scout-live .sl-toolbar{grid-template-rows:auto auto;grid-template-columns:minmax(170px,210px) minmax(0,1fr);align-items:start;gap:.4rem;display:grid}.scout-live .sl-toolbar .court-rotation-block{grid-column:1}.scout-live .sl-toolbar .sl-action-row{flex-wrap:wrap;grid-area:1/2;align-items:center;gap:.16rem;min-width:0;display:flex;overflow:visible}.scout-live .sl-toolbar .sl-action-row>button,.scout-live .sl-toolbar .sl-action-row>.score-actions-inline>button,.scout-live .sl-toolbar .sl-action-row>.freeball-actions-inline>button{inline-size:auto;min-inline-size:0;max-inline-size:100%;block-size:var(--sl-btn-h);min-block-size:var(--sl-btn-h);font-size:var(--sl-btn-fs);white-space:normal;overflow-wrap:anywhere;flex:1 1 var(--sl-btn-w-min);justify-content:center;align-items:center;padding:.2rem .3rem;line-height:1.05;display:inline-flex}.scout-live .sl-toolbar .sl-action-row>.score-actions-inline,.scout-live .sl-toolbar .sl-action-row>.freeball-actions-inline{display:contents}.scout-live .sl-toolbar .sl-team-controls{align-items:center;gap:var(--sl-gap);flex-wrap:wrap;grid-area:2/1/auto/-1;width:100%;display:flex}.scout-live .sl-toolbar .sl-team-controls .libero-inline{flex:180px;min-width:0}.scout-live .sl-toolbar .sl-team-controls .skill-flow-panel{flex:200px;min-width:0;margin-top:0}.scout-live .sl-toolbar .skill-flow-grid.skill-flow-inline{flex-wrap:wrap}.scout-live .court-net-divider{gap:.35rem}.single-team-opponent-panel{border-style:solid;border-width:1px;border-radius:.6rem;flex-wrap:wrap;order:1;align-items:center;gap:.5rem;padding:.4rem .55rem;display:flex}.single-team-opponent-label{font-size:.82rem;font-weight:600}.single-team-opponent-panel [data-single-opponent-rotation]{flex:0 10rem;min-width:0}.single-team-opponent-panel .rotation-controls{grid-template-columns:2rem minmax(0,1fr) 2rem;display:grid}.single-team-opponent-panel .rotation-select{width:100%;margin:0}.single-team-opponent-actions{flex-wrap:wrap;flex:16rem;align-items:center;gap:.25rem;min-width:0;display:flex}.single-team-opponent-actions #single-team-score-actions{display:contents}.single-team-opponent-actions button{flex:1 1 0;min-width:0}.scout-live .net-actions-default{gap:.25rem}.scout-live .net-action-btn{min-height:var(--sl-btn-h);border-radius:var(--sl-btn-radius);font-size:.8rem}.scout-live #btn-undo{min-width:8.6rem}.scout-live .court-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.scout-live button,.scout-live input,.scout-live select{min-width:0;max-width:100%}.scout-live button{overflow-wrap:anywhere}.scout-live button:not(:where([role=separator],.scout-widget-handle,.video-resize-handle,.libero-return-btn)),.scout-live .file-btn{box-sizing:border-box;justify-content:center;align-items:center;height:var(--sl-btn-h)!important;min-height:var(--sl-btn-h)!important;max-height:var(--sl-btn-h)!important;font-size:var(--sl-btn-fs)!important;padding-block:0!important;line-height:1.1!important}.scout-live .rotation-controls,.scout-live .rotation-controls .rotation-select{box-sizing:border-box;height:var(--sl-btn-h)!important;min-height:var(--sl-btn-h)!important;max-height:var(--sl-btn-h)!important}.scout-live :is(#btn-swap-libero,#btn-swap-libero-opp){white-space:nowrap;flex-shrink:0}@media (max-width:1350px){.scout-live .sl-toolbar{grid-template-columns:minmax(160px,200px) minmax(0,1fr)}}@media (max-width:760px){.scout-live{--sl-btn-w-min:4.4rem;--sl-btn-w-max:5rem;--sl-btn-fs:.78rem}.scout-live .sl-toolbar{grid-template-columns:1fr}.scout-live .sl-toolbar .court-rotation-block,.scout-live .sl-toolbar .sl-action-row,.scout-live .sl-toolbar .sl-team-controls{grid-column:1}}@container (width<=620px){.scout-live .sl-toolbar{grid-template-columns:minmax(0,1fr)}.scout-live .sl-toolbar .court-rotation-block,.scout-live .sl-toolbar .sl-action-row,.scout-live .sl-toolbar .sl-team-controls{grid-area:auto/1}.scout-live .sl-toolbar .rotation-controls{justify-content:center}}@container (width<=420px){.scout-live .score-top-row,.scout-live .score-layout{grid-template-columns:minmax(0,1fr)}.scout-live .score-center{grid-row:1}.scout-live .score-top-action,.scout-live .score-set-select{width:100%}.scout-live .scout-dvw-bar__top{flex-direction:column;align-items:flex-start}.scout-live .scout-dvw-bar__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.scout-live .scout-dvw-bar__controls input{grid-column:1/-1}}body[data-theme=light]{--light-canvas:#f1f5f9;--light-surface:#fff;--light-surface-muted:#f8fafc;--light-surface-raised:#eef2f7;--light-border:#cbd5e1;--light-border-soft:#e2e8f0;--light-text:#0f172a;--light-text-muted:#475569;--light-primary:#2563eb;--light-primary-soft:#dbeafe;background:var(--light-canvas);color:var(--light-text)}body[data-theme=light] .tabs-nav.floating{border-color:var(--light-border);background:#fffffff0;box-shadow:0 8px 24px #0f172a1f}body[data-theme=light] .manual-link-btn{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}body[data-theme=light] .manual-link-btn:hover{background:var(--light-primary-soft);border-color:var(--light-primary);color:#1e3a8a}body[data-theme=light] .match-session-identity__label,body[data-theme=light] .section-note,body[data-theme=light] .match-lobby-eyebrow,body[data-theme=light] .lobby-theme-picker__label,body[data-theme=light] .match-list-empty{color:var(--light-text-muted)}body[data-theme=light] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),body[data-theme=light] textarea,body[data-theme=light] select{background-color:var(--light-surface);border-color:var(--light-border);color:var(--light-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body[data-theme=light] input::placeholder,body[data-theme=light] textarea::placeholder{color:#64748b;opacity:1}body[data-theme=light] input:disabled,body[data-theme=light] textarea:disabled,body[data-theme=light] select:disabled,body[data-theme=light] input[readonly]{background:var(--light-surface-raised);color:var(--light-text-muted);opacity:1}body[data-theme=light] option{background:var(--light-surface);color:var(--light-text)}body[data-theme=light] input[type=checkbox],body[data-theme=light] input[type=radio],body[data-theme=light] input[type=range]{accent-color:var(--light-primary)}body[data-theme=light] button:disabled,body[data-theme=light] .disabled{opacity:.58}body[data-theme=light] button.secondary:hover,body[data-theme=light] .icon-button:hover{color:var(--light-text);background:#dbe3ee}body[data-theme=light] .theme-toggle button.active{background:var(--light-primary);color:#fff;border-color:#1d4ed8;box-shadow:0 0 0 2px #2563eb33}body[data-theme=light] .match-manager-panel,body[data-theme=light] .match-list,body[data-theme=light] .global-settings-card,body[data-theme=light] .import-panel{background:var(--light-surface-muted);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .match-list-item{color:var(--light-text)}body[data-theme=light] .match-list-item.active{background:var(--light-primary-soft);border-color:var(--light-primary)}body[data-theme=light] .match-list-item:hover{background:#e2e8f0}body[data-theme=light] .update-banner{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}body[data-theme=light] .update-banner .small{background:var(--light-surface);color:#1e3a8a;border-color:#93c5fd}body[data-theme=light] .scout-widget,body[data-theme=light] .court-actions-bar,body[data-theme=light] .score-card,body[data-theme=light] .lineup-modal__court,body[data-theme=light] .lineup-modal__bench,body[data-theme=light] .next-set-bench{background:var(--light-surface-muted);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .lineup-slot,body[data-theme=light] .lineup-chip,body[data-theme=light] .libero-tag{background:var(--light-surface);border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .lineup-slot.drop-over,body[data-theme=light] .lineup-chip.drop-over{background:var(--light-primary-soft);border-color:var(--light-primary)}body[data-theme=light] .court-card .skill-picker-btn,body[data-theme=light] .court-card .event-btn,body[data-theme=light] .court-card .libero-return-btn{color:#0f172a!important;background:#e2e8f0!important;border-color:#cbd5e1!important}body[data-theme=light] .court-card .skill-picker-btn:hover,body[data-theme=light] .court-card .event-btn:hover,body[data-theme=light] .court-card .libero-return-btn:hover{color:#1e3a8a!important;background:#dbeafe!important;border-color:#60a5fa!important}body[data-theme=light] .court-card .event-btn.code-positive{color:#14532d!important;background:#dcfce7!important;border-color:#86efac!important}body[data-theme=light] .court-card .event-btn.code-neutral{color:#713f12!important;background:#fef3c7!important;border-color:#fcd34d!important}body[data-theme=light] .court-card .event-btn.code-negative{color:#7f1d1d!important;background:#fee2e2!important;border-color:#fca5a5!important}body[data-theme=light] .lineup-chip.selected,body[data-theme=light] .libero-tag.active{color:#1e3a8a;background:#dbeafe;border-color:#60a5fa}body[data-theme=light] .score-set-chip,body[data-theme=light] .badge{background:var(--light-surface-raised);border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .court-name.libero-flag,body[data-theme=light] .libero-flag{color:#1e3a8a;background:#dbeafe}body[data-theme=light] .events-log-summary,body[data-theme=light] .default-lineup-bench__title{color:var(--light-text-muted)}body[data-theme=light] .scout-widget-handle:hover,body[data-theme=light] .scout-widget-handle:focus-visible,body[data-theme=light] .scout-widget:hover>.scout-widget-handle{color:var(--light-text);background:#e2e8f0}body[data-theme=light] .metric-block:not([class*=skill-]),body[data-theme=light] .agg-subpanel[data-agg-tab=skill-charts],body[data-theme=light] .analysis-skill-charts-panel,body[data-theme=light] .video-filters-panel,body[data-theme=light] .analysis-filter,body[data-theme=light] .trajectory-filter{background:var(--light-surface-muted);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .metric-block.disabled{background:var(--light-surface-raised);border-color:var(--light-border)}body[data-theme=light] .metric-block.skill-pass{color:var(--light-text)}body[data-theme=light] .metric-toggle{background:var(--light-surface);border-color:var(--light-border);color:var(--light-text);box-shadow:none}body[data-theme=light] .metric-toggle:hover,body[data-theme=light] .metric-toggle.active{background:var(--light-primary);color:#fff;border-color:#1d4ed8}body[data-theme=light] .metric-toggle.toggle-on{color:#fff;background:#15803d}body[data-theme=light] .metric-toggle.toggle-off{color:#fff;background:#b91c1c}body[data-theme=light] .pill-remove{color:var(--light-text);background:#e2e8f0}body[data-theme=light] .agg-subtab-btn{background:var(--light-surface);border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .agg-subtab-btn.active,body[data-theme=light] .analysis-filter__row .primary.is-active{background:var(--light-primary);color:#fff;border-color:#1d4ed8}body[data-theme=light] .distribution-legend__volume{color:var(--light-text-muted)}body[data-theme=light] .base-modal-btn.player-role-libero{color:#115e59!important;background:#ccfbf1!important;border-color:#5eead4!important}body[data-theme=light] .set-trend-panel{--set-trend-plot-background:linear-gradient(to bottom, #bfdbfe 0%, #dbeafe 49.5%, #fee2e2 50.5%, #fecaca 100%);--set-trend-grid:#4755693d;--set-trend-axis:#64748b;--set-trend-zero:#ca8a04;--set-trend-label:#334155;--set-trend-positive:#15803d;--set-trend-neutral:#d97706;--set-trend-negative:#dc2626;--set-trend-guide:#2563eb;--set-trend-dot-ring:#fff;--set-trend-dot-active-ring:#0f172a}body[data-theme=light] .skill-chart-card,body[data-theme=light] .player-analysis-compare-card,body[data-theme=light] .player-analysis-compare-subsection,body[data-theme=light] .set-trend-card,body[data-theme=light] .set-trend-detail,body[data-theme=light] .set-trend-detail__card,body[data-theme=light] .set-trend-detail__events-wrap,body[data-theme=light] .set-trend-detail__event{background:var(--light-surface);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .skill-chart-card:hover{background:var(--light-surface);border-color:#93c5fd}body[data-theme=light] .set-trend-card{border-color:#bfdbfe;box-shadow:0 8px 20px #2563eb14}body[data-theme=light] .set-trend-card__score{color:#334155}body[data-theme=light] .skill-chart-copy-btn{background:var(--light-surface-raised);border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .trajectory-card__empty{color:var(--light-text-muted);background:#f8fafce6}body[data-theme=light] .attack-analysis-type-table td.is-better,body[data-theme=light] .player-analysis-compare-value.is-better,body[data-theme=light] .player-analysis-compare-subsection .agg-table td.player-analysis-compare-value.is-better{color:#15803d!important}body[data-theme=light] .attack-analysis-type-table td.is-worse,body[data-theme=light] .player-analysis-compare-value.is-worse,body[data-theme=light] .player-analysis-compare-subsection .agg-table td.player-analysis-compare-value.is-worse{color:#b91c1c!important}body[data-theme=light] .set-trend-card__tooltip,body[data-theme=light] .play-by-play-tooltip{border-color:var(--light-border);color:var(--light-text);background:#fffffffa;box-shadow:0 16px 32px #0f172a29}body[data-theme=light] .play-by-play-tooltip th,body[data-theme=light] .play-by-play-tooltip td{border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .set-trend-detail__score,body[data-theme=light] .set-trend-detail__card-label,body[data-theme=light] .set-trend-detail__events-title,body[data-theme=light] .set-trend-detail__event-reason,body[data-theme=light] .set-trend-detail__event.empty{color:var(--light-text-muted)}body[data-theme=light] .set-trend-detail__event-skill{color:#1d4ed8}body[data-theme=light] .set-trend-detail__event-score{background:var(--light-primary-soft);color:#1e3a8a;border-color:#93c5fd}body[data-theme=light] .play-by-play-row:hover{background:#eff6ff}body[data-theme=light] .play-by-play-row.is-positive .final,body[data-theme=light] .play-by-play-row.is-positive .winner,body[data-theme=light] .play-by-play-summary .positive strong{color:#15803d}body[data-theme=light] .play-by-play-row.is-negative .final,body[data-theme=light] .play-by-play-row.is-negative .winner,body[data-theme=light] .play-by-play-summary .negative strong{color:#b91c1c}body[data-theme=light] .play-by-play-token.is-positive{background:#dcfce7;border-color:#86efac}body[data-theme=light] .play-by-play-token.is-neutral{background:#fef3c7;border-color:#fcd34d}body[data-theme=light] .play-by-play-token.is-negative,body[data-theme=light] .play-by-play-token.is-error{background:#fee2e2;border-color:#fca5a5}body[data-theme=light] .play-by-play-token.is-ace{background:#dbeafe;border-color:#93c5fd}body[data-theme=light] .play-by-play-token__idx{color:#64748b}body[data-theme=light] .match-sheet-filter,body[data-theme=light] .match-sheet-player__head,body[data-theme=light] .match-sheet-notes textarea{background:var(--light-surface-muted);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .match-sheet-section h3,body[data-theme=light] .match-sheet-note-line{border-color:var(--light-border-soft)}body[data-theme=light] .match-sheet-player-row-labels span,body[data-theme=light] .match-sheet-notes label{color:var(--light-text-muted)}body[data-theme=light] .match-sheet-player.is-starter{background:#eff6ff}body[data-theme=light] .settings-modal__content,body[data-theme=light] .skill-modal__content,body[data-theme=light] .team-modal__dialog{background:var(--light-surface);border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .skill-modal__head{background:var(--light-surface);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .skill-modal__close-abs{background:var(--light-surface-raised);border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .attack-trajectory-info,body[data-theme=light] .set-type-shortcuts,body[data-theme=light] .camp3-confirm-section{background:var(--light-surface-muted);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .serve-type-buttons button,body[data-theme=light] .set-type-btn,body[data-theme=light] .modal-skill-btn{background:var(--light-surface-raised);border-color:var(--light-border);color:var(--light-text)}body[data-theme=light] .serve-type-buttons button.active,body[data-theme=light] .set-type-btn.active{background:var(--light-primary);color:#fff;border-color:#1d4ed8}body[data-theme=light] .teams-manager-list,body[data-theme=light] .team-manager-default{background:var(--light-surface-muted);border-color:var(--light-border-soft)}body[data-theme=light] #team-meta-name:disabled{color:#475569;background:#e5e7eb}body[data-theme=light] .team-manager-table th,body[data-theme=light] .team-manager-table td{border-color:var(--light-border-soft)}body[data-theme=light] .video-analysis .video-table-wrapper{background:var(--light-surface);border-color:var(--light-border);box-shadow:inset 0 1px #0f172a0a}body[data-theme=light] #video-skills-container,body[data-theme=light] .video-skills-table{background:var(--light-surface);color:var(--light-text)}body[data-theme=light] .video-skills-table th{border-color:var(--light-border);color:var(--light-text);background:#e2e8f0}body[data-theme=light] .video-skills-table td{border-color:var(--light-border-soft);color:var(--light-text);background:0 0}body[data-theme=light] .video-skills-table tbody tr{background:var(--light-surface)}body[data-theme=light] .video-skills-table tbody tr:nth-child(odd){background:var(--light-surface-muted)}body[data-theme=light] .video-skills-table tbody tr:hover,body[data-theme=light] .video-skills-table th.video-sortable-header:hover{background:#eff6ff}body[data-theme=light] .video-skills-table .event-row.selected,body[data-theme=light] .video-skills-table .event-row.selected td{color:var(--light-text);background:#dbeafe}body[data-theme=light] .video-filter-presets-panel,body[data-theme=light] .video-filter-preset-card,body[data-theme=light] .agg-skill-summary-card{background:var(--light-surface-muted);border-color:var(--light-border-soft);color:var(--light-text)}body[data-theme=light] .video-filter-preset-delete{color:#991b1b;background:#fee2e2;border-color:#fca5a5}body[data-theme=light] .video-filter-preset-delete:hover{color:#7f1d1d;background:#fecaca;border-color:#ef4444}body[data-theme=light] .formation-starter-cell,body[data-theme=light] .agg-skill-codes th{background:var(--light-surface-raised);color:var(--light-text-muted)}body[data-theme=light] :where(button,a,input,select,textarea):focus-visible{outline-offset:2px;outline:3px solid #2563eb61}:is(.skill-serve,.badge-serve){--skill-ui-accent:#1b5e20;--skill-ui-on-accent:#d1fae5;--skill-ui-surface:#1b5e202e;--skill-ui-on-surface:var(--text-color,#f5f5f5);--skill-ui-border:#22c55e;--skill-ui-table-surface:#22c55e38}:is(.skill-pass,.badge-pass){--skill-ui-accent:#f9a825;--skill-ui-on-accent:#fff;--skill-ui-surface:#f9a8252e;--skill-ui-on-surface:var(--text-color,#f5f5f5);--skill-ui-border:#f9a825;--skill-ui-table-surface:#f9a82538}:is(.skill-freeball,.badge-freeball){--skill-ui-accent:#c026d3;--skill-ui-on-accent:#fdf4ff;--skill-ui-surface:#c026d32e;--skill-ui-on-surface:var(--text-color,#f5f5f5);--skill-ui-border:#c026d3;--skill-ui-table-surface:#c026d338}:is(.skill-attack,.badge-attack){--skill-ui-accent:#b71c1c;--skill-ui-on-accent:#ffe4e6;--skill-ui-surface:#b71c1c2e;--skill-ui-on-surface:var(--text-color,#f5f5f5);--skill-ui-border:#ef4444;--skill-ui-table-surface:#ef444438}:is(.skill-defense,.badge-defense){--skill-ui-accent:#546e7a;--skill-ui-on-accent:#e2e8f0;--skill-ui-surface:#546e7a2e;--skill-ui-on-surface:var(--text-color,#f5f5f5);--skill-ui-border:#60a5fa;--skill-ui-table-surface:#60a5fa33}:is(.skill-block,.badge-block){--skill-ui-accent:#4a148c;--skill-ui-on-accent:#ede9fe;--skill-ui-surface:#4a148c2e;--skill-ui-on-surface:var(--text-color,#f5f5f5);--skill-ui-border:#8b5cf6;--skill-ui-table-surface:#a78bfa38}:is(.skill-second,.badge-second){--skill-ui-accent:#00838f;--skill-ui-on-accent:#ccfbf1;--skill-ui-surface:#00838f2e;--skill-ui-on-surface:var(--text-color,#f5f5f5);--skill-ui-border:#06b6d4;--skill-ui-table-surface:#22d3ee38}body[data-theme=light] :is(.skill-serve,.badge-serve){--skill-ui-accent:#1b5e20;--skill-ui-on-accent:#fff;--skill-ui-table-surface:var(--skill-ui-surface);--skill-ui-surface:#dcfce7;--skill-ui-on-surface:#14532d;--skill-ui-border:#4ade80}body[data-theme=light] :is(.skill-pass,.badge-pass){--skill-ui-accent:#f9a825;--skill-ui-on-accent:#0f172a;--skill-ui-table-surface:var(--skill-ui-surface);--skill-ui-surface:#fef3c7;--skill-ui-on-surface:#713f12;--skill-ui-border:#f59e0b}body[data-theme=light] :is(.skill-freeball,.badge-freeball){--skill-ui-accent:#a21caf;--skill-ui-on-accent:#fff;--skill-ui-table-surface:var(--skill-ui-surface);--skill-ui-surface:#fae8ff;--skill-ui-on-surface:#701a75;--skill-ui-border:#d946ef}body[data-theme=light] :is(.skill-attack,.badge-attack){--skill-ui-accent:#b71c1c;--skill-ui-on-accent:#fff;--skill-ui-table-surface:var(--skill-ui-surface);--skill-ui-surface:#fee2e2;--skill-ui-on-surface:#7f1d1d;--skill-ui-border:#ef4444}body[data-theme=light] :is(.skill-defense,.badge-defense){--skill-ui-accent:#475569;--skill-ui-on-accent:#fff;--skill-ui-table-surface:var(--skill-ui-surface);--skill-ui-surface:#e0f2fe;--skill-ui-on-surface:#0c4a6e;--skill-ui-border:#38bdf8}body[data-theme=light] :is(.skill-block,.badge-block){--skill-ui-accent:#5b21b6;--skill-ui-on-accent:#fff;--skill-ui-table-surface:var(--skill-ui-surface);--skill-ui-surface:#ede9fe;--skill-ui-on-surface:#4c1d95;--skill-ui-border:#8b5cf6}body[data-theme=light] :is(.skill-second,.badge-second){--skill-ui-accent:#0f766e;--skill-ui-on-accent:#fff;--skill-ui-table-surface:var(--skill-ui-surface);--skill-ui-surface:#ccfbf1;--skill-ui-on-surface:#115e59;--skill-ui-border:#14b8a6}:is(.skill-title,.skill-picker-btn,.badge)[class*=skill-],.badge[class*=badge-]{background:var(--skill-ui-accent)!important;border-color:var(--skill-ui-border)!important;color:var(--skill-ui-on-accent)!important}.metric-block[class*=skill-],.skill-col[class*=skill-]{background-color:var(--skill-ui-surface)!important;color:var(--skill-ui-on-surface)!important}.agg-table td.skill-col[class*=skill-]{background-color:var(--skill-ui-table-surface)!important;color:var(--skill-ui-table-text,#fff)!important}.agg-table th.skill-col[class*=skill-]{color:var(--skill-ui-table-text,#fff)!important}body[data-theme=light] .agg-table{--skill-ui-table-text:var(--light-text)}.metric-block[class*=skill-]{box-shadow:var(--skill-ui-card-shadow,none);border-color:var(--skill-ui-card-border,#2a2a2a)!important}body[data-theme=light] .metric-block[class*=skill-]{--skill-ui-card-border:var(--skill-ui-border);--skill-ui-card-shadow:inset 4px 0 0 var(--skill-ui-accent)}.metric-block[class*=skill-].disabled{filter:saturate(.55)}.opponent-skill-toggles label[class*=skill-]{border:1px solid var(--skill-ui-border);background:var(--skill-ui-surface);color:var(--skill-ui-on-surface);border-radius:.55rem;margin-top:0;padding:.35rem .55rem}:is(.skill-title,.skill-picker-btn,.badge)[class*=skill-]:hover,.badge[class*=badge-]:hover{filter:brightness(1.08)}[data-modal-frame]:not(.court-modal){height:100dvh;max-height:100%;padding:.35rem;overflow:hidden}[data-modal-frame]>[data-modal-content]{overscroll-behavior:contain;flex-direction:column;min-width:0;max-width:100%;min-height:0;max-height:100%;display:flex;overflow:auto}[data-modal-content]>:is(.skill-modal__head,.settings-modal__head,.team-modal__head){overflow-wrap:anywhere;flex:none;min-width:0}[data-modal-content]>:is(.skill-modal__body,.settings-modal__body,.team-modal__content,.lineup-modal__body){flex:auto;min-width:0;min-height:0;max-height:none;overflow:auto}[data-modal-content].attack-trajectory-content{overflow:hidden}body.desktop-court-modal .court-modal .attack-trajectory-content{display:flex}.attack-trajectory-actions>#attack-trajectory-close-btn{flex:none}@media (max-width:900px){[data-modal-frame]:not(.court-modal)>.attack-trajectory-content{width:100%;height:100%}}body.force-mobile [data-modal-frame]:not(.court-modal)>.attack-trajectory-content{border-radius:0;width:100%;height:100%}@media print{.match-sheet-controls{display:none!important}@page{size:A4 landscape;margin:10mm}body{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;padding:.4rem;font-size:11px;color:#0f172a!important;background:#fff!important}.tabs-nav,.tabs-dots,.floating-actions-modal,.skill-modal,.skill-modal,.controls-row,button,select,input,textarea{display:none!important}.tab-panel{padding-top:0;display:none!important}.tab-panel[data-tab=aggregated]{display:block!important}.section{color:#0f172a!important;box-shadow:none!important;background:#fff!important;border-color:#d6d6d6!important}.score-card{color:#0f172a!important;box-shadow:none!important;background:#fff!important;border-color:#dfe3eb!important}.agg-table{table-layout:fixed;width:100%}.agg-table th,.agg-table td{word-break:break-word;white-space:normal;font-size:10px;padding:3px 4px!important}.table-wrapper,.score-summary,.agg-subpanel.active,.trajectory-layout,.serve-trajectory-layout,.trajectory-grid,.serve-trajectory-grid{break-inside:avoid;page-break-inside:avoid}body[data-agg-tab=trajectory],body[data-agg-tab=second],body[data-agg-tab=video]{zoom:.9}body[data-agg-tab=serve]{zoom:.7}body[data-agg-tab=match-sheet]{zoom:1;padding:0}.agg-subpanel[data-agg-tab=trajectory],.agg-subpanel[data-agg-tab=serve],.agg-subpanel[data-agg-tab=second],.agg-subpanel[data-agg-tab=video],.agg-subpanel[data-agg-tab=match-sheet]{width:auto;height:auto;font-size:10px;transform:none}.agg-subpanel[data-agg-tab=match-sheet]{break-inside:avoid;page-break-inside:avoid}.match-sheet-panel{overflow:visible}.match-sheet-page{border-radius:0;width:277mm;min-height:190mm;max-height:190mm;padding:4mm;box-shadow:none!important;border:0!important}.match-sheet-header{padding-bottom:2mm}.match-sheet-section{margin-top:2.2mm}.match-sheet-section--with-label{grid-template-columns:6mm minmax(0,1fr);gap:1.4mm}.match-sheet-section h3{margin-bottom:1.2mm;font-size:7pt}.match-sheet-section--with-label>h3{margin:0;padding:1mm 0;font-size:6pt}.match-sheet-player-grid{gap:1.2mm}.match-sheet-player-matrix{grid-template-columns:5mm minmax(0,1fr);gap:1.2mm}.match-sheet-player-row-labels{grid-template-rows:5mm 1fr 1fr}.match-sheet-player-row-labels span{font-size:5pt}.match-sheet-player__head{min-height:5mm;padding:.8mm 1mm;font-size:5.5pt}.match-sheet-court{padding:.6mm .8mm .7mm}.match-sheet-court__title{font-size:5pt}.match-sheet-court-grid{gap:1.4mm}.match-sheet-notes{grid-template-columns:24mm 1fr;gap:1.4mm;margin-top:1mm}.match-sheet-notes textarea{display:none!important}.match-sheet-court .match-sheet-notes{margin-top:.6mm}.match-sheet-notes-print{display:block}.match-sheet-notes label{font-size:5.5pt}.match-sheet-note-line{min-height:4mm;font-size:5.5pt;line-height:4mm}.agg-subpanel[data-agg-tab=trajectory] .trajectory-grid,.agg-subpanel[data-agg-tab=serve] .trajectory-grid,.agg-subpanel[data-agg-tab=serve] .serve-trajectory-grid,.agg-subpanel[data-agg-tab=second] .second-layout,.agg-subpanel[data-agg-tab=video] .video-analysis__grid{gap:.3rem}.agg-subpanel[data-agg-tab=trajectory] .trajectory-card,.agg-subpanel[data-agg-tab=serve] .trajectory-card{min-height:90px}}#paste-players-modal{z-index:3100!important}#paste-players-modal .settings-modal__content{z-index:1;width:min(680px,100% - 1.5rem);max-height:min(92vh,820px)}#paste-players-modal #players-input{min-height:260px}#match-sheet-print-root{width:277mm;height:189mm;margin:0;padding:0;display:block;position:fixed;top:0;left:-10000px}#match-sheet-print-root .match-sheet-page{box-sizing:border-box;transform-origin:0 0;position:absolute;top:0;left:0;zoom:1!important;width:277mm!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;overflow:visible!important}#match-sheet-print-root .match-sheet-notes textarea{display:none!important}#match-sheet-print-root .match-sheet-notes-print{display:block}@media print{body.printing-match-sheet{zoom:1!important;margin:0!important;padding:0!important}body.printing-match-sheet:before,body.printing-match-sheet:after,body.printing-match-sheet>:not(#match-sheet-print-root){display:none!important}body.printing-match-sheet>#match-sheet-print-root{break-inside:avoid;width:277mm;height:189mm;margin:0;padding:0;position:relative;top:0;left:0;display:block!important}#match-sheet-print-root .match-sheet-page{box-sizing:border-box;width:277mm;min-width:0;height:auto;min-height:0;max-height:none;margin:0;color:#111827!important;background:#fff!important}#match-sheet-print-root .match-sheet-court-grid--sideout:has(>:nth-child(7)){grid-template-columns:repeat(7,minmax(0,1fr))}}#match-sheet-print-root .match-sheet-page{padding:2mm;display:block}#match-sheet-print-root .match-sheet-section{align-content:start;min-width:0;margin-top:2mm}#match-sheet-print-root .match-sheet-court .match-sheet-notes{display:block}#match-sheet-print-root .match-sheet-court .match-sheet-notes label{display:none}#match-sheet-print-root .match-sheet-note-line{min-height:3mm;line-height:3mm}#root{display:contents}.startup-error{z-index:100000;color:#fff;background:#991b1b;border-radius:.5rem;padding:1rem;position:fixed;inset:1rem 1rem auto}.match-note-composer{gap:.5rem;margin:.75rem 0;display:grid}.match-note-composer textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit}.match-note-dialog{color:#f8fafc;background:#1e293b;border:1px solid #64748b;border-radius:.75rem;width:min(30rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1.25rem;overflow-y:auto}.match-note-dialog::backdrop{background:#0009}body[data-theme=light] .match-note-dialog{color:#0f172a;background:#fff}.match-note-dialog__actions{justify-content:flex-end;gap:.5rem;display:flex}body button.match-note-add{color:#fff;background:#2563eb;border-color:#1d4ed8}body button.match-note-add:hover{background:#1d4ed8}body button.match-note-add:disabled{opacity:.5}.match-note{border-inline-start:3px solid var(--accent,#d79b32);white-space:normal;max-width:36rem;margin:.5rem 0;padding:.65rem .8rem}.match-note--resolved{border-inline-start-color:var(--muted,#888)}.match-note__context,.match-note__actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.match-note__context{font-size:.85rem}.match-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0}.match-note__actions label{align-items:center;gap:.3rem;display:inline-flex}.match-note-dialog--wide{width:min(38rem,100vw - 2rem)}.match-note-dialog__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.match-note-dialog__head h3{margin:0}.match-note-row>td{padding:0!important}body button.match-note-marker{color:#bfdbfe;text-align:left;background:#172f54;border:0;border-radius:0;align-items:center;gap:.5rem;width:100%;max-width:38rem;min-height:1.9rem;margin:0;padding:.3rem .6rem;font-size:.8rem;line-height:1.3;display:flex}body button.match-note-marker:hover{background:#1e4070}.match-note-marker svg,.match-note-marker__context{flex-shrink:0}.match-note-marker__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}body[data-theme=light] button.match-note-marker{color:#1e40af;background:#dbeafe}body[data-theme=light] button.match-note-marker:hover{background:#bfdbfe}.match-note-marker--resolved{opacity:.65}.video-notes-button{white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.match-notes-counter{color:#f8fafc;background:#334155;border-radius:1rem;min-width:1.3rem;padding:.05rem .3rem;font-size:.8em}.match-notes-counter--pending{color:#fff;background:#2563eb}.match-notes-filter{align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}
