.court-container{display:flex;flex-direction:column;gap:1.5rem}.court-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:1rem 1.25rem}.rotation-controls{display:flex;align-items:center;gap:.75rem}.rotation-indicator{font-family:var(--font-jersey);font-size:1.35rem;font-weight:700;color:var(--accent-orange);background:#ff6b3526;border:1px solid rgba(255,107,53,.4);padding:.35rem .9rem;border-radius:var(--radius-sm);letter-spacing:.5px}.rally-advance-btn{display:flex;align-items:center;gap:.45rem;font-weight:800;letter-spacing:.3px;transition:all .2s ease}.rally-advance-btn:hover{transform:translateY(-2px)}.subs-status-pill{display:flex;align-items:center;gap:.5rem;background:#0f172ad9;border:1px solid rgba(255,107,53,.4);padding:.4rem .85rem;border-radius:99px;font-size:.85rem;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.subs-status-pill:hover{background:#1e293bf2;border-color:var(--accent-orange);transform:translateY(-1px)}.court-stage-wrapper{background:#0b1120;border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md);display:flex;justify-content:center;position:relative;overflow:hidden}.volleyball-court{width:100%;max-width:720px;background:linear-gradient(180deg,#1e3a8a,#172554);border:4px solid #ffffff;border-radius:var(--radius-md);aspect-ratio:16 / 11;position:relative;display:flex;flex-direction:column;box-shadow:0 15px 35px #0009,inset 0 0 40px #0006;-webkit-user-select:none;user-select:none}.court-net-line{position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#fff,#fff 10px,#000 10px,#000 20px);box-shadow:0 4px 12px #fff6;z-index:10}.court-net-label{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#000c;color:#93c5fd;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:.15rem .55rem;border-radius:99px;border:1px solid rgba(147,197,253,.3);z-index:11}.court-row-label{position:absolute;left:12px;font-size:.62rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;z-index:8;opacity:.85}.front-row-label{top:12px;color:#fbbf24}.back-row-label{top:calc(48% + 6px);color:#a78bfa}.court-attack-line{position:absolute;top:48%;left:0;right:0;height:2px;background:#ffffffbf;border-top:2px dashed rgba(255,255,255,.85);z-index:5}.attack-line-label{position:absolute;right:12px;top:-16px;font-size:.65rem;font-weight:800;color:#ffffffbf;letter-spacing:.5px;background:#00000080;padding:.1rem .4rem;border-radius:4px}.court-zones-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1.15fr;width:100%;height:100%;padding:1.8rem .85rem .85rem;gap:.65rem;z-index:15}.court-zone-slot{display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#0f172aa6;border:2px dashed rgba(255,255,255,.25);border-radius:var(--radius-md);padding:.45rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}.court-zone-slot.zone-front-row{border-color:#f59e0b59;background:#0f172abf}.court-zone-slot.zone-back-row{border-color:#8b5cf659;background:#0f172abf}.court-zone-slot:hover{background:#1e293be6;border-color:var(--accent-orange);transform:scale(1.02);box-shadow:0 8px 20px #00000080}.court-zone-slot.filled{border:2px solid rgba(255,107,53,.6);box-shadow:0 4px 12px #0006}.court-zone-slot.zone-front-row.filled{border-color:#f59e0bb3}.court-zone-slot.zone-back-row.filled{border-color:#8b5cf6b3}.court-zone-slot.is-server{border-color:#38bdf8!important;box-shadow:0 0 16px #38bdf873!important}.zone-number-badge{font-family:var(--font-jersey);font-size:.85rem;font-weight:800;color:#ffffffbf}.badge-row-front{font-size:.58rem;font-weight:800;text-transform:uppercase;background:#f59e0b40;color:#fbbf24;border:1px solid rgba(245,158,11,.5);padding:.05rem .3rem;border-radius:3px;letter-spacing:.5px}.badge-row-back{font-size:.58rem;font-weight:800;text-transform:uppercase;background:#8b5cf640;color:#c4b5fd;border:1px solid rgba(139,92,246,.5);padding:.05rem .3rem;border-radius:3px;letter-spacing:.5px}.server-badge{font-size:.58rem;font-weight:800;text-transform:uppercase;background:#38bdf8;color:#020617;padding:.05rem .35rem;border-radius:3px;letter-spacing:.5px}.slot-player-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;width:100%}.slot-jersey-num{font-family:var(--font-jersey);font-size:1.65rem;font-weight:900;line-height:1;color:#fff;background:linear-gradient(135deg,var(--accent-orange),#ea580c);padding:.15rem .55rem;border-radius:var(--radius-sm);box-shadow:0 2px 8px #0006}.slot-jersey-num.libero{background:linear-gradient(135deg,#a855f7,#6d28d9)}.slot-player-name{font-size:.82rem;font-weight:700;color:#fff;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}.slot-player-pos{font-size:.65rem;font-weight:700;color:#94a3b8;text-transform:uppercase}.libero-covering-tag{font-size:.62rem;color:#c4b5fd;background:#8b5cf633;border:1px solid rgba(139,92,246,.35);border-radius:4px;padding:.05rem .3rem;margin-top:.15rem;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-sub-btn{display:flex;align-items:center;gap:.2rem;font-size:.62rem;font-weight:700;color:var(--accent-orange);background:#ff6b3526;border:1px solid rgba(255,107,53,.3);padding:.1rem .4rem;border-radius:99px;margin-top:.25rem;opacity:.85;transition:all .15s ease}.court-zone-slot:hover .slot-sub-btn{opacity:1;background:var(--accent-orange);color:#fff}.slot-empty-label{font-size:.75rem;font-weight:600;color:#fff6}.court-bench-section{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:1.25rem}.court-bench-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin-bottom:.85rem;color:#fff;display:flex;align-items:center;gap:.5rem}.bench-player-chips{display:flex;flex-wrap:wrap;gap:.6rem}.bench-chip{display:flex;align-items:center;gap:.5rem;background:#1e293bcc;border:1px solid var(--border-glass);padding:.4rem .8rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.bench-chip:hover{background:#334155e6;border-color:var(--accent-orange);transform:translateY(-2px)}.bench-chip-num{font-family:var(--font-jersey);font-size:1.1rem;font-weight:800;color:var(--accent-orange)}.bench-chip-num.libero-num{color:#c084fc}.bench-chip-name{font-size:.85rem;font-weight:600;color:#fff}.bench-chip-pos{font-size:.7rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.sub-player-row{display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.sub-player-row.is-legal:hover{background:#334155d9!important;border-color:var(--accent-orange)!important;transform:translate(4px)}.libero-return-card:hover{transform:scale(1.01);box-shadow:0 8px 20px #10b9814d}.server-choice-card.is-available:hover{transform:scale(1.015);box-shadow:0 8px 25px #38bdf840;border-color:#38bdf8!important}.reentry-choice-card:hover{transform:scale(1.015);box-shadow:0 8px 25px #a855f740;border-color:#c084fc!important}@media(max-width:640px){.court-zones-grid{gap:.4rem;padding:1.4rem .4rem .4rem}.slot-jersey-num{font-size:1.3rem;padding:.1rem .4rem}.slot-player-name{font-size:.75rem;max-width:80px}.slot-sub-btn{display:none}}.formations-view-container{display:flex;flex-direction:column;gap:1.25rem}.formations-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:1rem 1.25rem}.formations-rotation-bar{display:flex;align-items:center;gap:.75rem}.rotation-pill-group{display:flex;background:#0f172acc;border:1px solid var(--border-glass);border-radius:var(--radius-sm);padding:.2rem;gap:.25rem}.rot-select-pill{font-family:var(--font-jersey);font-size:1.05rem;font-weight:700;padding:.35rem .85rem;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.rot-select-pill:hover{color:#fff;background:#ffffff14}.rot-select-pill.active{background:linear-gradient(135deg,var(--accent-orange),#ea580c);color:#fff;box-shadow:0 2px 10px #ff6b3566}.phase-toggle-group{display:flex;background:#0f172ad9;border:1px solid var(--border-glass);border-radius:99px;padding:.25rem;gap:.35rem}.phase-btn{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;padding:.4rem .95rem;border-radius:99px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.phase-btn:hover{color:#fff}.phase-btn.active-receive{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 12px #3b82f666}.phase-btn.active-serve{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b98166}.formations-grid-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:flex-start}.formation-canvas-wrapper{background:#080d1a;border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center}.hardwood-volleyball-floor{width:100%;max-width:580px;aspect-ratio:1 / 1.12;position:relative;background:radial-gradient(ellipse at 50% 30%,#ffffff14,#0006),repeating-linear-gradient(90deg,#c48b4e,#c48b4e 24px,#be8447 24px,#be8447 48px,#b87d40 48px,#b87d40 72px,#c99153 72px,#c99153 96px);border:4px solid #ffffff;border-radius:var(--radius-md);box-shadow:0 15px 40px #000c,inset 0 0 60px #00000073;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.hardwood-sheen{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1f,#fff0,#00000040);pointer-events:none;z-index:2}.hardwood-net-line{position:absolute;top:0;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,#fff,#fff 12px,#111827 12px,#111827 24px);box-shadow:0 4px 15px #ffffff80;z-index:10}.hardwood-net-label{position:absolute;top:14px;left:50%;transform:translate(-50%);background:#000000d9;color:#93c5fd;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:.15rem .6rem;border-radius:99px;border:1px solid rgba(147,197,253,.4);z-index:12}.net-antenna{position:absolute;top:-4px;width:4px;height:20px;background:repeating-linear-gradient(180deg,#ef4444,#ef4444 4px,#fff 4px,#fff 8px);z-index:15;box-shadow:0 0 6px #ef4444cc}.antenna-left{left:4px}.antenna-right{right:4px}.hardwood-attack-line{position:absolute;top:33.33%;left:0;right:0;height:3px;background:#ffffffd9;border-top:2px dashed rgba(255,255,255,.9);z-index:4}.hardwood-attack-label{position:absolute;right:10px;top:-16px;font-size:.62rem;font-weight:800;color:#fffc;letter-spacing:.5px;background:#0000008c;padding:.1rem .35rem;border-radius:3px}.hardwood-zone-guide{position:absolute;font-family:var(--font-jersey);font-size:2.2rem;font-weight:900;color:#ffffff1f;pointer-events:none;z-index:3}.zone-4{top:10%;left:14%}.zone-3{top:10%;left:47%}.zone-2{top:10%;left:80%}.zone-5{top:60%;left:14%}.zone-6{top:60%;left:47%}.zone-1{top:60%;left:80%}.tactical-arrows-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:8}.tactical-player-token{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;cursor:grab;-webkit-user-select:none;user-select:none;z-index:20;transition:transform .05s ease}.tactical-player-token:active,.tactical-player-token.is-dragging{cursor:grabbing;z-index:40;transform:translate(-50%,-50%) scale(1.15)}.token-circle{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--accent-orange),#ea580c);border:2.5px solid #ffffff;box-shadow:0 6px 16px #0009;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;position:relative;transition:all .2s ease}.tactical-player-token.is-setter .token-circle{background:linear-gradient(135deg,#0284c7,#0369a1);border-color:#38bdf8;box-shadow:0 6px 20px #0284c799}.tactical-player-token.is-libero .token-circle{background:linear-gradient(135deg,#7c3aed,#4c1d95);border-color:#f59e0b;box-shadow:0 6px 20px #7c3aed99}.tactical-player-token.is-dragging .token-circle{box-shadow:0 12px 28px #000c,0 0 20px var(--accent-orange)}.token-role{font-family:var(--font-display);font-size:.75rem;font-weight:900;line-height:1;letter-spacing:-.3px}.token-number{font-family:var(--font-jersey);font-size:.85rem;font-weight:800;line-height:1;opacity:.95}.token-name-pill{margin-top:3px;font-size:.68rem;font-weight:800;color:#fff;background:#000000d9;padding:.08rem .4rem;border-radius:99px;border:1px solid rgba(255,255,255,.25);white-space:nowrap;box-shadow:0 2px 6px #0006}.token-sub-badge{position:absolute;top:-4px;right:-4px;font-size:.55rem;font-weight:900;background:#0f172a;color:#38bdf8;border:1px solid #38bdf8;border-radius:99px;padding:.05rem .25rem}.canvas-footnote{margin-top:.75rem;font-size:.76rem;color:var(--text-secondary);text-align:center}.tactics-column{display:flex;flex-direction:column;gap:1rem}.guide-overview-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:1.15rem}.guide-overlap-callout{background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-md);padding:.85rem 1rem}.tactics-roles-grid{display:flex;flex-direction:column;gap:.6rem}.tactic-role-card{background:#0f172abf;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:.75rem .95rem;display:flex;align-items:flex-start;gap:.75rem;transition:all .2s ease}.tactic-role-card:hover{background:#1e293bd9;border-color:#ff6b354d}.tactic-role-badge{font-family:var(--font-display);font-size:.72rem;font-weight:900;padding:.2rem .5rem;border-radius:6px;background:#ff6b3526;color:var(--accent-orange);border:1px solid rgba(255,107,53,.4);white-space:nowrap;flex-shrink:0}.tactic-role-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.4}@media(max-width:900px){.formations-grid-layout{grid-template-columns:1fr}}.animation-player-card{background:linear-gradient(135deg,#0f172af2,#1e293be6);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;margin-bottom:1rem;box-shadow:0 10px 25px -5px #00000080,inset 0 1px #ffffff1a;display:flex;flex-direction:column;gap:.9rem}.animation-player-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.anim-header-left{display:flex;align-items:center;gap:.75rem}.anim-icon-badge{background:#f59e0b2e;border:1px solid rgba(245,158,11,.4);padding:.45rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.anim-spin{animation:spin 3s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-header-title{font-family:var(--font-display);font-size:1rem;font-weight:800;color:#f8fafc;letter-spacing:-.01em}.anim-header-sub{font-size:.75rem;color:var(--text-secondary)}.anim-header-right{display:flex;align-items:center;gap:.6rem}.anim-speed-selector{display:flex;align-items:center;gap:.25rem;background:#0f172acc;border:1px solid var(--border-glass);border-radius:var(--radius-sm);padding:.2rem .4rem}.anim-speed-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.72rem;font-weight:700;padding:.2rem .4rem;border-radius:4px;cursor:pointer;transition:all .15s ease}.anim-speed-btn:hover{color:#fff}.anim-speed-btn.active{background:var(--accent-orange);color:#fff}.anim-loop-btn{display:flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:700;padding:.3rem .6rem;border-radius:var(--radius-sm);background:#0f172acc;border:1px solid var(--border-glass);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.anim-loop-btn.active{background:#10b98133;border-color:#10b981;color:#6ee7b7}.animation-transport-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.transport-buttons{display:flex;align-items:center;gap:.4rem}.btn-transport{background:#1e293bcc;border:1px solid rgba(255,255,255,.1);color:#f8fafc;width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.btn-transport:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40;color:#fff}.btn-transport:disabled{opacity:.4;cursor:not-allowed}.btn-transport-play{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #f59e0b;color:#fff;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #f59e0b66;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-transport-play:hover{transform:scale(1.06);box-shadow:0 6px 16px #f59e0b8c}.btn-transport-play.is-playing{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;box-shadow:0 4px 12px #ef444466}.timeline-stages-wrapper{flex:1;min-width:280px;position:relative;display:flex;flex-direction:column;justify-content:center}.timeline-progress-track{position:absolute;top:14px;left:20px;right:20px;height:4px;background:#ffffff1a;border-radius:2px;z-index:1}.timeline-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:2px;transition:width .35s ease;box-shadow:0 0 8px #f59e0b99}.timeline-stage-buttons{display:flex;justify-content:space-between;position:relative;z-index:2}.timeline-stage-btn{background:transparent;border:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;padding:0 .25rem}.stage-num-badge{width:28px;height:28px;border-radius:50%;background:#1e293b;border:2px solid rgba(255,255,255,.2);color:#94a3b8;font-family:var(--font-display);font-size:.76rem;font-weight:800;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.16,1,.3,1)}.stage-label-text{font-size:.68rem;font-weight:700;color:#64748b;white-space:nowrap;transition:color .2s ease}.timeline-stage-btn.is-active .stage-num-badge{background:#f59e0b;border-color:#fff;color:#fff;transform:scale(1.15);box-shadow:0 0 14px #f59e0bb3}.timeline-stage-btn.is-active .stage-label-text{color:#fbbf24;font-weight:800}.timeline-stage-btn.is-past .stage-num-badge{background:#10b981;border-color:#10b981;color:#fff}.timeline-stage-btn.is-past .stage-label-text{color:#6ee7b7}.animation-narrative-box{background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-left:3px solid #f59e0b;border-radius:var(--radius-md);padding:.75rem 1rem}.narrative-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.narrative-badge{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.4);font-size:.64rem;font-weight:900;padding:.15rem .4rem;border-radius:4px;letter-spacing:.04em}.narrative-title{font-size:.88rem;font-weight:800;color:#f8fafc}.narrative-desc{font-size:.8rem;color:#cbd5e1;line-height:1.45}.tactical-anim-ball-container{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:50}.ball-floor-shadow{position:absolute;width:24px;height:10px;background:radial-gradient(ellipse at center,#000c,#0000 70%);border-radius:50%;left:50%;top:14px;transform:translate(-50%);transition:transform .3s ease,opacity .3s ease}.ball-orb-3d{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#fef08a 40%,#eab308 85%,#ca8a04);box-shadow:0 4px 14px #eab308b3,inset -2px -2px 6px #0006;display:flex;align-items:center;justify-content:center;position:relative;animation:ballSpin 1.2s cubic-bezier(.4,0,.2,1) infinite}@keyframes ballSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ball-icon-emoji{font-size:1rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.hardwood-net-line.net-flash{box-shadow:0 0 20px 4px #f59e0bcc;border-bottom-color:#f59e0b}.token-action-pill{position:absolute;top:-24px;left:50%;transform:translate(-50%);background:#0f172aeb;border:1px solid rgba(255,255,255,.2);border-radius:99px;font-size:.62rem;font-weight:800;color:#f8fafc;padding:.12rem .45rem;white-space:nowrap;box-shadow:0 2px 8px #0009;pointer-events:none;animation:fadeIn .2s ease-out;z-index:10}.scoreboard-ribbon{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:linear-gradient(135deg,#0f172af2,#1e293bf2);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:.65rem 1.1rem;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-bottom:1rem;flex-wrap:wrap}.scoreboard-score-group{display:flex;align-items:center;gap:.9rem}.scoreboard-team-box{display:flex;align-items:center;gap:.55rem}.scoreboard-team-label{font-size:.8rem;font-weight:800;letter-spacing:.5px;color:var(--text-secondary);text-transform:uppercase}.scoreboard-digit{font-family:var(--font-jersey, monospace);font-size:2rem;font-weight:800;line-height:1;min-width:2.2rem;text-align:center;border-radius:var(--radius-sm);padding:.2rem .5rem}.scoreboard-digit.us{color:#10b981;background:#10b98126;border:1px solid rgba(16,185,129,.35)}.scoreboard-digit.opp{color:#f87171;background:#ef444426;border:1px solid rgba(239,68,68,.35)}.scoreboard-vs-divider{font-size:1.1rem;font-weight:900;color:var(--text-muted)}.scoreboard-set-badge{font-size:.75rem;font-weight:800;color:#f59e0b;background:#f59e0b26;border:1px solid rgba(245,158,11,.4);padding:.25rem .6rem;border-radius:99px;letter-spacing:.5px}.scoreboard-action-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn-score-add{display:flex;align-items:center;gap:.35rem;font-weight:800;font-size:.88rem;padding:.5rem .9rem;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;border:1px solid transparent}.btn-score-add.us{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.btn-score-add.us:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.btn-score-add.opp{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-score-add.opp:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444466}.point-modal-dialog{max-width:580px;width:95%;background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:0 20px 45px #0009}.point-flow-step-title{font-size:.9rem;font-weight:800;color:#f8fafc;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.player-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin-bottom:1.25rem}.btn-player-pick{display:flex;align-items:center;gap:.45rem;padding:.6rem .75rem;background:#1e293bd9;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:#f8fafc;cursor:pointer;transition:all .15s ease;font-size:.82rem;font-weight:600}.btn-player-pick:hover,.btn-player-pick.selected{background:#f59e0b33;border-color:#f59e0b;color:#fef3c7;transform:scale(1.02)}.error-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;margin-bottom:1.25rem}.btn-error-pick{display:flex;align-items:center;gap:.45rem;padding:.65rem .8rem;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#fca5a5;cursor:pointer;transition:all .15s ease;font-size:.8rem;font-weight:700;text-align:left}.btn-error-pick:hover{background:#ef444447;border-color:#f87171;color:#fff;transform:translateY(-2px)}.rally-outcome-dialog{max-width:620px;width:95%;background:linear-gradient(135deg,#0f172afa,#1e293bfa);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:1.35rem;box-shadow:0 24px 50px #000000b3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:1rem;max-height:90vh;overflow-y:auto}.rally-modal-header{display:flex;justify-content:space-between;align-items:center}.rally-phase-avatar{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rally-phase-avatar.receive{background:#10b9812e;border:1px solid rgba(16,185,129,.45)}.rally-phase-avatar.serve{background:#3b82f62e;border:1px solid rgba(59,130,246,.45)}.rally-rotation-badge{font-family:var(--font-jersey, monospace);font-size:.82rem;font-weight:800;color:#f59e0b;background:#f59e0b26;border:1px solid rgba(245,158,11,.4);padding:.15rem .5rem;border-radius:99px;letter-spacing:.4px}.rally-score-strip{display:flex;justify-content:space-between;align-items:center;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:.55rem .85rem;flex-wrap:wrap;gap:.5rem}.rally-outcome-card{border-radius:var(--radius-lg);padding:1.1rem;border:1px solid transparent;display:flex;flex-direction:column;transition:all .2s ease}.rally-outcome-card.win-us{background:linear-gradient(135deg,#10b9811a,#0f172ad9);border-color:#10b98166}.rally-outcome-card.loss-us{background:linear-gradient(135deg,#ef44441a,#0f172ad9);border-color:#ef444466}.rally-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem;flex-wrap:wrap;gap:.5rem}.rally-quick-btn{font-weight:800;display:flex;align-items:center;gap:.35rem;font-size:.82rem;padding:.45rem .75rem;border-radius:var(--radius-md)}.rally-quick-btn.us{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 3px 10px #10b98159}.rally-quick-btn.opp{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 3px 10px #ef444459;border:none}.rally-buttons-row{display:flex;flex-direction:column;gap:.5rem}.rally-chip-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;padding:.45rem .7rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.rally-chip-btn.win{background:#10b98126;border-color:#10b98159;color:#a7f3d0}.rally-chip-btn.win:hover{background:#10b9814d;color:#fff;transform:translateY(-1px)}.rally-chip-btn.win.player{background:#3b82f626;border-color:#3b82f666;color:#bfdbfe}.rally-chip-btn.win.player:hover{background:#3b82f64d;color:#fff;transform:translateY(-1px)}.rally-chip-btn.loss{background:#ef44441f;border-color:#ef444459;color:#fca5a5}.rally-chip-btn.loss:hover{background:#ef444447;color:#fff;transform:translateY(-1px)}.rally-chip-btn.loss.player{background:#f59e0b26;border-color:#f59e0b66;color:#fef08a}.rally-chip-btn.loss.player:hover{background:#f59e0b4d;color:#fff;transform:translateY(-1px)}.rally-modal-footer{display:flex;justify-content:center;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.stats-view-container{display:flex;flex-direction:column;gap:1.5rem}.stats-hero-banner{background:linear-gradient(135deg,#1e3a8a59,#0f172ad9);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.stats-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.stats-kpi-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.3rem}.stats-kpi-value{font-family:var(--font-jersey, monospace);font-size:1.8rem;font-weight:800;color:#f8fafc}.stats-kpi-label{font-size:.76rem;color:var(--text-secondary);text-transform:uppercase;font-weight:700;letter-spacing:.5px}.error-leaderboard-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:1.25rem}.leaderboard-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.leaderboard-item{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.leaderboard-rank{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ffffff1a;font-size:.75rem;font-weight:800;margin-right:.5rem}.leaderboard-progress-bg{width:100%;height:8px;background:#ffffff14;border-radius:99px;overflow:hidden}.leaderboard-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:99px;transition:width .4s ease}.stats-table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-glass)}.stats-table{width:100%;border-collapse:collapse;font-size:.84rem;text-align:left}.stats-table th{background:#0f172af2;color:var(--text-secondary);font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.5px;padding:.75rem .9rem;border-bottom:1px solid var(--border-glass)}.stats-table td{padding:.7rem .9rem;border-bottom:1px solid rgba(255,255,255,.05);color:#f8fafc}.stats-table tr:hover td{background:#ffffff08}.net-badge{font-family:var(--font-jersey, monospace);font-size:.9rem;font-weight:800;padding:.15rem .45rem;border-radius:var(--radius-sm)}.net-badge.positive{background:#10b98126;color:#34d399}.net-badge.negative{background:#ef444426;color:#f87171}.tactical-coaching-panel{background:linear-gradient(135deg,#0f172af2,#1e293bf2);border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-xl);padding:1.35rem;box-shadow:0 10px 30px #00000073;position:relative;overflow:hidden}.tactical-coaching-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f59e0b,#3b82f6,#10b981)}.tactical-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.tactical-brain-icon{width:42px;height:42px;border-radius:12px;background:#f59e0b26;border:1px solid rgba(245,158,11,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0}.badge-critical{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;color:#fca5a5;background:#ef444433;border:1px solid rgba(239,68,68,.5);padding:.25rem .55rem;border-radius:99px;letter-spacing:.4px}.badge-tactical{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;color:#93c5fd;background:#3b82f633;border:1px solid rgba(59,130,246,.5);padding:.25rem .55rem;border-radius:99px;letter-spacing:.4px}.suggestion-filter-row{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}.sug-filter-pill{font-family:var(--font-display);font-size:.78rem;font-weight:700;padding:.4rem .75rem;border-radius:99px;border:1px solid var(--border-glass);background:#0f172a99;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s ease}.sug-filter-pill.active{background:linear-gradient(135deg,#f59e0b4d,#d9770633);color:#fff;border-color:#f59e0b99;box-shadow:0 2px 10px #f59e0b33}.sug-filter-pill:hover:not(.active){color:#fff;background:#ffffff14}.suggestion-cards-list{display:flex;flex-direction:column;gap:.85rem}.tactical-sug-card{background:#0f172abf;border-radius:var(--radius-md);padding:1rem 1.15rem;border:1px solid rgba(255,255,255,.08);transition:transform .2s ease,border-color .2s ease;position:relative}.tactical-sug-card.critical{border-left:4px solid #ef4444;background:linear-gradient(135deg,#ef444414,#0f172ad9);border-top-color:#ef444440;border-right-color:#ef444426;border-bottom-color:#ef444426}.tactical-sug-card.tactical{border-left:4px solid #3b82f6;background:linear-gradient(135deg,#3b82f614,#0f172ad9);border-top-color:#3b82f640;border-right-color:#3b82f626;border-bottom-color:#3b82f626}.tactical-sug-card.positive{border-left:4px solid #10b981;background:linear-gradient(135deg,#10b98114,#0f172ad9);border-top-color:#10b98140;border-right-color:#10b98126;border-bottom-color:#10b98126}.tactical-sug-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem;flex-wrap:wrap;gap:.4rem}.sug-priority-badge{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .45rem;border-radius:4px}.sug-priority-badge.critical{background:#ef444440;color:#fca5a5;border:1px solid rgba(239,68,68,.5)}.sug-priority-badge.tactical{background:#3b82f640;color:#93c5fd;border:1px solid rgba(59,130,246,.5)}.sug-priority-badge.positive{background:#10b98140;color:#6ee7b7;border:1px solid rgba(16,185,129,.5)}.sug-category-label{font-size:.74rem;color:var(--text-secondary);font-weight:700}.sug-rule-ref{font-size:.72rem;color:#f59e0b;display:flex;align-items:center;gap:.25rem;font-weight:600}.tactical-sug-title{margin:0 0 .45rem;font-size:1rem;font-weight:800;color:#fff}.tactical-sug-evidence{font-size:.82rem;background:#00000040;border:1px solid rgba(255,255,255,.06);padding:.45rem .65rem;border-radius:var(--radius-sm);margin-bottom:.5rem;color:#f1f5f9}.tactical-sug-rec{font-size:.84rem;color:#e2e8f0;line-height:1.45}.rotations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.rotation-stat-card{background:#0f172acc;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}.rotation-stat-card.weak{border-color:#ef444466;background:linear-gradient(135deg,#ef444414,#0f172ad9)}.rotation-stat-card.strong{border-color:#10b98166;background:linear-gradient(135deg,#10b98114,#0f172ad9)}.historical-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.hist-comp-item{background:#0f172ab3;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.2rem}.hist-comp-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.hist-comp-value{font-family:var(--font-jersey, monospace);font-size:1.65rem;font-weight:800;color:#f8fafc}.hist-comp-sub{font-size:.7rem;color:var(--text-muted)}@media(max-width:640px){.scoreboard-ribbon{flex-direction:column;align-items:stretch;gap:.65rem;padding:.65rem .85rem}.scoreboard-score-group{justify-content:center;width:100%;gap:.75rem}.scoreboard-digit{font-size:1.75rem;min-width:2rem}.scoreboard-action-group{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;width:100%}.scoreboard-action-group .btn{width:100%;justify-content:center;font-size:.75rem;padding:.45rem .4rem}.stats-hero-banner{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.stats-kpi-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.stats-actions-bar{flex-direction:column;align-items:stretch;gap:.6rem}.stats-actions-bar .btn{width:100%;justify-content:center}.leaderboard-title-row{flex-direction:column;align-items:flex-start;gap:.35rem}.point-modal-dialog{padding:1rem;max-height:85vh}}@media print{body{background:#fff!important;color:#000!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif!important}nav,.navbar,.tab-bar,.scoreboard-action-group,.btn,button,.modal-overlay,.no-print{display:none!important}.stats-view-container{max-width:100%!important;padding:0!important;gap:1rem!important}.stats-hero-banner,.error-leaderboard-card,.stats-kpi-card,.stats-table-wrapper{background:#fff!important;border:1px solid #cccccc!important;color:#000!important;box-shadow:none!important;border-radius:4px!important;page-break-inside:avoid}.stats-kpi-value,.scoreboard-digit,h1,h2,h3,strong{color:#000!important}.stats-table th{background:#f1f5f9!important;color:#000!important;border-bottom:2px solid #000000!important}.stats-table td{color:#000!important;border-bottom:1px solid #e2e8f0!important}.leaderboard-progress-bg{background:#e2e8f0!important;border:1px solid #cbd5e1!important}.leaderboard-progress-fill{background:#475569!important}.print-only-header{display:block!important;margin-bottom:1.5rem;border-bottom:2px solid #000000;padding-bottom:.75rem}}.print-only-header{display:none}:root{--bg-primary: #080c16;--bg-secondary: #0f1629;--bg-card: rgba(19, 29, 53, .7);--bg-card-hover: rgba(28, 42, 75, .85);--bg-glass: rgba(15, 23, 42, .75);--border-glass: rgba(255, 255, 255, .08);--border-focus: rgba(255, 107, 53, .6);--accent-orange: #ff6b35;--accent-orange-glow: rgba(255, 107, 53, .35);--accent-blue: #3b82f6;--accent-cyan: #06b6d4;--accent-gold: #f59e0b;--accent-green: #10b981;--accent-purple: #8b5cf6;--accent-pink: #ec4899;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Outfit", sans-serif;--font-jersey: "Chakra Petch", "Impact", sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px var(--accent-orange-glow);--court-wood: #c88a48;--court-wood-dark: #b27535;--court-lines: #ffffff}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);min-height:100vh;overflow-x:hidden;line-height:1.5}body:before{content:"";position:fixed;top:-20%;left:-20%;width:140%;height:140%;background:radial-gradient(circle at 15% 15%,rgba(255,107,53,.12) 0%,transparent 40%),radial-gradient(circle at 85% 20%,rgba(59,130,246,.12) 0%,transparent 40%),radial-gradient(circle at 50% 85%,rgba(139,92,246,.08) 0%,transparent 45%);pointer-events:none;z-index:-1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#334155}.app-container{max-width:1200px;margin:0 auto;padding:1rem 1.25rem 5rem;min-height:100vh;display:flex;flex-direction:column}.header-glass{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:.75rem;z-index:100;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.brand-wrapper{display:flex;align-items:center;gap:.75rem}.brand-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent-orange),var(--accent-blue));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #ff6b3566}.brand-title{font-family:var(--font-display);font-size:1.35rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#ffffff 40%,var(--accent-orange) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:.35rem}.brand-badge{font-size:.65rem;text-transform:uppercase;font-weight:800;padding:.15rem .45rem;background:#ff6b3533;color:var(--accent-orange);border:1px solid rgba(255,107,53,.4);border-radius:99px;letter-spacing:.5px}.header-actions{display:flex;align-items:center;gap:.6rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:.9rem;padding:.6rem 1.1rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--accent-orange),#ea580c);color:#fff;box-shadow:0 4px 15px var(--accent-orange-glow)}.btn-primary:hover{background:linear-gradient(135deg,#ff7e4f,#f97316);box-shadow:0 6px 20px #ff6b358c;transform:translateY(-1px)}.btn-secondary{background:#1e293bb3;color:var(--text-primary);border:1px solid var(--border-glass)}.btn-secondary:hover{background:#334155cc;border-color:#fff3;transform:translateY(-1px)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md);background:#1e293b99;color:var(--text-secondary);border:1px solid var(--border-glass)}.btn-icon:hover{color:#fff;background:#334155cc;border-color:#fff3}.btn-sm{font-size:.8rem;padding:.4rem .75rem;border-radius:var(--radius-sm)}.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:99px;font-size:.75rem;font-weight:600}.status-online{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.status-offline{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.tabs-bar{display:grid;grid-template-columns:repeat(4,1fr);background:#0f172ad9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:.35rem;border-radius:var(--radius-md);border:1px solid var(--border-glass);margin-bottom:1.25rem;gap:.35rem;position:sticky;top:4.5rem;z-index:95;box-shadow:0 6px 20px #00000059}.tab-button{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem .5rem;font-family:var(--font-display);font-weight:700;font-size:.92rem;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:44px;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.tab-button .tab-icon{flex-shrink:0}.tab-button .tab-label-desktop{display:inline;white-space:nowrap}.tab-button .tab-label-mobile{display:none}.tab-button.active{background:linear-gradient(135deg,#ff6b354d,#3b82f640);color:#fff;border:1px solid rgba(255,107,53,.6);box-shadow:0 4px 15px #ff6b3540}.tab-button:not(.active):hover{color:var(--text-primary);background:#ffffff0f}.stats-ribbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:1rem;display:flex;align-items:center;gap:.85rem;transition:transform .2s ease,border-color .2s ease}.stat-card:hover{transform:translateY(-2px);border-color:#ffffff26}.stat-icon-wrapper{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-val{font-family:var(--font-jersey);font-size:1.7rem;font-weight:700;line-height:1;color:#fff}.stat-label{font-size:.78rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.controls-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:1.5rem}.search-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;flex:1;min-width:280px}.search-box{position:relative;flex:1;min-width:200px}.search-box input{width:100%;background:#0f172acc;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:.65rem 1rem .65rem 2.5rem;color:#fff;font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search-box input:focus{border-color:var(--accent-orange);box-shadow:0 0 0 3px var(--accent-orange-glow)}.search-box svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.filter-select{background:#0f172acc;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:.65rem 1rem;color:var(--text-primary);font-family:var(--font-body);font-size:.88rem;font-weight:500;outline:none;cursor:pointer}.filter-select:focus{border-color:var(--accent-orange)}.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem;margin-bottom:2rem}.player-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.player-card:hover{background:var(--bg-card-hover);border-color:#ff6b3566;transform:translateY(-4px);box-shadow:var(--shadow-md),0 0 20px #ff6b3526}.player-card.is-captain{border-top:3px solid var(--accent-gold)}.player-card.is-libero{border-top:3px solid var(--accent-purple)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.85rem}.jersey-badge-lg{font-family:var(--font-jersey);font-size:2.2rem;font-weight:900;line-height:1;padding:.2rem .65rem;border-radius:var(--radius-sm);background:linear-gradient(145deg,#1e293b,#0f172a);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 2px 4px #ffffff1a,0 4px 10px #00000080;min-width:58px;text-align:center;letter-spacing:-1px}.jersey-badge-lg.libero-num{background:linear-gradient(145deg,#7c3aed,#4c1d95);border-color:#a855f7;color:#fff;box-shadow:0 0 15px #a855f766}.player-identity{margin-bottom:.75rem}.player-name{font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:-.3px;display:flex;align-items:center;gap:.4rem}.captain-star{color:var(--accent-gold);filter:drop-shadow(0 0 6px rgba(245,158,11,.7))}.player-meta-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.badge-position{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:99px;text-transform:uppercase;letter-spacing:.5px}.pos-setter{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.4)}.pos-outside{background:#ff6b3533;color:#ff8c5a;border:1px solid rgba(255,107,53,.4)}.pos-opposite{background:#ec489933;color:#f472b6;border:1px solid rgba(236,72,153,.4)}.pos-middle{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.4)}.pos-libero{background:#a855f740;color:#c084fc;border:1px solid rgba(168,85,247,.5)}.pos-ds{background:#0ea5e933;color:#38bdf8;border:1px solid rgba(14,165,233,.4)}.badge-status{font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:99px;background:#ffffff0f;color:var(--text-secondary)}.player-details{margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--text-secondary)}.card-actions{display:flex;align-items:center;gap:.35rem}.empty-state{text-align:center;padding:4rem 1.5rem;background:var(--bg-card);border:1px dashed var(--border-glass);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.empty-icon{width:72px;height:72px;border-radius:50%;background:#ff6b351a;display:flex;align-items:center;justify-content:center;color:var(--accent-orange)}.modal-overlay,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030712d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:#0f172a;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:1.75rem;box-shadow:0 25px 50px -12px #000c;position:relative;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-glass)}.modal-title{font-family:var(--font-display);font-size:1.35rem;font-weight:800;color:#fff}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}.form-input,.form-select,.form-textarea{width:100%;background:#0f172ae6;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:.75rem 1rem;color:#fff;font-family:var(--font-body);font-size:.95rem;outline:none;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-orange);box-shadow:0 0 0 3px var(--accent-orange-glow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.toggle-group{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#0f172a99;border:1px solid var(--border-glass);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none}.jersey-preview-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem;background:radial-gradient(circle at center,#1e293b99,#0f172ae6);border:1px solid var(--border-glass);border-radius:var(--radius-lg);margin-bottom:1.5rem}.jersey-svg-wrap{width:150px;height:160px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.6));transition:transform .25s ease}.install-banner{background:linear-gradient(135deg,#ff6b3526,#3b82f626);border:1px solid rgba(255,107,53,.4);border-radius:var(--radius-lg);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:860px){.tabs-bar{top:4.15rem;padding:.25rem;gap:.25rem}.tab-button{flex-direction:column;gap:.2rem;padding:.5rem .2rem;min-height:48px}.tab-button .tab-label-desktop{display:none}.tab-button .tab-label-mobile{display:block;font-size:.76rem;font-weight:700;line-height:1.1;white-space:nowrap;text-align:center}}@media(max-width:640px){.app-container{padding:.5rem .65rem 5rem}.header-glass{top:.4rem;padding:.55rem .75rem;margin-bottom:.85rem}.brand-title{font-size:1.15rem}.form-row{grid-template-columns:1fr}.controls-bar{flex-direction:column;align-items:stretch}.tabs-bar{top:3.85rem;margin-bottom:.85rem;border-radius:var(--radius-md)}.tab-button{padding:.45rem .15rem;min-height:46px}.tab-button svg{width:17px;height:17px}.tab-button .tab-label-mobile{font-size:.72rem;letter-spacing:-.2px}}@media(max-width:360px){.tab-button .tab-label-mobile{font-size:.66rem}}
