:root{color-scheme:light dark;--font-body: system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", "DejaVu Sans", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, "DejaVu Sans Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: .375rem;--radius: .625rem;--radius-lg: 1rem;--radius-pill: 999px;--column-width: 48rem;--touch: 2.75rem;--ease: cubic-bezier(.2, 0, 0, 1);--dur: .14s;--bg: #ffffff;--bg-app: #f6f7fb;--surface: #f1f3f8;--surface-2: #e4e8f1;--surface-raised: #ffffff;--text: #151a24;--text-muted: #4a5365;--text-provisional: #5b6474;--border: #d5dae5;--border-strong: #6b7385;--scrim: rgb(10 14 25 / .5);--accent: #3b4fd8;--accent-hover: #2f40b8;--accent-soft: #e8ebff;--accent-soft-text: #1d2a85;--accent-text: #ffffff;--accent-2: #0f9d8a;--focus: #3b4fd8;--danger: #b00020;--danger-bg: #fdecef;--success: #17692a;--success-bg: #e6f5ea;--warning-bg: #fff4d6;--warning-border: #8a5a00;--warning-text: #4d3300;--shadow-1: 0 1px 2px rgb(16 24 40 / .06), 0 1px 3px rgb(16 24 40 / .08);--shadow-2: 0 4px 12px rgb(16 24 40 / .08), 0 2px 4px rgb(16 24 40 / .06);--shadow-3: 0 16px 40px rgb(16 24 40 / .18), 0 4px 12px rgb(16 24 40 / .1);--brand-gradient: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--seq-0: var(--surface-2);--seq-1: #cde2fb;--seq-2: #9ec5f4;--seq-3: #6da7ec;--seq-4: #3987e5;--seq-5: #1c5cab;--seq-6: #0d366b;--grid: #d3d8df}@media(prefers-color-scheme:dark){:root{--bg: #12151c;--bg-app: #0d0f14;--surface: #1a1e27;--surface-2: #262c38;--surface-raised: #1a1e27;--text: #e9ecf2;--text-muted: #a9b1c0;--text-provisional: #99a2b2;--border: #2d3442;--border-strong: #7d8798;--scrim: rgb(0 0 0 / .65);--accent: #8fa2ff;--accent-hover: #adbaff;--accent-soft: #232a52;--accent-soft-text: #d3d9ff;--accent-text: #0b1020;--accent-2: #3fd0b8;--focus: #8fa2ff;--danger: #ff8a80;--danger-bg: #3a1a1f;--success: #8fd69c;--success-bg: #14301b;--warning-bg: #3a2f10;--warning-border: #e0b252;--warning-text: #f3dfae;--shadow-1: 0 1px 2px rgb(0 0 0 / .5);--shadow-2: 0 4px 14px rgb(0 0 0 / .5);--shadow-3: 0 18px 44px rgb(0 0 0 / .65);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--seq-1: #0d366b;--seq-2: #184f95;--seq-3: #256abf;--seq-4: #3987e5;--seq-5: #6da7ec;--seq-6: #9ec5f4;--grid: #2f3640}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg-app)}body{margin:0;font-family:var(--font-body);font-size:1rem;background:var(--bg-app);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{line-height:1.25;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--accent-soft-text)}.skip-link{position:absolute;inset-inline-start:var(--space-2);top:var(--space-2);z-index:30;padding:var(--space-2) var(--space-4);min-height:var(--touch);display:inline-flex;align-items:center;background:var(--bg);color:var(--text);border:2px solid var(--focus);border-radius:var(--radius);box-shadow:var(--shadow-2);transform:translateY(-300%)}.skip-link:focus{transform:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}button{font:inherit;font-weight:500;padding:0 var(--space-4);min-height:var(--touch);cursor:pointer;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-text);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{background:transparent;color:var(--text);border-color:var(--border-strong)}button.secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.auth-page{max-width:25rem;margin:clamp(2rem,12vh,7rem) auto 2rem;padding:var(--space-8) var(--space-6);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);width:calc(100% - 2rem)}.auth-page h1{margin:0 0 var(--space-2);font-size:1.4rem;text-align:center}.auth-page>.caption{text-align:center;margin-bottom:var(--space-4)}.auth-page .notice{margin-bottom:var(--space-4)}.auth-page .form>button[type=submit]{min-height:3rem;font-weight:600}.form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-1);font-weight:500;font-size:.925rem}.field input,.field select{font:inherit;font-weight:400;padding:var(--space-2) var(--space-3);min-height:var(--touch);background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input:hover:not(:disabled),.field select:hover:not(:disabled){border-color:var(--text-muted)}.field input:focus-visible,.field select:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 30%,transparent)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.notice,.error,.success{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid currentColor;font-size:.925rem}.notice{background:var(--surface)}.error{color:var(--danger);background:var(--danger-bg)}.success{color:var(--success);background:var(--success-bg)}.caption{font-size:.85rem;color:var(--text-muted);margin:0}.app-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-app)}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding:var(--space-2) max(var(--space-4),env(safe-area-inset-right)) var(--space-2) max(var(--space-4),env(safe-area-inset-left));padding-top:max(var(--space-2),env(safe-area-inset-top));background:var(--bg)}.app-heading{display:flex;align-items:center;gap:var(--space-3)}.app-heading h1{margin:0;font-size:1.05rem;font-weight:650}.app-menu{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.app-menu .username{margin:0 var(--space-2) 0 0;overflow-wrap:anywhere}.tabs{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-1);padding-inline:max(var(--space-4),env(safe-area-inset-left));position:sticky;top:0;z-index:5}.tabs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}.tabs a{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 var(--space-4);color:var(--text-muted);text-decoration:none;font-weight:500;border-bottom:3px solid transparent;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.tabs a[aria-current=page]{border-bottom-color:var(--accent);color:var(--text);font-weight:650}.tabs a:hover{background:var(--surface);color:var(--text)}.app-main{flex:1;min-width:0;width:100%;max-width:90rem;margin:0 auto;padding:var(--space-6) max(var(--space-4),env(safe-area-inset-right)) var(--space-6) max(var(--space-4),env(safe-area-inset-left))}.app-main:focus{outline:none}.app-main h2{margin:0 0 var(--space-4);font-size:1.35rem}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.toolbar .caption{margin:0;align-self:center}.check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch)}.check input{width:1.25rem;height:1.25rem}.kpi-group{margin-bottom:var(--space-4)}.kpi-title{margin:0 0 var(--space-2);font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--space-3);margin:0}.kpi{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1)}.kpi dt{font-size:.8rem;color:var(--text-muted)}.kpi dd{margin:var(--space-1) 0 0;font-size:1.6rem;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi-hint{font-size:.8rem;font-weight:400;color:var(--text-muted)}.error-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.table-wrap{overflow-x:auto;max-width:100%;margin-bottom:var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:start;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);overflow-wrap:anywhere}.data-table tbody tr:hover{background:var(--surface)}.data-table tbody tr:last-child td{border-bottom:0}.data-table th{background:var(--surface);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:650;position:sticky;top:0;overflow-wrap:normal;word-break:normal}.data-table td.nowrap{white-space:nowrap}.data-table .num{text-align:end;font-variant-numeric:tabular-nums}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.chart{margin:0;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);min-width:0}.chart-title{margin:0;font-size:1rem;font-weight:650}.chart figcaption .caption{margin-top:var(--space-1)}.legend{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:.85rem}.legend li{display:inline-flex;align-items:center;gap:var(--space-2)}.swatch{display:inline-block;width:.75rem;height:.75rem;border-radius:2px}.swatch.s1{background:var(--series-1)}.swatch.s2{background:var(--series-2)}.swatch.s3{background:var(--series-3)}.chart-box{min-width:0;width:100%}.chart-svg{display:block;width:100%;height:auto;margin-top:var(--space-2);overflow:visible}.chart-svg:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.chart-svg .grid{stroke:var(--grid);stroke-width:1}.chart-svg .axis{fill:var(--text-muted);font-size:12px}.chart-svg .end-label{fill:var(--text);font-size:12px;font-weight:600}.chart-svg .value{fill:var(--text);font-size:12px}.chart-svg .crosshair{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}.chart-svg .hit{fill:transparent}.line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.line.s1{stroke:var(--series-1)}.line.s2{stroke:var(--series-2)}.line.s3{stroke:var(--series-3)}.bar.s1,.dot.s1{fill:var(--series-1)}.bar.s2,.dot.s2{fill:var(--series-2)}.bar.s3,.dot.s3{fill:var(--series-3)}.dot{stroke:var(--bg);stroke-width:2}.bin.active .bar{opacity:.8}.tooltip-box{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1}.tooltip-head{fill:var(--text);font-size:12px;font-weight:600}.tooltip-line{fill:var(--text);font-size:12px}.chart-svg .ring{fill:none;stroke:var(--text);stroke-width:2;pointer-events:none}.heat-cell.active{stroke:var(--text);stroke-width:2}.heat-scale{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:.8rem;color:var(--text-muted)}.heat-scale .step{display:inline-block;width:1.25rem;height:.75rem;border-radius:2px}.heat-scale .step.h0{background:var(--seq-0)}.heat-scale .step.h1{background:var(--seq-1)}.heat-scale .step.h2{background:var(--seq-2)}.heat-scale .step.h3{background:var(--seq-3)}.heat-scale .step.h4{background:var(--seq-4)}.heat-scale .step.h5{background:var(--seq-5)}.heat-scale .step.h6{background:var(--seq-6)}.chart-table{margin-top:var(--space-2)}.chart-table summary{cursor:pointer;min-height:var(--touch);display:flex;align-items:center;color:var(--text-muted)}.heat-cell.h0{fill:var(--seq-0)}.heat-cell.h1{fill:var(--seq-1)}.heat-cell.h2{fill:var(--seq-2)}.heat-cell.h3{fill:var(--seq-3)}.heat-cell.h4{fill:var(--seq-4)}.heat-cell.h5{fill:var(--seq-5)}.heat-cell.h6{fill:var(--seq-6)}.split{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:var(--space-4);align-items:start}@media(max-width:56rem){.split{grid-template-columns:minmax(0,1fr)}}.split-list,.split-detail{min-width:0}.detail-title{margin:0 0 var(--space-3);font-size:1.15rem}.detail-title:focus{outline:none}.filters{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.pick-list{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:70vh;overflow-y:auto}.pick-item{width:100%;display:grid;gap:0;text-align:start;padding-block:var(--space-2);background:var(--surface-raised);color:var(--text);border-color:var(--border-strong);font-weight:450}.pick-item:hover:not(:disabled){background:var(--surface)}.pick-item.current,.pick-item.current:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-soft-text);border-color:var(--accent)}.pick-item.current .pick-sub{color:inherit;opacity:.85}.pick-name{font-weight:600;overflow-wrap:anywhere}.pick-sub{font-size:.85rem;color:var(--text-muted);overflow-wrap:anywhere}.pick-badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.badge{display:inline-block;padding:.05rem var(--space-2);font-size:.75rem;font-weight:650;border:1px solid var(--border-strong);border-radius:999px}.badge--warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.kpi-text{font-size:1rem}.kpi-grid.wide{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.presence{margin:var(--space-2) 0 var(--space-4)}.summary h3{margin:var(--space-4) 0 var(--space-2);font-size:1rem}.field input[type=date],.field input[type=search]{max-width:100%}.transcript{margin-top:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-3)}.transcript-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.messages,.downvote-list{list-style:none;margin:var(--space-3) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.message,.downvote{min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border)}.message--user{background:var(--accent-soft);color:var(--accent-soft-text);border-color:transparent}.message--user .caption,.message--user .message-label{color:inherit;opacity:.8}.message--assistant{background:var(--surface-raised);box-shadow:var(--shadow-1)}.message-meta{margin:0 0 var(--space-1)}.message-label{margin:var(--space-2) 0 0;font-size:.8rem;font-weight:600;color:var(--text-muted)}.message-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.dialog{max-width:26rem;width:calc(100% - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-3)}.dialog--wide{max-width:34rem}.dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-title{margin:0 0 var(--space-3);font-size:1.1rem}.dialog .field input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.management .data-table td .actions{flex-wrap:wrap}@media print{.app-header,.tabs,.toolbar{display:none}}@media(max-width:40rem){.app-main{padding-inline:var(--space-3)}.app-heading:before{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.brand-logos{display:block;max-width:100%;object-fit:contain}.brand-logos--grid{width:15rem;height:auto;margin:0 auto var(--space-4)}.brand-logos--row{width:auto;height:1.75rem;max-width:min(50vw,20rem);flex:none}@media(prefers-color-scheme:dark){.brand-logos{background:#fff;border-radius:.5rem;padding:.3rem .6rem;box-sizing:content-box}}
