:root{--bg-primary: #070e08;--bg-surface: #0f1c11;--bg-surface-elevated: #152718;--bg-glass: rgba(18, 38, 23, .7);--bg-card: rgba(25, 48, 30, .6);--accent-primary: #00e676;--accent-primary-hover: #00c853;--accent-blue: #00b0ff;--accent-gold: #ffe600;--accent-miss: #ff3d00;--text-primary: #ffffff;--text-secondary: #a3b8a7;--text-muted: #627766;--border-subtle: rgba(255, 255, 255, .1);--border-active: rgba(0, 230, 118, .4);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-full: 9999px;--shadow-glow: 0 0 20px rgba(0, 230, 118, .25);--shadow-card: 0 10px 30px rgba(0, 0, 0, .5);--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;line-height:1.5}.app-header{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:100;padding:.75rem 1.25rem}.header-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.app-brand{display:flex;align-items:center;gap:.75rem;font-weight:800;font-size:1.25rem;letter-spacing:-.5px;color:var(--text-primary)}.brand-icon{width:38px;height:38px;filter:drop-shadow(0 0 8px rgba(0,230,118,.4))}.brand-text span{color:var(--accent-primary)}.header-actions{display:flex;align-items:center;gap:.75rem}.btn-icon{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:#ffffff1a;border-color:var(--accent-primary)}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.nav-tabs{display:flex;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:.35rem;gap:.35rem;overflow-x:auto;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.tab-btn{flex:1;min-width:110px;padding:.65rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.9rem;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .25 ease;white-space:nowrap}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--accent-primary);color:#040e06;font-weight:700;box-shadow:0 4px 15px #00e6764d}.glass-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.card-title{font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 850px){.grid-2{grid-template-columns:1fr}}.radio-group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:1rem}@media (max-width: 500px){.radio-group-grid{grid-template-columns:1fr}}.radio-card{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.radio-card:hover{border-color:var(--accent-primary);background:var(--bg-surface-elevated)}.radio-card input[type=radio]{accent-color:var(--accent-primary);width:18px;height:18px;cursor:pointer}.quality-rating-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:.35rem}@media (max-width: 580px){.quality-rating-grid{grid-template-columns:repeat(5,1fr);gap:.4rem}}.quality-pill{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.6rem .25rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.quality-pill input[type=radio]{position:absolute;opacity:0;pointer-events:none}.quality-pill .pill-label{font-weight:800;font-size:1rem;color:var(--text-secondary)}.quality-pill:hover{border-color:var(--accent-primary);background:var(--bg-surface-elevated)}.quality-pill:has(input[type=radio]:checked){background:#00e6762e;border-color:var(--accent-primary);box-shadow:0 0 10px #00e6764d}.quality-pill:has(input[type=radio]:checked) .pill-label{color:var(--accent-primary)}.radio-card:has(input[type=radio]:checked){border-color:var(--accent-primary);background:#00e6761f;box-shadow:0 0 10px #00e67633}.radio-card-made:has(input[type=radio]:checked){border-color:var(--accent-primary);background:#00e67626;box-shadow:0 0 12px #00e6764d}details.collapsible-section summary::-webkit-details-marker,details.collapsible-section summary::marker{display:none;content:""}details[open] #spray-history-arrow,details[open] #spray-filters-arrow{transform:rotate(90deg)}.radio-card-miss input[type=radio]{accent-color:var(--accent-miss)}.radio-card-miss:has(input[type=radio]:checked){border-color:var(--accent-miss);background:#ff3d0026;box-shadow:0 0 12px #ff3d004d}.radio-label{font-weight:700;font-size:.95rem;color:var(--text-primary)}.field-container{width:100%;border-radius:var(--radius-md);overflow:auto;border:1px solid var(--border-subtle);background:radial-gradient(circle at center,#143d1f,#081a0e);box-shadow:inset 0 0 35px #000000b3;position:relative;-webkit-overflow-scrolling:touch}.field-wrapper{width:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:.25rem}.football-field-svg{width:100%;height:auto;display:block;border-radius:var(--radius-sm);cursor:crosshair}@media (max-width: 650px){.field-container{padding:.25rem}.football-field-svg{min-width:580px}}.endzone-text{fill:#ffffff40;font-size:54px;font-weight:900;letter-spacing:12px;font-family:var(--font-family)}.field-yard-number{fill:#fff6;font-size:26px;font-weight:800;font-family:var(--font-family)}.field-marker-label{fill:#fff;font-size:14px;font-weight:800;font-family:var(--font-family)}.quality-container{margin:1.25rem 0}.quality-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.quality-label{font-weight:700;font-size:.95rem}.quality-value-badge{background:var(--accent-primary);color:#040e06;font-weight:900;font-size:1.1rem;padding:.2rem .75rem;border-radius:var(--radius-full);box-shadow:0 0 10px #00e67666}.quality-buttons{display:grid;grid-template-columns:repeat(10,1fr);gap:.35rem}.q-btn{aspect-ratio:1;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-weight:800;font-size:.9rem;cursor:pointer;transition:all .2s ease}.q-btn:hover{transform:translateY(-2px);border-color:var(--accent-primary)}.q-btn.active{background:var(--accent-primary);color:#040e06;border-color:var(--accent-primary);box-shadow:0 0 12px #00e67666;transform:scale(1.1)}.hash-selector{display:flex;gap:.5rem;margin-bottom:1.25rem;overflow-x:auto}.hash-pill{flex:1;padding:.65rem .5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.85rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease}.hash-pill.active{background:var(--accent-primary);color:#040e06;border-color:var(--accent-primary);font-weight:800;box-shadow:0 4px 12px #00e67640}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.25rem}.outcome-btn{padding:.75rem .5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:700;font-size:.85rem;cursor:pointer;text-align:center;transition:all .2s ease}.outcome-btn:hover{border-color:var(--text-secondary)}.outcome-btn.active.made{background:var(--accent-primary);color:#040e06;border-color:var(--accent-primary)}.outcome-btn.active.miss{background:var(--accent-miss);color:#fff;border-color:var(--accent-miss)}.outcome-btn.active.special{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.95rem;outline:none;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 10px #00e67633}.btn-primary{width:100%;padding:1rem 1.5rem;background:var(--accent-primary);color:#040e06;font-weight:800;font-size:1.05rem;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;box-shadow:0 4px 20px #00e67659}.btn-primary:hover{background:var(--accent-primary-hover);transform:translateY(-2px);box-shadow:0 6px 25px #00e67680}.btn-secondary{padding:.75rem 1.25rem;background:var(--bg-surface-elevated);color:var(--text-primary);font-weight:700;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:var(--text-secondary)}.stats-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 768px){.stats-overview-grid{grid-template-columns:repeat(2,1fr)}}.metric-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.2rem;display:flex;flex-direction:column;gap:.3rem}.metric-value{font-size:2rem;font-weight:900;color:var(--accent-primary);line-height:1}.metric-title{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.metric-sub{font-size:.8rem;color:var(--text-secondary)}.distance-matrix{width:100%;border-collapse:collapse;margin-top:.5rem}.distance-matrix th,.distance-matrix td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-subtle);font-size:.9rem}.distance-matrix th{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.progress-bar-bg{width:100%;height:8px;background:#ffffff1a;border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent-primary);border-radius:var(--radius-full)}.table-wrapper{overflow-x:auto}.kick-table{width:100%;border-collapse:collapse;font-size:.9rem}.kick-table th{background:var(--bg-surface);color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:800;padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border-subtle)}.kick-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border-subtle)}.kick-table tr:hover td{background:#ffffff08}.badge{padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:800;display:inline-block}.badge-made{background:#00e67633;color:var(--accent-primary);border:1px solid rgba(0,230,118,.3)}.badge-miss{background:#ff3d0033;color:var(--accent-miss);border:1px solid rgba(255,61,0,.3)}.badge-special{background:#00b0ff33;color:var(--accent-blue);border:1px solid rgba(0,176,255,.3)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1.25rem;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-backdrop.active{opacity:1;pointer-events:auto}.modal-card{width:100%;max-width:500px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-card)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tab-pane{display:none;animation:fadeIn .25s ease forwards}.tab-pane.active{display:block}
