:root{--color-bg: #0a0f14;--color-surface: #111921;--color-surface-elevated: #1a2530;--color-border: #2a3a4a;--color-text: #e8eef4;--color-text-muted: #7a8a9a;--color-accent: #00d4aa;--color-accent-hover: #00ffcc;--color-accent-dim: rgba(0, 212, 170, .15);--color-error: #ff6b6b;--font-family: "DM Sans", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-glow: 0 0 60px rgba(0, 212, 170, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{font-size:clamp(13px,1.6vh,16px)}body{font-family:var(--font-family);font-size:1rem;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.loading-container{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-surface-elevated);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.login-container{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-backdrop{position:absolute;inset:0;overflow:hidden;z-index:0}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,170,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,170,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%)}.gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:radial-gradient(circle,var(--color-accent) 0%,transparent 70%);top:-200px;right:-100px;animation-delay:0s}.orb-2{width:400px;height:400px;background:radial-gradient(circle,#0066ff 0%,transparent 70%);bottom:-150px;left:-100px;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-glow)}.login-header{text-align:center;margin-bottom:2rem}.logo{width:56px;height:56px;margin:0 auto 1rem;color:var(--color-accent)}.logo svg{width:100%;height:100%}.login-header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.login-header .subtitle{color:var(--color-text-muted);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.input-group input{width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .2s,box-shadow .2s}.input-group input::placeholder{color:var(--color-text-muted);opacity:.6}.input-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.error-message{padding:.75rem 1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem;text-align:center}.login-button{width:100%;padding:.875rem;font-family:inherit;font-size:1rem;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s,transform .1s;display:flex;align-items:center;justify-content:center;min-height:52px}.login-button:hover:not(:disabled){background:var(--color-accent-hover)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:var(--color-bg);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{margin-top:1.5rem;text-align:center}.forgot-link{color:var(--color-text-muted);font-size:.875rem;text-decoration:none;transition:color .2s}.forgot-link:hover{color:var(--color-accent)}.page-footer{position:absolute;bottom:1.5rem;color:var(--color-text-muted);font-size:.75rem}.dashboard{height:100vh;display:flex;flex-direction:column;overflow:hidden}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;position:relative}.header-left{display:flex;align-items:center;gap:.75rem}.header-back-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,color .2s}.header-back-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.dashboard-header h1{font-size:1.25rem;font-weight:600}.header-version{font-family:JetBrains Mono,SF Mono,monospace;font-size:.7rem;color:var(--color-text-muted);opacity:.7}.update-available-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:.35rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;animation:pulse-glow 2s ease-in-out infinite;box-shadow:0 2px 8px #ff6b3566;transition:transform .15s ease,box-shadow .15s ease}.update-available-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff6b3599}.update-available-btn:active{transform:scale(.98)}@keyframes pulse-glow{0%,to{box-shadow:0 2px 8px #ff6b3566}50%{box-shadow:0 2px 16px #ff6b35b3}}.header-match-id{font-family:JetBrains Mono,SF Mono,monospace;font-size:.75rem;color:var(--color-text-muted);padding:.25rem .5rem;background:var(--color-surface-elevated);border-radius:var(--radius-sm)}.header-match-id-container{display:inline-flex;align-items:center;gap:.35rem}.header-copy-btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,color .2s,background-color .2s}.header-copy-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim)}.header-copy-btn:active{transform:scale(.96)}.header-right{display:flex;align-items:center;gap:1rem}.staff-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#1a1a2e;font-size:.675rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.user-name{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.logout-btn{padding:.5rem 1rem;font-family:inherit;font-size:.875rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,color .2s}.logout-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.hotkeys-help-btn{width:28px;height:28px;padding:0;font-family:inherit;font-size:1rem;font-weight:700;color:var(--color-text-muted);background:transparent;border:2px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hotkeys-help-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim);transform:scale(1.05)}.hotkeys-help-btn:active{transform:scale(.95)}.dashboard-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.match-list-container{flex:1;display:flex;flex-direction:column;padding:2rem;max-width:900px;margin:0 auto;width:100%}.completed-list-container{max-width:80vw}.match-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.match-list-header h2{font-size:1.5rem;font-weight:600}.refresh-btn{padding:.5rem 1rem;font-family:inherit;font-size:.875rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,background-color .2s}.refresh-btn:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.match-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.match-table{width:100%;border-collapse:collapse;table-layout:fixed}.match-table th{text-align:left;padding:1rem 1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.match-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.match-row{cursor:pointer;transition:background-color .15s}.match-row:hover{background:var(--color-surface-elevated)}.match-row:focus{outline:none;background:var(--color-accent-dim)}.match-row:last-child td{border-bottom:none}.match-id{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-accent)}.match-date{color:var(--color-text-muted);font-size:.875rem}.match-status{text-align:center;white-space:nowrap}.match-row-wip{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.match-row-wip:hover{background:color-mix(in srgb,var(--color-accent) 15%,transparent)}.wip-badge{display:inline-block;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 15%,transparent);border-radius:var(--radius-sm)}.invalid-btn{display:inline-block;margin-left:.5rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#ef4444;background:color-mix(in srgb,#ef4444 12%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,transparent);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.invalid-btn:hover{background:color-mix(in srgb,#ef4444 22%,transparent);border-color:color-mix(in srgb,#ef4444 50%,transparent)}.clear-btn{display:inline-block;margin-left:.5rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#eab308;background:color-mix(in srgb,#eab308 12%,transparent);border:1px solid color-mix(in srgb,#eab308 30%,transparent);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.clear-btn:hover{background:color-mix(in srgb,#eab308 22%,transparent);border-color:color-mix(in srgb,#eab308 50%,transparent)}.unassign-btn{display:inline-block;margin-left:.5rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,transparent);border:1px solid color-mix(in srgb,#f59e0b 30%,transparent);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.unassign-btn:hover{background:color-mix(in srgb,#f59e0b 22%,transparent);border-color:color-mix(in srgb,#f59e0b 50%,transparent)}.match-confirm-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .2s ease-out}.match-confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;max-width:450px;width:90%;box-shadow:0 20px 60px #00000080;animation:modal-slide-in .3s ease-out}.match-confirm-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 1rem;text-align:center}.match-confirm-message{font-size:1rem;color:var(--color-text);margin:0 0 .75rem;text-align:center;line-height:1.5}.match-confirm-warning{font-size:.875rem;color:#fbbf24;margin:0 0 1.5rem;text-align:center;padding:.75rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-sm)}.match-confirm-buttons{display:flex;gap:1rem;justify-content:center}.match-confirm-cancel-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,border-color .15s}.match-confirm-cancel-btn:hover{background:var(--color-surface);border-color:var(--color-text-muted)}.match-confirm-action-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,transform .1s}.match-confirm-action-btn:active{transform:scale(.98)}.match-confirm-action-btn-danger{background:#ef4444}.match-confirm-action-btn-danger:hover{background:#dc2626}.match-confirm-action-btn-warning{background:#eab308}.match-confirm-action-btn-warning:hover{background:#ca8a04}.match-row-selected{background:color-mix(in srgb,var(--color-accent) 12%,transparent);box-shadow:inset 0 0 0 2px var(--color-accent)}.match-row-selected:hover{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.match-actions{text-align:right}.mode-buttons{display:flex;gap:.5rem;justify-content:flex-end}.mode-btn{padding:.375rem .875rem;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:opacity .15s,transform .1s}.mode-btn:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-btn-annotate{background:var(--color-accent);color:var(--color-bg)}.mode-btn-review{background:var(--color-text-muted);color:var(--color-bg)}.match-hint{margin-top:1rem;text-align:center;color:var(--color-text-muted);font-size:.8125rem}.completed-match-table{table-layout:auto}.completed-match-row td{vertical-align:middle}.completed-download-btn{min-width:110px;text-transform:none;letter-spacing:normal}.completed-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem}.completed-pagination-label{color:var(--color-text-muted);font-size:.875rem}.completed-page-input{max-width:90px;text-align:center}.completed-pagination-btn{min-width:88px}.show-completed-fab{position:fixed;right:2rem;bottom:2rem;z-index:300;padding:1rem 1.5rem;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-bg);font-size:1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 24px color-mix(in srgb,var(--color-accent) 35%,transparent);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.show-completed-fab:hover{transform:translateY(-1px);box-shadow:0 12px 28px color-mix(in srgb,var(--color-accent) 45%,transparent)}.show-completed-fab:active{transform:translateY(0)}.manual-uuid-section{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.manual-uuid-label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.5rem}.manual-uuid-input-row{display:flex;gap:.5rem}.manual-uuid-input{flex:1;padding:.625rem .875rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color .2s,box-shadow .2s}.manual-uuid-input::placeholder{color:var(--color-text-muted);opacity:.5}.manual-uuid-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.manual-uuid-input:disabled{opacity:.6;cursor:not-allowed}.manual-uuid-btn{padding:.625rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,opacity .2s;min-width:70px;display:flex;align-items:center;justify-content:center}.manual-uuid-btn:hover:not(:disabled){background:var(--color-accent-hover)}.manual-uuid-btn:disabled{opacity:.5;cursor:not-allowed}.manual-uuid-btn.mode-btn-annotate{background:var(--color-accent)}.manual-uuid-btn.mode-btn-annotate:hover:not(:disabled){background:var(--color-accent-hover)}.manual-uuid-btn.mode-btn-review{background:var(--color-text-muted)}.manual-uuid-btn.mode-btn-review:hover:not(:disabled){background:var(--color-text)}.manual-uuid-hint{margin-top:.5rem;font-size:.6875rem;color:var(--color-text-muted);opacity:.7}.spinner-small{width:14px;height:14px;border:2px solid transparent;border-top-color:var(--color-bg);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:3rem;color:var(--color-text-muted)}.empty-state p{margin-bottom:.5rem}.empty-state-hint{font-size:.875rem;opacity:.7}.error-banner{padding:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-sm);color:var(--color-error);text-align:center;margin-bottom:1rem}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;z-index:1000;animation:toast-in .3s ease-out}.toast-error{background:#ff6b6bf2;color:#fff;box-shadow:0 4px 20px #ff6b6b4d}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.video-player-container{flex:1;display:flex;flex-direction:column;padding:.75rem 1rem 1rem;overflow:hidden;height:100%;box-sizing:border-box}.video-wrapper{flex:1;display:flex;justify-content:center;align-items:center;background:#000;border-radius:var(--radius-md);overflow:hidden;min-height:0;position:relative}.video-element{position:absolute;top:50%;left:50%;object-fit:contain;background:#000;display:block;will-change:transform}.webgl-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:10}.video-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;z-index:20;gap:1rem}.video-loading-spinner{width:48px;height:48px;border:3px solid var(--color-surface-elevated);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.video-loading-text{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.video-insufficient-data-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0f14f2;z-index:25;gap:1rem;padding:2rem;text-align:center}.insufficient-data-icon{font-size:3rem;margin-bottom:.5rem}.insufficient-data-title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0}.insufficient-data-message{font-size:1rem;color:var(--color-text-muted);max-width:400px;margin:0;line-height:1.5}.insufficient-data-hint{font-size:.875rem;color:var(--color-text-muted);opacity:.7;max-width:360px;margin:0}.insufficient-data-back-btn{margin-top:1rem;padding:.75rem 1.5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.insufficient-data-back-btn:hover{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-accent)}.insufficient-data-back-btn{display:inline-flex;align-items:center;gap:.5rem}.back-arrow-icon{width:18px;height:18px;flex-shrink:0}.video-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;background:var(--color-bg);flex-shrink:0}.control-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;font-family:inherit;font-size:.875rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background-color .15s;min-width:2.5rem;height:2rem}.control-btn:hover{border-color:var(--color-accent);background:var(--color-surface-elevated)}.play-btn{min-width:3rem;font-size:1rem}.play-icon,.pause-icon{width:18px;height:18px}.speed-selector{position:relative}.speed-btn{font-family:JetBrains Mono,SF Mono,monospace;font-size:.75rem;min-width:2.75rem;font-weight:500}.speed-menu{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0006;overflow:hidden;z-index:100;min-width:64px}.speed-menu-item{display:block;width:100%;padding:.5rem .75rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.75rem;color:var(--color-text);background:transparent;border:none;cursor:pointer;text-align:center;transition:background-color .15s}.speed-menu-item:hover{background:var(--color-surface-elevated)}.speed-menu-item.active{color:var(--color-accent);background:var(--color-accent-dim)}.mute-btn{position:relative;padding:.5rem}.mute-icon{width:16px;height:16px;color:var(--color-text)}.mute-cross{position:absolute;width:16px;height:16px;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.overlay-btn{position:relative;padding:.5rem}.overlay-icon{width:16px;height:16px;color:var(--color-text)}.overlay-cross,.overlay-pause-indicator{position:absolute;width:16px;height:16px;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.zoom-btn{position:relative;padding:.5rem}.zoom-btn.active{background:var(--color-accent-dim);border-color:var(--color-accent)}.zoom-icon{width:16px;height:16px;color:var(--color-text)}.zoom-btn.active .zoom-icon{color:var(--color-accent)}.reset-view-btn{position:relative;padding:.5rem}.reset-view-btn.active{background:var(--color-accent-dim);border-color:var(--color-accent)}.reset-view-icon{width:16px;height:16px;color:var(--color-text)}.reset-view-btn.active .reset-view-icon{color:var(--color-accent)}.zoom-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:15}.time-display{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-accent);min-width:100px;text-align:center}.seek-buttons{display:flex;gap:.25rem}.seek-btn{font-size:.75rem;padding:.375rem .5rem;min-width:auto}.timeline-event-nav-btn{display:flex;align-items:center;justify-content:center;padding:.375rem .5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:#f59e0b;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.timeline-event-nav-btn:hover{color:#fff;background:#f59e0b33;border-color:#f59e0b}.skip-icon{width:16px;height:16px}.new-event-btn{background:#06c;border-color:#05a;color:#fff;font-weight:600;padding:.5rem .75rem;margin-left:.5rem}.new-event-btn:hover{background:#07e;border-color:#06c}.progress-container{flex:1;height:2rem;display:flex;align-items:center;cursor:pointer;padding:0 .5rem}.progress-bar{position:relative;width:100%;height:4px;background:var(--color-surface-elevated);border-radius:2px;overflow:visible}.progress-filled{height:100%;background:var(--color-accent);border-radius:2px;transition:width .1s linear}.progress-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--color-accent);border-radius:50%;box-shadow:0 0 4px #00d4aa80;transition:transform .1s,box-shadow .15s}.progress-container:hover .progress-handle{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 8px #00d4aab3}.timeline-section{margin-top:.5rem;flex-shrink:0}.timeline-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:1rem}.timeline-header-left{display:flex;align-items:center;gap:1rem}.timeline-mode-selector{display:flex;align-items:center;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;height:28px}.timeline-mode-btn{padding:0 .625rem;height:100%;font-family:inherit;font-size:.6875rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:none;border-right:1px solid var(--color-border);cursor:pointer;transition:background-color .15s,color .15s;white-space:nowrap}.timeline-mode-btn:last-child{border-right:none}.timeline-mode-btn:hover{background:var(--color-surface-elevated);color:var(--color-text)}.timeline-mode-btn.active{background:var(--color-accent-dim);color:var(--color-accent)}.timeline-title{font-size:.875rem;font-weight:600;color:var(--color-text)}.timeline-info{font-size:.75rem;color:var(--color-text-muted)}.timeline-info.timeline-range{padding-left:.75rem;border-left:1px solid var(--color-border);margin-left:.75rem;font-family:monospace}.timeline-zoom{display:flex;align-items:center;gap:.5rem}.timeline-zoom-label{font-size:.75rem;color:var(--color-text-muted)}.timeline-zoom-slider{width:100px;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-surface-elevated);border-radius:2px;outline:none;cursor:pointer}.timeline-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--color-accent);border-radius:50%;cursor:pointer;transition:transform .15s}.timeline-zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.timeline-zoom-slider::-moz-range-thumb{width:12px;height:12px;background:var(--color-accent);border-radius:50%;border:none;cursor:pointer}.timeline-zoom-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;color:var(--color-accent);min-width:48px;text-align:right}.timeline-body{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);position:relative}.timeline-labels{flex-shrink:0;background:var(--color-surface-elevated);border-right:1px solid var(--color-border);z-index:5;overflow:hidden}.timeline-row-label{display:flex;align-items:center;padding:0 .5rem;font-size:.625rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.1);min-width:80px;box-sizing:border-box}.timeline-markers-label{background:transparent;border-bottom:none}.timeline-wrapper{position:relative;flex:1;min-width:0;overflow:hidden}.timeline-container{overflow-x:auto;overflow-y:hidden;cursor:pointer}.timeline-content,.timeline-row{position:relative}.timeline-markers-row{background:#0003}.timeline-event{transition:opacity .15s,transform .1s}.timeline-event:hover{opacity:1;transform:scaleY(1.1);z-index:5}.timeline-event-label{display:block;width:100%;height:100%;padding:0 4px;font-size:10px;font-weight:500;line-height:16px;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;box-sizing:border-box}.timeline-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--color-error);z-index:20;pointer-events:none;box-shadow:0 0 4px #ff6b6b80}.timeline-playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-error)}.timeline-overflow-controls{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.375rem;z-index:10}.timeline-overflow-btn{width:24px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.625rem;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.timeline-overflow-btn:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-accent);border-color:var(--color-accent)}.timeline-overflow-btn:disabled{opacity:.3;cursor:not-allowed}.timeline-overflow-info{font-family:JetBrains Mono,SF Mono,monospace;font-size:.5625rem;color:var(--color-text-muted);white-space:nowrap;padding:.125rem 0}.timeline-item{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border-right:1px solid var(--color-border);transition:background-color .15s;box-sizing:border-box}.timeline-item:hover{background:var(--color-surface-elevated)}.timeline-item-marker{width:6px;height:6px;background:var(--color-accent);border-radius:50%;margin-bottom:.125rem;flex-shrink:0}.timeline-item-time{font-family:JetBrains Mono,SF Mono,monospace;font-size:.5625rem;color:var(--color-text-muted);white-space:nowrap}@media(max-width:480px){.login-container{padding:1rem}.login-card{padding:1.5rem}.login-header h1{font-size:1.5rem}}.event-detail-popup{position:absolute;top:0;left:50%;transform:translate(-50%);max-width:50%;min-width:340px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 32px #00000080;z-index:100;display:flex;flex-direction:column;overflow:hidden}.event-detail-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.event-team{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:inherit}button.event-team.clickable{cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;-webkit-appearance:none;appearance:none}button.event-team.clickable:hover{transform:scale(1.05)}button.event-team.clickable:active{transform:scale(.98)}.event-team.team-left{background:var(--team-bg, rgba(51, 102, 255, .2));color:var(--team-text, #6699ff);border:1px solid var(--team-border, rgba(51, 102, 255, .3))}button.event-team.team-left.clickable:hover{background:var(--team-bg-hover, rgba(51, 102, 255, .35));border-color:var(--team-border-hover, rgba(51, 102, 255, .5))}.event-team.team-right{background:var(--team-bg, rgba(255, 51, 51, .2));color:var(--team-text, #ff6666);border:1px solid var(--team-border, rgba(255, 51, 51, .3))}button.event-team.team-right.clickable:hover{background:var(--team-bg-hover, rgba(255, 51, 51, .35));border-color:var(--team-border-hover, rgba(255, 51, 51, .5))}.event-team.team-unselected{background:#ffa50026;color:#fa0;border:1px dashed rgba(255,165,0,.5);animation:pulse-border 1.5s ease-in-out infinite}button.event-team.team-unselected.clickable:hover{background:#ffa50040;border-color:#ffa500b3}@keyframes pulse-border{0%,to{border-color:#ffa5004d}50%{border-color:#ffa500b3}}.event-title-section{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.event-name{font-size:1rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-name-select{font-size:.9rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.25rem .5rem;cursor:pointer;outline:none;min-width:100px}.event-name-select:hover{border-color:var(--color-accent)}.event-name-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.event-name-select option{background:var(--color-surface);color:var(--color-text)}.event-confidence{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.event-optimal-badge{padding:.125rem .375rem;background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3);border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.event-period-timestamp{font-size:.75rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);padding:.25rem .5rem;border-radius:4px;font-family:var(--font-mono);white-space:nowrap;margin-right:.25rem}.event-close-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;border-radius:4px;transition:background-color .15s,color .15s}.event-close-btn:hover{background:var(--color-surface);color:var(--color-text-primary)}.event-detail-body{padding:.625rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.event-detail-row{display:flex;align-items:center;gap:.5rem}.event-detail-main-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.event-jersey-section,.event-coords-section,.event-timestamp-section{display:flex;align-items:center;gap:.625rem}.event-label-inline{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.event-label{font-size:.8125rem;color:var(--color-text-muted);min-width:80px}.event-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-text-primary)}.event-coords-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:500;color:var(--color-text-primary);transition:color .2s}.event-coords-value.proposed{color:#4ade80}.event-timestamp-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:.875rem;font-weight:500;color:var(--color-text-primary);transition:color .15s,background-color .15s}.event-timestamp-value.clickable{cursor:pointer;padding:.125rem .375rem;border-radius:3px;background:#ffffff0d}.event-timestamp-value.clickable:hover{color:#60a5fa;background:#60a5fa26}.event-play-range-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#22c55e26;border:1px solid rgba(34,197,94,.4);border-radius:4px;color:#4ade80;font-size:.625rem;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;margin-left:.375rem}.event-play-range-btn:hover{background:#22c55e40;border-color:#22c55e99;transform:scale(1.1)}.event-play-range-btn:active{transform:scale(.95)}.event-set-timestamp-btn{padding:.15rem .4rem;margin-left:-.25rem;background:#3b82f626;border:1px solid rgba(59,130,246,.4);border-radius:4px;color:#60a5fa;font-size:.625rem;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.event-set-timestamp-btn:hover:not(:disabled){background:#3b82f640;border-color:#3b82f699}.event-set-timestamp-btn:disabled{opacity:.5;cursor:not-allowed}.event-jersey-input-container{display:flex;align-items:center;gap:.5rem}.event-jersey-input{width:52px;padding:.5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:600;text-align:center;transition:border-color .15s,background-color .15s}.event-jersey-input:focus{outline:none;border-color:var(--color-accent)}.event-jersey-input::placeholder{color:#fff6;font-weight:400}.event-jersey-input.empty{background:#f333;border-color:#ff333380}.event-jersey-input.empty:focus{border-color:#f33c}.event-jersey-warning{color:#f59e0b;font-size:1rem;cursor:help;margin-left:.25rem}.event-label-inline.track-label{color:#fbbf24;font-weight:600}.event-track-display{width:52px;padding:.5rem;background:#fbbf2426;border:1px solid rgba(251,191,36,.4);border-radius:4px;color:#fbbf24;font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:600;text-align:center}.suggestion-track-id{font-size:.625rem;font-weight:700;line-height:1;color:var(--team-chip-track-text, #fbbf24)}.event-propose-btn{padding:.375rem .625rem;background:#ffd90026;border:1px solid rgba(255,217,0,.4);border-radius:4px;color:#ffd900;font-size:.8125rem;font-weight:600;font-family:JetBrains Mono,SF Mono,monospace;cursor:pointer;transition:background-color .15s,border-color .15s}.event-propose-btn:hover{background:#ffd90040;border-color:#ffd90099}.event-error{padding:.5rem;background:#ff33331a;border:1px solid rgba(255,51,51,.3);border-radius:4px;color:var(--color-error);font-size:.75rem;text-align:center}.event-suggestion-type-row{display:flex;align-items:center;gap:.75rem;padding:.25rem 0 0}.event-suggestion-area{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.event-type-section{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.event-type-select{font-size:.8125rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.25rem .375rem;cursor:pointer;outline:none;width:120px}.event-type-select:hover{border-color:var(--color-accent)}.event-type-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.event-type-select option{background:var(--color-surface);color:var(--color-text)}.event-suggestion-label{font-size:.8125rem;color:var(--color-text-muted);font-weight:500;cursor:help}.event-suggestion-players{display:flex;align-items:center;gap:.5rem;flex:1;cursor:help}.event-suggestion-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s;border:2px solid}.event-suggestion-btn.team-left{background:var(--team-chip-bg, rgba(59, 130, 246, .9));border-color:var(--team-chip-border, rgba(59, 130, 246, 1));color:var(--team-chip-text, white)}.event-suggestion-btn.team-left:hover{transform:scale(1.15);box-shadow:0 0 12px var(--team-chip-shadow, rgba(59, 130, 246, .5))}.event-suggestion-btn.team-right{background:var(--team-chip-bg, rgba(239, 68, 68, .9));border-color:var(--team-chip-border, rgba(239, 68, 68, 1));color:var(--team-chip-text, white)}.event-suggestion-btn.team-right:hover{transform:scale(1.15);box-shadow:0 0 12px var(--team-chip-shadow, rgba(239, 68, 68, .5))}.event-suggestion-btn.invalid-track{background:repeating-linear-gradient(135deg,#fffffff5 0px 6px,#fbbf24f5 6px 12px);border-color:#475569e6;color:#111827}.event-suggestion-btn.invalid-track:hover{transform:scale(1.15);box-shadow:0 0 12px #4755694d}.event-suggestion-btn.invalid-track .suggestion-jersey{color:#111827;text-shadow:0 0 2px rgba(255,255,255,.55)}.event-suggestion-btn:active{transform:scale(.95)}.suggestion-jersey{font-size:.8125rem;font-weight:700;line-height:1;color:var(--team-chip-jersey-text, var(--team-chip-text, white))}.suggestion-hotkey{position:absolute;bottom:-6px;right:-6px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:.5625rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace;background:#9ca3af;color:#111827;border-radius:3px}.event-detail-footer{padding:.625rem 1rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.event-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-size:1rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.event-nav-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.event-nav-btn:disabled{opacity:.3;cursor:not-allowed}.event-nav-btn.interactive-next{background:#f59e0b33;border-color:#f59e0b80;color:#fbbf24;font-size:.875rem;min-width:40px}.event-nav-btn.interactive-next:hover:not(:disabled){background:#f59e0b59;border-color:#f59e0b;color:#fcd34d}.event-footer-center{flex:1;display:flex;justify-content:space-evenly;align-items:center}.event-delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#f87171;font-size:.875rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.event-delete-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef444480;color:#ef4444}.event-delete-btn:disabled{opacity:.6;cursor:not-allowed}.event-lineup-warning{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#dc2626;border-radius:50%;color:#fff;font-size:.875rem;font-weight:700;cursor:help;animation:pulse-warning 1.5s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 6px #dc262600}}.event-pass-row{display:flex;align-items:center;gap:1rem;padding:.25rem 0 0;border-top:1px solid var(--color-border);margin-top:.5rem}.event-pass-warning{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#eab308;border-radius:50%;color:#1a1a1a;font-size:.75rem;font-weight:700;cursor:help;flex-shrink:0}.event-pass-section{display:flex;align-items:center;gap:.5rem}.event-recipient-input{width:44px;padding:.375rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:JetBrains Mono,SF Mono,monospace;font-size:.875rem;font-weight:600;text-align:center;transition:border-color .15s,background-color .15s}.event-recipient-input:focus{outline:none;border-color:var(--color-accent)}.event-recipient-input::placeholder{color:#fff6;font-weight:400}.event-recipient-input.empty{background:#ffa5001a;border-color:#ffa50066}.event-outcome-btn{padding:.25rem .5rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;min-width:70px;text-align:center}.event-outcome-btn:hover{transform:scale(1.05)}.event-outcome-btn:active{transform:scale(.98)}.event-outcome-btn.outcome-unknown{background:#6b728033;border:1px solid rgba(107,114,128,.4);color:#9ca3af}.event-outcome-btn.outcome-pending{background:#eab30826;border:1px solid rgba(234,179,8,.4);color:#facc15}.event-outcome-btn.outcome-success{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#4ade80}.event-outcome-btn.outcome-intercept{background:#fbbf2433;border:1px solid rgba(251,191,36,.4);color:#fbbf24}.event-outcome-btn.outcome-failed{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#f87171}.event-outcome-btn.outcome-goal{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#4ade80}.event-outcome-btn.outcome-out{background:#f9731633;border:1px solid rgba(249,115,22,.4);color:#fb923c}.event-outcome-btn.outcome-saved{background:#3b82f633;border:1px solid rgba(59,130,246,.4);color:#60a5fa}.event-pass-length{font-family:JetBrains Mono,SF Mono,monospace;font-size:.875rem;font-weight:500;color:var(--color-text-muted);min-width:36px}.event-pass-cross-btn{padding:.25rem .5rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;min-width:52px;text-align:center}.event-pass-cross-btn:hover{transform:scale(1.05)}.event-pass-cross-btn:active{transform:scale(.98)}.event-pass-cross-btn.cross-yes{background:#10b98133;border:1px solid rgba(16,185,129,.4);color:#34d399}.event-pass-cross-btn.cross-no{background:#f9731633;border:1px solid rgba(249,115,22,.4);color:#fb923c}.event-assist-badge{padding:.125rem .5rem;background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.4);border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.event-shot-row{display:flex;align-items:center;gap:1rem;padding:.25rem 0 0;border-top:1px solid var(--color-border);margin-top:.5rem}.event-shot-section{display:flex;align-items:center;gap:.5rem}.event-shot-type-btn{padding:.25rem .5rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;min-width:70px;text-align:center}.event-shot-type-btn:hover{transform:scale(1.05)}.event-shot-type-btn:active{transform:scale(.98)}.event-shot-type-btn.shot-type-unknown{background:#6b728033;border:1px solid rgba(107,114,128,.4);color:#9ca3af}.event-shot-type-btn.shot-type-set{background:#3b82f633;border:1px solid rgba(59,130,246,.4);color:#60a5fa}.event-save-row{display:flex;align-items:center;gap:1rem;padding:.25rem 0 0;border-top:1px solid var(--color-border);margin-top:.5rem}.event-save-section{display:flex;align-items:center;gap:.5rem}.event-save-type-btn{padding:.25rem .5rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:background .1s,transform .1s;min-width:70px;text-align:center}.event-save-type-btn:hover{transform:scale(1.05)}.event-save-type-btn:active{transform:scale(.98)}.event-save-type-btn.save-type-empty{background:#6b728033;border:1px solid rgba(107,114,128,.4);color:#9ca3af}.event-save-type-btn.save-type-set{background:#10b98133;border:1px solid rgba(16,185,129,.4);color:#34d399}.event-goal-row{display:flex;align-items:center;gap:1rem;padding:.25rem 0 0;border-top:1px solid var(--color-border);margin-top:.5rem}.event-goal-section{display:flex;align-items:center;gap:.5rem}.event-goal-scorer{font-family:JetBrains Mono,SF Mono,monospace;font-size:.875rem;font-weight:600;padding:.125rem .5rem;border-radius:4px;min-width:50px;text-align:center}.event-goal-scorer.empty{color:#9ca3af;font-style:italic;font-weight:400;font-size:.75rem}.event-goal-scorer.team-left{color:var(--team-scorer-text, rgba(51, 102, 255, .9))}.event-goal-scorer.team-right{color:var(--team-scorer-text, rgba(255, 51, 51, .9))}.event-goal-own-btn{padding:.25rem .75rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;min-width:70px;text-align:center;background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#4ade80}.event-goal-own-btn:hover{transform:scale(1.05)}.event-goal-own-btn:active{transform:scale(.98)}.event-goal-own-btn.own-goal-active{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#f87171}.event-outcome-only-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-top:1px solid var(--color-border);margin-top:.5rem}.event-outcome-section{display:flex;align-items:center;gap:.5rem}.event-duel-aerial-btn{padding:.25rem .5rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;min-width:70px;text-align:center}.event-duel-aerial-btn:hover{transform:scale(1.05)}.event-duel-aerial-btn:active{transform:scale(.98)}.event-duel-aerial-btn.aerial{background:#10b98133;border:1px solid rgba(16,185,129,.4);color:#34d399}.event-duel-aerial-btn.ground{background:#f9731633;border:1px solid rgba(249,115,22,.4);color:#fb923c}.event-duel-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-top:1px solid var(--color-border);margin-top:.5rem;flex-wrap:wrap}.duel-players-section{display:flex;align-items:center;gap:.5rem}.duel-players-list{display:flex;gap:.375rem;flex-wrap:wrap}.duel-player-chip{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace;border:2px solid;color:#fff}.duel-player-chip.team-left{background:var(--team-chip-bg, rgba(59, 130, 246, .9));border-color:var(--team-chip-border, rgba(59, 130, 246, 1));color:var(--team-chip-text, white)}.duel-player-chip.team-right{background:var(--team-chip-bg, rgba(239, 68, 68, .9));border-color:var(--team-chip-border, rgba(239, 68, 68, 1));color:var(--team-chip-text, white)}.duel-player-label{font-size:.8125rem;font-weight:700;line-height:1;color:var(--team-chip-jersey-text, var(--team-chip-text, white))}.duel-track-id{font-size:.625rem;font-weight:700;color:var(--team-chip-track-text, #fbbf24)}.duel-player-remove{position:absolute;top:-6px;right:-6px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;background:#ef4444;color:#fff;border:1.5px solid #1a1a2e;border-radius:50%;cursor:pointer;padding:0;line-height:1;opacity:0;transition:opacity .15s}.duel-player-chip:hover .duel-player-remove{opacity:1}.event-timed-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-top:1px solid var(--color-border);margin-top:.5rem}.event-card-section{display:flex;align-items:center;gap:.375rem}.event-card-btn{width:22px;height:28px;border-radius:3px;border:2px solid;cursor:pointer;transition:opacity .15s,transform .15s,box-shadow .15s;opacity:.35}.event-card-btn:hover{opacity:.7;transform:scale(1.1)}.event-card-btn.card-active{opacity:1;transform:scale(1.15);box-shadow:0 0 6px #ffffff40}.event-card-btn.card-yellow{background:#eab308;border-color:#ca8a04}.event-card-btn.card-red{background:#ef4444;border-color:#dc2626}.event-confirm-btn{padding:.5rem 1.25rem;background:#22c55e;border:none;border-radius:4px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s,transform .1s}.event-confirm-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.event-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.event-confirm-btn.system-proposal{background:#eab308}.event-confirm-btn.system-proposal:hover:not(:disabled){background:#ca8a04}.event-auto-confirm-btn{padding:.125rem .5rem;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#ffffff80;font-size:.625rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s ease;flex-shrink:0}.event-auto-confirm-btn:hover{background:#ffffff1a;border-color:#ffffff80;color:#fffc}.event-auto-confirm-btn.active{background:#3b82f633;border-color:#3b82f6;color:#60a5fa}.event-auto-confirm-btn.active:hover{background:#3b82f64d}.event-delete-confirm-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:8px;z-index:10}.event-delete-confirm-dialog{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;padding:1rem;max-width:90%;text-align:center}.event-delete-confirm-message{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-primary);line-height:1.4}.event-delete-confirm-message strong{color:var(--color-text-primary)}.event-delete-confirm-buttons{display:flex;gap:.75rem;justify-content:center}.event-delete-cancel-btn{padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background-color .15s,border-color .15s}.event-delete-cancel-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-text-muted)}.event-delete-confirm-btn{padding:.5rem 1rem;background:#ef4444;border:none;border-radius:4px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.event-delete-confirm-btn:hover:not(:disabled){background:#dc2626}.event-delete-cancel-btn:disabled,.event-delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.workflow-button-container{position:absolute;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:1rem;align-items:center}.mode-indicator{padding:.375rem 1rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.mode-indicator-annotate{background:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent)}.undo-redo-container{display:flex;gap:.25rem}.undo-redo-btn{width:2.25rem;height:2.25rem;padding:0;font-size:1.25rem;color:#9ca3af;background:#4b55634d;border:1px solid rgba(156,163,175,.25);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.undo-redo-btn:hover:not(:disabled){color:#fff;background:#4b556380;border-color:#9ca3af66}.undo-redo-btn:active:not(:disabled){transform:scale(.95)}.undo-redo-btn:disabled{opacity:.35;cursor:not-allowed}.workflow-btn{padding:.75rem 2rem;font-family:inherit;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform .15s,box-shadow .15s,background-color .15s;text-transform:uppercase;letter-spacing:.5px}.workflow-btn:hover{transform:scale(1.05)}.workflow-btn:active{transform:scale(.98)}.workflow-btn-start{font-size:1.25rem;color:#fff;background:#dc2626;box-shadow:0 4px 20px #dc262666}.workflow-btn-start:hover{background:#b91c1c;box-shadow:0 6px 25px #dc262680}.workflow-btn-continue{font-size:1.25rem;color:#fff;background:#0ea5e9;box-shadow:0 4px 20px #0ea5e966}.workflow-btn-continue:hover{background:#0284c7;box-shadow:0 6px 25px #0ea5e980}.workflow-btn-interactive{font-size:.875rem;padding:.5rem 1rem;color:#9ca3af;background:#9ca3af26;border:2px solid rgba(156,163,175,.4);box-shadow:none}.workflow-btn-interactive:hover{color:#d1d5db;background:#9ca3af40;border-color:#9ca3af99;box-shadow:0 2px 10px #9ca3af33}.workflow-btn-interactive.active{color:#fff;background:#f59e0b;border-color:#d97706;box-shadow:0 4px 16px #f59e0b80}.workflow-btn-interactive.active:hover{background:#d97706;border-color:#b45309;box-shadow:0 6px 20px #f59e0b99}.workflow-btn-cancel{font-size:.75rem;padding:.375rem .75rem;color:#fff;background:#ef4444;box-shadow:0 2px 8px #ef44444d}.workflow-btn-cancel:hover{background:#dc2626;box-shadow:0 3px 12px #ef444466}.workflow-btn-completed{font-size:.75rem;padding:.4rem .75rem;min-width:250px;color:#166534;background:#86efac;box-shadow:0 2px 8px #22c55e40}.workflow-btn-completed:hover{background:#4ade80;box-shadow:0 3px 12px #22c55e59}.event-progress-container{position:relative;min-width:250px;height:32px;padding:.4rem .75rem;font-family:inherit;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-md);background:#14532d;box-shadow:0 2px 8px #22c55e40;overflow:hidden;box-sizing:border-box}.event-progress-fill{position:absolute;top:0;left:0;height:100%;background:#86efac;transition:width .3s ease-out;border-radius:var(--radius-md) 0 0 var(--radius-md)}.event-progress-text{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.finalize-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.finalize-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;max-width:450px;width:90%;box-shadow:0 20px 60px #00000080;animation:modal-slide-in .3s ease-out}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.finalize-modal-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 1rem;text-align:center}.finalize-modal-message{font-size:1rem;color:var(--color-text);margin:0 0 .75rem;text-align:center;line-height:1.5}.finalize-modal-warning{font-size:.875rem;color:#fbbf24;margin:0 0 1.5rem;text-align:center;padding:.75rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-sm)}.finalize-modal-buttons{display:flex;gap:1rem;justify-content:center}.finalize-cancel-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,border-color .15s}.finalize-cancel-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-text-muted)}.finalize-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.finalize-confirm-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:#22c55e;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,transform .1s}.finalize-confirm-btn:hover:not(:disabled){background:#16a34a}.finalize-confirm-btn:active:not(:disabled){transform:scale(.98)}.finalize-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.back-confirm-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:#f59e0b;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,transform .1s}.back-confirm-btn:hover{background:#d97706}.back-confirm-btn:active{transform:scale(.98)}.constraint-violations-dialog{position:fixed;top:60px;right:1rem;width:340px;max-height:calc(100vh - 80px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 32px #00000080;z-index:200;display:flex;flex-direction:column;overflow:hidden}.constraint-violations-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.constraint-violations-title{font-weight:600;font-size:.9375rem;color:var(--color-text-primary)}.constraint-violations-body{flex:1;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.75rem}.constraint-violation-item{padding:.625rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:.375rem}.constraint-violation-description{font-size:.8125rem;font-weight:500;color:#f59e0b}.constraint-violation-section{display:flex;flex-direction:column;gap:.25rem}.constraint-violation-label{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.constraint-violation-links{display:flex;flex-wrap:wrap;gap:.25rem}.constraint-violation-link{background:transparent;border:1px solid var(--color-border);color:#60a5fa;font-size:.75rem;font-family:var(--font-mono);padding:.125rem .375rem;border-radius:4px;cursor:pointer;transition:background-color .15s,color .15s}.constraint-violation-link:hover{background:var(--color-surface);color:#93bbfd}.constraint-violations-footer{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--color-border);flex-shrink:0}.constraint-violations-btn{flex:1;padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,transform .1s}.constraint-violations-btn:disabled{opacity:.6;cursor:not-allowed}.constraint-violations-btn-force{background:#f59e0b;color:#fff}.constraint-violations-btn-force:hover:not(:disabled){background:#d97706}.constraint-violations-btn-retry{background:#22c55e;color:#fff}.constraint-violations-btn-retry:hover:not(:disabled){background:#16a34a}.toast-notification{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#fbbf24;color:#1a1a1a;padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;box-shadow:0 4px 20px #0006;z-index:2000;animation:toast-slide-in .3s ease-out;max-width:90%;text-align:center}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tracking-edit-popup{position:absolute;top:1rem;left:50%;transform:translate(-50%);min-width:280px;max-width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 32px #00000080;z-index:100;display:flex;flex-direction:column;overflow:hidden}.tracking-edit-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.tracking-edit-title{flex:1;font-size:.9375rem;font-weight:600;color:var(--color-text)}.tracking-edit-track-id{font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;color:var(--color-text-muted);padding:.125rem .375rem;background:var(--color-surface);border-radius:4px}.tracking-edit-close-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;border-radius:4px;transition:background-color .15s,color .15s}.tracking-edit-close-btn:hover{background:var(--color-surface);color:var(--color-text)}.tracking-edit-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.tracking-edit-row{display:flex;align-items:center;gap:1rem}.tracking-edit-label{font-size:.875rem;color:var(--color-text-muted);font-weight:500;min-width:50px}.tracking-type-selector{position:relative;flex:1}.tracking-type-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .15s,background-color .15s}.tracking-type-btn:hover{border-color:var(--color-accent);background:var(--color-surface)}.tracking-type-arrow{font-size:.625rem;color:var(--color-text-muted);margin-left:.5rem}.tracking-type-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 12px #0006;overflow:hidden;z-index:110}.tracking-type-menu-item{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;color:var(--color-text);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .15s}.tracking-type-menu-item:hover{background:var(--color-surface-elevated)}.tracking-type-menu-item.active{color:var(--color-accent);background:var(--color-accent-dim)}.tracking-jersey-input-container{flex:1;display:flex;align-items:center;gap:.5rem}.tracking-jersey-input{width:60px;padding:.5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:600;text-align:center;transition:border-color .15s,background-color .15s}.tracking-jersey-input:focus{outline:none;border-color:var(--color-accent)}.tracking-jersey-input::placeholder{color:#fff6;font-weight:400}.tracking-jersey-input.disabled{opacity:.4;background:var(--color-surface);cursor:not-allowed}.tracking-jersey-hint{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.tracking-edit-error{padding:.5rem;background:#ff33331a;border:1px solid rgba(255,51,51,.3);border-radius:4px;color:var(--color-error);font-size:.75rem;text-align:center}.tracking-edit-footer{padding:.75rem 1rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:.75rem}.tracking-cancel-btn{padding:.5rem 1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem;cursor:pointer;transition:background-color .15s,border-color .15s}.tracking-cancel-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-text-muted)}.tracking-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.tracking-apply-btn{padding:.5rem 1.25rem;background:#22c55e;border:none;border-radius:4px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s,transform .1s}.tracking-apply-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.tracking-apply-btn:disabled{opacity:.4;cursor:not-allowed}.hotkeys-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fade-in .2s ease-out;padding:2rem}.hotkeys-modal{position:relative;width:80%;height:80%;max-width:1200px;max-height:800px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 25px 80px #0009;animation:modal-slide-in .3s ease-out;display:flex;flex-direction:column;overflow:hidden}.hotkeys-close-btn{position:absolute;top:1rem;right:1rem;width:36px;height:36px;padding:0;font-size:1.75rem;font-weight:300;line-height:1;color:var(--color-text-muted);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:10}.hotkeys-close-btn:hover{color:var(--color-text);background:var(--color-border);border-color:var(--color-text-muted);transform:scale(1.05)}.hotkeys-modal-title{font-size:1.5rem;font-weight:700;color:var(--color-text);padding:1.5rem 2rem 1rem;margin:0;border-bottom:1px solid var(--color-border);flex-shrink:0}.hotkeys-content{flex:1;overflow-y:auto;padding:1.5rem 2rem 2rem;display:flex;flex-direction:column;gap:2rem}.hotkeys-section{display:flex;flex-direction:column;gap:1rem}.hotkeys-section-title{font-size:1rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.5px;margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.hotkeys-list{display:flex;flex-direction:column;gap:1rem}.hotkey-item{display:flex;gap:1.5rem;padding:1rem;background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.hotkey-keys{display:flex;align-items:flex-start;gap:.5rem;flex-shrink:0;min-width:180px;flex-wrap:wrap}.hotkey-key{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:32px;padding:0 .75rem;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.75rem;font-weight:600;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 2px 0 var(--color-border)}.hotkey-separator{color:var(--color-text-muted);font-size:.75rem;align-self:center}.hotkey-keys.mouse-action{min-width:180px}.mouse-action-label{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:var(--color-text);background:linear-gradient(135deg,#2a3a4a,#1a2530);border:1px solid var(--color-border);border-radius:6px;white-space:nowrap}.hotkey-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.hotkey-action{font-size:1rem;font-weight:600;color:var(--color-text)}.hotkey-details{font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.hotkey-modes{display:flex;flex-direction:column;gap:.375rem;margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.hotkey-mode{display:flex;gap:.5rem;font-size:.8125rem;line-height:1.4}.hotkey-mode-name{color:#fbbf24;font-weight:500;flex-shrink:0}.hotkey-mode-behavior{color:var(--color-text-muted)}.hotkeys-tips{background:var(--color-surface-elevated);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--color-border)}.tips-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.75rem}.tips-list li{font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.tips-list li strong{color:var(--color-text)}.hotkeys-content::-webkit-scrollbar{width:8px}.hotkeys-content::-webkit-scrollbar-track{background:var(--color-surface);border-radius:4px}.hotkeys-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.hotkeys-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.periods-editor-popup{position:absolute;top:1rem;left:50%;transform:translate(-50%);width:620px;max-width:95%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #0006;z-index:100;display:flex;flex-direction:column}.periods-editor-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.periods-editor-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0;flex:1}.periods-editor-add-btn-header{padding:.375rem .625rem;font-family:inherit;font-size:.75rem;font-weight:600;color:var(--color-accent);background:#00d4aa1a;border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,color .15s}.periods-editor-add-btn-header:hover{background:var(--color-accent);color:var(--color-bg)}.periods-editor-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background-color .15s}.periods-editor-close-btn:hover{color:var(--color-error);background:#ff6b6b1a}.periods-editor-body{padding:.75rem 1rem;max-height:380px;overflow-y:auto}.periods-editor-kits-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin-bottom:.75rem;padding:.5rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated)}.periods-editor-kits-title{font-size:.75rem;font-weight:600;color:var(--color-text)}.periods-editor-kit-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--color-text-muted);font-family:JetBrains Mono,SF Mono,monospace}.period-kit-color{width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 0 0 1px #00000026;flex-shrink:0}.periods-editor-empty{padding:2rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.periods-editor-list{display:flex;flex-direction:column;gap:.5rem}.period-row{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.period-id{font-size:.8125rem;font-weight:600;color:var(--color-accent);min-width:60px}.period-timestamps{display:flex;flex-direction:column;gap:.375rem;flex:1;min-width:0}.period-timestamp-group{display:grid;grid-template-columns:36px 140px auto;align-items:center;gap:.5rem}.period-label{font-size:.6875rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:32px}.period-timestamp{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-text);width:140px;text-align:left}.period-timestamp.clickable{cursor:pointer;transition:color .15s}.period-timestamp.clickable:hover{color:var(--color-accent)}.period-set-btn{padding:.25rem .5rem;font-family:inherit;font-size:.6875rem;font-weight:600;color:var(--color-accent);background:#00d4aa1a;border:1px solid var(--color-accent);border-radius:4px;cursor:pointer;transition:background-color .15s,color .15s;margin-left:0;justify-self:start}.period-set-btn:hover{background:var(--color-accent);color:var(--color-bg)}.period-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background-color .15s,border-color .15s;align-self:center}.period-remove-btn:hover{color:var(--color-error);background:#ff6b6b1a;border-color:#ff6b6b4d}.period-kit-mapping-row{display:flex;flex-direction:column;gap:.35rem;min-width:190px;align-self:center}.period-kit-cycle-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.72rem;font-family:JetBrains Mono,SF Mono,monospace;cursor:pointer;transition:border-color .15s}.period-kit-cycle-btn:hover{border-color:var(--color-accent)}.period-kit-cycles{display:flex;align-items:center;gap:.35rem}.period-kit-swap-icon-btn{width:24px;height:32px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:border-color .15s,color .15s}.period-kit-swap-icon-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.period-kit-swap-arrow{line-height:1;font-size:.75rem;font-weight:700}.periods-editor-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid var(--color-border);gap:.75rem}.periods-editor-footer-right{display:flex;align-items:center;gap:.5rem}.periods-editor-add-btn{padding:.5rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s}.periods-editor-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.periods-editor-cancel-btn{padding:.5rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s}.periods-editor-cancel-btn:hover{border-color:var(--color-text-muted);color:var(--color-text)}.periods-editor-confirm-btn{padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s}.periods-editor-confirm-btn:hover{background:var(--color-accent-hover)}.periods-editor-body::-webkit-scrollbar{width:6px}.periods-editor-body::-webkit-scrollbar-track{background:var(--color-surface);border-radius:3px}.periods-editor-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.periods-editor-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.invalid-segment-popup{position:absolute;top:0;left:50%;transform:translate(-50%);width:540px;max-width:92%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #0006;z-index:101;display:flex;flex-direction:column;overflow:hidden}.invalid-segment-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.invalid-segment-title{margin:0;flex:1;font-size:1rem;font-weight:600;color:var(--color-text)}.invalid-segment-body{padding:.875rem 1rem;display:flex;flex-direction:column;gap:.875rem}.invalid-segment-timestamps-line{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:flex-start}.invalid-segment-comment-group{display:flex;flex-direction:column;gap:.375rem}.invalid-segment-comment-label{font-size:.6875rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.invalid-segment-comment-input{width:100%;min-height:3.5rem;resize:vertical;font-family:inherit;font-size:.8125rem;line-height:1.3;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .625rem;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.invalid-segment-comment-input:focus{outline:none;border-color:var(--color-accent)}.invalid-segment-footer{padding:.75rem 1rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.invalid-segment-footer-actions{display:flex;gap:.5rem}.invalid-segment-confirm-btn,.invalid-segment-cancel-btn,.invalid-segment-delete-btn{padding:.4rem .7rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;font-family:inherit;border:1px solid transparent;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.invalid-segment-confirm-btn{color:#fff;border-color:#ff333373;background:#ff3333d9}.invalid-segment-confirm-btn:hover{background:#f33}.invalid-segment-cancel-btn{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-surface-elevated)}.invalid-segment-cancel-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.invalid-segment-delete-btn{color:#ff8080;border-color:#ff333373;background:#ff333314}.invalid-segment-delete-btn:hover{color:#ffd6d6;border-color:#f33c;background:#f333}.timeline-step-controls{display:flex;align-items:center;gap:.5rem;margin-right:auto}.timeline-periods-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s}.timeline-periods-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.timeline-periods-btn svg{opacity:.7}.timeline-periods-btn:hover svg{opacity:1}.timeline-invalid-segment-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-family:inherit;font-size:.75rem;font-weight:600;color:#ff8080;background:#ff33331f;border:1px solid rgba(255,51,51,.45);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.timeline-invalid-segment-btn:hover{color:#ffd6d6;border-color:#f33c;background:#ff333338}.timeline-reactive-pause-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.timeline-reactive-pause-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.timeline-reactive-pause-btn.active{color:var(--color-accent);border-color:var(--color-accent);background:#00d4aa1a}.timeline-reactive-pause-btn svg{opacity:.7}.timeline-reactive-pause-btn:hover svg,.timeline-reactive-pause-btn.active svg{opacity:1}.manual-uuid-btn.replace-btn{background:#b8860b;border-color:#b8860b;color:#fff}.manual-uuid-btn.replace-btn:hover:not(:disabled){background:#d4a017;border-color:#d4a017}.manual-uuid-btn.replace-btn:disabled{background:#b8860b66;border-color:#b8860b66;color:#ffffff80}.jump-to-time-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.jump-to-time-popup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;min-width:280px;box-shadow:0 20px 60px #00000080;animation:modal-slide-in .2s ease-out}.jump-to-time-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.75rem}.jump-to-time-input-row{display:flex;gap:.5rem}.jump-to-time-input{flex:1;padding:.625rem .75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;font-family:var(--font-family);outline:none;transition:border-color .15s}.jump-to-time-input:focus{border-color:var(--color-accent)}.jump-to-time-input::placeholder{color:var(--color-text-muted)}.jump-to-time-btn{padding:.625rem 1rem;background:var(--color-accent);border:none;border-radius:var(--radius-sm);color:var(--color-bg);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s}.jump-to-time-btn:hover{background:var(--color-accent-hover)}.jump-to-time-error{margin-top:.5rem;font-size:.75rem;color:var(--color-error)}.replace-files-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.replace-files-popup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;max-width:500px;box-shadow:0 8px 32px #0006}.replace-files-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.replace-files-header h3{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.replace-files-close-btn{background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;transition:color .15s}.replace-files-close-btn:hover{color:var(--color-text)}.replace-files-description{padding:.75rem 1.25rem;color:var(--color-text-muted);font-size:.8125rem;line-height:1.5;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.replace-files-body{padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.replace-files-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.replace-files-row:last-child{border-bottom:none}.replace-files-label{flex:0 0 140px;font-size:.875rem;font-weight:500;color:var(--color-text)}.replace-files-actions{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.replace-files-filename{flex:1;font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.replace-files-check{color:var(--color-accent);font-size:.875rem;flex-shrink:0}.replace-files-spinner{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.replace-files-clear-btn{background:none;border:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .15s;flex-shrink:0}.replace-files-clear-btn:hover:not(:disabled){color:var(--color-error)}.replace-files-clear-btn:disabled{opacity:.5;cursor:not-allowed}.replace-files-select-btn{padding:.375rem .75rem;font-size:.75rem;font-family:inherit;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,border-color .15s}.replace-files-select-btn:hover:not(:disabled){background:var(--color-border);border-color:var(--color-text-muted)}.replace-files-select-btn:disabled{opacity:.5;cursor:not-allowed}.replace-files-row-error{color:var(--color-error);font-size:.75rem;flex:0 0 100%;margin-top:.25rem}.replace-files-error{padding:.75rem 1.25rem;color:var(--color-error);font-size:.8125rem;background:#ff6b6b1a;border-top:1px solid rgba(255,107,107,.2)}.replace-files-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-surface-elevated);border-radius:0 0 var(--radius-md) var(--radius-md)}.replace-files-cancel-btn{padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s}.replace-files-cancel-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.replace-files-upload-btn{padding:.5rem 1.25rem;font-size:.875rem;font-family:inherit;font-weight:500;color:#fff;background:#b8860b;border:1px solid #b8860b;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,border-color .15s}.replace-files-upload-btn:hover:not(:disabled){background:#d4a017;border-color:#d4a017}.replace-files-upload-btn:disabled{background:#b8860b66;border-color:#b8860b66;cursor:not-allowed}.replace-files-progress-container{display:flex;align-items:center;gap:.75rem;flex:1;max-width:200px}.replace-files-progress-bar{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.replace-files-progress-fill{height:100%;background:var(--color-accent);border-radius:4px;transition:width .3s ease}.replace-files-progress-text{font-size:.75rem;font-weight:500;color:var(--color-text);min-width:36px;text-align:right}
