:root{color-scheme:dark;--bg:#0b101b;--panel:#101724;--panel-alt:#141e2c;--line:#263143;--line2:#1d2938;--text:#e9f1fc;--muted:#8d9db3;--cyan:#5ae0d1;--gold:#d5b277;--blue:#7295ff;--surface:#111c2b;--r:10px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:#101723;gap:12px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brandmark{background:linear-gradient(145deg,#46dec9,#76a8fa);color:#071723;border-radius:10px;width:37px;height:37px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700}.brand strong{display:block;font-size:13px;letter-spacing:1.8px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.2px;margin-top:3px}.version{color:#74d9c6}.top-actions{display:flex;align-items:center;gap:8px}.pill{font-size:10px;letter-spacing:.8px;color:#94e0d1;border:1px solid #284b50;border-radius:20px;padding:8px 11px;margin-right:8px;white-space:nowrap}.live-dot{display:inline-block;background:#49cda9;width:6px;height:6px;border-radius:50%;margin-right:7px}.ghost,.primary{border:1px solid #364359;background:#182234;color:var(--text);border-radius:7px;padding:9px 13px;font-size:12px;font-weight:600;transition:.15s}.ghost:hover{background:#25344a;border-color:#60718e}.primary{background:#56d6c1;color:#082124;border-color:#56d6c1}.primary:hover{background:#77f1dc}.export-arrow{margin-left:12px}.layout{display:grid;grid-template-columns:285px minmax(0,1fr) 274px;min-height:calc(100vh - 70px)}.sidebar{background:var(--panel);padding:24px 18px;overflow-y:auto}.leftpanel{border-right:1px solid var(--line)}.rightpanel{border-left:1px solid var(--line)}.panel-title{font-size:11px;font-weight:750;letter-spacing:1.1px;color:#d7e4f3;display:flex;align-items:center;gap:9px;margin-bottom:15px}.panel-title>span{font-size:10px;color:var(--cyan);font-weight:800}.panel-note{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:17px}.panel-note b{color:#ccdbee}.view-list{display:flex;flex-direction:column;gap:8px}.view-slot{display:flex;align-items:center;gap:10px;text-align:left;min-height:64px;width:100%;background:#131d2b;border:1px solid #273348;border-radius:8px;color:#e4edfa;padding:7px;cursor:pointer}.view-slot:hover{border-color:#6985a3}.view-slot.selected{background:#142c35;border-color:#55d7c5}.view-slot .thumb{background:#222d3a;flex:0 0 43px;width:43px;height:49px;display:flex;align-items:center;justify-content:center;color:#5c7188;font-size:20px;border-radius:5px;overflow:hidden}.view-slot .thumb img{height:100%;width:100%;object-fit:contain;image-rendering:pixelated}.view-slot .details{flex:1;min-width:0}.view-slot .details strong{font-size:11px;display:block}.view-slot .details small{font-size:10px;color:var(--muted);margin-top:4px;display:block}.add-inline{border:0;background:none;color:var(--cyan);font-size:19px;padding:4px 8px}.thin-divider{height:1px;background:var(--line);margin:22px 0}.field-label{font-size:11px;color:#a9bbce;display:flex;justify-content:space-between;margin:15px 0 7px}.field-label output{color:var(--cyan);font-weight:700}.field-input{width:100%;background:#192435;border:1px solid #364258;color:#dce8f7;padding:9px;border-radius:7px;font-size:12px}input[type=range]{width:100%;accent-color:var(--cyan);cursor:pointer}.stretch{width:100%;margin-top:15px;padding:12px}.hint{font-size:10.5px;color:#8398ae;line-height:1.6;margin-top:12px}.checkline{display:flex;gap:9px;align-items:center;font-size:12px;color:#bdcada;margin:13px 0}.checkline input{accent-color:var(--cyan)}.tip,.warning{background:#152333;border:1px solid #2b4254;border-radius:8px;padding:12px;color:#a9c5d7;font-size:11px;line-height:1.65;margin-top:17px}.warning{background:#292319;border-color:#51412a;color:#dac3a1}.warning b{color:#f0d59f}.workspace{display:flex;flex-direction:column;min-width:0;padding:26px 29px 17px;background:radial-gradient(circle at 50% 20%,#151f30 0%,#0c121d 58%)}.workspace-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:10px;color:#6fdac9;letter-spacing:1.5px;font-weight:700}.workspace h1{font-size:24px;letter-spacing:-.8px;margin:8px 0 5px;font-weight:750}.workspace-heading p{color:#8b9caf;font-size:12px;margin:0;line-height:1.55}.workspace-tags{display:flex;gap:7px}.status-tag{font-size:10px;background:#1b2736;border:1px solid #2c394b;padding:8px;border-radius:20px;color:#9eafc2;white-space:nowrap}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;background:#141e2b;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;min-height:48px;padding:0 12px}.tabset{display:flex;gap:5px}.tab{background:none;border:0;color:#98a7ba;border-radius:5px;padding:8px 14px;font-size:12px}.tab:hover{color:#fff}.tab.active{background:#283849;color:#e7f6f6}.canvas-meta{font-size:11px;color:#879bb1}.sep{padding:0 8px}.stage{position:relative;height:min(64vh,650px);min-height:410px;border:1px solid var(--line);overflow:hidden;background-color:#0e1721;background-image:linear-gradient(45deg,#15212c 25%,transparent 25%),linear-gradient(-45deg,#15212c 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#15212c 75%),linear-gradient(-45deg,transparent 75%,#15212c 75%);background-size:30px 30px;background-position:0 0,0 15px,15px -15px,-15px 0}.stage canvas{position:absolute;inset:0;width:100%;height:100%}#glCanvas{pointer-events:none}#overlayCanvas{touch-action:none;cursor:crosshair}.stage-hud{position:absolute;z-index:2;background:#0d1926b8;border:1px solid #283648;color:#9eb1c3;font-size:10px;letter-spacing:.8px;border-radius:6px;padding:9px;pointer-events:none}.top-left{top:12px;left:12px}.bottom-left{bottom:12px;left:12px;max-width:70%;letter-spacing:0}.hud-symbol{color:var(--cyan);margin-right:5px}.empty-state{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:15px;pointer-events:none}.empty-state>*{pointer-events:auto}.empty-glyph{font-size:65px;color:#5de0cf;text-shadow:0 0 65px #31bdae60;line-height:1}.empty-state h2{font-size:21px;margin:17px 0 5px}.empty-state p{font-size:12px;color:#9bacc0;line-height:1.6;max-width:340px;margin:0 0 22px}.big{padding:13px 23px}.empty-state small{font-size:10px;color:#768ca1;margin-top:13px}.stage-bottom{background:#131d29;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;display:flex;align-items:center;gap:15px;padding:12px;color:#8fa3b8;font-size:10px}.right-text{margin-left:auto}.legend-dot{width:8px;height:8px;display:inline-block;border-radius:3px;margin-right:5px}.cyan{background:#4bdccb}.gold{background:#c7a977}.violet{background:#a293df}.milestone-line{display:flex;gap:12px;align-items:center;margin-top:18px;color:#94a7ba;font-size:10.5px;flex-wrap:wrap}.milestone-line>span:first-child{color:#64cfbd;letter-spacing:1.2px;font-size:10px}.milestone-line strong{font-weight:600;color:#c3d5e3}.milestone-line .muted{color:#74899e;margin-left:auto}.button-row{display:flex;gap:8px;margin-top:14px}.fill{flex:1}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat{background:#161f2d;border:1px solid #253245;border-radius:8px;padding:12px}.stat small{color:#8296ac;font-size:9px;letter-spacing:.8px;display:block}.stat strong{display:block;font-size:19px;margin-top:9px;font-weight:650}.steps{display:flex;flex-direction:column;gap:12px;margin-top:5px}.step{font-size:11px;color:#b5c6d8;display:flex;align-items:center;gap:11px}.step span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#214039;color:#69ddbe;font-size:12px}.step.future{color:#788ba0}.step.future span{background:#233044;color:#8c9db2}#toast{position:fixed;right:24px;bottom:22px;z-index:10;max-width:400px;background:#19323c;border:1px solid #4d9eaa;color:#e5fcff;box-shadow:0 12px 40px #0007;padding:13px 17px;border-radius:8px;font-size:12px;line-height:1.5;opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s}#toast.show{opacity:1;transform:translateY(0)}#toast.error{background:#422727;border-color:#b06b62}@media(max-width:1160px){.layout{grid-template-columns:245px minmax(0,1fr)}.rightpanel{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0 22px;border-left:0;border-top:1px solid var(--line)}.rightpanel>.thin-divider{display:none}.rightpanel>.warning{grid-column:1/-1}.rightpanel>.panel-title:nth-of-type(2){grid-column:2}.rightpanel>.panel-title:nth-of-type(3){grid-column:3}.workspace{padding:22px 17px}}@media(max-width:760px){.topbar{height:auto;flex-wrap:wrap;padding:12px;gap:10px}.top-actions{flex-wrap:wrap}.pill{display:none}.layout{display:flex;flex-direction:column}.leftpanel{border-right:0;border-bottom:1px solid var(--line)}.view-list{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar{padding:16px}.workspace{padding:17px 12px}.workspace h1{font-size:20px}.workspace-tags{display:none}.stage{min-height:390px;height:54vh}.rightpanel{display:block}.canvas-meta{display:none}.milestone-line .muted{margin-left:0}}

/* v0.2.0 registered turnaround QC */
.registration-panel{margin-top:18px;border:1px solid #334358;border-radius:10px;background:#121c2a;padding:17px}
.reg-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.reg-title h2{font-size:16px;margin:5px 0 3px}.reg-title p{font-size:10.5px;line-height:1.5;color:#91a6ba;margin:0}.reg-title p b{color:#d4e7ee}.reg-controls{display:flex;gap:7px;flex-shrink:0}
.turnaround-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:15px}
.turnaround-card{background:#0c1521;border:1px solid #2d3f52;border-radius:7px;padding:5px;color:#bdcddd;cursor:pointer;min-width:0}
.turnaround-card.selected{border-color:#56d6c1;box-shadow:inset 0 0 0 1px #56d6c166}
.turnaround-card canvas{display:block;width:100%;aspect-ratio:3/4;background:linear-gradient(0deg,#14202b 1px,transparent 1px),linear-gradient(90deg,#14202b 1px,transparent 1px);background-size:16px 16px}
.turnaround-card span{display:block;font-size:10px;text-align:center;padding:6px 0 3px}.turnaround-card small{font-size:9px;display:block;text-align:center;color:#879db1;padding-bottom:5px}
.registration-footer{display:flex;justify-content:space-between;gap:12px;color:#8aacc1;font-size:10px;margin-top:10px}.reg-report{font-size:10.5px;color:#a9c5d5;line-height:1.5;margin-top:13px;border-top:1px solid #2d3949;padding-top:10px}.reg-report b{color:#65dac2}
.reg-adjust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:13px}.reg-adjust label{font-size:10px;color:#94abbd;display:flex;align-items:center;gap:7px;flex:1 1 125px;min-width:90px}.reg-adjust input{width:100%;min-width:50px}.reg-adjust button{font-size:10px;padding:7px}
@media(max-width:760px){.reg-title{flex-direction:column;align-items:flex-start}.reg-controls{flex-wrap:wrap}.registration-panel{padding:10px}.turnaround-grid{gap:2px}.turnaround-card{padding:2px}.turnaround-card span{font-size:8px}.turnaround-card small{display:none}.registration-footer{font-size:9px}}

/* v0.3.0 shared lattice research display */
.morph-panel{margin-top:18px;padding:22px;border:1px solid #2b455b;border-radius:15px;background:#101c2d}
.morph-panel h2{font-size:21px;margin:6px 0 8px;color:#e8f0fa}
.morph-panel p{font-size:13px;line-height:1.6;color:#9cb3c7;max-width:860px}
#morphCanvas{display:block;width:100%;max-height:340px;aspect-ratio:750/340;border:1px solid #29445b;border-radius:10px;background:#111b2b;margin:14px 0}
.morph-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:#a9c1d5}
#morphPosition{flex:1;min-width:170px;accent-color:#66ded3}
.morph-controls label{display:flex;align-items:center;gap:5px}
.morph-panel .registration-footer{margin:12px 0}

/* v0.4.0 anatomical station QC */
.anatomy-report{padding:12px;margin:12px 0 0;border-radius:8px;border:1px solid #2c5452;background:#102928;color:#c3ded9;font:11px/1.6 system-ui}
.anatomy-report b{color:#70ebce}.morph-panel .texture-select{width:auto;min-width:155px;padding:7px}#morphCanvas{max-height:420px;aspect-ratio:750/420}

/* v0.5.0 source-fringe and diagnostic region controls */
.edge-panel{margin-top:18px;padding:18px;border:1px solid #3e5563;border-radius:12px;background:#131e2d}
.edge-panel h2{font-size:17px;color:#e1edf4;margin:7px 0}
.edge-panel p{font-size:12px;color:#aac0ce;line-height:1.6}
#edgeCompare{display:block;width:100%;height:auto;background:#182638;image-rendering:pixelated;border-radius:8px;border:1px solid #345063}
.edge-legend{font-size:10px;color:#9eafc1;margin-top:8px}
.region-report{padding:12px;margin-top:10px;border:1px solid #4d4a62;background:#292336;border-radius:8px;color:#c9bbdc;font-size:11px;line-height:1.6}

/* v0.5.2 pixel-accurate visible source atlas QA */
.surface-panel{margin-top:18px;padding:20px;background:#111d2b;border:1px solid #34605c;border-radius:13px}
.surface-panel h2{font-size:19px;margin:8px 0;color:#dceef5}.surface-panel p{font-size:12px;line-height:1.65;color:#a0bacd}.surface-panel .morph-controls{margin:14px 0}
#surfaceCanvas{display:block;width:100%;height:auto;max-height:420px;background:#121b29;image-rendering:pixelated;border:1px solid #355467;border-radius:8px}.surface-panel .warning{margin-bottom:0}

/* v0.7.0 projected anatomical track inspection */
#crossViewCanvas{display:block;width:100%;height:auto;background:#0d1826;image-rendering:pixelated;border:1px solid #385b69;border-radius:9px}
#crossViewPanel .morph-controls{row-gap:12px}#crossStation{width:115px;accent-color:#65dbc7}

/* v0.8.0: visible human review tools without altering the source art */
.review-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 10px;padding:12px;border:1px solid #39506c;border-radius:10px;background:#16283b}.review-controls button{font-size:12px}.review-controls label{font-size:12px;color:#cee2ed;margin-right:auto}.review-controls input{accent-color:#80e8cf}

/* v0.9.0 rotating depth-proxy preview */
#depthProxyCanvas{display:block;width:100%;max-width:1120px;height:auto;margin:14px auto;border-radius:10px;border:1px solid #33475b;background:#112034;image-rendering:pixelated}
#depthProxyPanel .morph-controls{flex-wrap:wrap}

/* v0.14.1: character-first visual QA. Keep verbose diagnostics collapsed in normal use. */
.lab-explainer{padding:8px 12px;margin:10px 0;border:1px solid #32495b;border-radius:8px;color:#a6c0d3;background:#102034}
.lab-explainer summary{cursor:pointer;color:#dfebf3;font-size:13px;font-weight:600}
.lab-explainer p{margin:10px 0 4px}
/* v0.39: visible, honest core workflow; 25 historical labs preserved but collapsed */
.production-workflow{margin:18px 0;border:1px solid #447a83;border-radius:12px;background:#122632;padding:20px;color:#e1f1f2}
.production-workflow h2{font-size:22px;margin:4px 0 7px}.production-workflow p{font-size:12px;line-height:1.65;color:#b2cad4;margin:7px 0 13px}.production-workflow strong{color:#e6f4f4}
.workflow-eyebrow{font-size:10px;color:#6addc2;font-weight:700;letter-spacing:.1em}
.workflow-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.workflow-actions button{font-size:11px;padding:11px 13px;min-height:40px}
.workflow-gate-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 0;color:#f1f9fa;font-weight:650;font-size:14px}
.gate-blocked,.gate-valid{font-size:10px;letter-spacing:.05em;padding:6px 8px;border:1px solid #846958;border-radius:5px;color:#ffcb93;background:#332b29}.gate-valid{border-color:#55a596;color:#91ffe4;background:#12342e}
.workflow-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.workflow-stage{border:1px solid #40505b;background:#15212e;display:flex;gap:10px;align-items:start;padding:10px;border-radius:8px}.workflow-stage.passed{border-color:#428e7c;background:#12312f}
.workflow-indicator{font-size:19px;color:#f5b888;width:20px;flex:0 0 20px}.workflow-stage.passed .workflow-indicator{color:#83f3c9}
.workflow-stage strong{display:block;font-size:11px;margin:0 0 4px}.workflow-stage small{display:block;font-size:10px;line-height:1.45;color:#a6bccc}
.archived-research{padding:12px 15px;border:1px solid #405062;border-radius:10px;margin:24px 0;color:#c0d3dd;background:#101a27}
.archived-research>summary,.template-qa-menu>summary{cursor:pointer;font-size:12px;font-weight:700;color:#adced5}
.archived-research>p{font-size:12px;color:#a8b9c6;line-height:1.6}.template-qa-menu{padding:6px 9px;border:1px solid #425164;border-radius:6px}
.template-qa-menu button{margin:8px 4px 5px 0}
@media(max-width:780px){.workflow-stages{grid-template-columns:1fr}.production-workflow{padding:13px}.workflow-actions button{flex:1 1 135px}.workflow-gate-heading{align-items:start;flex-direction:column}}
