@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/jetbrains-mono-latin-800-normal-D2mQHRMK.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-800-normal-Dj9qwObk.woff) format("woff")}:root{--color-primary: #1e293b;--color-accent: #f59e0b;--color-background: #0f172a;--color-surface: #1e293b;--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-border: #334155;--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--font-family: "Inter", system-ui, -apple-system, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem}[data-theme=light]{--color-primary: #1e293b;--color-accent: #f59e0b;--color-background: #f8fafc;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #e2e8f0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}@media(max-width:479px){html{font-size:14px}}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.w-full{width:100%}.min-h-screen{min-height:100vh}.overflow-auto{overflow:auto}.text-center{text-align:center}.text-right{text-align:right}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-sm)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-auto{margin-top:auto}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-muted{color:var(--color-text-muted)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.625rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;min-height:44px;white-space:nowrap}.btn:hover{background:var(--color-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#000}.btn-primary:hover{background:#d97706;border-color:#d97706}.btn-danger{background:var(--color-error);border-color:var(--color-error);color:#fff}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-ghost{border-color:transparent;background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-text);background:var(--color-border)}.btn-sm{padding:.375rem .625rem;font-size:var(--font-size-sm);min-height:32px}.btn-lg{padding:.875rem 1.5rem;font-size:var(--font-size-lg);min-height:56px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.form-control{width:100%;padding:.625rem .75rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control:focus{outline:none;border-color:var(--color-accent)}.form-control::placeholder{color:var(--color-text-muted)}.form-error{font-size:var(--font-size-sm);color:var(--color-error)}.seg-group{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.seg-group .seg{flex:1;padding:.5rem;background:transparent;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s;min-height:40px}.seg-group .seg:not(:last-child){border-right:1px solid var(--color-border)}.seg-group .seg.active{background:var(--color-accent);color:#000}.seg-group .seg:hover:not(.active){background:var(--color-border);color:var(--color-text)}.badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-green{background:#22c55e26;color:var(--color-success)}.badge-yellow{background:#f59e0b26;color:var(--color-warning)}.badge-red{background:#ef444426;color:var(--color-error)}.badge-blue{background:#6366f126;color:#818cf8}.badge-gray{background:var(--color-border);color:var(--color-text-muted)}.toast{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;font-size:var(--font-size-sm);animation:fade-in .15s ease;max-width:calc(100vw - 2 * var(--spacing-md))}.toast-actions{display:flex;gap:var(--spacing-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fade-in .15s ease}@media(min-width:640px){.modal-overlay{align-items:center}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slide-up .2s ease}@keyframes slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:var(--font-size-lg);font-weight:600;margin:0}.modal-body{padding:var(--spacing-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.scoreboard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center}.scoreboard-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.scoreboard-team-name{font-size:var(--font-size-lg);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.scoreboard-score{font-size:3.5rem;font-weight:800;letter-spacing:-.02em;line-height:1;padding:0 var(--spacing-md)}.scoreboard-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.event-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.event-item:last-child{border-bottom:none}.event-time{color:var(--color-text-muted);font-weight:600;font-size:.75rem;min-width:52px;text-align:right}.app-shell{display:flex;flex-direction:column;min-height:100vh}.top-nav{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-logo{font-weight:800;font-size:var(--font-size-base);letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);text-decoration:none}.nav-logo:hover{text-decoration:none}.nav-links{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.nav-link{padding:.375rem .625rem;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--color-text);background:var(--color-border);text-decoration:none}.nav-link.active{color:var(--color-text);background:var(--color-border)}.nav-scoresheet-link{position:absolute;left:50%;transform:translate(-50%);padding:.375rem 1rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);text-decoration:none;border:1px solid var(--color-accent);transition:color .15s,background .15s}.nav-scoresheet-link:hover{color:#fff;background:var(--color-accent);text-decoration:none}.page-content{flex:1;padding:var(--spacing-lg);max-width:900px;margin:0 auto;width:100%}.app-footer{text-align:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.app-footer a{color:var(--color-text-muted);text-decoration:none;transition:color .15s}.app-footer a:hover{color:var(--color-accent)}.status-SCHEDULED{color:var(--color-text-muted)}.status-WARMUP{color:var(--color-warning)}.status-IN_PROGRESS{color:var(--color-success)}.status-INTERMISSION{color:var(--color-warning)}.status-FINAL,.status-OFFICIAL{color:var(--color-text-muted)}.status-POSTPONED,.status-CANCELLED{color:var(--color-error)}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-md) 0}.penalty-box-tracker{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.penalty-box-side{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.penalty-box-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-background);border-bottom:1px solid var(--color-border)}.penalty-box-entry{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--color-border);border-left:3px solid transparent;font-size:var(--font-size-sm)}.penalty-box-entry:last-child{border-bottom:none}.penalty-box-entry.severity-minor{border-left-color:var(--color-warning)}.penalty-box-entry.severity-major{border-left-color:var(--color-error)}.penalty-box-entry.severity-misconduct{border-left-color:#f97316}.penalty-box-entry.expired{opacity:.4}.penalty-box-player{font-weight:600}.penalty-box-info{color:var(--color-text-muted);font-size:.75rem}.game-clock{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.game-clock-display{font-family:Courier New,monospace;font-size:2rem;font-weight:700;letter-spacing:.1em;color:var(--color-text);line-height:1}.game-clock-display.running{animation:clock-pulse 1s ease-in-out infinite}@keyframes clock-pulse{0%,to{opacity:1}50%{opacity:.7}}.game-clock-controls{display:flex;gap:var(--spacing-xs)}.game-clock-settings{display:flex;gap:var(--spacing-xs);padding-top:var(--spacing-xs)}.roster-setup{padding:0;overflow:hidden}.roster-setup-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background)}.roster-setup-list{max-height:320px;overflow-y:auto}.roster-setup-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);min-height:40px;opacity:.5}.roster-setup-row:last-child{border-bottom:none}.roster-setup-row.selected{opacity:1}.roster-setup-check{display:flex;align-items:center;flex-shrink:0}.roster-setup-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent)}.roster-setup-jersey{width:36px;padding:2px 4px;text-align:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600}.roster-setup-jersey:disabled{opacity:.5}.roster-setup-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-setup-pos{flex-shrink:0;font-size:.65rem}.roster-setup-start{width:24px;height:24px;border-radius:50%;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.7rem;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.roster-setup-start.active{background:var(--color-accent);border-color:var(--color-accent);color:#000}.penalty-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--spacing-xs)}.penalty-picker-search{border:none;border-bottom:1px solid var(--color-border);border-radius:0}.penalty-picker-list{max-height:240px;overflow-y:auto}.penalty-picker-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.penalty-picker-chevron{color:var(--color-text-muted);font-size:.7rem}.penalty-picker-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;text-align:left;transition:background .1s}.penalty-picker-item:last-child{border-bottom:none}.penalty-picker-item:hover{background:var(--color-border)}.penalty-picker-item.selected{background:#f59e0b1a}.penalty-picker-item-name{flex:1}.penalty-picker-item-code{flex-shrink:0;font-size:.7rem}.penalty-picker-check{color:var(--color-accent);font-weight:700;flex-shrink:0}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scoring-page{display:flex;flex-direction:column;min-height:100vh;max-width:1100px;margin:0 auto;padding:var(--spacing-sm);width:100%}.scoring-back-btn{align-self:flex-start;margin-bottom:var(--spacing-xs)}.scoring-header{position:sticky;top:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.scoring-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.connection-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.scoreboard-compact{text-align:center}.status-transition-bar{display:flex;gap:var(--spacing-xs);justify-content:center;flex-wrap:wrap}.scoring-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.team-panel{display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm)}.team-panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.team-panel-name{font-weight:700;font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:.05em}.team-panel-score{font-size:var(--font-size-2xl);font-weight:800;line-height:1}.team-panel-actions{display:flex;gap:var(--spacing-xs)}.team-panel-penalties{border-top:1px solid var(--color-border);padding-top:var(--spacing-xs)}.inline-form{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm);animation:slide-down .15s ease}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.inline-form-header{display:flex;align-items:center;justify-content:space-between}.inline-form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.player-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.player-picker-list{max-height:200px;overflow-y:auto}.player-picker-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;text-align:left;transition:background .1s}.player-picker-item:last-child{border-bottom:none}.player-picker-item:hover{background:var(--color-border)}.player-picker-item.selected{background:#f59e0b26;font-weight:600}.player-picker-number{font-weight:700;min-width:32px;font-family:Courier New,monospace}.player-picker-name{flex:1}.penalty-search{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.penalty-search-chips{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);flex-wrap:wrap;border-bottom:1px solid var(--color-border)}.penalty-search-chip{padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:background .1s,color .1s;text-transform:uppercase;letter-spacing:.05em}.penalty-search-chip:hover{background:var(--color-border);color:var(--color-text)}.penalty-search-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:#000}.penalty-search-input{border:none;border-bottom:1px solid var(--color-border);border-radius:0}.penalty-search-list{max-height:200px;overflow-y:auto}.penalty-search-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;text-align:left;transition:background .1s}.penalty-search-item:last-child{border-bottom:none}.penalty-search-item:hover{background:var(--color-border)}.penalty-search-item.selected{background:#f59e0b1a}.penalty-search-item-code{font-weight:700;font-size:.75rem;min-width:48px;color:var(--color-accent);font-family:Courier New,monospace}.penalty-search-item-sep{color:var(--color-text-muted)}.penalty-search-item-name{flex:1}.penalty-search-check{color:var(--color-accent);font-weight:700;flex-shrink:0}.shots-counter{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-top:1px solid var(--color-border)}.shots-counter-label{font-size:var(--font-size-sm);font-weight:600;flex:1}.shots-counter-controls{display:flex;align-items:center;gap:var(--spacing-xs)}.shots-counter-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-lg);font-weight:700;cursor:pointer;transition:background .1s}.shots-counter-btn:hover{background:var(--color-border)}.shots-counter-btn:disabled{opacity:.3;cursor:not-allowed}.shots-counter-value{font-size:var(--font-size-lg);font-weight:700;min-width:32px;text-align:center}.shots-counter-total{min-width:48px;text-align:right}.shots-summary{margin-top:var(--spacing-sm)}.period-log{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-sm)}.period-section{border-bottom:1px solid var(--color-border)}.period-section:last-child{border-bottom:none}.period-log-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:none;color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.period-log-header:hover{background:var(--color-border)}.period-section-events{padding:0}.event-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);border-left:3px solid transparent}.event-row:last-child{border-bottom:none}.event-row.home{border-left-color:#818cf8}.event-row.away{border-left-color:#f87171}.event-row.pending{opacity:.6}.event-row-time{color:var(--color-text-muted);font-weight:600;font-size:.75rem;min-width:40px;text-align:right;font-family:Courier New,monospace}.event-row-detail{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.event-row-team{flex-shrink:0}.clock-inline{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0}.clock-inline-display{display:flex;align-items:center;gap:var(--spacing-xs)}.clock-inline-time{font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;letter-spacing:.1em;line-height:1;display:flex;align-items:center}.clock-inline-time.running{animation:clock-pulse 1s ease-in-out infinite}.clock-digit{cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);transition:background .1s}.clock-digit:hover{background:var(--color-border)}.clock-colon{color:var(--color-text-muted)}.clock-digit-input{width:48px;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;text-align:center;background:var(--color-background);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text);padding:0;line-height:1;-moz-appearance:textfield}.clock-digit-input::-webkit-outer-spin-button,.clock-digit-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.clock-adjust-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:background .1s,color .1s}.clock-adjust-btn:hover{background:var(--color-border);color:var(--color-text)}.clock-adjust-btn:disabled{opacity:.3;cursor:not-allowed}.clock-inline-controls{display:flex;gap:var(--spacing-xs);align-items:center}.clock-inline-presets{display:flex;gap:var(--spacing-xs)}.mobile-tab-bar{display:none;margin-bottom:var(--spacing-sm)}@media(max-width:767px){.scoring-columns{grid-template-columns:1fr}.mobile-tab-bar{display:block}.scoring-col.mobile-hidden{display:none}.scoring-col.mobile-visible{display:block}.scoreboard-score{font-size:2.5rem}.scoreboard-team-name{font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clock-inline-time{font-size:1.75rem}.clock-digit-input{width:36px;font-size:1.75rem}.grid-2,.penalty-box-tracker{grid-template-columns:1fr}.modal-overlay{padding:0;align-items:stretch}.modal{max-width:none;max-height:100vh;border-radius:0;height:100%}}@media(min-width:768px){.scoring-page{padding:var(--spacing-md)}.scoring-header{padding:var(--spacing-md) var(--spacing-lg)}.scoreboard-score{font-size:3.5rem}.scoreboard-compact{padding:var(--spacing-sm) 0}.team-panel{padding:var(--spacing-md)}.modal{max-width:520px;max-height:85vh}}@media(min-width:1024px){.scoreboard-score{font-size:4rem}}.pipeline-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-decoration:none;color:var(--color-text);transition:border-color .15s,background .15s;margin-bottom:var(--spacing-sm)}.pipeline-card:hover{border-color:var(--color-accent);background:#f59e0b0a;text-decoration:none}.stage-indicator{display:flex;align-items:flex-start;justify-content:center;gap:0;padding:var(--spacing-md) 0}.stage-indicator-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;max-width:120px}.stage-indicator-dot{width:14px;height:14px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-border);position:relative;z-index:1;transition:background .2s,border-color .2s}.stage-indicator-dot.completed{background:var(--color-accent);border-color:var(--color-accent)}.stage-indicator-dot.active{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 3px #f59e0b40}.stage-indicator-line{position:absolute;top:6px;right:50%;width:100%;height:2px;background:var(--color-border);z-index:0;transition:background .2s}.stage-indicator-line.completed{background:var(--color-accent)}.stage-indicator-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-top:var(--spacing-xs);text-align:center}.stage-indicator-label.active{color:var(--color-accent);font-weight:700}.vote-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;min-height:36px}.vote-button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.vote-button:disabled{opacity:.5;cursor:not-allowed}.vote-button.voted{background:#f59e0b1f;border-color:var(--color-accent);color:var(--color-accent)}.vote-arrow{font-size:.75rem;line-height:1}.feedback-item{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.feedback-form textarea{resize:vertical;min-height:80px}.verify-prompt{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#f59e0b14;border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-accent)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark: #1a1a2e;--bg-panel: #16213e;--bg-card: #0f3460;--bg-input: #1a1a3e;--bg-header: #0f1729;--bg-topbar: #0d1117;--accent-home: #e94560;--accent-visitor: #3b82f6;--accent-gold: #f59e0b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--clock-green: #22c55e;--period-active: #f59e0b;--period-inactive: #334155;--btn-primary: #3b82f6;--penalty-bg: #1e293b;--row-alt: #0d111744;--row-border: #1e293b}html,body{height:100%;width:100%;font-family:Inter,system-ui,sans-serif;background:var(--bg-dark);color:var(--text-primary);overflow:hidden;-webkit-user-select:none;user-select:none}#app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;height:40px;min-height:40px;background:var(--bg-topbar);padding:0 16px}.tabs{display:flex;gap:2px;height:100%;align-items:center}.tab{padding:8px 16px;font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text-muted);background:#1e293b;border:none;cursor:pointer;border-radius:6px 6px 0 0;transition:all .15s;font-family:Inter,sans-serif}.tab.active{background:var(--btn-primary);color:#fff}.tab:hover:not(.active){background:#253346;color:var(--text-secondary)}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-action-btn{padding:6px 14px;font-size:10px;font-weight:700;letter-spacing:1px;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.new-game-btn{color:var(--clock-green);background:#22c55e18;border-color:#22c55e66}.new-game-btn:hover{background:#22c55e33}.warmup-btn{color:var(--accent-gold);background:#f59e0b18;border-color:#f59e0b66}.warmup-btn:hover{background:#f59e0b33}.ot-btn{padding:6px 14px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#a78bfa;background:#7c3aed22;border:1px solid #7c3aed;border-radius:6px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.ot-btn:hover{background:#7c3aed44}.ot-btn.active{background:#7c3aed;color:#fff}.header{display:flex;align-items:center;justify-content:center;height:110px;min-height:110px;background:var(--bg-header);padding:10px 16px;gap:16px}.banner{display:flex;align-items:center;flex:1;height:100%;padding:8px 20px;gap:16px}.banner.home{background:linear-gradient(90deg,#e9456033,#e9456008);justify-content:flex-start}.banner.visitor{background:linear-gradient(270deg,#3b82f633,#3b82f608);justify-content:flex-end}.team-logo{width:52px;height:52px;min-width:52px;background:#1e293b;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;overflow:hidden;position:relative}.team-logo.home{border:2px solid var(--accent-home)}.team-logo.visitor{border:2px solid var(--accent-visitor)}.team-logo img{width:100%;height:100%;object-fit:cover}.team-logo input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.team-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.team-info.right{align-items:flex-end;text-align:right}.team-label{font-size:9px;font-weight:700;letter-spacing:2px}.team-label.home{color:var(--accent-home)}.team-label.visitor{color:var(--accent-visitor)}.team-name{font-size:18px;font-weight:800;letter-spacing:.5px;color:var(--text-primary);background:none;border:none;outline:none;font-family:Inter,sans-serif;width:100%;cursor:text}.team-name.right{text-align:right}.team-name::placeholder{color:var(--text-muted)}.score-box{width:60px;height:60px;min-width:60px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:36px;font-weight:800;color:#fff}.score-box.home{background:var(--accent-home)}.score-box.visitor{background:var(--accent-visitor)}.clock-area{display:flex;flex-direction:column;align-items:center;justify-content:center;width:240px;min-width:240px;gap:6px}.clock-display{background:#000800;border:2px solid #22c55e88;border-radius:10px;padding:8px 20px;cursor:pointer;box-shadow:0 0 20px #22c55e33;transition:box-shadow .2s}.clock-display:hover{box-shadow:0 0 30px #22c55e55}.clock-text{font-family:JetBrains Mono,monospace;font-size:42px;font-weight:800;color:var(--clock-green);text-shadow:0 0 8px #22c55e66;letter-spacing:2px}.period-dots{display:flex;gap:10px;align-items:center}.period-dot{width:14px;height:14px;border-radius:50%;background:var(--period-inactive);cursor:pointer;transition:all .2s;border:none}.period-dot.active{background:var(--period-active);box-shadow:0 0 6px #f59e0b88}.period-dot.ot{background:#7c3aed;box-shadow:0 0 6px #7c3aed88}.period-label{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:2px}.main-content{display:flex;flex:1;overflow:hidden;gap:2px}.team-side{flex:1;display:flex;flex-direction:column;background:var(--bg-panel);overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between;height:32px;min-height:32px;padding:0 12px}.section-header.goals.home{background:#e9456020}.section-header.goals.visitor{background:#3b82f620}.section-header.penalties{background:#f59e0b15}.section-title{font-size:10px;font-weight:700;letter-spacing:1.5px}.section-title.goals-home{color:var(--accent-home)}.section-title.goals-visitor{color:var(--accent-visitor)}.section-title.penalties{color:var(--accent-gold)}.add-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:1px;border:none;cursor:pointer;font-family:Inter,sans-serif;transition:filter .15s}.add-btn:hover{filter:brightness(1.15)}.add-btn.goal-home{background:var(--accent-home);color:#fff}.add-btn.goal-visitor{background:var(--accent-visitor);color:#fff}.add-btn.penalty{background:var(--accent-gold);color:#000}.add-btn .plus{font-size:13px;font-weight:800}.col-header{display:flex;align-items:center;height:24px;min-height:24px;padding:0 12px;background:#0d111788}.col-header span{font-size:9px;font-weight:700;color:var(--text-muted);letter-spacing:.5px}.table-body{flex:1;overflow-y:auto}.table-body::-webkit-scrollbar{width:4px}.table-body::-webkit-scrollbar-track{background:transparent}.table-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.table-row{display:flex;align-items:center;height:28px;min-height:28px;padding:0 12px;border-bottom:1px solid var(--row-border);position:relative}.table-row:nth-child(2n){background:var(--row-alt)}.table-row:hover{background:#ffffff08}.table-row .delete-row{display:none;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:3px;background:#ef444433;color:#ef4444;border:none;cursor:pointer;font-size:11px;align-items:center;justify-content:center;font-family:Inter,sans-serif}.table-row:hover .delete-row{display:flex}.cell{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell.period{width:24px;min-width:24px;font-family:JetBrains Mono,monospace;font-weight:600;color:var(--text-secondary)}.cell.time{width:50px;min-width:50px;font-family:JetBrains Mono,monospace;font-weight:600;color:var(--clock-green)}.cell.scorer,.cell.player{flex:1;font-weight:600;color:var(--text-primary);min-width:0}.cell.player{padding-left:8px}.cell.assist{flex:1;min-width:0;font-size:10px;color:var(--text-secondary)}.cell.infraction{width:110px;min-width:110px;font-size:10px;color:var(--accent-gold)}.cell.minutes{width:36px;min-width:36px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;color:var(--text-secondary)}.pen-time-group{display:flex;align-items:center;gap:0}.pen-time-btn{width:28px;height:28px;min-width:28px;display:flex;align-items:center;justify-content:center;background:#334155;color:var(--text-primary);border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:10px;font-weight:700;padding:0;transition:background .15s}.pen-time-btn:hover{background:#475569}.pen-time-btn:active{background:#1e293b}.pen-time-value{width:50px;min-width:50px;text-align:center;font-family:JetBrains Mono,monospace;font-weight:600;font-size:11px;color:var(--clock-green)}.penalty-group{border:1px solid #f59e0b33;border-radius:4px;margin-bottom:2px}.penalty-group.triple{border-color:#ef444433}.penalty-group .table-row{border-bottom:1px solid #33415566}.penalty-group .table-row:last-child{border-bottom:none}.penalty-sub-row{background:#1e293b99}.penalty-sub-row .cell.period,.penalty-sub-row .pen-time-group{visibility:hidden}.penalty-sub-row .cell.player{color:#475569;font-weight:400}.cell.pen-total{width:36px;min-width:36px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;color:var(--accent-gold)}.penalty-group.triple .cell.pen-total{color:#ef4444}.statusbar{display:flex;align-items:center;justify-content:space-between;height:28px;min-height:28px;background:var(--bg-topbar);padding:0 16px;font-size:10px;color:var(--text-muted)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;z-index:100;align-items:center;justify-content:center}.modal-overlay.show{display:flex}.modal{background:#1e293b;border-radius:12px;padding:24px;min-width:280px;box-shadow:0 20px 60px #0008;border:1px solid var(--border-color)}.modal-title{font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:16px;text-align:center}.clock-input-display{font-family:JetBrains Mono,monospace;font-size:48px;font-weight:800;color:var(--clock-green);text-align:center;background:#000800;border:2px solid #22c55e88;border-radius:10px;padding:12px;margin-bottom:16px;text-shadow:0 0 8px #22c55e66}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.numpad button{height:48px;border-radius:8px;border:1px solid var(--border-color);background:#0f172a;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;cursor:pointer;transition:all .1s}.numpad button:hover{background:#1e293b}.numpad button:active{background:var(--btn-primary)}.numpad button.confirm{background:var(--clock-green);color:#000;font-size:14px;font-family:Inter,sans-serif;font-weight:700}.numpad button.confirm:hover{filter:brightness(1.1)}.numpad button.cancel{background:#ef444433;color:#ef4444;font-size:14px;font-family:Inter,sans-serif;font-weight:700}.numpad button.clear{font-size:14px;font-family:Inter,sans-serif;font-weight:700;color:var(--text-muted)}.modal.goal-modal,.modal.penalty-modal{min-width:340px}.modal-form{display:flex;flex-direction:column;gap:12px}.form-row{display:flex;flex-direction:column;gap:4px}.form-label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--text-muted)}.form-input{height:36px;padding:0 12px;background:#0f172a;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:13px;outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--btn-primary)}.form-input::placeholder{color:var(--text-muted)}.form-actions{display:flex;gap:8px;margin-top:8px}.form-btn{flex:1;height:36px;border-radius:6px;border:none;font-family:Inter,sans-serif;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:filter .15s}.form-btn:hover{filter:brightness(1.1)}.form-btn.save-home{background:var(--accent-home);color:#fff}.form-btn.save-visitor{background:var(--accent-visitor);color:#fff}.form-btn.save-penalty{background:var(--accent-gold);color:#000}.form-btn.cancel-btn{background:#334155;color:var(--text-secondary)}.roster-select-wrap{position:relative}.roster-select-wrap .form-input{width:100%}.roster-dropdown{display:none;position:absolute;top:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:#1e293b;border:1px solid var(--border-color);border-radius:0 0 6px 6px;z-index:10}.roster-dropdown.show{display:block}.roster-option{padding:8px 12px;font-size:12px;cursor:pointer;color:var(--text-primary);display:flex;gap:8px;align-items:center}.roster-option:hover{background:#334155}.roster-option .jersey{color:var(--accent-gold);font-family:JetBrains Mono,monospace;font-weight:700;min-width:30px}.roster-option .pname{flex:1}.roster-option .ppos{color:var(--text-muted);font-size:10px;font-weight:600}.penalty-select-wrap{position:relative}.penalty-search{width:100%;height:36px;padding:0 12px;background:#0f172a;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:13px;outline:none}.penalty-search:focus{border-color:var(--accent-gold)}.penalty-dropdown{display:none;position:absolute;top:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:#1e293b;border:1px solid var(--border-color);border-radius:0 0 6px 6px;z-index:10}.penalty-dropdown.show{display:block}.penalty-option{padding:8px 12px;font-size:12px;cursor:pointer;color:var(--text-primary);display:flex;justify-content:space-between}.penalty-option:hover{background:#334155}.penalty-option .code{color:var(--accent-gold);font-weight:600}.penalty-option .mins{color:var(--text-muted);font-size:11px}.coach-view,.referee-view{display:none;flex:1;flex-direction:column;overflow:hidden}.coach-view.active,.referee-view.active{display:flex}.scorekeeper-view{display:flex;flex:1;flex-direction:column;overflow:hidden}.scorekeeper-view:not(.active){display:none}.coach-content{display:flex;flex:1;gap:2px;overflow:hidden}.roster-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-panel);overflow:hidden}.roster-header{display:flex;align-items:center;justify-content:space-between;height:36px;min-height:36px;padding:0 16px}.roster-header.home{background:#e9456020}.roster-header.visitor{background:#3b82f620}.roster-title{font-size:11px;font-weight:700;letter-spacing:1.5px}.roster-title.home{color:var(--accent-home)}.roster-title.visitor{color:var(--accent-visitor)}.roster-table{flex:1;overflow-y:auto}.roster-col-header{display:flex;align-items:center;height:28px;padding:0 16px;background:#0d111788}.roster-col-header span{font-size:9px;font-weight:700;color:var(--text-muted);letter-spacing:.5px}.roster-row{display:flex;align-items:center;height:32px;padding:0 16px;border-bottom:1px solid var(--row-border)}.roster-row:nth-child(2n){background:var(--row-alt)}.roster-input{background:none;border:none;outline:none;color:var(--text-primary);font-family:Inter,sans-serif;font-size:12px;width:100%;height:100%}.roster-input::placeholder{color:var(--text-muted)}.roster-input.number{font-family:JetBrains Mono,monospace;font-weight:600;width:40px;text-align:center}.roster-input.pos{width:40px;text-align:center;text-transform:uppercase}.pos-select{width:52px;text-align:center;text-transform:uppercase;background:var(--bg-input);color:var(--text-primary);border:1px solid transparent;border-radius:4px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;padding:2px;height:26px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pos-select:focus{border-color:var(--btn-primary);outline:none}.pos-select option{background:var(--bg-input);color:var(--text-primary)}.add-player-btn{display:flex;align-items:center;justify-content:center;gap:4px;height:32px;margin:8px 16px;border-radius:6px;border:1px dashed var(--border-color);background:none;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.add-player-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.coach-banner-section{padding:12px 16px;border-bottom:1px solid var(--row-border);display:flex;align-items:center;gap:12px}.coach-team-input{flex:1;height:32px;padding:0 12px;background:#0f172a;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;font-weight:700;outline:none}.coach-team-input:focus{border-color:var(--btn-primary)}.referee-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px;gap:24px;overflow-y:auto}.ref-summary{width:100%;max-width:700px;background:#1e293b;border-radius:12px;padding:24px;border:1px solid var(--border-color)}.ref-summary-title{font-size:14px;font-weight:700;letter-spacing:1px;color:var(--text-primary);margin-bottom:16px;text-align:center}.ref-team-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--row-border)}.ref-team-name{font-size:16px;font-weight:700}.ref-team-score{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:800}.ref-stats{display:flex;gap:24px}.ref-stat{text-align:center}.ref-stat-num{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700;color:var(--text-primary)}.ref-stat-label{font-size:9px;font-weight:600;color:var(--text-muted);letter-spacing:1px}.ref-signoff{width:100%;max-width:700px;background:#1e293b;border-radius:12px;padding:24px;border:1px solid var(--border-color)}.ref-signoff-title{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--text-muted);margin-bottom:16px}.ref-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ref-label{font-size:9px;font-weight:700;color:var(--text-muted);letter-spacing:1px}.ref-input{height:36px;padding:0 12px;background:#0f172a;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:13px;outline:none}.ref-input:focus{border-color:var(--btn-primary)}.ref-confirm-btn{width:100%;height:44px;margin-top:8px;background:var(--clock-green);color:#000;border:none;border-radius:8px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:filter .15s}.ref-confirm-btn:hover{filter:brightness(1.1)}.ref-confirmed{text-align:center;padding:20px;color:var(--clock-green);font-weight:700;font-size:14px;letter-spacing:1px}.warmup-active .add-btn{opacity:.3;pointer-events:none;cursor:not-allowed}.warmup-active .table-body{opacity:.3}@keyframes dotFlash{0%,to{background:var(--period-inactive);box-shadow:none}50%{background:var(--accent-gold);box-shadow:0 0 10px #f59e0b88}}.period-dot.flashing{animation:dotFlash 2s ease-in-out infinite}.warmup-btn.active{background:var(--accent-gold);color:#000;border-color:var(--accent-gold)}.md-viewer-modal{min-width:600px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.md-viewer-title{font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:12px;text-align:center}.md-viewer-content{flex:1;overflow-y:auto;background:#0f172a;border:1px solid var(--border-color);border-radius:8px;padding:16px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:50vh;-webkit-user-select:text;user-select:text;cursor:text}.md-viewer-actions{display:flex;gap:8px;margin-top:12px;justify-content:center}.md-viewer-btn{padding:8px 20px;border-radius:6px;border:none;font-family:Inter,sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:filter .15s;letter-spacing:.5px}.md-viewer-btn:hover{filter:brightness(1.1)}.md-viewer-btn.copy{background:var(--btn-primary);color:#fff}.md-viewer-btn.close-btn{background:#334155;color:var(--text-secondary)}@media(max-width:700px){.md-viewer-modal{min-width:90vw}}.confirm-modal{min-width:340px;text-align:center;background:var(--bg-panel);border-radius:16px;padding:32px 32px 24px;gap:8px;display:flex;flex-direction:column;align-items:center}.confirm-icon{width:48px;height:48px;margin-bottom:4px;color:var(--accent-gold);display:flex;align-items:center;justify-content:center}.confirm-icon svg{width:48px;height:48px}.confirm-title{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.confirm-subtitle{font-size:14px;color:var(--text-secondary);max-width:280px;text-align:center;line-height:1.5;margin-bottom:8px}.confirm-msg{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:20px;line-height:1.6;display:none}.confirm-actions{display:flex;gap:12px;width:100%;padding-top:16px}.confirm-actions .form-btn{flex:1;height:44px;border-radius:8px;font-size:14px;font-weight:700}.confirm-actions .save-home{background:var(--clock-green);color:#fff;border-color:var(--clock-green)}.confirm-actions .save-home:hover{filter:brightness(1.1)}.confirm-actions .cancel-btn{background:#334155;color:var(--text-secondary);border-color:#334155}.confirm-actions .cancel-btn:hover{background:#3e4c5e}#statusGameId.recovery-link{color:#ef4444;font-weight:700;text-decoration:underline;cursor:pointer}#statusGameId.recovery-link:hover{color:#f87171}.center-divider{width:2px;min-width:2px;background:var(--border-color)}@media(max-width:900px){.team-name{font-size:14px}.clock-text{font-size:32px}.clock-area{width:180px;min-width:180px}.score-box{width:48px;height:48px;min-width:48px;font-size:28px}.team-logo{width:40px;height:40px;min-width:40px}.cell.assist,.cell.infraction,.col-header .assist-col,.col-header .infraction-col{display:none}.header{padding:8px;gap:8px}.banner{padding:8px 12px;gap:8px}}@media(max-width:600px){.header{height:90px;min-height:90px}.clock-area{width:140px;min-width:140px}.clock-text{font-size:26px}.clock-display{padding:4px 12px}.score-box{width:40px;height:40px;min-width:40px;font-size:22px}.team-logo{width:32px;height:32px;min-width:32px;font-size:14px}.team-name{font-size:12px}.team-label{font-size:8px}.cell.minutes{display:none}}.shots-strip{display:flex;align-items:center;gap:8px;padding:5px 12px;border-bottom:1px solid var(--row-border);font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--text-muted)}.shots-strip .shots-value{font-family:JetBrains Mono,monospace;font-weight:800;font-size:14px;color:var(--text-primary);min-width:28px;text-align:center}.shots-strip .shots-total{margin-left:auto;font-family:JetBrains Mono,monospace}.strength-row{display:flex;gap:6px}.strength-btn{flex:1;padding:9px 0;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:1px;cursor:pointer}.strength-btn.active.home{background:var(--accent-home);border-color:var(--accent-home);color:#fff}.strength-btn.active.visitor{background:var(--accent-visitor);border-color:var(--accent-visitor);color:#fff}
