:root{--deep-navy:#0b0f1a;--electric-purple:#7c3aed;--neon-green:#00f59e;--sky-blue:#00b7ff;--slate-gray:#1e2430;--light-neutral:#f4f6fa;--app-bg:#0b0f1a;--app-bg-2:#0f1422;--surface:#1e2430b8;--surface-solid:#141a2a;--surface-soft:#f4f6fa0a;--border:#f4f6fa1a;--border-strong:#f4f6fa2e;--text:#f4f6fa;--muted:#9aa7ba;--muted-2:#728197;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-2:#00f59e;--accent-3:#00b7ff;--accent-soft:#7c3aed24;--ring:0 0 0 3px #7c3aed59;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 8px 24px #00000047;--shadow-lg:0 24px 60px #00000073;--transition:.14s cubic-bezier(.2, .8, .2, 1);color:var(--text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--app-bg:#f4f6fa;--app-bg-2:#eaeef6;--surface:#ffffffdb;--surface-solid:#fff;--surface-soft:#0b0f1a0a;--border:#0b0f1a1a;--border-strong:#0b0f1a2e;--text:#0b0f1a;--muted:#4a5163;--muted-2:#6c7689;--accent-soft:#7c3aed1a;--shadow-sm:0 1px 2px #0b0f1a0f;--shadow-md:0 8px 24px #0b0f1a14;--shadow-lg:0 24px 60px #0b0f1a24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);background:var(--app-bg);margin:0}button,input,select{font:inherit}button,select,input,a{outline:none}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,[role=button]:focus-visible{box-shadow:var(--ring);border-color:var(--accent)!important}.theme-switcher{border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:40px;color:var(--text);background:color-mix(in srgb, var(--surface-solid) 78%, transparent);cursor:pointer;transition:border-color var(--transition), background var(--transition), transform var(--transition);justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.theme-switcher:hover{border-color:color-mix(in srgb, var(--accent) 72%, transparent);background:var(--surface-solid)}.theme-switcher:active{transform:translateY(1px)}.praccly-logo{place-items:center;display:inline-grid}.praccly-logo img{width:100%;height:auto;display:block}.praccly-logo .logo-light,:root[data-theme=light] .praccly-logo .logo-dark{display:none}:root[data-theme=light] .praccly-logo .logo-light{display:block}.sidebar-logo{width:180px;max-width:100%}.analytics-app{background:radial-gradient(70% 50% at 0% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), radial-gradient(60% 50% at 100% 0%, color-mix(in srgb, var(--accent-3) 10%, transparent), transparent 60%), linear-gradient(180deg, var(--app-bg) 0%, var(--app-bg-2) 100%);grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.analytics-app.single{grid-template-columns:1fr;place-items:center;padding:28px;display:grid}.sidebar{border-right:1px solid var(--border);background:color-mix(in srgb, var(--app-bg) 86%, transparent);-webkit-backdrop-filter:saturate(140%)blur(18px);backdrop-filter:saturate(140%)blur(18px);flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:0;min-height:90px;margin-bottom:18px;padding:14px 0 18px;display:flex}.brand-mark{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-3) 100%);width:38px;height:38px;box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent), inset 0 1px 0 #ffffff2e;place-items:center;display:grid;position:relative}.brand-mark svg{z-index:1;position:relative}.brand strong,.brand span{display:block}.brand strong{letter-spacing:-.01em;font-size:1rem;font-weight:700}.brand span:not(.brand-mark){color:var(--muted);font-size:.74rem;font-weight:500}nav{gap:2px;margin-top:4px;display:grid}nav button{min-height:38px;color:var(--muted);font:inherit;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:color var(--transition), background var(--transition);background:0 0;border:0;align-items:center;gap:11px;padding:0 12px;font-size:.875rem;font-weight:600;text-decoration:none;display:flex;position:relative}nav button svg{opacity:.85;transition:opacity var(--transition), color var(--transition);flex-shrink:0}nav button:hover{color:var(--text);background:var(--surface-soft)}nav button:hover svg{opacity:1}nav button.active{color:var(--text);background:var(--accent-soft)}nav button.active svg{color:var(--accent);opacity:1}nav button.active:before{content:"";background:var(--accent);width:3px;height:18px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 70%, transparent);border-radius:0 2px 2px 0;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.workspace{min-width:0;padding:28px 32px 64px}.topbar{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--app-bg) 80%, transparent);-webkit-backdrop-filter:saturate(140%)blur(18px);backdrop-filter:saturate(140%)blur(18px);justify-content:space-between;align-items:center;gap:24px;min-height:72px;margin:-28px -32px 28px;padding:14px 32px;display:flex;position:sticky;top:0}.topbar-title{gap:4px;display:grid}.topbar-title h1{letter-spacing:-.015em;font-size:1.5rem;font-weight:700;line-height:1.15}.topbar-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.account-menu{position:relative}.account-trigger{border:1px solid var(--border-strong);border-radius:var(--radius-pill);min-height:40px;color:var(--text);background:color-mix(in srgb, var(--surface-solid) 84%, transparent);cursor:pointer;transition:border-color var(--transition), background var(--transition);align-items:center;gap:8px;padding:0 12px 0 4px;display:inline-flex}.account-trigger:hover{background:var(--surface-solid)}.account-avatar{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-3));letter-spacing:-.01em;border-radius:50%;place-items:center;width:32px;height:32px;font-size:.82rem;font-weight:700;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff2e}.account-avatar img,.account-popover-logo img{object-fit:cover;width:100%;height:100%}.account-popover{z-index:40;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-solid);width:260px;box-shadow:var(--shadow-lg);gap:4px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.account-popover-head{border-bottom:1px solid var(--border);min-width:0;color:var(--muted);align-items:center;gap:9px;padding:8px 8px 11px;font-size:.8rem;display:flex}.account-popover-logo{width:28px;height:28px;color:var(--muted);background:var(--surface-soft);border-radius:50%;place-items:center;display:grid;overflow:hidden}.account-popover-head span{gap:2px;min-width:0;display:grid}.account-popover-head strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-popover-head small{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.account-popover button{border-radius:var(--radius-sm);min-height:38px;color:var(--text);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.account-popover button:hover{background:var(--accent-soft);color:var(--text)}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.02em;margin-bottom:0;font-size:1.85rem;font-weight:700;line-height:1.1}.date-range-panel{position:relative}.date-range-trigger{border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:40px;color:var(--text);background:color-mix(in srgb, var(--surface-solid) 82%, transparent);cursor:pointer;transition:border-color var(--transition), background var(--transition);align-items:center;gap:10px;padding:0 14px;display:inline-flex}.date-range-trigger:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:var(--surface-solid)}.date-range-trigger span{min-width:112px;font-weight:800}.time-brush{z-index:30;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-solid);width:420px;box-shadow:var(--shadow-lg);gap:14px;padding:18px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.time-brush-head,.date-input-row,.range-presets{align-items:center;gap:10px;display:flex}.time-brush-head{justify-content:space-between}.time-brush-head div,.date-input-row label{gap:5px;display:grid}.time-brush-head strong{font-size:.94rem}.time-brush-head span,.date-input-row span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:800}.time-brush-head button,.range-presets button{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:34px;color:var(--text);background:var(--surface-soft);cursor:pointer;transition:border-color var(--transition), background var(--transition);font-weight:500}.time-brush-head button{padding:0 12px}.range-presets{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.range-presets button{font-weight:800}.range-presets button:hover,.time-brush-head button:hover{border-color:color-mix(in srgb, var(--accent) 72%, transparent)}.date-input-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.date-input-row input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--text);background:var(--app-bg);transition:border-color var(--transition), box-shadow var(--transition);padding:0 12px}.date-input-row input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.time-brush-labels,.time-brush-ticks{justify-content:space-between;gap:12px;display:flex}.time-brush-labels strong,.time-brush-labels span{font-size:.76rem}.time-brush-labels strong{color:var(--text)}.time-brush-labels span,.time-brush-ticks span{color:var(--muted)}.time-brush-track{height:24px;margin:0 2px;position:relative}.time-brush-track:before,.time-brush-selection{content:"";height:6px;position:absolute;top:10px}.time-brush-track:before{background:color-mix(in srgb, var(--muted) 22%, transparent);border-radius:999px;left:0;right:0}.time-brush-selection{background:linear-gradient(90deg, var(--accent), var(--accent-3));box-shadow:0 0 18px color-mix(in srgb, var(--accent) 34%, transparent);border-radius:999px}.time-brush-track i{background:color-mix(in srgb, var(--muted) 35%, transparent);width:1px;height:12px;position:absolute;top:7px}.time-brush-track input[type=range]{pointer-events:none;appearance:none;background:0 0;width:100%;height:24px;margin:0;position:absolute;inset:0}.time-brush-track input[type=range]::-webkit-slider-runnable-track{background:0 0;height:24px}.time-brush-track input[type=range]::-webkit-slider-thumb{border:2px solid var(--surface-solid);background:var(--accent-2);cursor:ew-resize;pointer-events:auto;appearance:none;border-radius:999px;width:14px;height:20px;margin-top:2px}.time-brush-track input[type=range]:focus{outline:none}.time-brush-track input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-2) 22%, transparent)}.time-brush-ticks span{font-size:.68rem}.filterbar{z-index:5;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 78%, transparent);-webkit-backdrop-filter:saturate(140%)blur(16px);backdrop-filter:saturate(140%)blur(16px);box-shadow:var(--shadow-sm);grid-template-columns:auto repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:12px;margin-bottom:24px;padding:14px;display:grid;position:sticky;top:88px}.tab-filterbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 70%, transparent);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"map states""comp states";align-items:start;gap:12px;margin-bottom:14px;padding:14px;display:grid}.maps-filterbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 70%, transparent);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;margin-bottom:14px;padding:14px;display:grid}.pov-filterbar{grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(140px,180px);grid-template-areas:"player map side";align-items:end}.pov-filterbar>.filter-control{grid-area:player}.pov-side-control{grid-area:side}.site-filterbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 70%, transparent);box-shadow:var(--shadow-sm);gap:12px;margin-bottom:14px;padding:14px;display:grid}.gun-filterbar{grid-template-columns:minmax(0,1fr) minmax(140px,180px) auto;grid-template-areas:"map side states";align-items:end}.gun-filterbar .filter-control{grid-area:side}.pistol-player-filterbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(140px,180px);grid-template-areas:"map comp side";align-items:end}.pistol-side-control{grid-area:side}.filter-group{gap:7px;min-width:0;display:grid}.filter-group>span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.map-filter-group{grid-area:map}.comp-filter-group{grid-area:comp}.filter-title{min-height:38px;color:var(--text);align-items:center;gap:8px;font-size:.86rem;font-weight:800;display:flex}.filter-control{gap:5px;min-width:0;display:grid}.filter-control span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}select,.icon-button,.sort-tabs button{border:1px solid var(--border);border-radius:var(--radius-md);min-height:38px;color:var(--text);background:var(--surface-solid);transition:border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition)}select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;width:100%;padding:0 34px 0 12px}select:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.icon-button{cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:500;display:inline-flex}.icon-button:hover,.sort-tabs button:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:var(--accent-soft)}.icon-button:active,.sort-tabs button:active{transform:translateY(1px)}.section{margin-bottom:32px}.section-heading{justify-content:space-between;align-items:center;gap:16px;min-height:36px;margin-bottom:14px;display:flex}.section-heading h2{color:var(--text);letter-spacing:-.005em;margin:0;font-size:1rem;font-weight:700}.section-control{min-width:220px}.metric-strip{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 60%, transparent);box-shadow:var(--shadow-sm);grid-template-columns:repeat(8,minmax(0,1fr));display:grid;overflow:hidden}.metric-strip.pistol-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.metric-strip.overview-metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}.context-strip,.notes-strip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;display:flex}.context-strip span,.notes-strip span{border:1px solid var(--border);border-radius:var(--radius-pill);min-height:28px;color:var(--muted);background:var(--surface-soft);align-items:center;gap:7px;padding:0 11px;font-size:.76rem;font-weight:500;display:inline-flex}.trading-filterbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 70%, transparent);box-shadow:var(--shadow-sm);justify-content:flex-start;align-items:end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.trading-filterbar .filter-control{width:180px}.metric{border-right:1px solid var(--border);min-width:0;transition:background var(--transition);background:0 0;padding:16px 18px}.metric:last-child{border-right:0}.metric:hover{background:var(--surface-soft)}.metric div{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;font-size:.72rem;font-weight:600;display:flex}.metric strong{letter-spacing:-.02em;color:var(--text);margin-top:10px;font-size:1.5rem;font-weight:700;display:block}.metric small{color:var(--muted-2);margin-top:4px;font-size:.74rem;font-weight:500;display:block}.analysis-grid{gap:14px;display:grid}.analysis-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-grid.three{grid-template-columns:1.1fr 1fr 1fr}.analysis-grid.table-pair{margin-top:14px}.panel,.system-list,.table-wrap,.grid-shell{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 70%, transparent);box-shadow:var(--shadow-sm);transition:border-color var(--transition)}.panel:hover,.system-list:hover,.grid-shell:hover{border-color:var(--border-strong)}.panel.wide{grid-column:1/-1}.grid-shell{--ag-background-color:transparent;--ag-foreground-color:var(--text);--ag-header-background-color:color-mix(in srgb, var(--surface-solid) 92%, var(--app-bg));--ag-header-text-color:var(--muted);--ag-border-color:var(--border);--ag-row-border-color:var(--border);--ag-odd-row-background-color:color-mix(in srgb, var(--surface-solid) 50%, transparent);--ag-row-hover-color:var(--accent-soft);--ag-selected-row-background-color:color-mix(in srgb, var(--accent) 18%, transparent);--ag-input-focus-border-color:var(--accent);--ag-control-panel-background-color:var(--surface-solid);--ag-modal-overlay-background-color:#0b0f1a8c;min-width:0;overflow:hidden}.grid-shell .ag-root-wrapper{border-radius:inherit;border:0;overflow:hidden}.grid-shell .ag-header{border-bottom:1px solid var(--border)}.grid-shell .ag-header-cell-text,.grid-shell .ag-cell{letter-spacing:0}.grid-shell .ag-floating-filter-body input,.grid-shell .ag-floating-filter-body select{background:var(--app-bg);min-height:26px}.agent-icon-stack{align-items:center;gap:4px;max-width:100%;min-height:34px;display:inline-flex}.agent-icon-frame{border:1px solid var(--border);background:var(--app-bg);border-radius:5px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.agent-icon-frame img{object-fit:cover;width:100%;height:100%;display:block}.muted-cell{color:var(--muted)}.map-cell{align-items:center;gap:8px;min-height:34px;display:flex}.map-cell img{border:1px solid var(--border);background:var(--app-bg);object-fit:cover;border-radius:5px;width:54px;height:30px}.map-cell span{font-weight:800}.map-picker,.comp-picker,.site-picker{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.map-picker button,.comp-picker button,.site-picker button{border:1px solid var(--border);border-radius:var(--radius-md);min-height:44px;color:var(--text);background:var(--surface-solid);cursor:pointer;transition:border-color var(--transition), background var(--transition), transform var(--transition)}.map-picker button:hover,.comp-picker button:hover,.site-picker button:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.map-picker button:active,.comp-picker button:active,.site-picker button:active{transform:translateY(1px)}.map-picker button{grid-template-columns:86px auto;align-items:center;gap:9px;padding:5px 10px 5px 5px;display:grid}.map-picker button:first-child{grid-template-columns:auto;padding:0 14px}.map-picker img{object-fit:cover;background:var(--app-bg);border-radius:5px;width:86px;height:48px}.map-picker span,.comp-picker span{white-space:nowrap;font-weight:800}.comp-picker button{justify-content:center;align-items:center;min-width:64px;padding:5px 10px;display:flex}.site-picker button{min-width:58px;padding:0 14px;font-weight:800}.comp-picker button:not(:first-child){min-width:190px}.game-checklist{gap:8px;min-width:0;display:grid}.game-checklist-header{color:#8193a4;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:.72rem;font-weight:800;display:flex}.game-checklist-header div{gap:6px;display:flex}.game-checklist-header button{border:1px solid var(--border);min-height:28px;color:var(--text);background:var(--surface-solid);cursor:pointer;border-radius:6px;padding:0 9px}.game-checklist-items{gap:6px;max-height:174px;padding-right:4px;display:grid;overflow:auto}.game-check{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);min-width:0;transition:border-color var(--transition), background var(--transition);grid-template-columns:18px 54px minmax(150px,.9fr) 48px minmax(174px,1fr) minmax(110px,.8fr);align-items:center;gap:8px;padding:8px 10px;display:grid}.game-check:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--surface-solid) 60%, transparent)}.game-check input{width:14px;height:14px;accent-color:var(--accent)}.game-check strong,.game-check span,.game-check small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-check small{color:#8fa1b1}.game-check .map-cell{min-width:0}.game-check .map-cell img{flex:0 0 54px}.game-check .map-cell span{text-overflow:ellipsis;min-width:0;overflow:hidden}.map-breakdown-primary,.player-data-primary{margin-bottom:14px}.result-dot{border:1px solid var(--border);border-radius:var(--radius-pill);min-height:22px;color:var(--text);letter-spacing:.02em;place-items:center;padding:0 9px;font-size:.7rem;font-weight:700;display:inline-grid}.result-dot.win{color:#8ff0b9;background:#3ee28a1f;border-color:#3ee28a6b}.result-dot.loss{color:#ff9aa4;background:#ff7d881f;border-color:#ff7d886b}.result-dot.draw{color:#f4d19b;background:#f4b8601f;border-color:#f4b8606b}.map-picker button.active,.comp-picker button.active,.site-picker button.active{border-color:color-mix(in srgb, var(--accent) 70%, transparent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.state-toggle-group{grid-area:states;align-self:end;align-items:end;gap:6px;min-height:36px;display:flex}.state-toggle{border:1px solid var(--border);border-radius:var(--radius-md);min-height:38px;color:var(--text);background:var(--surface-solid);white-space:nowrap;cursor:pointer;transition:border-color var(--transition), background var(--transition);align-items:center;gap:8px;padding:0 12px;font-size:.78rem;font-weight:500;display:inline-flex}.state-toggle:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.state-toggle input{width:14px;height:14px;accent-color:var(--accent)}.inline-edit{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;height:32px;color:var(--text);background:var(--surface-solid);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:0 10px}.inline-edit:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface-solid)}.inline-edit:disabled{color:#7f91a0;cursor:not-allowed;opacity:.72}.inline-edit.error{border-color:#ff7d88}.vod-edit-cell{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:6px;min-height:34px;display:grid}.vod-edit-cell a{border:1px solid var(--border);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text);background:var(--surface-soft);transition:border-color var(--transition), background var(--transition);place-items:center;display:grid}.vod-edit-cell a:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:var(--accent-soft)}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 0;display:flex}.panel-heading h3,.system-list h3{letter-spacing:-.005em;margin:0;font-size:.92rem;font-weight:700}.panel-heading span{color:var(--muted);font-size:.76rem;font-weight:500}.table-wrap{overflow:auto}.table-wrap.compact{margin-top:14px}table{border-collapse:collapse;width:100%;font-size:.82rem}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:12px 14px}tbody tr{transition:background var(--transition)}tbody tr:hover{background:var(--surface-soft)}th{z-index:1;color:var(--muted);background:color-mix(in srgb, var(--surface-solid) 92%, var(--app-bg));letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700;position:sticky;top:0}td.notes{min-width:360px;max-width:520px;color:var(--muted);white-space:normal}.positive{color:#55e89a;font-weight:800}.negative{color:#ff7d88;font-weight:800}.agent-stack{align-items:center;display:flex}.agent-stack img{border:1px solid var(--border);background:var(--app-bg);object-fit:cover;border-radius:50%;width:28px;height:28px;margin-right:-6px}.agent-cell{align-items:center;gap:8px;display:flex}.agent-cell img{object-fit:cover;width:26px;height:26px}.agent-cell img.map-thumb{border:1px solid var(--border);background:var(--app-bg);border-radius:5px;width:46px}.player-cell{gap:2px;display:grid}.player-cell span{font-weight:800}.player-cell small{color:var(--muted)}.sort-tabs{align-items:center;gap:6px;display:flex}.sort-tabs button{cursor:pointer;min-width:62px;padding:0 10px}.sort-tabs button.active{border-color:color-mix(in srgb, var(--accent) 70%, transparent);color:#fff;background:var(--accent);box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 35%, transparent)}.system-list{padding:14px}.system-list.embedded{background:0 0;border:0;height:100%}.decision-flow{gap:12px;padding:14px;display:grid}.flow-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.flow-branch{gap:8px;min-width:0;display:grid}.flow-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.flow-node{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);min-width:0;min-height:74px;transition:border-color var(--transition);gap:4px;padding:12px;display:grid}.flow-node.root{background:#48c7ff14;border-color:#48c7ff6b;min-height:68px}.flow-node.win{background:#42e59a14;border-color:#42e59a6b}.flow-node.loss,.flow-node.warn{background:#f4b86014;border-color:#f4b8606b}.flow-node span,.flow-node small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.flow-node span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.flow-node strong{color:var(--text);font-size:1.08rem}.flow-node small{color:var(--muted);font-size:.74rem}.flow-arrow{background:var(--border-strong);justify-self:center;width:2px;height:14px}.system-list h3{margin-bottom:12px}.system-row{border-top:1px solid var(--border);grid-template-columns:62px 1fr;gap:7px 10px;padding:10px 0;display:grid}.system-row:first-of-type{border-top:0}.system-row span{color:var(--muted)}.system-row small{color:var(--muted);grid-column:1/-1}.barline{background:var(--surface-soft);border-radius:999px;align-self:center;height:6px}.barline i{background:linear-gradient(90deg, var(--accent), var(--accent-3));border-radius:999px;height:100%;display:block}.flag{border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--muted);background:var(--surface-soft);border-left:3px solid;margin-top:10px;padding:12px 14px;font-size:.88rem;line-height:1.5}.flag.good{border-left-color:#3ee28a}.flag.warn{border-left-color:#f4b860}.empty-panel{border:1px solid var(--border);border-radius:var(--radius-lg);min-width:min(560px,100%);color:var(--muted);background:color-mix(in srgb, var(--surface-solid) 70%, transparent);text-align:center;box-shadow:var(--shadow-sm);justify-items:center;gap:10px;padding:36px 28px;display:grid}.empty-panel:before{content:"";border-radius:var(--radius-md);background:radial-gradient(circle at 30% 30%, var(--accent-soft), transparent 70%), var(--surface-soft);border:1px solid var(--border);width:44px;height:44px;margin-bottom:6px}.empty-panel strong{color:var(--text);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.empty-panel span{max-width:560px;font-size:.9rem;line-height:1.55}.auth-layout{align-items:center}.auth-shell{gap:20px;width:min(440px,100%);display:grid}.auth-shell-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.auth-logo{width:148px}.auth-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 86%, transparent);width:100%;box-shadow:var(--shadow-md);gap:14px;padding:32px;display:grid}.auth-panel h1{letter-spacing:-.02em;margin:0 0 6px;font-size:1.5rem;font-weight:700}.auth-panel input,.settings-form input{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;min-height:42px;color:var(--text);background:var(--app-bg);transition:border-color var(--transition), box-shadow var(--transition);padding:0 14px}.auth-panel input:hover,.settings-form input:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border-strong))}.auth-panel button,.settings-form button,.topbar>button.secondary{border-radius:var(--radius-md);color:#fff;background:var(--accent);letter-spacing:-.005em;cursor:pointer;min-height:42px;box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 35%, transparent);transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:0;padding:0 18px;font-weight:600}.auth-panel button:hover:not(:disabled),.settings-form button:hover:not(:disabled),.topbar>button.secondary:hover{background:var(--accent-hover)}.auth-panel button:active:not(:disabled),.settings-form button:active:not(:disabled){transform:translateY(1px)}.auth-panel button:disabled,.settings-form button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.auth-actions{justify-content:space-between;gap:10px;display:flex}.auth-panel .text-button{min-height:auto;color:var(--accent);box-shadow:none;transition:color var(--transition);background:0 0;border:0;padding:0;font-weight:600}.auth-panel .text-button:hover{color:var(--accent-3);background:0 0}.form-error{color:#f4b860;overflow-wrap:anywhere;font-size:.86rem}.trial-banner{border-radius:var(--radius-pill);color:#ffd28a;background:#f4b86014;border:1px solid #f4b86066;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:.82rem;font-weight:600;display:inline-flex}.settings-form{gap:12px;display:grid}.team-settings-grid{grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);gap:16px;margin-top:14px;display:grid}.team-settings-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-solid) 76%, transparent);min-width:0;box-shadow:var(--shadow-sm);padding:18px}.desktop-download-panel{align-content:start;gap:14px;display:grid}.desktop-download-panel p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.65}.desktop-download-panel small{color:var(--muted);font-size:.76rem}.desktop-download-button{border-radius:var(--radius-md);width:fit-content;min-height:40px;color:var(--text);background:#48c7ff1f;border:1px solid #48c7ff5c;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.88rem;font-weight:800;text-decoration:none;display:inline-flex}.desktop-download-button:hover{background:#48c7ff2e;border-color:#48c7ff9e}.team-settings-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.team-settings-header div{gap:4px;min-width:0;display:grid}.team-settings-header span,.invite-form-grid label>span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.team-settings-header h3{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1.18rem;font-weight:800}.team-settings-header>strong{border-radius:var(--radius-pill);color:#55e89a;text-transform:capitalize;background:#42e59a14;border:1px solid #42e59a57;align-items:center;min-height:28px;padding:0 10px;font-size:.75rem;font-weight:800;display:inline-flex}.team-settings-header>svg{color:var(--accent-3)}.team-member-list,.pending-invites{gap:10px;display:grid}.team-profile-form{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:16px;padding:12px;display:grid}.team-logo-editor{cursor:pointer;justify-items:center;gap:7px;display:grid}.team-logo-preview{border:1px solid var(--border-strong);border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-3));place-items:center;width:58px;height:58px;font-size:1rem;font-weight:900;display:grid;overflow:hidden}.team-logo-preview img{object-fit:cover;width:100%;height:100%}.team-logo-editor input{display:none}.team-logo-editor strong{color:var(--muted);font-size:.72rem;font-weight:800}.team-name-field{gap:7px;min-width:0;display:grid}.team-name-field span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.team-name-field input{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;min-height:42px;color:var(--text);background:var(--app-bg);padding:0 14px}.team-profile-form>button{border-radius:var(--radius-md);color:#fff;background:var(--accent);cursor:pointer;border:0;min-height:42px;padding:0 16px;font-weight:800}.team-profile-form>button:disabled{cursor:not-allowed;opacity:.5}.team-profile-notice{grid-column:1/-1}.team-member-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px;display:grid}.member-avatar{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-3));border-radius:999px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.member-identity{gap:3px;min-width:0;display:grid}.member-identity strong,.pending-invite-row span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;overflow:hidden}.member-identity span{color:var(--muted);text-transform:capitalize;font-size:.78rem}.member-badges{align-items:center;gap:8px;display:flex}.member-badges span,.member-badges small,.pending-invite-row strong{border:1px solid var(--border);border-radius:var(--radius-pill);min-height:26px;color:var(--muted);background:color-mix(in srgb, var(--app-bg) 72%, transparent);text-transform:capitalize;align-items:center;padding:0 9px;font-size:.72rem;font-weight:800;display:inline-flex}.member-badges span{color:var(--text)}.invite-panel{align-content:start;gap:12px;display:grid}.invite-form-grid{grid-template-columns:minmax(0,1fr) 180px;gap:12px;display:grid}.invite-form-grid label{gap:7px;min-width:0;display:grid}.invite-form-grid input,.invite-form-grid select{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--text);background:var(--app-bg);transition:border-color var(--transition), box-shadow var(--transition);padding:0 14px}.invite-form-grid input:hover,.invite-form-grid select:hover{border-color:color-mix(in srgb, var(--accent) 44%, var(--border-strong))}.invite-panel>button{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 76%, var(--accent-3)));cursor:pointer;min-height:44px;box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 28%, transparent);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);border:0;font-weight:800}.invite-panel>button:hover:not(:disabled){box-shadow:0 14px 30px color-mix(in srgb, var(--accent) 34%, transparent);transform:translateY(-1px)}.invite-panel>button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.invite-result{border-radius:var(--radius-md);min-height:42px;color:var(--text);background:#48c7ff14;border:1px solid #48c7ff57;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 8px 8px 12px;display:grid}.invite-result span{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.invite-result button{border-radius:var(--radius-sm);min-height:30px;color:var(--text);background:color-mix(in srgb, var(--surface-solid) 78%, transparent);cursor:pointer;border:1px solid #48c7ff57;padding:0 12px;font-size:.78rem;font-weight:800}.pending-invites{border-top:1px solid var(--border);margin-top:6px;padding-top:14px}.pending-invites h4{color:var(--muted);text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:800}.pending-invite-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:38px;display:grid}@media (max-width:980px){.team-settings-grid,.invite-form-grid{grid-template-columns:1fr}.team-profile-form{grid-template-columns:1fr;justify-items:stretch}.team-logo-editor{justify-items:start}}:root[data-theme=light] .analytics-app{background:radial-gradient(70% 50% at 0% 0%, #7c3aed14, transparent 60%), radial-gradient(60% 50% at 100% 0%, #00b7ff0f, transparent 60%), linear-gradient(180deg, var(--app-bg) 0%, var(--app-bg-2) 100%)}:root[data-theme=light] .sidebar,:root[data-theme=light] .filterbar{background:#f4f6faeb}:root[data-theme=light] .panel,:root[data-theme=light] .system-list,:root[data-theme=light] .table-wrap,:root[data-theme=light] .grid-shell,:root[data-theme=light] .metric,:root[data-theme=light] .context-strip,:root[data-theme=light] .notes-strip,:root[data-theme=light] .tab-filterbar,:root[data-theme=light] .maps-filterbar,:root[data-theme=light] .site-filterbar{border-color:var(--border);background:#ffffffa3}:root[data-theme=light] select,:root[data-theme=light] .icon-button,:root[data-theme=light] .sort-tabs button,:root[data-theme=light] .map-picker button,:root[data-theme=light] .comp-picker button,:root[data-theme=light] .site-picker button,:root[data-theme=light] .state-toggle,:root[data-theme=light] .game-checklist-header button,:root[data-theme=light] .auth-panel input,:root[data-theme=light] .settings-form input,:root[data-theme=light] .team-name-field input,:root[data-theme=light] .invite-form-grid input,:root[data-theme=light] .invite-form-grid select,:root[data-theme=light] .inline-edit{color:var(--text);border-color:var(--border);background:#fff}:root[data-theme=light] select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}:root[data-theme=light] th{color:var(--muted);background:#eef2f8}:root[data-theme=light] .empty-panel,:root[data-theme=light] .game-check,:root[data-theme=light] .flow-node{color:var(--muted);border-color:var(--border);background:#ffffffb8}:root[data-theme=light] .empty-panel strong,:root[data-theme=light] .metric strong,:root[data-theme=light] .flow-node strong{color:var(--text)}:root[data-theme=light] .auth-panel .text-button{color:var(--accent)}:root[data-theme=light] .grid-shell{--ag-background-color:#fff;--ag-foreground-color:#0b0f1a;--ag-header-background-color:#eef2f8;--ag-header-text-color:#536174;--ag-border-color:#0b0f1a1f;--ag-odd-row-background-color:#f8fafc;--ag-row-hover-color:#7c3aed14;--ag-selected-row-background-color:#7c3aed24}:root[data-theme=light] .time-brush,:root[data-theme=light] .account-popover{box-shadow:0 24px 70px #0b0f1a2e}@media (max-width:1260px){.analytics-app{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);align-items:center;gap:20px;height:auto;padding:14px 20px;display:flex;position:static}.brand{border-bottom:0;flex-shrink:0;justify-content:flex-start;min-height:auto;margin-bottom:0;padding:0}.sidebar-logo{width:144px}nav{flex-wrap:wrap;gap:4px;margin-top:0;display:flex}nav button.active:before{display:none}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.filterbar{grid-template-columns:repeat(4,minmax(0,1fr));top:0}.trading-filterbar{align-items:stretch}.topbar{flex-wrap:wrap;margin:-28px -32px 24px;position:static}.topbar-actions{flex-wrap:wrap;justify-content:flex-start}.time-brush{width:min(520px,100vw - 48px);left:0;right:auto}.analysis-grid.two,.analysis-grid.three{grid-template-columns:1fr}}@media (max-width:720px){.workspace{padding:20px 16px 48px}.topbar{margin:-20px -16px 20px;padding:14px 16px}.metric-strip,.metric-strip.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.filterbar{grid-template-columns:1fr}.trading-filterbar .filter-control{width:100%}h1{font-size:1.4rem}}
