:root{--val-bg: #0f1923;--val-bg-soft: rgba(15, 25, 35, .85);--val-accent: #ff4655;--val-text: #ece8e1;--val-text-dim: #8ea3b8;--val-teal: #1ee8c4;--val-red: #ff4655;font-family:Segoe UI,Arial Narrow,Arial,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--val-bg);color:var(--val-text)}#app{position:relative;width:100%;height:100%}#viewport{position:absolute;inset:0}#viewport canvas{display:block}#hud{position:absolute;inset:0;pointer-events:none;z-index:10}.hud-root{position:absolute;inset:0;pointer-events:none;font-family:Segoe UI,Arial Narrow,Arial,sans-serif;color:var(--val-text);user-select:none}.hud-root button,.hud-root select,.hud-root input{pointer-events:auto;font-family:inherit}.topbar{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;gap:2px}.topbar .score{min-width:64px;padding:6px 14px;font-size:26px;font-weight:700;text-align:center;background:var(--val-bg-soft);clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px)}.topbar .score.team-0{color:var(--val-teal);border-bottom:2px solid var(--val-teal)}.topbar .score.team-1{color:var(--val-red);border-bottom:2px solid var(--val-red);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.topbar .center{padding:4px 18px;text-align:center;background:var(--val-bg-soft);border-bottom:2px solid var(--val-accent)}.topbar .center .clock{font-size:20px;font-weight:700;letter-spacing:1px}.topbar .center .round-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--val-text-dim)}.spike-banner{position:absolute;top:66px;left:50%;transform:translate(-50%);padding:4px 22px;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#fff;background:var(--val-accent);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 100%,0 100%);animation:spike-pulse 1s ease-in-out infinite}@keyframes spike-pulse{50%{opacity:.55}}.killfeed{position:absolute;top:76px;right:14px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.killfeed .entry{display:flex;gap:8px;align-items:center;padding:4px 12px;font-size:13px;font-weight:600;background:var(--val-bg-soft);border-right:3px solid var(--val-accent);clip-path:polygon(6px 0,100% 0,100% 100%,0 100%,0 6px);animation:feed-in .25s ease-out}.killfeed .entry .arrow{color:var(--val-accent);font-size:11px}.killfeed .kf-side{display:inline-flex;align-items:center;gap:5px}.killfeed .kf-icon{width:22px;height:22px;object-fit:cover;border-radius:2px}@keyframes feed-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.team-rail{position:absolute;top:120px;display:flex;flex-direction:column;gap:4px}.team-rail.left{left:14px}.team-rail.right{right:14px;align-items:flex-end}.rail-card{width:168px;padding:5px 10px;background:var(--val-bg-soft);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);border-left:3px solid var(--rail-color, var(--val-text-dim));transition:opacity .3s;display:flex;align-items:center;gap:8px}.team-rail.right .rail-card{border-left:none;border-right:3px solid var(--rail-color, var(--val-text-dim));clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px);text-align:right;flex-direction:row-reverse}.rail-card .portrait{width:36px;height:36px;object-fit:cover;border-radius:2px;flex-shrink:0;background:#1a2733}.rail-card .rail-text{min-width:0;flex:1}.rail-card.dead .portrait{filter:grayscale(1) brightness(.7)}.rail-card .agent{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--val-text-dim)}.rail-card .ult-badge{margin-left:6px;color:#f5d90a;letter-spacing:1px}.team-rail.right .rail-card .ult-badge{margin-left:0;margin-right:6px}.rail-card .pname{font-size:13px;font-weight:700}.rail-card.dead{opacity:.35}.rail-card.dead .pname{text-decoration:line-through}.rail-card .status{font-size:9px;letter-spacing:2px;text-transform:uppercase}.rail-card .status.alive{color:var(--val-teal)}.rail-card .status.dead{color:var(--val-accent)}.rail-card .rail-meta{display:flex;align-items:center;gap:6px;margin-top:1px}.team-rail.right .rail-card .rail-meta{flex-direction:row-reverse}.rail-card .rail-weapon,.rail-card .rail-credits{font-size:9px;letter-spacing:.5px;color:var(--val-text-dim)}.rail-card .rail-credits:before{content:"¤ ";color:#f5d90a}.pov-hud{position:absolute;left:50%;bottom:78px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.pov-abilities{display:flex;gap:6px}.pov-ability{position:relative;width:42px;height:42px;padding:3px;background:var(--val-bg-soft);border:1px solid rgba(236,232,225,.25);clip-path:polygon(6px 0,100% 0,100% 100%,0 100%,0 6px)}.pov-ability img{width:100%;height:100%;object-fit:contain}.pov-ability.ultimate{border-color:#f5d90a}.pov-ability.dimmed{opacity:.3;filter:grayscale(.6)}.charge-badge{position:absolute;right:-3px;bottom:-3px;display:flex;align-items:center;gap:2px;padding:1px 3px;background:#0f1923eb;border:1px solid rgba(236,232,225,.3);border-radius:2px;line-height:1}.charge-badge.zero{border-color:#ff465580}.charge-pips{display:flex;gap:1.5px}.charge-pip{width:4px;height:4px;border-radius:50%;background:var(--val-teal)}.charge-badge.zero .charge-pip{background:#ece8e14d}.charge-overflow{font-size:7px;font-weight:700;color:var(--val-teal)}.charge-number{font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--val-text);min-width:8px;text-align:center}.charge-badge.zero .charge-number{color:var(--val-accent)}.rail-abilities{display:flex;gap:4px;margin-top:3px}.team-rail.right .rail-abilities{flex-direction:row-reverse}.rail-ability{position:relative;width:20px;height:20px;padding:2px;background:#ece8e114;border:1px solid rgba(236,232,225,.2);border-radius:2px}.rail-ability img{width:100%;height:100%;object-fit:contain}.rail-ability.dimmed{opacity:.35;filter:grayscale(.6)}.rail-ability .charge-badge{right:-4px;bottom:-4px;transform:scale(.85);transform-origin:bottom right}.pov-status{display:flex;align-items:center;gap:10px;padding:6px 14px;background:var(--val-bg-soft);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 100%,0 100%)}.pov-portrait{width:32px;height:32px;object-fit:cover;border-radius:2px}.pov-name-block{display:flex;flex-direction:column;line-height:1.2}.pov-name{font-size:13px;font-weight:700}.pov-agent{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--val-text-dim)}.pov-chip{display:flex;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:700;background:#ece8e114;border-left:2px solid var(--val-accent)}.pov-chip img{width:18px;height:18px;object-fit:contain}.pov-credits-icon{color:#f5d90a}.pov-ammo{cursor:help}.pov-ammo-approx{font-size:10px;font-weight:400;color:var(--val-text-dim);margin-right:1px}.pov-ammo-mag{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.pov-ammo-sep,.pov-ammo-reserve{color:var(--val-text-dim);font-weight:400}.pov-ammo-nodata{opacity:.55}.pov-ammo-nodata .pov-ammo-mag{color:var(--val-text-dim)}.scope-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.scope-vignette{position:absolute;border-radius:50%;background:transparent;box-shadow:0 0 0 9999px #02060af0}.scope-reticle{position:absolute;overflow:visible}.scope-reticle line{stroke:#ece8e1eb;stroke-width:2;stroke-linecap:butt}.scope-reticle circle{fill:#ece8e1eb}.kill-confirm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:21;display:flex;flex-direction:column;align-items:center;gap:5px}.kill-confirm-marks{width:46px;height:46px}.kill-confirm-marks line{stroke:var(--val-accent);stroke-width:4.5;stroke-linecap:round;filter:drop-shadow(0 0 2px rgba(0,0,0,.85))}.kill-confirm-glyph{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(0,0,0,.85))}.kill-confirm-victim{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--val-accent);text-shadow:0 1px 2px rgba(0,0,0,.85)}.minimap{position:absolute;left:14px;bottom:86px;background:var(--val-bg-soft);padding:4px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}.minimap canvas{display:block}.scoreboard{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:560px;padding:18px 22px;background:#0f1923f0;border-top:3px solid var(--val-accent);clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%,0 16px)}.scoreboard h2{font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--val-text-dim);margin-bottom:10px}.scoreboard .agent-cell{display:flex;align-items:center;gap:6px}.scoreboard .sb-portrait{width:22px;height:22px;object-fit:cover;border-radius:2px}.scoreboard table{width:100%;border-collapse:collapse;font-size:13px}.scoreboard th{text-align:left;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--val-text-dim);padding:4px 8px;border-bottom:1px solid rgba(236,232,225,.15)}.scoreboard td{padding:4px 8px;border-bottom:1px solid rgba(236,232,225,.06)}.scoreboard tr.dead td{opacity:.4}.scoreboard .team-tag{font-weight:700}.playback-bar{position:absolute;left:0;right:0;bottom:0;padding:8px 14px 10px;background:linear-gradient(transparent,#0f1923eb 30%);display:flex;flex-direction:column;gap:6px;pointer-events:auto}.seek-wrap{position:relative;height:18px;display:flex;align-items:center}.seek-wrap input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:#ece8e133;outline:none;cursor:pointer}.seek-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:16px;background:var(--val-accent);clip-path:polygon(0 0,100% 0,100% calc(100% - 4px),50% 100%,0 calc(100% - 4px))}.seek-notch{position:absolute;top:3px;width:2px;height:12px;pointer-events:none}.seek-notch.kill{background:var(--val-accent)}.seek-notch.plant{background:#f5d90a}.seek-notch.round{background:#ece8e199;height:16px;top:1px}.controls-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.controls-row .spacer{flex:1}.hud-btn{padding:5px 12px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--val-text);background:#ece8e114;border:1px solid rgba(236,232,225,.2);cursor:pointer;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}.hud-btn:hover{background:#ece8e12e}.hud-btn.active,.hud-btn.primary{background:var(--val-accent);border-color:var(--val-accent);color:#fff}.hud-select{padding:5px 8px;font-size:12px;color:var(--val-text);background:#16222e;border:1px solid rgba(236,232,225,.2);cursor:pointer}.time-readout{font-size:12px;font-variant-numeric:tabular-nums;color:var(--val-text-dim);min-width:110px}.group-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--val-text-dim);margin-right:-2px}.round-jumper{display:inline-flex;gap:2px;flex-wrap:wrap}.hud-btn.compact{padding:4px 6px;font-size:10px;min-width:24px}.players-row{gap:10px}.player-group{display:inline-flex;gap:3px;flex-wrap:wrap}.hud-btn.player-btn{border-left:3px solid var(--player-color, var(--val-text-dim));text-transform:none;letter-spacing:.5px}.hud-btn.player-btn.active{background:var(--player-color, var(--val-accent));border-color:var(--player-color, var(--val-accent));color:#0f1923}.settings-toolbar{position:absolute;top:10px;right:14px;display:flex;gap:6px;pointer-events:auto;z-index:30}.hud-btn.icon-btn{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;font-size:15px}.hud-btn.icon-btn.muted{color:var(--val-accent);border-color:var(--val-accent)}.settings-panel{position:absolute;top:50px;right:14px;width:300px;max-height:calc(100% - 70px);overflow-y:auto;padding:12px 14px 16px;background:#0f1923f5;border-top:2px solid var(--val-accent);clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px);pointer-events:auto;z-index:29;display:flex;flex-direction:column;gap:10px}.settings-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--val-text-dim);padding-bottom:6px;border-bottom:1px solid rgba(236,232,225,.15)}.settings-section h3{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--val-text-dim);margin-bottom:6px}.settings-section{display:flex;flex-direction:column;gap:6px}.settings-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:8px}.settings-panel input[type=range]{width:100%}.settings-value{font-variant-numeric:tabular-nums;color:var(--val-text-dim)}.settings-note{font-size:10px;font-style:italic;color:var(--val-text-dim);line-height:1.4}.color-presets{display:flex;align-items:center;gap:5px}.color-swatch{width:16px;height:16px;border-radius:2px;border:1px solid rgba(236,232,225,.3);cursor:pointer;padding:0}.color-swatch.active{outline:2px solid var(--val-accent);outline-offset:1px}.settings-panel input[type=color]{width:22px;height:18px;padding:0;border:none;background:none;cursor:pointer}.replay-onboarding{position:fixed;inset:0;z-index:80;min-width:280px;min-height:420px;overflow:auto;color:var(--val-text, #ece8e1);background:radial-gradient(circle at 74% 22%,rgba(30,232,196,.08),transparent 34rem),radial-gradient(circle at 12% 82%,rgba(255,70,85,.11),transparent 36rem),#0b141d;pointer-events:auto;isolation:isolate}.replay-onboarding-grid{position:fixed;inset:0;z-index:-1;opacity:.18;background-image:linear-gradient(rgba(142,163,184,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(142,163,184,.11) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 88%);pointer-events:none}.replay-onboarding-header{min-height:84px;padding:18px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(236,232,225,.12);background:#080f16c7;backdrop-filter:blur(14px)}.replay-onboarding-brand{display:flex;align-items:center;gap:12px}.replay-onboarding-brand-mark{width:38px;height:38px;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%);color:#0f1923;background:var(--val-accent, #ff4655);font-size:20px;font-weight:900;font-style:italic}.replay-onboarding-brand>span:last-child{display:flex;flex-direction:column;gap:2px}.replay-onboarding-brand strong{font-size:13px;letter-spacing:.11em;text-transform:uppercase}.replay-onboarding-brand small,.replay-onboarding-header>p{color:var(--val-text-dim, #8ea3b8);font-size:11px;letter-spacing:.04em}.replay-onboarding-header>p{max-width:360px;text-align:right}.replay-onboarding-main{width:min(1180px,calc(100% - 40px));min-height:calc(100vh - 140px);margin:0 auto;padding:clamp(44px,7vh,88px) 0 72px;display:grid;align-items:center}.replay-onboarding-main h1{max-width:780px;margin:8px 0 14px;font-size:clamp(34px,5.2vw,72px);line-height:.98;letter-spacing:-.045em;text-wrap:balance}.replay-onboarding-main h2{font-size:clamp(18px,2vw,25px);letter-spacing:-.02em}.replay-onboarding-kicker{color:var(--val-accent, #ff4655);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.replay-onboarding-lede{max-width:650px;color:var(--val-text-dim, #8ea3b8);font-size:clamp(15px,1.5vw,18px);line-height:1.65}.replay-onboarding-loading,.replay-onboarding-import-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:clamp(32px,7vw,96px);align-items:center}.replay-onboarding-progress-group{width:min(680px,100%);margin-top:42px}.replay-onboarding-progress-copy{margin-bottom:10px;display:flex;justify-content:space-between;gap:20px;color:var(--val-text, #ece8e1);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.replay-onboarding-progress{position:relative;height:10px;overflow:hidden;background:#ece8e117;border:1px solid rgba(236,232,225,.13);clip-path:polygon(7px 0,100% 0,100% 100%,0 100%,0 7px)}.replay-onboarding-progress-fill{position:absolute;inset:0 auto 0 0;min-width:3px;background:linear-gradient(90deg,var(--val-accent, #ff4655),#ff7a70);box-shadow:0 0 20px #ff46556b;transition:width .24s cubic-bezier(.25,1,.5,1)}.replay-onboarding-progress.is-indeterminate .replay-onboarding-progress-fill{width:42%;animation:replay-onboarding-indeterminate 1.45s ease-in-out infinite}@keyframes replay-onboarding-indeterminate{0%{transform:translate(-110%)}to{transform:translate(340%)}}.replay-onboarding-detail,.replay-onboarding-status,.replay-onboarding-file-name{margin-top:14px;color:var(--val-text-dim, #8ea3b8);font-size:12px;line-height:1.55}.replay-onboarding-guide{padding:24px;border:1px solid rgba(236,232,225,.14);border-top:2px solid var(--val-teal, #1ee8c4);background:#0f1923a3;clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}.replay-onboarding-guide ol{margin:18px 0 0;padding-left:22px;display:grid;gap:14px;color:var(--val-text-dim, #8ea3b8);font-size:13px;line-height:1.55}.replay-onboarding-guide li::marker{color:var(--val-teal, #1ee8c4);font-weight:800}.replay-onboarding-guide a{width:fit-content;margin-top:20px;display:inline-block;color:var(--val-text, #ece8e1);font-size:12px;font-weight:700;text-underline-offset:4px}.replay-onboarding-dropzone{min-height:290px;margin-top:38px;padding:42px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;cursor:pointer;border:1px dashed rgba(236,232,225,.35);background:#ece8e106;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);transition:border-color .16s ease,background .16s ease,transform .16s ease}.replay-onboarding-dropzone:hover,.replay-onboarding-dropzone:focus-within,.replay-onboarding-dropzone.is-drag-over{border-color:var(--val-accent, #ff4655);background:#ff465513;transform:translateY(-2px)}.replay-onboarding-dropzone.is-busy{cursor:wait;opacity:.72}.replay-onboarding-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.replay-onboarding-drop-icon{width:54px;height:54px;margin-bottom:8px;display:grid;place-items:center;color:var(--val-accent, #ff4655);border:1px solid rgba(255,70,85,.5);font-size:28px}.replay-onboarding-dropzone>strong{font-size:19px}.replay-onboarding-dropzone>span:not(.replay-onboarding-drop-icon):not(.replay-onboarding-file-button){color:var(--val-text-dim, #8ea3b8);font-size:13px}.replay-onboarding-file-button,.replay-onboarding-secondary-button{margin-top:12px;padding:11px 18px;color:#0f1923;background:var(--val-text, #ece8e1);border:0;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.replay-onboarding-secondary-button{cursor:pointer}.replay-onboarding-secondary-button:hover,.replay-onboarding-secondary-button:focus-visible{background:var(--val-accent, #ff4655);color:#fff}.replay-onboarding-error{margin-top:18px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;color:#ffbec3;background:#ff46551a;border-left:3px solid var(--val-accent, #ff4655);font-size:12px;line-height:1.5}.replay-onboarding-library{margin-top:clamp(54px,9vh,104px);padding-top:34px;border-top:1px solid rgba(236,232,225,.13)}.replay-onboarding-library-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.replay-onboarding-library-heading>div>p:last-child{max-width:620px;margin-top:8px;color:var(--val-text-dim, #8ea3b8);font-size:12px;line-height:1.55}.replay-onboarding-folder-button{flex:none;min-height:42px;padding:10px 16px;display:inline-flex;align-items:center;gap:9px;color:#0f1923;background:var(--val-text, #ece8e1);border:0;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.replay-onboarding-folder-button>span{color:var(--val-accent, #ff4655);font-size:18px;line-height:0}.replay-onboarding-folder-button:hover:not(:disabled),.replay-onboarding-folder-button:focus-visible{color:#fff;background:var(--val-accent, #ff4655);outline:2px solid #fff;outline-offset:3px}.replay-onboarding-folder-button:hover:not(:disabled)>span,.replay-onboarding-folder-button:focus-visible>span{color:#fff}.replay-onboarding-folder-button:disabled{cursor:not-allowed;opacity:.45}.replay-onboarding-library-fallback,.replay-onboarding-library-empty,.replay-onboarding-library-status{margin-top:18px;padding:14px 16px;color:var(--val-text-dim, #8ea3b8);background:#ece8e109;border-left:3px solid rgba(142,163,184,.55);font-size:12px;line-height:1.55}.replay-onboarding-library-fallback{border-left-color:#ffcf5c}.replay-onboarding-library-status{display:flex;align-items:center;gap:11px}.replay-onboarding-library-status.is-error{color:#ffbec3;background:#ff465517;border-left-color:var(--val-accent, #ff4655)}.replay-onboarding-library-spinner{width:15px;height:15px;flex:none;border:2px solid rgba(236,232,225,.2);border-top-color:var(--val-teal, #1ee8c4);border-radius:50%;animation:replay-onboarding-spin .85s linear infinite}.replay-onboarding-library-pause{margin-left:auto;padding:7px 10px;flex:none;color:var(--val-text, #ece8e1);background:transparent;border:1px solid rgba(236,232,225,.35);cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.replay-onboarding-library-pause:hover,.replay-onboarding-library-pause:focus-visible{color:#0f1923;background:var(--val-text, #ece8e1);outline:2px solid var(--val-accent, #ff4655);outline-offset:2px}.replay-onboarding-match-list{margin-top:24px;display:grid;gap:18px}.replay-library-match{position:relative;min-height:390px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(236,232,225,.05),transparent 22rem),linear-gradient(125deg,#122a3c,#101a24 48%,#351c25);border:1px solid rgba(236,232,225,.16);clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px);transition:border-color .16s ease,transform .16s ease}.replay-library-match:has(.replay-library-match-target:hover),.replay-library-match:has(.replay-library-match-target:focus-visible){border-color:var(--val-accent, #ff4655);transform:translateY(-2px)}.replay-library-match-art,.replay-library-match-shade{position:absolute;inset:0;width:100%;height:100%}.replay-library-match-art{object-fit:contain;padding:18px clamp(48px,14vw,180px);filter:saturate(.78) contrast(1.06)}.replay-library-match-shade{background:linear-gradient(90deg,#08131df0,#080f16a8 35% 65%,#1e0c12f0),linear-gradient(0deg,rgba(7,12,18,.9),transparent 55%,rgba(7,12,18,.55))}.replay-library-match-meta,.replay-library-match-body{position:relative;z-index:1;pointer-events:none}.replay-library-match-meta{padding:18px 22px 12px;display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(236,232,225,.12)}.replay-library-match-meta h3{font-size:clamp(19px,2.3vw,28px);letter-spacing:-.03em}.replay-library-match-meta time{color:#ece8e1bd;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.replay-library-match-body{min-height:322px;padding:20px 22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(16px,4vw,48px)}.replay-library-team h4{margin-bottom:11px;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.replay-library-team.is-blue h4{color:#69c9ff}.replay-library-team.is-red h4{color:#ff7783;text-align:right}.replay-library-team ol{display:grid;gap:7px;list-style:none}.replay-library-team li{min-width:0;height:45px;display:grid;align-items:center;gap:9px;background:#070e1485;border:1px solid rgba(236,232,225,.08)}.replay-library-team.is-blue li{grid-template-columns:43px minmax(0,1fr) auto;padding-right:10px;border-left:2px solid rgba(105,201,255,.72)}.replay-library-team.is-blue .replay-library-agent-portrait{grid-column:1}.replay-library-team.is-blue .replay-library-player-copy{grid-column:2}.replay-library-team.is-blue .replay-library-kda{grid-column:3}.replay-library-team.is-red li{grid-template-columns:auto minmax(0,1fr) 43px;padding-left:10px;border-right:2px solid rgba(255,119,131,.72)}.replay-library-team.is-red .replay-library-kda{grid-column:1}.replay-library-team.is-red .replay-library-player-copy{grid-column:2}.replay-library-team.is-red .replay-library-agent-portrait{grid-column:3}.replay-library-agent-portrait{width:43px;height:43px;display:grid;place-items:center;overflow:hidden;color:#ece8e1a8;background:#ece8e114;font-size:11px;font-weight:900}.replay-library-agent-portrait img{width:100%;height:100%;object-fit:cover}.replay-library-player-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.replay-library-team.is-red .replay-library-player-copy{text-align:right}.replay-library-player-copy strong,.replay-library-player-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-library-player-copy strong{font-size:11px}.replay-library-player-copy>span{color:var(--val-text-dim, #8ea3b8);font-size:9px}.replay-library-kda{display:inline-grid;grid-template-columns:repeat(5,auto);align-items:baseline;gap:3px;color:#ece8e173;font-size:8px;font-variant-numeric:tabular-nums}.replay-library-kda strong{color:#ece8e1e0;font-size:10px}.replay-library-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;font-size:clamp(34px,5vw,58px);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.08em;text-shadow:0 3px 20px rgba(0,0,0,.65)}.replay-library-score-wrap{display:grid;justify-items:center;gap:8px}.replay-library-details-pending{max-width:120px;color:#ece8e1a8;font-size:8px;font-weight:800;letter-spacing:.12em;line-height:1.45;text-align:center;text-transform:uppercase}.replay-library-score>span:nth-child(2){color:#ece8e152;font-size:.48em}.replay-library-score .is-blue{color:#a3dcff;text-align:right}.replay-library-score .is-red{color:#ffabb2;text-align:left}.replay-library-match-target{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;background:transparent;border:0;cursor:pointer}.replay-library-match-target:focus-visible{outline:3px solid var(--val-accent, #ff4655);outline-offset:-5px}.replay-onboarding-demos{margin-top:clamp(54px,9vh,104px);padding-top:34px;border-top:1px solid rgba(236,232,225,.13)}.replay-onboarding-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.replay-onboarding-section-heading>p{max-width:440px;color:var(--val-text-dim, #8ea3b8);font-size:12px;line-height:1.55;text-align:right}.replay-onboarding-demo-grid{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.replay-onboarding-demo-card{min-width:0;padding:0;display:grid;grid-template-rows:112px auto auto;overflow:hidden;color:var(--val-text, #ece8e1);background:#0f1923cc;border:1px solid rgba(236,232,225,.13);text-align:left;cursor:pointer;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:border-color .15s ease,transform .15s ease,background .15s ease}.replay-onboarding-demo-card:hover:not(:disabled),.replay-onboarding-demo-card:focus-visible{border-color:var(--val-accent, #ff4655);background:#1c2833f5;transform:translateY(-3px);outline:none}.replay-onboarding-demo-card:disabled{cursor:not-allowed;opacity:.48}.replay-onboarding-demo-art{display:grid;place-items:center;overflow:hidden;color:#ece8e133;background:linear-gradient(145deg,rgba(30,232,196,.12),transparent 48%),linear-gradient(330deg,rgba(255,70,85,.16),transparent 58%),#111f2b;font-size:36px;font-weight:900;letter-spacing:-.08em}.replay-onboarding-demo-art img{width:100%;height:100%;padding:7px;object-fit:contain;transition:transform .22s ease}.replay-onboarding-demo-card:hover:not(:disabled) .replay-onboarding-demo-art img{transform:scale(1.035)}.replay-onboarding-demo-copy{min-width:0;padding:14px 14px 8px;display:flex;flex-direction:column;gap:5px}.replay-onboarding-demo-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.replay-onboarding-demo-copy>span{min-height:2.8em;color:var(--val-text-dim, #8ea3b8);font-size:11px;line-height:1.4}.replay-onboarding-demo-action{padding:8px 14px 13px;color:var(--val-accent, #ff4655);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.replay-onboarding-processing{width:min(780px,100%);margin:0 auto;text-align:center}.replay-onboarding-processing h1,.replay-onboarding-processing .replay-onboarding-lede{margin-left:auto;margin-right:auto}.replay-onboarding-processing .replay-onboarding-progress-group{margin-left:auto;margin-right:auto;text-align:left}.replay-onboarding-processing-emblem{width:76px;height:76px;margin:0 auto 30px;display:grid;place-items:center;border:1px solid rgba(255,70,85,.42);transform:rotate(45deg)}.replay-onboarding-processing-emblem span{width:36px;height:36px;border:3px solid rgba(236,232,225,.18);border-top-color:var(--val-accent, #ff4655);border-radius:50%;animation:replay-onboarding-spin .9s linear infinite}@keyframes replay-onboarding-spin{to{transform:rotate(360deg)}}.replay-onboarding-file-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-onboarding-footer{position:fixed;right:clamp(20px,4vw,64px);bottom:18px;z-index:2;display:flex;gap:9px;color:#8ea3b899;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;pointer-events:none}@media(max-width:900px){.replay-onboarding-loading,.replay-onboarding-import-layout{grid-template-columns:1fr}.replay-onboarding-guide{max-width:650px}.replay-onboarding-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-library-match-body{gap:14px}.replay-library-team li{gap:6px}.replay-library-kda{gap:2px}}@media(max-width:720px){.replay-onboarding-library-heading{align-items:flex-start;flex-direction:column}.replay-library-match-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"score score" "blue red";align-items:start}.replay-library-team.is-blue{grid-area:blue}.replay-library-team.is-red{grid-area:red}.replay-library-score-wrap{grid-area:score;width:fit-content;margin:0 auto 8px}.replay-library-player-copy>span{display:none}}@media(max-width:560px){.replay-onboarding-header{min-height:72px}.replay-onboarding-header>p,.replay-onboarding-brand small{display:none}.replay-onboarding-main{width:min(100% - 28px,1180px);padding-top:38px}.replay-onboarding-main h1{font-size:clamp(34px,11vw,50px)}.replay-onboarding-dropzone{min-height:230px;margin-top:28px}.replay-onboarding-section-heading{align-items:flex-start;flex-direction:column}.replay-onboarding-section-heading>p{text-align:left}.replay-onboarding-demo-grid{grid-template-columns:1fr}.replay-onboarding-demo-card{grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto}.replay-onboarding-demo-art{grid-row:1 / 3}.replay-onboarding-demo-action{padding-top:0}.replay-onboarding-footer{display:none}.replay-library-match-meta{padding:14px;align-items:flex-start;flex-direction:column;gap:4px}.replay-library-match-body{min-height:300px;padding:14px;gap:8px}.replay-library-team li{height:38px}.replay-library-team.is-blue li{grid-template-columns:36px minmax(0,1fr);padding-right:6px}.replay-library-team.is-red li{grid-template-columns:minmax(0,1fr) 36px;padding-left:6px}.replay-library-agent-portrait{width:36px;height:36px}.replay-library-kda{grid-column:2;color:#ece8e173}.replay-library-team.is-blue .replay-library-kda{grid-column:2;grid-row:1;align-self:end;justify-self:start;margin-bottom:4px}.replay-library-team.is-blue .replay-library-player-copy{grid-column:2;grid-row:1;align-self:start;margin-top:4px}.replay-library-team.is-blue .replay-library-agent-portrait{grid-column:1;grid-row:1}.replay-library-team.is-red .replay-library-kda{grid-column:1;grid-row:1;align-self:end;justify-self:end;margin-bottom:4px}.replay-library-team.is-red .replay-library-player-copy{grid-column:1;grid-row:1;align-self:start;margin-top:4px}.replay-library-team.is-red .replay-library-agent-portrait{grid-column:2;grid-row:1}.replay-library-player-copy strong{font-size:9px}.replay-library-kda strong{font-size:8px}}@media(prefers-reduced-motion:reduce){.replay-onboarding *,.replay-onboarding *:before,.replay-onboarding *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.upload-panel{position:absolute;top:14px;left:14px;width:320px;padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;background:#0f1923f5;border-top:2px solid var(--val-accent);clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px);pointer-events:auto;z-index:40;font-size:12px;color:var(--val-text)}.upload-panel.upload-panel-fullscreen{position:fixed;inset:0;width:auto;padding:0;display:block;background:transparent;border:0;clip-path:none;z-index:80}.upload-panel-fullscreen .replay-onboarding{position:absolute;z-index:0}.upload-onboarding-mode{position:fixed;top:96px;right:clamp(20px,4vw,64px);z-index:2;max-width:min(420px,calc(100vw - 40px));pointer-events:auto}.upload-onboarding-mode .upload-note{margin:0;padding:8px 12px;border:1px solid rgba(236,232,225,.16);background:#080f16e0;backdrop-filter:blur(10px)}.upload-onboarding-mode .upload-mode-toggle{flex-direction:row;padding:4px;background:#080f16e6;border:1px solid rgba(236,232,225,.16);backdrop-filter:blur(10px)}.upload-folder-input{display:none}@media(max-width:700px){.upload-onboarding-mode{top:82px;right:14px}.upload-panel-fullscreen .replay-onboarding-main{padding-top:82px}}.upload-collapsed-bar{position:absolute;top:14px;left:14px;z-index:40;display:flex;gap:8px;pointer-events:auto}.upload-share-btn{pointer-events:auto}.upload-loaded-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.upload-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--val-text-dim);padding-bottom:6px;border-bottom:1px solid rgba(236,232,225,.15)}.upload-mode-toggle{display:flex;flex-direction:column;gap:4px}.upload-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--val-text-dim);background:#ece8e10a;border:1px solid rgba(236,232,225,.15);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,color .15s ease}.upload-mode-btn:hover{border-color:#ece8e159}.upload-mode-btn.active{color:var(--val-text);background:#ff46551a;border-color:var(--val-accent)}.upload-mode-sub{font-size:10px;font-weight:400;font-style:italic;color:var(--val-text-dim);text-transform:none;letter-spacing:normal}.upload-dropzone{position:relative;padding:22px 12px;text-align:center;border:1px dashed rgba(236,232,225,.35);cursor:pointer;transition:border-color .15s ease,background .15s ease}.upload-dropzone:hover{border-color:var(--val-text-dim)}.upload-dropzone.drag-over{border-color:var(--val-accent);background:#ff465514}.upload-dropzone.busy{cursor:default;opacity:.7}.upload-drop-label{font-size:12px;color:var(--val-text-dim);line-height:1.4}.upload-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-error{padding:8px 10px;font-size:11px;line-height:1.5;color:var(--val-accent);background:#ff46551a;border-left:3px solid var(--val-accent)}.upload-preview{display:flex;flex-direction:column;gap:6px}.upload-preview-row{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:12px}.upload-badge{font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:2px 6px;border-radius:2px}.upload-badge.warn{color:#ffcf5c;background:#ffcf5c1f;border:1px solid rgba(255,207,92,.4)}.upload-actions{display:flex;gap:6px;margin-top:4px}.upload-progress{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--val-text-dim)}.upload-spinner{width:14px;height:14px;border:2px solid rgba(236,232,225,.25);border-top-color:var(--val-accent);border-radius:50%;animation:upload-spin .8s linear infinite;flex:none}@keyframes upload-spin{to{transform:rotate(360deg)}}.upload-note{font-size:11px;font-style:italic;color:var(--val-text-dim)}.upload-disclosure{font-size:10px;line-height:1.5;color:var(--val-text-dim);padding-top:8px;border-top:1px solid rgba(236,232,225,.12)}.upload-disclosure code{font-family:Consolas,monospace;color:var(--val-text)}.share-dialog-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#060a0eb3;z-index:60;pointer-events:auto}.share-dialog{width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px;background:#0f1923fa;border-top:2px solid var(--val-accent);clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px);font-size:12px;color:var(--val-text)}.share-disclosure-intro{padding-top:0;border-top:none}.share-disclosure-list{margin:0;padding-left:18px;font-size:11px;line-height:1.6;color:var(--val-text-dim)}.share-strip-toggle{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;color:var(--val-text);cursor:pointer}.share-strip-toggle input{margin-top:2px;flex:none}.share-done{display:flex;flex-direction:column;gap:8px}.share-url-row{display:flex;gap:6px}.share-url-row input{flex:1;min-width:0;padding:6px 8px;font-size:11px;font-family:Consolas,monospace;color:var(--val-text);background:#ece8e10f;border:1px solid rgba(236,232,225,.2)}
