:root{color-scheme:light;--lab-ink:#202a32;--lab-muted:#66727a;--lab-paper:#f6f7f8;--lab-border:#e3e7e9;--lab-accent:#166d60;--lab-soft:#eaf3f0;--lab-blue:#4e79a7;--font-sans:'Geist Sans','Geist',-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:'Geist Mono',ui-monospace,monospace}
*{box-sizing:border-box}html,body,.lab-shell,.control-shell{font-synthesis:none}body{margin:0;background:var(--lab-paper);color:var(--lab-ink);font:14px/1.6 var(--font-sans)}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,a,summary,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lab-accent)}[hidden]{display:none!important}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{width:auto;height:auto;clip:auto;z-index:50;background:white;padding:12px;left:12px;top:12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,3.4vw,48px);font-weight:500;line-height:1.14;letter-spacing:-.055em;margin:0 0 14px}h2{font-size:20px;font-weight:500;letter-spacing:-.035em;line-height:1.35;margin:0}h3{font-size:14px;font-weight:600}.muted,.subcopy{color:var(--lab-muted)}.subcopy{font-size:12px;max-width:70ch;margin:7px 0 0}.eyebrow,.micro-label,.nav-label{font:10px/1.5 var(--font-mono);letter-spacing:.09em;color:var(--lab-muted);text-transform:uppercase}.eyebrow{margin:0 0 12px}.micro-label{display:block;margin-bottom:6px}
.lab-sidebar{position:fixed;inset:0 auto 0 0;width:224px;z-index:24;background:#fcfcfd;border-right:1px solid var(--lab-border);padding:32px 18px;display:flex;flex-direction:column}.lab-brand{font-size:21px;line-height:1.3;font-weight:600;text-decoration:none;letter-spacing:-.045em;padding:0 8px;display:block}.lab-mark{display:inline-block;color:var(--lab-accent);font-size:25px;vertical-align:-1px;margin-right:5px}.lab-brand-sub{display:block;letter-spacing:.11em;font:9px/1.5 var(--font-mono);color:var(--lab-muted);margin:8px 0 0 34px}.nav-label{margin:48px 12px 12px}.lab-sidebar nav{display:grid;gap:5px}.lab-sidebar nav a{display:flex;align-items:center;gap:13px;padding:11px 12px;text-decoration:none;border-radius:6px;font-size:12px;color:#5b666d;transition:background .15s,color .15s}.lab-sidebar nav a span{font:10px var(--font-mono);color:#8d989e}.lab-sidebar nav a:hover{background:#f0f3f3}.lab-sidebar nav a[aria-current=page]{background:var(--lab-soft);color:#155d52;font-weight:600}.lab-sidebar nav a[aria-current=page] span{color:var(--lab-accent)}.sidebar-foot{margin-top:auto;padding:20px 10px 0;font-size:11px;color:#4f6060}.sidebar-foot p{color:var(--lab-muted);font-size:11px;margin:12px 0 16px}.sidebar-foot a{font-size:11px;text-decoration:none}.small-dot{width:6px;height:6px;background:var(--lab-accent);border-radius:50%;display:inline-block;margin-right:6px}.workspace{margin-left:224px;min-width:0}.workspace-top{display:flex;justify-content:space-between;align-items:center;gap:12px;height:65px;padding:0 36px;border-bottom:1px solid var(--lab-border);background:#fcfcfd;font:10px var(--font-mono);letter-spacing:.04em;color:var(--lab-muted)}.workspace-top span:last-child{text-align:right}.lab-main{padding:38px 36px 0;max-width:1560px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.page-heading>div:first-child{max-width:720px}.page-intro{color:var(--lab-muted);max-width:66ch;font-size:14px;line-height:1.65;margin:0}.page-actions,.inline-actions{display:flex;gap:9px;flex-wrap:wrap}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #d9dfe1;background:white;border-radius:6px;min-height:36px;padding:8px 13px;color:var(--lab-ink);font-size:11px;text-decoration:none;transition:background .16s,box-shadow .16s}.button:hover{background:#f3f6f5;box-shadow:0 1px 3px #162d2110}.button.primary{background:var(--lab-accent);border-color:var(--lab-accent);color:white}.button.primary:hover{background:#12594e}.button.small{min-height:30px;padding:5px 10px;font-size:11px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 24px;border:1px solid var(--lab-border);border-radius:9px;background:white}.metric-strip article{padding:22px 24px;border-right:1px solid var(--lab-border);min-width:0}.metric-strip article:last-child{border:0}.metric-strip span{display:block;font-size:11px;color:var(--lab-muted)}.metric-strip strong{display:block;font:400 clamp(27px,2.6vw,38px)/1.4 var(--font-sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:8px 0 5px}.metric-strip article:first-child strong{color:var(--lab-accent)}.metric-strip small{font-size:10px;color:var(--lab-muted);display:block;line-height:1.5}.panel{background:white;border:1px solid var(--lab-border);border-radius:9px;padding:24px;margin:0 0 24px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.panel-heading .eyebrow{margin-bottom:6px}.analysis-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:24px}.reading-note{background:#edf3f1;border-color:#dfe9e5;padding:26px}.reading-note h2{font-size:26px;letter-spacing:-.05em;line-height:1.2;margin-bottom:18px}.reading-note p:not(.eyebrow){font-size:12px;color:#536861;line-height:1.75}.rule{border-top:1px solid #d5e1dc;margin:20px 0}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;text-decoration:none;color:var(--lab-accent);font-weight:500}.text-link:hover{text-decoration:underline}.compact-label{font:10px var(--font-mono);color:var(--lab-muted);display:flex;gap:8px;align-items:center;white-space:nowrap}select,input{border:1px solid var(--lab-border);border-radius:5px;padding:8px 10px;background:white;color:var(--lab-ink);font-size:12px;min-height:36px}.compact-label select{font-size:11px;max-width:205px}.chart-stage{position:relative;min-height:245px;display:flex;align-items:center;justify-content:center;min-width:0}.chart-stage svg{display:block;width:100%;height:auto;overflow:visible}.chart-stage.short{min-height:185px}.chart-note{font-size:11px;color:var(--lab-muted);line-height:1.6;margin:16px 0 0}.axis{fill:#7e888d;font:10px var(--font-mono)}.grid-line{stroke:#e9eeee;stroke-dasharray:3 5}.stock-line{fill:none;stroke:var(--lab-accent);stroke-width:2;vector-effect:non-scaling-stroke}.stock-dot{fill:var(--lab-accent);stroke:white;stroke-width:1.5}.chart-tip{position:absolute;z-index:5;background:#20332e;color:white;font:11px/1.6 var(--font-mono);padding:10px 13px;border-radius:5px;pointer-events:none;max-width:240px;box-shadow:0 5px 20px #10282020}.empty-state{font-size:13px;color:var(--lab-muted);text-align:center;max-width:450px;margin:20px auto;padding:20px;line-height:1.7}.segmented{display:flex;border:1px solid var(--lab-border);border-radius:6px;padding:3px;background:#f6f8f8}.segmented button{border:0;background:transparent;font-size:11px;padding:7px 12px;border-radius:4px;color:var(--lab-muted)}.segmented button[aria-pressed=true]{background:white;color:var(--lab-accent);box-shadow:0 1px 3px #001a1012}.table-toolbar{display:flex;gap:16px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.search-field{flex:1;min-width:190px}.search-field input{width:100%;padding-left:13px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}.data-table th{font-size:10px;font-weight:500;color:var(--lab-muted);padding:11px 12px;background:#f8f9fa;border-block:1px solid var(--lab-border)}.data-table th:first-child,.data-table td:first-child{padding-left:4px}.data-table td{padding:14px 12px;border-bottom:1px solid #edf0f1;font-variant-numeric:tabular-nums}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#f7faf9}.data-table td small{display:block;color:var(--lab-muted);font:10px var(--font-mono);margin-top:3px}.delta{color:var(--lab-accent);font-weight:600}.badge{font-size:10px;border:1px solid #e1e6e8;border-radius:4px;padding:3px 7px;color:#59656b;background:#f8f9fa;display:inline-block;line-height:1.4}.badge.positive{color:#206b54;background:#edf7f2;border-color:#d7e9df}.badge.warning,.notice.warning{color:#876220;background:#fbf7ed;border-color:#efe5c9}.badge.negative{color:#984945;background:#fcf0ef;border-color:#efd8d5}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:16px;font-size:11px;color:var(--lab-muted)}.table-footer>div{display:flex;gap:8px}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px}.bar-list{display:grid;gap:17px}.bar-row{display:grid;grid-template-columns:150px minmax(40px,1fr) 55px;gap:14px;align-items:center;font-size:11px}.bar-track{height:6px;background:#eef2f3;border-radius:3px;overflow:hidden}.bar-track i{height:100%;display:block;background:var(--lab-blue);border-radius:3px}.bar-row strong{font:11px var(--font-mono);text-align:right}.bar-row .bar-name{overflow:hidden;text-overflow:ellipsis}.notice{border:1px solid var(--lab-border);border-radius:6px;padding:13px 17px;font-size:12px;margin-bottom:20px}.lab-footer{padding:0 0 28px;display:flex;justify-content:space-between;gap:20px;font:10px/1.6 var(--font-mono);color:var(--lab-muted)}
dialog{border:1px solid var(--lab-border);border-radius:12px;box-shadow:0 24px 100px #15241e33;padding:28px;max-width:720px;width:calc(100% - 32px);max-height:85vh;color:var(--lab-ink)}dialog::backdrop{background:#15241e44;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}dialog h2{font-size:27px}dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:24px 0}dialog dt{color:var(--lab-muted);font-size:11px;border-top:1px solid var(--lab-border);padding-top:12px}dialog dd{margin:5px 0 15px;font:13px var(--font-mono)}.flag-list{color:#836524;font-size:12px;line-height:1.8;padding-left:20px}.slug-list{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.slug-list span{font:11px var(--font-mono);padding:5px 8px;border:1px solid var(--lab-border);border-radius:4px;background:#fafbfb}
.draft-status{color:var(--lab-accent)}.protocol-banner{display:grid;grid-template-columns:1fr 1fr 1fr;padding:23px 25px;background:#edf3f1;border:1px solid #dbe7e1;border-radius:8px;gap:12px 24px;margin-bottom:34px}.protocol-banner strong{font-size:14px;font-weight:500}.protocol-banner p{grid-column:1/-1;font-size:11px;color:#5f756b;border-top:1px solid #d5e1dc;padding-top:12px;margin:4px 0 0}.section-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.section-line>span{font-size:11px}.hypothesis-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:32px;align-items:start}.hypothesis-card{padding:25px 26px;background:white;border:1px solid var(--lab-border);border-radius:9px}.idea-top{display:flex;justify-content:space-between;align-items:center}.idea-id{font:22px var(--font-mono);letter-spacing:-.07em;color:#9aaba4}.idea-priority{font-size:10px;color:var(--lab-accent);margin:23px 0 8px}.hypothesis-card h2{font-size:24px;max-width:420px;margin-bottom:14px}.hypothesis-card>p:not(.idea-priority){font-size:13px;color:var(--lab-muted);line-height:1.75;min-height:68px}.idea-evidence{border-left:2px solid #c1d7cc;padding-left:14px;margin:20px 0}.idea-evidence p{font-size:11px;color:var(--lab-muted);line-height:1.7;margin:0}details{border-top:1px solid var(--lab-border);margin-top:18px;padding-top:15px}summary{cursor:pointer;font-size:12px;color:var(--lab-accent);list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}.protocol-details{font-size:12px;color:#56676a;padding-top:22px}.protocol-details h3{margin:18px 0 6px;color:var(--lab-ink)}.protocol-details p{margin-bottom:14px}.protocol-details ul{padding-left:19px}.protocol-details li{margin-bottom:8px}.protocol-details .text-link{display:block;font-size:11px;margin:15px 0}.evaluator-grid{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:36px}.field-label{font-size:11px;color:var(--lab-muted);display:block;margin-bottom:8px}.full-select{width:100%;max-width:100%}.evaluation-instructions{font-size:12px;margin:22px 0}.evaluation-instructions ol{padding-left:18px}.evaluation-instructions li{padding-left:4px;margin-bottom:12px}.evaluation-instructions p{font-size:11px}textarea{width:100%;min-height:320px;resize:vertical;padding:16px;border:1px solid var(--lab-border);border-radius:6px;background:#fafbfb;color:var(--lab-ink);font:11px/1.7 var(--font-mono);margin-bottom:12px}.evaluation-result{margin-top:20px;border:1px solid var(--lab-border);padding:17px;border-radius:6px;font-size:12px;background:#f9fbfa}.evaluation-result p{margin:10px 0 0}.evaluation-result li{margin-bottom:7px}.evaluation-result ul{padding-left:17px}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:18px 0}.history-grid p{font-size:12px;color:var(--lab-muted);margin:12px 0}.history-grid h3{font:12px var(--font-mono)}
.wave-chart-note{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--lab-border)}
@media(min-width:1500px){.lab-main{padding-top:48px}.page-heading{margin-bottom:34px}}
@media(max-width:1190px){.lab-sidebar{width:194px;padding-inline:12px}.lab-brand{font-size:18px}.workspace{margin-left:194px}.lab-main{padding:28px 24px 0}.workspace-top{padding-inline:24px}.analysis-grid{grid-template-columns:1fr}.reading-note{display:grid;grid-template-columns:1fr 1.3fr;gap:0 25px}.reading-note .eyebrow,.reading-note .text-link{grid-column:1/-1}.reading-note .rule{display:none}.reading-note .micro-label{display:none}.reading-note h2{font-size:24px}.metric-strip article{padding:18px 14px}.page-heading{align-items:flex-start}.page-actions{justify-content:flex-end}.bar-row{grid-template-columns:110px 1fr 45px}.evaluator-grid{gap:22px}.protocol-banner strong{font-size:12px}}
@media(max-width:850px){.lab-sidebar{position:relative;width:100%;height:auto;padding:17px 22px;display:block;border-right:0;border-bottom:1px solid var(--lab-border)}.lab-brand{font-size:19px;display:inline-block}.lab-brand-sub,.nav-label,.sidebar-foot{display:none}.lab-sidebar nav{display:flex;margin-top:16px;gap:4px;overflow-x:auto}.lab-sidebar nav a{white-space:nowrap;padding:8px 12px}.lab-sidebar nav a span{display:none}.workspace{margin-left:0}.workspace-top{height:auto;min-height:45px;padding-block:10px;font-size:9px}.page-heading{margin-top:4px}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip article:nth-child(2){border-right:0}.metric-strip article:nth-child(-n+2){border-bottom:1px solid var(--lab-border)}.hypothesis-grid{gap:16px}.hypothesis-card{padding:20px}.two-panels{gap:16px}.evaluator-grid{grid-template-columns:1fr}.history-grid{gap:20px}.lab-footer{flex-direction:column;gap:5px}.table-toolbar{gap:10px}}
@media(max-width:580px){.lab-main{padding:25px 16px 0}.workspace-top{padding-inline:16px}.workspace-top>span:first-child{display:none}.workspace-top>span:last-child{text-align:left}.page-heading{display:block}.page-actions{margin-top:20px;justify-content:flex-start}.page-heading>a.button{margin-top:18px}.panel{padding:18px;margin-bottom:18px}.metric-strip{margin-bottom:18px}.metric-strip strong{font-size:30px}.panel-heading{gap:12px;flex-wrap:wrap}.analysis-grid,.two-panels{display:block}.reading-note{display:block}.reading-note h2 br{display:none}.hypothesis-grid{grid-template-columns:1fr}.hypothesis-card>p:not(.idea-priority){min-height:0}.protocol-banner{grid-template-columns:1fr;padding:20px;gap:17px}.protocol-banner strong{font-size:14px}.section-line{display:block}.section-line>span{display:block;margin-top:5px}.history-grid{grid-template-columns:1fr;gap:16px}.table-footer{align-items:flex-start}.table-footer>div{flex-shrink:0}.chart-stage{min-height:170px}.chart-stage.short{min-height:145px}.bar-row{grid-template-columns:125px 1fr 45px}.compact-label{white-space:normal}.compact-label select{max-width:190px}.lab-sidebar{padding:16px}.lab-sidebar nav a{font-size:11px;padding:8px 10px}.lab-sidebar nav{margin-top:12px}.data-table{font-size:11px}dialog{padding:20px}dialog dl{grid-template-columns:1fr}.page-intro{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
