:root{--ink:oklch(13% 0.01 74);--paper:oklch(93% 0.014 85);--paper-2:oklch(88% 0.018 85);--line:oklch(22% 0.012 74);--muted:oklch(38% 0.018 74);--danger:oklch(58% 0.21 29);--ok:oklch(52% 0.15 145);--ok-bg:oklch(78% 0.16 145);--ok-ink:oklch(19% 0.055 148);--warn:oklch(65% 0.16 78);--info:oklch(54% 0.12 235);--shadow:oklch(13% 0.01 74/18%);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--font-display:"Bahnschrift","Aptos Display","Segoe UI",sans-serif;--font-body:"Aptos","Segoe UI",sans-serif;--font-mono:"Cascadia Mono","JetBrains Mono",Consolas,monospace}[data-theme=dark]{--ink:oklch(91% 0.012 82);--paper:oklch(17% 0.014 74);--paper-2:oklch(24% 0.016 74);--line:oklch(71% 0.012 82);--muted:oklch(72% 0.018 82);--danger:oklch(67% 0.2 29);--ok:oklch(70% 0.16 145);--ok-bg:oklch(61% 0.15 145);--ok-ink:oklch(14% 0.045 148);--warn:oklch(76% 0.15 78);--info:oklch(72% 0.1 235);--shadow:oklch(4% 0.008 74/46%)}*{box-sizing:border-box}html{background:var(--paper)}body,html{color:var(--ink)}body{min-height:100dvh;margin:0;background:linear-gradient(90deg,color-mix(in oklch,var(--line) 7%,transparent) 1px,transparent 1px),linear-gradient(0deg,color-mix(in oklch,var(--line) 7%,transparent) 1px,transparent 1px),var(--paper);background-size:32px 32px;font-family:var(--font-body)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.public-site{position:relative;min-height:100dvh;color:var(--ink);background:linear-gradient(90deg,color-mix(in oklch,var(--line) 5%,transparent) 1px,transparent 1px),var(--paper);background-size:40px 40px}.public-nav{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-lg);align-items:center;padding:var(--space-md) clamp(var(--space-lg),4vw,var(--space-2xl));border-bottom:2px solid var(--line);background:color-mix(in oklch,var(--paper) 94%,var(--paper-2))}.public-wordmark{font-family:var(--font-display);font-weight:800;text-transform:uppercase}.public-nav nav{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:flex-end}.public-nav nav a{font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.public-footer{border-top:2px solid var(--line);padding:clamp(var(--space-xl),4vw,var(--space-3xl));background:color-mix(in oklch,var(--paper) 92%,var(--paper-2))}.public-footer p{max-width:82ch;margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.public-hero{display:grid;gap:var(--space-xl);min-height:72dvh;align-content:center;padding:clamp(var(--space-xl),7vw,96px);border-bottom:2px solid var(--line)}.public-hero-compact{min-height:44dvh}.public-kicker{color:var(--danger);font-family:var(--font-mono);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.public-hero h1,.public-report-detail h1{max-width:980px;margin:0;font-family:var(--font-display);font-size:clamp(3rem,8vw,7rem);line-height:.9;letter-spacing:0;text-transform:uppercase}.public-band p,.public-hero p,.public-report-callout p,.public-report-card p,.public-report-detail p{max-width:72ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.55}.public-actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}.public-band{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:1px;background:var(--line);border-bottom:2px solid var(--line)}.lab-auth-panel,.public-band article,.public-report-callout,.public-report-card,.public-report-detail{background:color-mix(in oklch,var(--paper) 94%,var(--paper-2))}.public-band article{display:grid;gap:var(--space-md);align-content:start;min-height:280px;padding:clamp(var(--space-xl),4vw,var(--space-3xl))}.public-band span{font-family:var(--font-mono);color:var(--danger)}.public-band h2,.public-report-callout h2,.public-report-card h2,.public-report-detail h1{margin:0;font-family:var(--font-display);line-height:1;text-transform:uppercase}.public-report-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xl);align-items:end;padding:clamp(var(--space-xl),5vw,72px)}.public-report-callout div,.public-report-card{display:grid;gap:var(--space-md)}.public-report-list{display:grid;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.public-report-card{padding:clamp(var(--space-xl),5vw,72px)}.public-report-detail{display:grid;gap:var(--space-xl);min-height:100dvh;padding:clamp(var(--space-xl),7vw,96px)}.public-report-detail ul{display:grid;max-width:72ch;gap:var(--space-md);margin:0;padding-left:var(--space-xl);line-height:1.55}.public-research-note{display:grid;max-width:72ch;gap:var(--space-sm);border:1px solid var(--line);padding:var(--space-lg);background:color-mix(in oklch,var(--paper) 86%,var(--paper-2))}.lab-auth-page{display:grid;min-height:100dvh;place-items:center;padding:var(--space-xl)}.lab-auth-panel{width:min(520px,100%)}.lab-shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr}.lab-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xl);align-items:end;padding:var(--space-xl) clamp(var(--space-lg),4vw,var(--space-3xl));border-bottom:2px solid var(--line);background:color-mix(in oklch,var(--paper) 92%,var(--paper-2))}.lab-brand{display:grid;gap:var(--space-sm)}.button,.endpoint code,.field label,.job-meta,.lab-kicker,.metric-label,.mono-label,.status-pill,.table-head{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.lab-kicker{color:var(--danger);font-size:.75rem;font-weight:700}.lab-title{max-width:920px;margin:0;font-family:var(--font-display);font-size:clamp(2.75rem,8vw,7.5rem);line-height:.88;letter-spacing:0;text-transform:uppercase}.lab-subtitle{max-width:72ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.header-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:flex-end}.theme-switch{display:inline-grid;grid-template-columns:repeat(2,44px);min-height:44px;border:1px solid var(--line);background:color-mix(in oklch,var(--paper) 88%,var(--paper-2))}.theme-button,.toast-close{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink)}.theme-button{min-width:44px;min-height:44px;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .18s cubic-bezier(.23,1,.32,1),color .18s cubic-bezier(.23,1,.32,1)}.theme-button+.theme-button{border-left:1px solid var(--line)}.theme-button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.theme-button:active,.toast-close:active{transform:scale(.96)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lab-main{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:1px;background:var(--line)}.control-rail,.work-surface{background:color-mix(in oklch,var(--paper) 96%,var(--paper-2))}.control-rail{padding:var(--space-xl)}.control-rail,.work-surface{display:grid;align-content:start;gap:var(--space-2xl)}.work-surface{padding:clamp(var(--space-lg),3vw,var(--space-3xl))}.panel{border:1px solid var(--line);background:color-mix(in oklch,var(--paper) 88%,var(--paper-2))}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--line)}.panel-title{margin:0;font-family:var(--font-display);font-size:1.1rem;line-height:1;text-transform:uppercase}.panel-body{display:grid;gap:var(--space-lg);padding:var(--space-lg)}.field{display:grid;gap:var(--space-sm)}.field label{font-size:.72rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:var(--space-md);outline:none}.field textarea{min-height:112px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 2px color-mix(in oklch,var(--danger) 60%,transparent)}.helper{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:var(--space-sm);border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:var(--space-sm) var(--space-lg);font-size:.75rem;font-weight:700;transition:transform .18s ease,background-color .18s ease,color .18s ease}.button:hover{background:var(--danger)}.button:active{transform:translateY(1px)}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--paper-2)}.button.danger{background:var(--danger)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.grid-stack{display:grid;gap:var(--space-lg)}.lab-nav{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.lab-nav a{border:1px solid var(--line);background:color-mix(in oklch,var(--paper) 88%,var(--paper-2));padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.lab-nav a:hover{background:var(--ink);color:var(--paper)}.metrics{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;border:1px solid var(--line);background:var(--line);gap:1px}.metric{display:grid;gap:var(--space-xs);min-height:96px;padding:var(--space-lg);background:var(--paper)}.metric-value{font-family:var(--font-mono);font-size:clamp(1.5rem,3vw,2.4rem);line-height:1}.metric-label{color:var(--muted);font-size:.7rem}.job-list{display:grid;border:1px solid var(--line);background:var(--line);gap:1px}.job-row{display:grid;grid-template-columns:1.2fr .8fr .6fr auto;gap:var(--space-md);align-items:center;padding:var(--space-lg);background:var(--paper)}.job-title{display:grid;gap:var(--space-xs);min-width:0}.job-title strong{overflow-wrap:anywhere}.job-meta{color:var(--muted);font-size:.7rem}.status-pill{display:inline-flex;width:fit-content;min-height:28px;align-items:center;border:1px solid var(--line);padding:var(--space-xs) var(--space-sm);font-size:.68rem}.status-completed{background:var(--ok-bg);border-color:color-mix(in oklch,var(--ok-ink) 65%,var(--line));color:var(--ok-ink);font-weight:800}.status-canceled,.status-failed{background:color-mix(in oklch,var(--danger) 22%,var(--paper))}.status-queued,.status-running{background:color-mix(in oklch,var(--warn) 24%,var(--paper))}.empty-state,.error-state,.loading-state{border:1px dashed var(--line);padding:var(--space-xl);background:color-mix(in oklch,var(--paper) 82%,var(--paper-2))}.error-state{border-style:solid;color:var(--danger)}.loading-state{position:relative;overflow:hidden}.loading-state:after{position:absolute;inset:auto 0 0;height:3px;content:"";background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--warn) 84%,var(--paper)),transparent);animation:processing-scan 1.1s linear infinite}.toast-region{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:40;display:grid;width:min(420px,calc(100vw - var(--space-2xl)));gap:var(--space-sm);pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-md);align-items:start;overflow:hidden;border:1px solid var(--line);background:color-mix(in oklch,var(--paper) 93%,var(--paper-2));box-shadow:0 18px 44px -28px var(--shadow);padding:var(--space-md);pointer-events:auto;transform:translateY(0);transition:transform .22s cubic-bezier(.23,1,.32,1),opacity .22s cubic-bezier(.23,1,.32,1)}.toast-icon{display:inline-flex;min-width:24px;color:var(--info)}.toast-success .toast-icon{color:var(--ok)}.toast-error .toast-icon{color:var(--danger)}.toast-processing .toast-icon svg{animation:spin .85s linear infinite}.toast-copy{display:grid;gap:var(--space-xs);min-width:0}.toast-copy span,.toast-copy strong{overflow-wrap:anywhere}.toast-copy strong{font-family:var(--font-display);font-size:.92rem;line-height:1.1;text-transform:uppercase}.toast-copy span{color:var(--muted);font-size:.82rem;line-height:1.35}.toast-close{min-width:28px;min-height:28px;border:1px solid color-mix(in oklch,var(--line) 55%,transparent);transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .14s cubic-bezier(.23,1,.32,1)}.toast-close:hover{background:color-mix(in oklch,var(--paper-2) 72%,transparent)}.toast-timeout{position:absolute;right:0;bottom:0;left:0;height:3px;transform-origin:left center;background:currentColor;animation:toast-timeout 4.2s linear forwards}.toast-success .toast-timeout{color:var(--ok)}.toast-processing .toast-timeout{color:var(--info);animation-duration:1.1s;animation-iteration-count:infinite}.report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:1px;background:var(--line);border:1px solid var(--line)}.report-section{display:grid;gap:var(--space-md);align-content:start;background:var(--paper);padding:var(--space-lg)}.report-section h3{margin:0;font-family:var(--font-display);text-transform:uppercase}.report-section li,.report-section p{line-height:1.48}.report-section ul{display:grid;gap:var(--space-sm);margin:0;padding-left:var(--space-lg)}.json-box{overflow:auto;max-height:520px;background:var(--ink);color:var(--paper);padding:var(--space-lg);font-family:var(--font-mono);font-size:.78rem;line-height:1.45}.endpoint-list,.json-box{border:1px solid var(--line)}.endpoint-list{display:grid;gap:1px;background:var(--line)}.endpoint{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(0,1fr);gap:var(--space-md);background:var(--paper);padding:var(--space-md)}.endpoint code{font-size:.72rem}.endpoint code,.endpoint span{overflow-wrap:anywhere}.report-agent-section{grid-column:1/-1}@media (max-width:980px){.lab-header,.lab-main,.public-band,.public-report-callout,.report-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.job-row{grid-template-columns:1fr}.header-actions{justify-content:flex-start}}@media (max-width:620px){.control-rail,.lab-header,.work-surface{padding:var(--space-lg)}.endpoint,.metrics{grid-template-columns:1fr}.toast-region{top:var(--space-sm);right:var(--space-sm);width:calc(100vw - var(--space-lg))}.public-nav{grid-template-columns:1fr auto}.public-nav nav{grid-column:1/-1;justify-content:flex-start}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes processing-scan{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes toast-timeout{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}