@charset "UTF-8";

:root {
  --ink: #0b0c0c;
  --ink-soft: #111313;
  --charcoal: #171919;
  --graphite: #222424;
  --line: #303232;
  --line-soft: rgba(224, 220, 208, 0.12);
  --paper: #e6e2d8;
  --silver: #b8b5ac;
  --ash: #85837d;
  --dim: #62635f;
  --cinnabar: #d14b37;
  --cinnabar-deep: #a93628;
  --cinnabar-soft: rgba(209, 75, 55, 0.13);
  --bronze: #aa8a54;
  --positive: #8caf83;
  --negative: #c9695a;
  --warning: #c6a25c;
  --nav-width: 236px;
  --topbar-height: 82px;
  --content-max: 1480px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --sans: "HarmonyOS Sans SC", "Aptos", "Microsoft YaHei UI", sans-serif;
  --serif: "Noto Serif SC", "Songti SC", "STSong", serif;
  --mono: "JetBrains Mono", "IBM Plex Mono", "Cascadia Code", Consolas, monospace;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }
html { background: var(--ink); scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--paper);
  background: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: "";
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
}

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
code, .mono { font-family: var(--mono); }
::selection { color: var(--paper); background: var(--cinnabar); }
:focus-visible { outline: 2px solid var(--cinnabar); outline-offset: 3px; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 8px 14px;
  color: var(--ink);
  background: var(--paper);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.boot-screen { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 18px; color: var(--ash); letter-spacing: 0.16em; font-size: 12px; }
.boot-mark { width: 32px; height: 32px; border: 1px solid var(--line); transform: rotate(45deg); animation: boot 1.4s var(--ease) infinite; }
@keyframes boot { 50% { border-color: var(--cinnabar); box-shadow: inset 0 0 0 8px var(--cinnabar-soft); } }
.noscript { margin: 24px; padding: 20px; background: var(--charcoal); border-left: 3px solid var(--cinnabar); }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  display: flex;
  width: var(--nav-width);
  flex-direction: column;
  padding: 28px 18px 20px;
  background: #0d0e0e;
  border-right: 1px solid var(--line-soft);
}
.brand { display: flex; align-items: center; gap: 13px; padding: 0 8px 24px; }
.brand-seal { position: relative; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--cinnabar); transform: rotate(45deg); }
.brand-seal::before, .brand-seal::after, .brand-seal i::before, .brand-seal i::after { position: absolute; content: ""; background: var(--cinnabar); }
.brand-seal::before { width: 1px; height: 60%; }
.brand-seal::after { width: 60%; height: 1px; }
.brand-seal i::before { width: 5px; height: 5px; border-radius: 50%; transform: translate(-13px, -3px); }
.brand-seal i::after { width: 5px; height: 5px; border-radius: 50%; transform: translate(8px, -3px); }
.brand-type { display: flex; flex-direction: column; line-height: 1.15; }
.brand-type strong { font-family: var(--serif); font-size: 21px; font-weight: 600; letter-spacing: 0.15em; }
.brand-type small { margin-top: 5px; color: var(--ash); font: 9px/1 var(--mono); letter-spacing: 0.19em; }
.environment-stamp { display: flex; align-items: center; justify-content: space-between; margin: 0 8px 26px; padding: 8px 0; border-block: 1px solid var(--line-soft); }
.environment-stamp span { color: var(--cinnabar); font: 9px/1 var(--mono); letter-spacing: 0.13em; }
.environment-stamp i { color: var(--dim); font-size: 10px; font-style: normal; }
.primary-nav { display: flex; flex: 1; flex-direction: column; gap: 26px; }
.nav-group h2 { margin: 0 10px 8px; color: var(--dim); font: 10px/1 var(--sans); font-weight: 600; letter-spacing: 0.16em; }
.nav-item { position: relative; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; min-height: 42px; margin: 2px 0; padding: 0 9px; color: var(--ash); border-left: 2px solid transparent; transition: color 180ms, background 180ms, border-color 180ms; }
.nav-item:hover { color: var(--paper); background: rgba(255,255,255,0.025); }
.nav-item.is-active { color: var(--paper); background: var(--cinnabar-soft); border-left-color: var(--cinnabar); }
.nav-index { color: var(--dim); font: 10px/1 var(--mono); }
.nav-item.is-active .nav-index { color: var(--cinnabar); }
.nav-caret { opacity: 0; color: var(--cinnabar); transition: opacity 180ms, transform 180ms; }
.nav-item:hover .nav-caret, .nav-item.is-active .nav-caret { opacity: 1; transform: translate(2px, -2px); }
.sidebar-foot { margin-top: auto; padding: 18px 8px 0; border-top: 1px solid var(--line-soft); }
.system-state { display: flex; align-items: center; gap: 10px; }
.pulse-dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--positive); box-shadow: 0 0 0 4px rgba(140,175,131,.09); }
.system-state div { display: flex; flex-direction: column; }
.system-state strong { font-size: 11px; font-weight: 600; }
.system-state small { color: var(--dim); font-size: 9px; }
.sidebar-foot > p { margin: 14px 0 0; color: var(--dim); font: 10px/1 var(--mono); }
.sidebar-foot > p b { color: var(--silver); }

.workspace { min-height: 100vh; margin-left: var(--nav-width); }
.topbar { position: sticky; top: 0; z-index: 30; display: flex; height: var(--topbar-height); align-items: center; justify-content: space-between; padding: 0 clamp(24px, 3.1vw, 52px); background: rgba(11,12,12,.94); border-bottom: 1px solid var(--line-soft); backdrop-filter: blur(18px); }
.page-heading { display: flex; align-items: center; gap: 16px; }
.page-heading span { color: var(--cinnabar); font: 9px/1 var(--mono); letter-spacing: .12em; }
.page-heading h1 { margin: 0; font-family: var(--serif); font-size: 18px; font-weight: 500; letter-spacing: .08em; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.user-monogram { display: grid; width: 36px; height: 36px; place-items: center; margin-left: 4px; color: var(--ink); background: var(--paper); font-family: var(--serif); font-size: 13px; }
.command-button { display: flex; height: 34px; align-items: center; gap: 8px; padding: 0 9px; color: var(--dim); background: transparent; border: 1px solid var(--line); cursor: pointer; }
.command-button:hover { color: var(--silver); border-color: var(--ash); }
kbd { padding: 1px 4px; color: var(--ash); background: var(--charcoal); border: 1px solid var(--line); font: 9px/1.4 var(--mono); box-shadow: none; }
.mobile-menu { display: none !important; }

.main-content { width: min(100%, calc(var(--content-max) + 104px)); min-width: 0; margin-inline: auto; padding: 48px clamp(24px, 3.1vw, 52px) 96px; overflow-x: clip; }
.page-intro { display: grid; grid-template-columns: 64px minmax(0, 760px); gap: 26px; align-items: start; margin-bottom: 32px; }
.section-number { padding-top: 9px; color: var(--cinnabar); border-top: 1px solid var(--cinnabar); font: 11px/1 var(--mono); }
.intro-copy .eyebrow, .panel-head span, .freeze-card > div > span, .cost-card > span, .reproduction-card > span, .hero-kicker, .detail-id > span { color: var(--ash); font: 9px/1.2 var(--mono); letter-spacing: .16em; }
.intro-copy h2 { margin: 10px 0 8px; font-family: var(--serif); font-size: clamp(28px, 3.2vw, 47px); font-weight: 500; line-height: 1.22; letter-spacing: .02em; }
.intro-copy p { max-width: 670px; margin: 0; color: var(--ash); font-size: 14px; }

.button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 20px; padding: 0 18px; border: 1px solid transparent; font-size: 12px; font-weight: 600; letter-spacing: .05em; cursor: pointer; transition: background 180ms, border-color 180ms, color 180ms, transform 180ms; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff6ed; background: var(--cinnabar); border-color: var(--cinnabar); }
.button-primary:hover { background: #e05a45; }
.button-secondary { color: var(--paper); background: var(--charcoal); border-color: var(--line); }
.button-secondary:hover { border-color: var(--ash); }
.button-ghost { color: var(--ash); background: transparent; border-color: var(--line); }
.button-ghost:hover { color: var(--paper); }
.button-small { min-height: 34px; padding-inline: 12px; font-size: 11px; }
.button-block { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--silver); font-size: 12px; }
.text-link span { color: var(--cinnabar); transition: transform 180ms; }
.text-link:hover span { transform: translate(2px, -2px); }
.text-button { padding: 0; color: var(--ash); background: none; border: 0; cursor: pointer; font-size: 11px; }
.text-button.danger { color: var(--negative); }
.icon-button, .icon-link { display: grid; width: 34px; height: 34px; place-items: center; color: var(--silver); background: transparent; border: 1px solid var(--line); cursor: pointer; }
.icon-button:hover, .icon-link:hover { color: var(--paper); border-color: var(--cinnabar); }

.panel { background: var(--ink-soft); border: 1px solid var(--line-soft); }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.panel-head > div { display: flex; flex-direction: column; gap: 6px; }
.panel-head h3 { margin: 0; font-family: var(--serif); font-size: 20px; font-weight: 500; }
.tag { display: inline-flex; width: fit-content; align-items: center; padding: 4px 8px; color: var(--silver); background: rgba(255,255,255,.04); border: 1px solid var(--line); font: 9px/1 var(--mono); letter-spacing: .08em; }
.tag-accent { color: #f0a293; background: var(--cinnabar-soft); border-color: rgba(209,75,55,.32); }

.overview-hero { position: relative; display: grid; min-height: 500px; grid-template-columns: minmax(440px, .9fr) minmax(440px, 1.1fr); align-items: center; overflow: hidden; margin: -48px clamp(-52px, -3.1vw, -24px) 0; padding: 58px clamp(48px, 7vw, 108px) 52px; border-bottom: 1px solid var(--line-soft); }
.overview-hero::before { position: absolute; inset: 0; content: ""; pointer-events: none; background-image: linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to right, transparent 4%, black 70%); opacity: .38; }
.hero-copy { position: relative; z-index: 2; }
.hero-kicker { display: flex; align-items: center; gap: 10px; color: var(--silver); }
.hero-kicker i { width: 26px; height: 1px; background: var(--cinnabar); }
.hero-copy h2 { margin: 24px 0; font-family: var(--serif); font-size: clamp(46px, 5.4vw, 76px); font-weight: 400; line-height: 1.08; letter-spacing: -.04em; }
.hero-copy h2 em { color: var(--cinnabar); font-style: normal; }
.hero-copy > p { max-width: 560px; margin: 0; color: var(--ash); font-size: 15px; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; }
.hero-field { position: relative; min-height: 390px; }
.hero-field::after { position: absolute; right: 2%; bottom: 7%; width: 40%; height: 1px; content: ""; background: var(--cinnabar); }
.field-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid var(--line); border-radius: 50%; transform: translate(-50%,-50%) rotate(-18deg); }
.orbit-a { width: 75%; height: 46%; }
.orbit-b { width: 56%; height: 76%; transform: translate(-50%,-50%) rotate(31deg); }
.molecule-crop { background-color: #dad7ce; background-image: var(--mol-image); background-repeat: no-repeat; background-position: var(--mol-x) var(--mol-y); background-size: 500% 400%; background-blend-mode: multiply; filter: saturate(.75) contrast(1.12); }
.hero-molecule { position: absolute; top: 50%; left: 50%; width: min(78%, 430px); aspect-ratio: 1.2; border-radius: 50%; transform: translate(-50%,-50%); clip-path: polygon(10% 0, 92% 7%, 100% 82%, 76% 100%, 0 88%, 5% 18%); box-shadow: 0 26px 80px #000; }
.candidate-sigil { position: absolute; right: 1%; bottom: 12%; display: flex; flex-direction: column; min-width: 190px; padding: 13px 16px; background: rgba(11,12,12,.88); border-left: 2px solid var(--cinnabar); backdrop-filter: blur(8px); }
.candidate-sigil span, .field-coordinate { color: var(--cinnabar); font: 8px/1.4 var(--mono); letter-spacing: .14em; }
.candidate-sigil strong { margin: 2px 0; font: 15px/1.4 var(--mono); }
.candidate-sigil small { color: var(--ash); font: 9px/1.4 var(--mono); }
.field-coordinate { position: absolute; top: 9%; right: 1%; color: var(--dim); line-height: 1.8; }

.metric-band { display: grid; grid-template-columns: repeat(4,1fr); margin-block: 0 64px; border: 1px solid var(--line-soft); border-top: 0; }
.metric-cell { min-height: 142px; padding: 25px 28px; background: var(--ink-soft); border-right: 1px solid var(--line-soft); }
.metric-cell:last-child { border-right: 0; }
.metric-cell > span { color: var(--ash); font-size: 11px; }
.metric-cell strong { display: block; margin: 10px 0 7px; font: 30px/1 var(--mono); font-weight: 400; letter-spacing: -.05em; }
.metric-cell strong em { margin-left: 5px; color: var(--dim); font: 11px/1 var(--sans); font-style: normal; letter-spacing: 0; }
.metric-cell p { margin: 0; color: var(--dim); font-size: 10px; }
.metric-cell.accent strong { color: var(--cinnabar); }
.run-panel { margin-bottom: 70px; }
.run-panel > .panel-head, .evidence-ledger > .panel-head, .original-figure > .panel-head { padding: 24px 26px; border-bottom: 1px solid var(--line-soft); }
.run-list { display: flex; flex-direction: column; }
.run-row { display: grid; grid-template-columns: minmax(240px,1.4fr) minmax(260px,1fr) 92px 145px 34px; gap: 28px; align-items: center; min-height: 92px; padding: 17px 24px; border-bottom: 1px solid var(--line-soft); transition: background 180ms; }
.run-row:last-child { border-bottom: 0; }
.run-row:hover { background: rgba(255,255,255,.015); }
.run-identity { display: flex; flex-direction: column; }
.run-identity > span { color: var(--cinnabar); font: 9px/1.4 var(--mono); }
.run-identity strong { margin-block: 3px; font-weight: 500; }
.run-identity small { color: var(--dim); font: 10px/1.4 var(--mono); }
.progress-cluster > div { display: flex; justify-content: space-between; margin-bottom: 8px; color: var(--ash); font-size: 10px; }
.progress-cluster b { color: var(--silver); font: 10px/1 var(--mono); }
progress { display: block; width: 100%; height: 3px; overflow: hidden; color: var(--cinnabar); background: var(--graphite); border: 0; appearance: none; }
progress::-webkit-progress-bar { background: var(--graphite); }
progress::-webkit-progress-value { background: var(--cinnabar); }
progress::-moz-progress-bar { background: var(--cinnabar); }
.run-meta { display: flex; flex-direction: column; }
.run-meta span { color: var(--silver); font: 11px/1.4 var(--mono); }
.run-meta small { color: var(--dim); font-size: 9px; }
.row-link { color: var(--ash); font-size: 18px; }
.row-link:hover { color: var(--cinnabar); }
.split-section { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr); gap: 34px; }
.split-section > *, .queue-card > *, .queue-core { min-width: 0; }
.candidate-strip { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line-soft); }
.candidate-tile { position: relative; display: flex; min-width: 0; flex-direction: column; padding: 10px 10px 16px; border-right: 1px solid var(--line-soft); transition: background 180ms; }
.candidate-tile:last-child { border-right: 0; }
.candidate-tile:hover { background: var(--charcoal); }
.candidate-tile .molecule-crop { width: 100%; aspect-ratio: 1.15; margin-bottom: 12px; }
.candidate-tile > span { position: absolute; top: 17px; left: 17px; padding: 3px 6px; color: var(--paper); background: rgba(11,12,12,.82); font: 9px/1 var(--mono); }
.candidate-tile strong { font: 11px/1.4 var(--mono); }
.candidate-tile small { color: var(--ash); font: 9px/1.4 var(--mono); }
.evidence-radar { padding: 24px; background: var(--ink-soft); border-top: 2px solid var(--cinnabar); }
.gate-list { margin-top: 22px; }
.gate-list a { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line-soft); }
.gate-list a > span { color: var(--cinnabar); font: 9px/1 var(--mono); }
.gate-list a > div { display: flex; flex-direction: column; }
.gate-list strong { font-size: 12px; font-weight: 500; }
.gate-list small { max-width: 220px; overflow: hidden; color: var(--dim); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.status-pill { display: inline-flex; width: fit-content; align-items: center; gap: 6px; padding: 3px 7px; color: var(--ash); background: rgba(255,255,255,.025); border: 1px solid var(--line); font: 9px/1.2 var(--sans); white-space: nowrap; }
.status-pill i { width: 5px; height: 5px; border-radius: 50%; background: var(--dim); }
.status-positive { color: var(--positive); border-color: rgba(140,175,131,.24); }
.status-positive i { background: var(--positive); }
.status-active { color: #ef8e7c; border-color: rgba(209,75,55,.35); }
.status-active i { background: var(--cinnabar); box-shadow: 0 0 0 3px var(--cinnabar-soft); }
.status-warning { color: var(--warning); border-color: rgba(198,162,92,.3); }
.status-warning i { background: var(--warning); }
.status-negative { color: var(--negative); border-color: rgba(201,105,90,.3); }
.status-negative i { background: var(--negative); }
.data-disclaimer { display: flex; gap: 20px; margin-top: 42px; padding: 16px 0; color: var(--ash); border-block: 1px solid var(--line-soft); }
.data-disclaimer span { flex: 0 0 auto; color: var(--cinnabar); font: 9px/1.7 var(--mono); letter-spacing: .12em; }
.data-disclaimer p { margin: 0; font-size: 11px; }
.data-disclaimer b { color: var(--silver); font-family: var(--mono); font-weight: 400; }

.model-form { display: flex; flex-direction: column; gap: 1px; background: var(--line-soft); border: 1px solid var(--line-soft); }
.form-section { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: clamp(28px,5vw,80px); padding: clamp(30px,4vw,54px); background: var(--ink-soft); }
.form-section > header { display: grid; grid-template-columns: 36px 1fr; gap: 14px; align-content: start; }
.form-section > header > span, .step-token { display: grid; width: 32px; height: 32px; place-items: center; color: var(--cinnabar); border: 1px solid rgba(209,75,55,.35); font: 9px/1 var(--mono); }
.form-section h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 22px; font-weight: 500; }
.form-section header p { margin: 0; color: var(--dim); font-size: 11px; }
.form-grid { display: grid; gap: 22px 16px; }
.form-grid.cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-grid.cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.span-2 { grid-column: span 2; }
.field { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.field > span, fieldset legend, .range-field > span, .inline-select > span { color: var(--silver); font-size: 11px; font-weight: 500; }
.field > span i { margin-left: 4px; color: var(--cinnabar); font-size: 9px; font-style: normal; }
.field small { color: var(--dim); font-size: 9px; }
.field-error { display: none; color: var(--negative); font-size: 9px; font-weight: 400; }
.was-validated :invalid:not(fieldset) { border-color: var(--negative); }
.was-validated .field:has(:invalid) .field-error { display: block; }
input, select, textarea { width: 100%; color: var(--paper); background: #0e1010; border: 1px solid var(--line); border-radius: 0; }
input, select { height: 42px; padding: 0 12px; }
textarea { padding: 11px 12px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: var(--ash); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--cinnabar); box-shadow: inset 2px 0 0 var(--cinnabar); }
input:disabled { color: var(--dim); background: rgba(255,255,255,.015); }
select { appearance: none; background-image: linear-gradient(45deg,transparent 50%,var(--ash) 50%),linear-gradient(135deg,var(--ash) 50%,transparent 50%); background-position: calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px;background-repeat:no-repeat; }
.unit-input { position: relative; }
.unit-input input { padding-right: 72px; }
.unit-input em { position: absolute; top: 50%; right: 12px; color: var(--dim); font: 9px/1 var(--mono); font-style: normal; transform: translateY(-50%); }
.choice-stack { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; border: 0; }
.choice-stack legend { margin-bottom: 7px; }
.choice-stack label, .backend-choice label { cursor: pointer; }
.choice-stack label > input, .backend-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.choice-stack label > span { display: flex; min-height: 54px; flex-direction: column; justify-content: center; padding: 8px 11px; background: #0e1010; border: 1px solid var(--line); }
.choice-stack label > input:checked + span { background: var(--cinnabar-soft); border-color: var(--cinnabar); box-shadow: inset 2px 0 0 var(--cinnabar); }
.choice-stack b { font-size: 11px; font-weight: 500; }
.choice-stack small { color: var(--dim); font-size: 9px; }
.constraint-table { border: 1px solid var(--line-soft); }
.constraint-head, .constraint-row { display: grid; grid-template-columns: 1fr .8fr 1fr 1fr; gap: 12px; align-items: center; padding: 10px 13px; }
.constraint-head { color: var(--dim); background: rgba(255,255,255,.018); font-size: 9px; }
.constraint-row { min-height: 60px; border-top: 1px solid var(--line-soft); }
.constraint-row strong { font: 12px/1 var(--mono); font-weight: 500; }
.constraint-row input, .constraint-row select { height: 36px; }
.freeze-card { display: grid; grid-template-columns: 1fr auto auto; gap: 26px; align-items: center; padding: 30px clamp(30px,4vw,54px); background: var(--charcoal); border-top: 2px solid var(--cinnabar); }
.freeze-card h3 { margin: 7px 0 2px; font-family: var(--serif); font-size: 20px; font-weight: 500; }
.freeze-card p { margin: 0; color: var(--dim); font-size: 10px; }
.check-field { display: flex; align-items: flex-start; gap: 10px; color: var(--ash); font-size: 10px; cursor: pointer; }
.check-field input { width: 15px; height: 15px; flex: 0 0 auto; margin: 2px 0 0; padding: 0; accent-color: var(--cinnabar); }

.solver-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 26px; align-items: start; }
.solver-main { display: flex; flex-direction: column; gap: 16px; }
.config-block { padding: 26px; }
.config-block > .panel-head { margin-bottom: 22px; padding-bottom: 17px; border-bottom: 1px solid var(--line-soft); }
.backend-choice { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.backend-choice label > span { display: flex; min-height: 146px; flex-direction: column; padding: 18px; background: #0e1010; border: 1px solid var(--line); transition: border-color 180ms, background 180ms; }
.backend-choice label:hover span { border-color: var(--ash); }
.backend-choice input:checked + span { background: var(--cinnabar-soft); border-color: var(--cinnabar); }
.backend-choice i { width: fit-content; padding: 3px 5px; color: var(--cinnabar); border: 1px solid rgba(209,75,55,.28); font: 8px/1 var(--mono); font-style: normal; }
.backend-choice strong { margin: 13px 0 4px; font-family: var(--serif); font-size: 18px; font-weight: 500; }
.backend-choice small { color: var(--ash); font-size: 10px; }
.backend-choice em { margin-top: auto; padding-top: 12px; color: var(--dim); font: 9px/1 var(--mono); font-style: normal; }
.lambda-scale { position: relative; height: 62px; margin-top: 24px; border-top: 1px solid var(--line); }
.lambda-scale::before { position: absolute; top: -2px; left: 0; width: 54%; height: 3px; content: ""; background: var(--cinnabar); }
.lambda-scale span { position: absolute; top: 14px; left: var(--x); color: var(--dim); font: 9px/1 var(--mono); transform: translateX(-50%); }
.lambda-scale span::before { display: block; width: 1px; height: 7px; margin: -15px auto 8px; content: ""; background: var(--line); }
.lambda-scale span.active { color: var(--paper); }
.lambda-scale span.active::before { width: 5px; height: 5px; border-radius: 50%; background: var(--cinnabar); box-shadow: 0 0 0 4px var(--cinnabar-soft); }
.solver-summary { position: sticky; top: calc(var(--topbar-height) + 22px); }
.cost-card { padding: 26px; background: var(--ink-soft); border: 1px solid var(--line-soft); border-top: 2px solid var(--cinnabar); }
.cost-card h3 { margin: 8px 0 20px; font-family: var(--serif); font-size: 22px; font-weight: 500; }
.cost-card dl { margin: 0 0 22px; }
.cost-card dl div { display: flex; justify-content: space-between; padding: 9px 0; border-top: 1px solid var(--line-soft); }
.cost-card dt { color: var(--dim); font-size: 10px; }
.cost-card dd { margin: 0; color: var(--silver); font: 10px/1.6 var(--mono); }
.cost-note { display: flex; gap: 10px; margin: 18px 0; padding: 12px; background: rgba(198,162,92,.08); border-left: 2px solid var(--warning); }
.cost-note > i { display: grid; width: 17px; height: 17px; flex: 0 0 auto; place-items: center; color: var(--warning); border: 1px solid var(--warning); border-radius: 50%; font: 9px/1 var(--mono); font-style: normal; }
.cost-note p { margin: 0; color: var(--ash); font-size: 9px; }
.cost-note b { display: block; color: var(--warning); font-weight: 500; }
.cost-card .check-field { margin-bottom: 18px; }
.cost-card .button + .button { margin-top: 8px; }

.queue-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; padding: 12px 15px; }
.queue-filter { display: flex; gap: 4px; }
.queue-filter button { padding: 7px 11px; color: var(--ash); background: transparent; border: 0; cursor: pointer; font-size: 10px; }
.queue-filter button b { margin-left: 5px; color: var(--dim); font: 9px/1 var(--mono); }
.queue-filter button.is-active { color: var(--paper); background: var(--charcoal); }
.legend-line { display: flex; align-items: center; gap: 18px; color: var(--dim); font-size: 9px; }
.legend-line span { display: flex; align-items: center; gap: 6px; }
.legend-line i { width: 13px; height: 3px; }
.legend-demo { background: var(--cinnabar); }
.legend-history { background: var(--silver); }
.demo-boundary { display: flex; gap: 16px; margin-bottom: 22px; padding: 11px 15px; color: var(--ash); background: rgba(209,75,55,.06); border: 1px solid rgba(209,75,55,.17); }
.demo-boundary span { flex: 0 0 auto; color: var(--cinnabar); font: 9px/1.7 var(--mono); letter-spacing: .12em; }
.demo-boundary p { margin: 0; font-size: 10px; }
.queue-list { display: flex; flex-direction: column; gap: 10px; }
.queue-card { display: grid; grid-template-columns: 50px 1fr 130px; gap: 22px; min-height: 218px; padding: 24px; background: var(--ink-soft); border: 1px solid var(--line-soft); border-left: 2px solid var(--cinnabar); }
.queue-card:has(.status-negative) { border-left-color: var(--negative); }
.queue-index { padding-top: 3px; color: var(--dim); font: 22px/1 var(--mono); }
.queue-core header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.queue-core header > div > span { color: var(--cinnabar); font: 9px/1 var(--mono); }
.queue-core h3 { margin: 6px 0 0; font-family: var(--serif); font-size: 19px; font-weight: 500; }
.queue-route { display: flex; align-items: center; margin: 24px 0 20px; color: var(--dim); font-size: 9px; }
.queue-route span { white-space: nowrap; }
.queue-route span::before { display: inline-block; width: 6px; height: 6px; margin-right: 6px; content: ""; background: var(--graphite); border: 1px solid var(--dim); border-radius: 50%; }
.queue-route span.is-done { color: var(--silver); }
.queue-route span.is-done::before { background: var(--cinnabar); border-color: var(--cinnabar); }
.queue-route i { width: 32px; height: 1px; margin-inline: 8px; background: var(--line); }
.progress-cluster.wide { max-width: 760px; }
.queue-metadata { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 20px 0 0; }
.queue-metadata div { display: flex; flex-direction: column; }
.queue-metadata dt { color: var(--dim); font-size: 9px; }
.queue-metadata dd { margin: 0; color: var(--silver); font: 10px/1.6 var(--mono); }
.queue-actions { display: flex; flex-direction: column; gap: 8px; justify-content: flex-end; }
.queue-actions .button { width: 100%; }
.empty-state, .no-results { display: grid; min-height: 320px; place-items: center; align-content: center; padding: 40px; text-align: center; background: var(--ink-soft); border: 1px solid var(--line-soft); }
.empty-state > span, .no-results > span { color: var(--cinnabar); font: 42px/1 var(--serif); }
.empty-state h3, .no-results h3 { margin: 15px 0 4px; font-family: var(--serif); font-weight: 500; }
.empty-state p, .no-results p { margin: 0 0 22px; color: var(--dim); }

.candidate-toolbar { display: grid; grid-template-columns: minmax(250px,1fr) 190px minmax(180px,.6fr) auto; gap: 18px; align-items: end; padding: 14px; }
.search-field { position: relative; }
.search-field i { position: absolute; top: 50%; left: 13px; color: var(--dim); font: 17px/1 var(--serif); font-style: normal; transform: translateY(-50%); }
.search-field input { padding-left: 38px; }
.inline-select, .range-field { display: flex; flex-direction: column; gap: 5px; }
.inline-select select { height: 38px; }
.range-field > span { display: flex; justify-content: space-between; }
.range-field b { color: var(--cinnabar); font: 10px/1 var(--mono); }
.range-field input { height: 22px; padding: 0; accent-color: var(--cinnabar); border: 0; }
.view-toggle { display: flex; height: 38px; border: 1px solid var(--line); }
.view-toggle button { width: 38px; color: var(--dim); background: transparent; border: 0; cursor: pointer; }
.view-toggle button + button { border-left: 1px solid var(--line); }
.view-toggle button.is-active { color: var(--paper); background: var(--charcoal); }
.candidate-summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 0 12px; color: var(--dim); font-size: 10px; }
.candidate-summary p { display: flex; align-items: center; gap: 7px; margin: 0; }
.candidate-summary i { width: 5px; height: 5px; border-radius: 50%; background: var(--positive); }
.molecule-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line-soft); border-left: 1px solid var(--line-soft); }
.molecule-card { min-width: 0; background: var(--ink-soft); border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); transition: background 200ms, transform 200ms; }
.molecule-card:hover { z-index: 2; background: var(--charcoal); transform: translateY(-2px); }
.molecule-visual { position: relative; padding: 10px; }
.molecule-visual .molecule-crop { width: 100%; aspect-ratio: 1.18; }
.rank-mark, .valid-mark { position: absolute; top: 17px; padding: 4px 6px; font: 8px/1 var(--mono); }
.rank-mark { left: 17px; color: var(--paper); background: rgba(11,12,12,.86); }
.valid-mark { right: 17px; color: var(--positive); background: rgba(11,12,12,.86); }
.molecule-body { padding: 8px 18px 17px; }
.molecule-body > span { color: var(--cinnabar); font: 9px/1 var(--mono); }
.molecule-body h3 { margin: 7px 0 5px; font: 22px/1 var(--serif); font-weight: 500; }
.molecule-body > code { display: block; overflow: hidden; color: var(--ash); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.molecule-body dl { display: grid; grid-template-columns: 1fr 1fr; margin: 17px 0; border-block: 1px solid var(--line-soft); }
.molecule-body dl div { padding: 8px 0; }
.molecule-body dl div + div { padding-left: 12px; border-left: 1px solid var(--line-soft); }
.molecule-body dt { color: var(--dim); font: 8px/1 var(--mono); }
.molecule-body dd { margin: 3px 0 0; color: var(--silver); font: 12px/1 var(--mono); }
.molecule-body footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.molecule-body footer span { overflow: hidden; color: var(--dim); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.molecule-body footer b { flex: 0 0 auto; color: var(--silver); font-size: 9px; font-weight: 400; }
.molecule-grid.is-list { display: flex; flex-direction: column; border-right: 1px solid var(--line-soft); }
.molecule-grid.is-list .molecule-card { display: grid; grid-template-columns: 150px 1fr; }
.molecule-grid.is-list .molecule-body { display: grid; grid-template-columns: 90px 90px 1fr 190px 180px; gap: 20px; align-items: center; }
.molecule-grid.is-list .molecule-body h3, .molecule-grid.is-list .molecule-body > code, .molecule-grid.is-list .molecule-body dl { margin: 0; }
.molecule-grid.is-list .molecule-body dl { border: 0; }

.breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--dim); font-size: 10px; }
.breadcrumb a:hover { color: var(--paper); }
.breadcrumb strong { color: var(--silver); font: 10px/1 var(--mono); font-weight: 400; }
.molecule-detail-hero { display: grid; grid-template-columns: minmax(420px,1.1fr) minmax(380px,.9fr); min-height: 520px; background: var(--ink-soft); border: 1px solid var(--line-soft); }
.detail-visual { position: relative; display: grid; min-height: 520px; place-items: center; padding: 62px 46px 42px; overflow: hidden; background: #cfcac0; }
.detail-visual::after { position: absolute; inset: 20px; content: ""; pointer-events: none; border: 1px solid rgba(11,12,12,.22); }
.detail-tabs { position: absolute; z-index: 3; top: 32px; left: 32px; display: flex; }
.detail-tabs button { padding: 7px 12px; color: rgba(11,12,12,.55); background: transparent; border: 0; border-bottom: 1px solid rgba(11,12,12,.25); cursor: pointer; font-size: 9px; }
.detail-tabs button.is-active { color: var(--ink); border-bottom-color: var(--cinnabar); }
#detail-molecule { width: min(82%,490px); aspect-ratio: 1.24; }
.detail-molecule { width: 100%; height: 100%; background-color: #cfcac0; }
.detail-watermark { position: absolute; right: 34px; bottom: 18px; color: rgba(11,12,12,.1); font: 100px/1 var(--mono); }
.detail-visual > p { position: absolute; z-index: 3; right: 32px; bottom: 23px; left: 32px; margin: 0; color: rgba(11,12,12,.45); font-size: 8px; }
.detail-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,5vw,72px); }
.detail-id { display: flex; align-items: center; justify-content: space-between; }
.detail-id > span { color: var(--cinnabar); }
.detail-copy h2 { margin: 20px 0 2px; font: clamp(36px,4.2vw,62px)/1 var(--mono); font-weight: 300; letter-spacing: -.07em; }
.molecular-formula { color: var(--cinnabar); font-family: var(--serif); font-size: 22px; font-weight: 500; }
.detail-copy > code { margin-top: 30px; padding: 13px 0; color: var(--silver); border-block: 1px solid var(--line-soft); font-size: 11px; word-break: break-all; }
.detail-copy > p { margin: 18px 0 25px; color: var(--ash); font-size: 11px; }
.score-pair { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 30px; border: 1px solid var(--line-soft); }
.score-pair article { padding: 17px; }
.score-pair article + article { border-left: 1px solid var(--line-soft); }
.score-pair span { color: var(--dim); font: 9px/1 var(--mono); }
.score-pair strong { display: block; margin: 4px 0 10px; color: var(--paper); font: 20px/1 var(--mono); font-weight: 400; }
.score-pair article > div { height: 2px; background: var(--graphite); }
.score-pair article > div i { display: block; height: 100%; background: var(--cinnabar); }
.score-pair small { color: var(--dim); font-size: 8px; }
.detail-copy > .button { align-self: flex-start; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.fact-sheet, .evidence-mini { padding: 26px; }
.fact-sheet dl { display: grid; grid-template-columns: repeat(2,1fr); margin: 24px 0 0; border-top: 1px solid var(--line-soft); border-left: 1px solid var(--line-soft); }
.fact-sheet dl div { padding: 14px; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.fact-sheet dt { color: var(--dim); font-size: 9px; }
.fact-sheet dd { margin: 3px 0 0; color: var(--silver); font: 10px/1.5 var(--mono); overflow-wrap: anywhere; }
.positive-text { color: var(--positive) !important; }
.evidence-mini ul { margin: 24px 0 20px; padding: 0; list-style: none; }
.evidence-mini li { display: flex; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line-soft); }
.evidence-mini li > i { display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; color: var(--dim); border: 1px solid var(--line); border-radius: 50%; font: 8px/1 var(--mono); font-style: normal; }
.evidence-mini li.is-done > i { color: var(--positive); border-color: var(--positive); }
.evidence-mini li.is-open > i { color: var(--warning); border-color: var(--warning); }
.evidence-mini li > div { display: flex; flex-direction: column; }
.evidence-mini strong { font-size: 11px; font-weight: 500; }
.evidence-mini small { color: var(--dim); font-size: 9px; }
.record-nav { display: grid; grid-template-columns: 1fr 1fr; margin-top: 16px; border: 1px solid var(--line-soft); }
.record-nav a { display: flex; flex-direction: column; padding: 20px 24px; }
.record-nav a:last-child { align-items: flex-end; border-left: 1px solid var(--line-soft); }
.record-nav span { color: var(--dim); font-size: 9px; }
.record-nav strong { font: 11px/1.6 var(--mono); font-weight: 400; }
.record-nav a:hover strong { color: var(--cinnabar); }

.evidence-summary { display: grid; grid-template-columns: 220px 1fr minmax(270px,.55fr); align-items: stretch; margin-bottom: 18px; }
.evidence-score { padding: 28px; border-right: 1px solid var(--line-soft); }
.evidence-score > span { color: var(--ash); font-size: 10px; }
.evidence-score strong { display: block; margin: 5px 0; color: var(--cinnabar); font: 48px/1 var(--mono); font-weight: 300; }
.evidence-score strong em { font-size: 17px; font-style: normal; }
.evidence-score p { margin: 0; color: var(--dim); font-size: 9px; }
.evidence-axis { display: flex; align-items: center; justify-content: center; padding: 25px 34px; }
.evidence-axis > div { display: flex; width: 60px; flex-direction: column; align-items: center; text-align: center; }
.evidence-axis > b { width: clamp(12px,2vw,34px); height: 1px; background: var(--line); }
.evidence-axis i { width: 13px; height: 13px; border: 2px solid var(--dim); border-radius: 50%; }
.evidence-axis .verified i { background: var(--positive); border-color: var(--positive); box-shadow: 0 0 0 4px rgba(140,175,131,.09); }
.evidence-axis .warning i { background: var(--warning); border-color: var(--warning); }
.evidence-axis .missing i { border-color: var(--negative); }
.evidence-axis span { margin-top: 8px; color: var(--silver); font: 9px/1 var(--mono); }
.evidence-axis small { margin-top: 4px; color: var(--dim); font-size: 8px; white-space: nowrap; }
.evidence-boundary { display: flex; flex-direction: column; justify-content: center; padding: 25px 28px; background: rgba(255,255,255,.018); border-left: 1px solid var(--line-soft); }
.evidence-boundary > span { color: var(--cinnabar); font: 9px/1 var(--mono); letter-spacing: .13em; }
.evidence-boundary p { margin: 7px 0 0; color: var(--ash); font-size: 9px; }
.evidence-boundary p + p { color: var(--warning); }
.gate-grid { display: grid; grid-template-columns: repeat(5,1fr); margin-bottom: 34px; border-top: 1px solid var(--line-soft); border-left: 1px solid var(--line-soft); }
.gate-card { min-height: 230px; padding: 20px; background: var(--ink-soft); border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); border-top: 2px solid var(--line); }
.gate-card.gate-verified { border-top-color: var(--positive); }
.gate-card.gate-warning { border-top-color: var(--warning); }
.gate-card.gate-missing { border-top-color: var(--negative); }
.gate-card header { display: flex; align-items: center; justify-content: space-between; }
.gate-card header > span { color: var(--cinnabar); font: 10px/1 var(--mono); }
.gate-card h3 { margin: 24px 0 7px; font-family: var(--serif); font-size: 19px; font-weight: 500; }
.gate-card > p { min-height: 54px; margin: 0; color: var(--ash); font-size: 9px; }
.gate-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 24px; padding-top: 13px; border-top: 1px solid var(--line-soft); }
.gate-card footer code { overflow: hidden; color: var(--dim); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.gate-card footer .icon-link { width: 27px; height: 27px; flex: 0 0 auto; }
.evidence-ledger { margin-bottom: 16px; }
.ledger-head, .ledger-row { display: grid; grid-template-columns: 60px minmax(280px,1.4fr) 120px minmax(120px,.6fr) 90px; gap: 18px; align-items: center; padding: 12px 22px; }
.ledger-head { color: var(--dim); font-size: 9px; border-bottom: 1px solid var(--line-soft); }
.ledger-row { min-height: 52px; border-bottom: 1px solid var(--line-soft); }
.ledger-row strong { color: var(--cinnabar); font: 11px/1 var(--mono); font-weight: 400; }
.ledger-row code, .ledger-row > span { overflow: hidden; color: var(--silver); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.table-note { display: flex; gap: 14px; padding: 15px 22px; }
.table-note span { color: var(--cinnabar); font: 9px/1.6 var(--mono); }
.table-note p { margin: 0; color: var(--dim); font-size: 9px; }
.evidence-dual { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,.5fr); gap: 16px; }
.provenance-map, .reproduction-card { padding: 26px; }
.source-figure { position: relative; margin-top: 22px; padding: 14px; background: #ddd9cf; }
.source-figure img { width: 100%; mix-blend-mode: multiply; }
.source-figure button { position: absolute; right: 18px; bottom: 18px; padding: 7px 10px; color: var(--paper); background: rgba(11,12,12,.86); border: 0; cursor: pointer; font-size: 9px; }
.reproduction-card { border-top: 2px solid var(--negative); }
.reproduction-card h3 { margin: 8px 0 20px; font-family: var(--serif); font-size: 22px; font-weight: 500; }
.missing-tile { display: flex; gap: 13px; padding: 13px; background: rgba(201,105,90,.08); border: 1px solid rgba(201,105,90,.24); }
.missing-tile > b { color: var(--negative); font: 13px/1.5 var(--mono); }
.missing-tile > div { display: flex; flex-direction: column; }
.missing-tile strong { font-size: 10px; }
.missing-tile small { color: var(--ash); font-size: 8px; }
.reproduction-card ul { margin: 18px 0; padding: 0; list-style: none; }
.reproduction-card li { display: flex; gap: 8px; padding: 8px 0; color: var(--ash); border-top: 1px solid var(--line-soft); font-size: 9px; }
.reproduction-card li i { color: var(--negative); font: 9px/1.6 var(--mono); font-style: normal; }
.reproduction-card li i.done { color: var(--positive); }

.snapshot-badge { display: flex; align-items: center; gap: 7px; padding: 8px 10px; color: var(--ash); border: 1px solid var(--line); font-size: 9px; }
.snapshot-badge i { width: 5px; height: 5px; border-radius: 50%; background: var(--positive); }
.metrics-top { border-top: 1px solid var(--line-soft); margin-bottom: 16px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.chart-panel { min-height: 380px; padding: 24px; }
.chart-wide { grid-column: span 2; }
.chart-unit { color: var(--dim) !important; letter-spacing: 0 !important; }
.bar-chart { display: grid; gap: 9px; margin-top: 26px; }
.bar-chart a { display: grid; grid-template-columns: 24px 1fr 44px; gap: 12px; align-items: center; }
.bar-chart a > span, .bar-chart a > b { color: var(--dim); font: 9px/1 var(--mono); font-weight: 400; }
.bar-chart a > i { display: block; width: var(--bar); height: 12px; background: var(--silver); transition: width 400ms var(--ease), background 180ms; }
.bar-chart a:first-child > i { background: var(--cinnabar); }
.bar-chart a:hover > i { background: var(--cinnabar); }
.bar-chart a > b { color: var(--silver); text-align: right; }
.chart-caption { margin-top: 18px; padding-top: 12px; color: var(--dim); border-top: 1px solid var(--line-soft); font-size: 9px; }
.scatter-chart { position: relative; height: 250px; margin: 30px 24px 0; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); background-image: linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px); background-size: 25% 25%; }
.scatter-chart a { position: absolute; bottom: clamp(0%,var(--y),95%); left: clamp(0%,var(--x),95%); display: grid; width: 16px; height: 16px; place-items: center; color: var(--paper); background: var(--cinnabar); border-radius: 50%; transform: translate(-50%,50%); transition: transform 180ms; }
.scatter-chart a:hover { z-index: 3; transform: translate(-50%,50%) scale(1.5); }
.scatter-chart a span { font: 6px/1 var(--mono); }
.scatter-chart > i { position: absolute; color: var(--dim); font: 8px/1 var(--mono); font-style: normal; }
.axis-x { right: 0; bottom: -20px; }
.axis-y { top: -15px; left: -22px; transform: rotate(-90deg); transform-origin: left; }
.lambda-chart { display: flex; height: 260px; align-items: end; gap: 14px; margin-top: 28px; padding: 0 18px 24px; border-bottom: 1px solid var(--line); }
.lambda-chart > div { display: flex; height: 100%; flex: 1; flex-direction: column; justify-content: flex-end; align-items: center; }
.lambda-chart b { width: min(34px,65%); height: var(--h); background: var(--silver); }
.lambda-chart div:nth-last-child(-n+2) b { background: var(--cinnabar); }
.lambda-chart span { margin-top: 9px; color: var(--ash); font: 8px/1 var(--mono); }
.lambda-chart small { color: var(--dim); font: 7px/1.5 var(--mono); }
.source-panel { display: grid; grid-template-columns: 1fr 1fr; align-content: start; }
.source-panel .panel-head { grid-column: span 2; }
.source-donut { display: grid; place-items: center; margin-top: 34px; }
.source-donut::before { grid-area: 1/1; width: 150px; height: 150px; content: ""; border: 24px solid var(--graphite); border-top-color: var(--cinnabar); border-right-color: var(--silver); border-bottom-color: var(--bronze); border-radius: 50%; transform: rotate(26deg); }
.source-donut > div { grid-area: 1/1; display: flex; flex-direction: column; align-items: center; }
.source-donut strong { font: 27px/1 var(--mono); }
.source-donut small { color: var(--dim); font-size: 8px; }
.source-panel ul { align-self: center; margin: 35px 0 0; padding: 0; list-style: none; }
.source-panel li { display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line-soft); }
.source-panel li i { width: 5px; height: 5px; background: var(--tone); }
.source-panel li span { color: var(--ash); font-size: 9px; }
.source-panel li b { font: 10px/1 var(--mono); font-weight: 400; }
.integrity-panel { display: flex; flex-direction: column; }
.integrity-score { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin-top: 45px; }
.integrity-score > strong { color: var(--cinnabar); font: 58px/1 var(--mono); font-weight: 300; }
.integrity-score > strong em { font-size: 18px; font-style: normal; }
.integrity-score > div { display: flex; flex-direction: column; gap: 7px; }
.integrity-score span { display: flex; justify-content: space-between; color: var(--ash); font-size: 9px; border-bottom: 1px solid var(--line-soft); }
.integrity-score span b { color: var(--silver); font: 9px/1.7 var(--mono); font-weight: 400; }
.integrity-panel > p { margin-top: auto; color: var(--ash); font-size: 11px; }
.original-figure { margin-top: 16px; }
.original-figure img { width: 100%; padding: 24px; background: #dedad1; mix-blend-mode: screen; }

.command-dialog, .log-dialog, .figure-dialog { color: var(--paper); background: var(--ink-soft); border: 1px solid var(--line); box-shadow: 0 30px 100px #000; }
.command-dialog::backdrop, .log-dialog::backdrop, .figure-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(5px); }
.command-dialog { width: min(500px,calc(100vw - 32px)); padding: 0; }
.command-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line-soft); }
.command-head span { color: var(--cinnabar); font: 8px/1 var(--mono); letter-spacing: .13em; }
.command-head h2 { margin: 5px 0 0; font-family: var(--serif); font-size: 18px; font-weight: 500; }
.command-list { display: flex; flex-direction: column; padding: 7px; }
.command-list a { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; min-height: 44px; padding: 0 10px; color: var(--ash); }
.command-list a:hover { color: var(--paper); background: var(--charcoal); }
.command-list b { color: var(--cinnabar); font: 9px/1 var(--mono); font-weight: 400; }
.log-dialog { width: min(650px,calc(100vw - 32px)); padding: 0; }
.log-dialog pre { min-height: 220px; margin: 0; padding: 24px; overflow: auto; color: var(--positive); background: #090a0a; font: 11px/1.8 var(--mono); white-space: pre-wrap; }
.figure-dialog { width: min(1200px,calc(100vw - 32px)); padding: 44px 16px 16px; }
.figure-dialog .icon-button { position: absolute; top: 8px; right: 8px; }
.figure-dialog img { width: 100%; background: #dedad1; }
.toast-region { position: fixed; z-index: 100; right: 24px; bottom: 24px; display: flex; width: min(360px,calc(100vw - 48px)); flex-direction: column; gap: 8px; }
.toast { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; color: var(--silver); background: var(--charcoal); border: 1px solid var(--line); border-left: 3px solid var(--silver); box-shadow: 0 10px 40px #000; font-size: 10px; animation: toast-in 300ms var(--ease); }
.toast-success { border-left-color: var(--positive); }
.toast-error { border-left-color: var(--negative); }
.toast button { padding: 0; color: var(--dim); background: transparent; border: 0; cursor: pointer; }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } }
.scrim { display: none; }
.not-found { display: grid; min-height: calc(100vh - var(--topbar-height) - 150px); place-items: center; align-content: center; text-align: center; }
.not-found > span { color: var(--cinnabar); font: 100px/1 var(--mono); opacity: .28; }
.not-found h2 { margin: -22px 0 0; font-family: var(--serif); font-size: 35px; font-weight: 500; }
.not-found p { margin: 8px 0 24px; color: var(--dim); }

@media (max-width: 1180px) {
  .overview-hero { grid-template-columns: 1fr 1fr; padding-inline: 52px; }
  .run-row { grid-template-columns: 1.3fr 1fr 70px 110px 24px; gap: 16px; }
  .molecule-grid { grid-template-columns: repeat(3,1fr); }
  .gate-grid { grid-template-columns: repeat(3,1fr); }
  .gate-card:nth-last-child(-n+2) { grid-column: span 1; }
  .evidence-summary { grid-template-columns: 190px 1fr; }
  .evidence-boundary { grid-column: span 2; border-top: 1px solid var(--line-soft); border-left: 0; }
}

@media (max-width: 960px) {
  :root { --nav-width: 218px; }
  .sidebar { transform: translateX(-100%); transition: transform 250ms var(--ease); }
  .workspace { margin-left: 0; }
  .mobile-menu { display: grid !important; }
  body.menu-open { overflow: hidden; }
  body.menu-open .sidebar { transform: translateX(0); }
  body.menu-open .scrim { position: fixed; inset: 0; z-index: 35; display: block; background: rgba(0,0,0,.65); }
  .overview-hero { min-height: auto; grid-template-columns: 1fr; margin-top: -48px; padding-top: 80px; }
  .hero-field { min-height: 420px; }
  .metric-band { grid-template-columns: repeat(2,1fr); }
  .metric-cell:nth-child(2) { border-right: 0; }
  .metric-cell:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .split-section, .solver-layout, .evidence-dual { grid-template-columns: 1fr; }
  .solver-summary { position: static; }
  .candidate-toolbar { grid-template-columns: 1fr 180px; }
  .range-field { grid-column: span 1; }
  .molecule-detail-hero { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
  .ledger-head, .ledger-row { grid-template-columns: 45px minmax(220px,1fr) 85px 85px; }
  .ledger-head span:nth-child(4), .ledger-row code:nth-child(4) { display: none; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .chart-wide { grid-column: span 1; }
}

@media (max-width: 700px) {
  :root { --topbar-height: 68px; }
  .topbar { padding-inline: 16px; }
  .page-heading { gap: 9px; }
  .page-heading span { display: none; }
  .page-heading h1 { font-size: 16px; }
  .topbar-actions .command-button, .topbar-actions > .snapshot-badge, .topbar-actions > .button-secondary { display: none; }
  .main-content { padding: 32px 16px 70px; }
  .page-intro { grid-template-columns: 32px 1fr; gap: 16px; }
  .intro-copy h2 { font-size: 30px; }
  .overview-hero { margin: -32px -16px 0; padding: 54px 22px 26px; }
  .hero-copy h2 { font-size: clamp(42px,12vw,60px); }
  .hero-copy > p { font-size: 13px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .hero-field { min-height: 330px; }
  .candidate-sigil { right: 0; bottom: 8%; }
  .metric-band { margin-bottom: 48px; }
  .metric-cell { min-height: 120px; padding: 20px 17px; }
  .metric-cell strong { font-size: 24px; }
  .run-row { grid-template-columns: 1fr 70px; gap: 14px; padding: 17px; }
  .run-row .progress-cluster { grid-column: span 2; }
  .run-meta, .row-link { display: none; }
  .candidate-strip { grid-template-columns: repeat(2,1fr); }
  .candidate-tile:nth-child(2) { border-right: 0; }
  .candidate-tile:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .data-disclaimer { flex-direction: column; gap: 5px; }
  .form-section { grid-template-columns: 1fr; padding: 26px 18px; }
  .form-grid.cols-2, .form-grid.cols-3 { grid-template-columns: 1fr; }
  .span-2 { grid-column: span 1; }
  .constraint-table { overflow-x: auto; }
  .constraint-head, .constraint-row { min-width: 600px; }
  .freeze-card { grid-template-columns: 1fr; padding: 25px 18px; }
  .backend-choice { grid-template-columns: 1fr; }
  .config-block { padding: 20px 16px; }
  .queue-toolbar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .queue-filter { width: 100%; overflow-x: auto; }
  .legend-line { flex-wrap: wrap; }
  .demo-boundary { flex-direction: column; gap: 4px; }
  .queue-card { grid-template-columns: 1fr; gap: 12px; padding: 18px; }
  .queue-core header { flex-wrap: wrap; }
  .queue-index { display: none; }
  .queue-route { overflow-x: auto; padding-bottom: 6px; }
  .queue-actions { flex-direction: row; }
  .queue-actions .button { width: auto; flex: 1; }
  .candidate-toolbar { grid-template-columns: 1fr; }
  .molecule-grid { grid-template-columns: repeat(2,1fr); }
  .molecule-body { padding-inline: 12px; }
  .molecule-body footer span { display: none; }
  .molecule-grid.is-list .molecule-card { grid-template-columns: 110px 1fr; }
  .molecule-grid.is-list .molecule-body { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
  .molecule-grid.is-list .molecule-body dl { width: 100%; }
  .molecule-detail-hero { min-height: 0; }
  .detail-visual { min-height: 400px; padding: 60px 22px 40px; }
  .detail-copy { padding: 32px 22px; }
  .detail-copy h2 { font-size: 42px; }
  .score-pair { grid-template-columns: 1fr; }
  .score-pair article + article { border-top: 1px solid var(--line-soft); border-left: 0; }
  .fact-sheet dl { grid-template-columns: 1fr; }
  .evidence-summary { grid-template-columns: 1fr; }
  .evidence-score { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .evidence-axis { overflow-x: auto; justify-content: flex-start; }
  .evidence-boundary { grid-column: span 1; }
  .gate-grid { grid-template-columns: 1fr; }
  .ledger-table { overflow-x: auto; }
  .ledger-head, .ledger-row { min-width: 630px; }
  .source-panel { grid-template-columns: 1fr; }
  .source-panel .panel-head { grid-column: span 1; }
  .source-donut { margin-top: 28px; }
  .source-panel ul { margin-top: 20px; }
  .integrity-score { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 430px) {
  .molecule-grid { grid-template-columns: 1fr; }
  .candidate-strip { grid-template-columns: 1fr 1fr; }
  .topbar-actions > .button-primary { width: 36px; padding: 0; }
  .topbar-actions > .button-primary span { display: none; }
  .metric-band { grid-template-columns: 1fr; }
  .metric-cell { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .metric-cell:last-child { border-bottom: 0; }
  .record-nav { grid-template-columns: 1fr; }
  .record-nav a:last-child { align-items: flex-start; border-top: 1px solid var(--line-soft); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
