:root {
  color-scheme: dark;
  --bg: #07141c;
  --bg-2: #0a2029;
  --panel: rgba(9, 31, 40, .86);
  --panel-2: rgba(11, 42, 52, .72);
  --text: #f4f8fa;
  --muted: #a9c0c8;
  --cyan: #69d7e6;
  --cyan-soft: #2a8d9e;
  --orange: #ff8a34;
  --line: rgba(105, 215, 230, .24);
  --danger: #ffb3a8;
  --radius: 18px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background:
  radial-gradient(circle at 78% 8%, rgba(42,141,158,.17), transparent 31rem),
  linear-gradient(180deg, #07141c 0%, #061017 100%); color: var(--text); }
button, input, select, textarea { font: inherit; }
a { color: var(--cyan); }
.skip-link { position:absolute; left:-9999px; top:1rem; z-index:99; background:#fff; color:#000; padding:.65rem 1rem; }
.skip-link:focus { left:1rem; }
.site-header { position:sticky; top:0; z-index:30; min-height:72px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; gap:1rem; background:rgba(5,18,25,.9); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:.65rem; text-decoration:none; color:var(--text); }
.wordmark { font-size:1.18rem; letter-spacing:.01em; }.wordmark strong:last-child { color:var(--cyan); }
.product { color:var(--muted); font-size:.82rem; border-left:1px solid var(--line); padding-left:.65rem; }.version { color:var(--cyan); }
.radar-mark { width:36px; height:36px; display:block; border-radius:9px; object-fit:cover; }
.header-actions { display:flex; gap:.8rem; align-items:center; }.language-switch { display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; }
.language-switch button { border:0; background:transparent; color:var(--muted); padding:.4rem .65rem; cursor:pointer; }.language-switch button[aria-pressed=true] { background:rgba(105,215,230,.13); color:var(--text); }
.status-chip,.run-status { padding:.4rem .72rem; border-radius:999px; font-size:.78rem; border:1px solid var(--line); }
.status-chip.ok,.run-status.ok { color:#c8fff0; border-color:rgba(92,229,178,.45); }.status-chip.bad,.run-status.bad { color:var(--danger); border-color:rgba(255,137,120,.45); }
main { width:min(1220px,90vw); margin:0 auto; }
.hero { min-height:470px; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:4vw; padding:5rem 0 3rem; }
.eyebrow,.step { color:var(--orange); font-size:.73rem; letter-spacing:.16em; font-weight:700; }
h1 { font-size:clamp(2.7rem,6vw,5.8rem); line-height:.95; max-width:840px; margin:.35rem 0 1.4rem; letter-spacing:-.045em; }
.lead { max-width:760px; color:var(--muted); font-size:clamp(1.05rem,2vw,1.28rem); line-height:1.65; }
.hero-radar { width:min(32vw,380px); aspect-ratio:1; justify-self:end; opacity:.92; }
.hero-radar img { width:100%; height:100%; display:block; border-radius:18%; }
.science-note { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:5rem; }
.science-note>div { background:var(--bg-2); padding:1.3rem 1.4rem; }.science-note p { color:var(--muted); line-height:1.5; margin:.55rem 0 0; font-size:.9rem; }
.evidence-label { color:var(--cyan); font-size:.7rem; letter-spacing:.14em; font-weight:800; }.evidence-label.experimental { color:var(--orange); }
.laboratory,.results-section { padding:1rem 0 5rem; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.3rem; }
h2 { font-size:clamp(2rem,4vw,3.25rem); margin:.2rem 0 0; } h3 { margin-top:0; font-size:1.16rem; }
.limits { max-width:620px; color:var(--muted); line-height:1.5; font-size:.9rem; }
.lab-grid,.result-shell { display:grid; grid-template-columns:1.2fr .8fr; gap:1rem; }
.panel { border:1px solid var(--line); background:linear-gradient(180deg,var(--panel),rgba(6,22,29,.86)); border-radius:var(--radius); padding:1.4rem; box-shadow:0 20px 60px rgba(0,0,0,.14); }
.segmented { border:0; padding:0; margin:1rem 0 1.2rem; display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; }
.segmented label { cursor:pointer; }.segmented input { position:absolute; opacity:0; }.segmented span { display:block; text-align:center; padding:.65rem; border:1px solid var(--line); border-radius:10px; color:var(--muted); }
.segmented input:checked+span { border-color:var(--cyan-soft); color:var(--text); background:rgba(105,215,230,.08); }
textarea,select { width:100%; border:1px solid var(--line); background:#06151c; color:var(--text); border-radius:10px; padding:.75rem; }
textarea { resize:vertical; min-height:190px; line-height:1.5; }.hint,label { color:var(--muted); font-size:.86rem; line-height:1.45; }
.file-control { display:block; padding:1rem; border:1px dashed var(--cyan-soft); border-radius:12px; cursor:pointer; color:var(--text); }.file-control input { display:block; margin-top:.65rem; max-width:100%; }
.column-picker { display:grid; gap:.45rem; margin-top:1rem; }.column-picker label { display:flex; gap:.55rem; align-items:center; }
.module-card { min-height:168px; margin:1rem 0; padding:1rem; border:1px solid var(--line); border-radius:12px; background:rgba(5,18,25,.52); }.module-card dl { display:grid; grid-template-columns:max-content 1fr; gap:.45rem .8rem; margin:0; font-size:.84rem; }.module-card dt { color:var(--muted); }.module-card dd { margin:0; overflow-wrap:anywhere; }
.primary,.secondary { border-radius:10px; padding:.72rem 1rem; cursor:pointer; }.primary { width:100%; border:1px solid var(--orange); background:var(--orange); color:#16100a; font-weight:750; }.primary:disabled { opacity:.45; cursor:not-allowed; }
.secondary { border:1px solid var(--line); background:transparent; color:var(--text); }
button:hover:not(:disabled),a:hover { filter:brightness(1.12); } button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.error-box { border:1px solid rgba(255,137,120,.38); background:rgba(109,25,18,.3); color:#ffd5cf; padding:1rem; border-radius:12px; margin-bottom:1rem; }
.result-head { display:flex; justify-content:space-between; gap:1rem; align-items:start; }.scientific-status { font-size:.72rem; padding:.4rem .65rem; border:1px solid var(--line); border-radius:999px; color:var(--cyan); text-align:center; }
.scientific-status.experimental { color:var(--orange); border-color:rgba(255,138,52,.42); }
.result-values { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; margin:1.2rem 0; }.result-values dt { color:var(--muted); }.result-values dd { margin:0; font-variant-numeric:tabular-nums; font-weight:700; overflow-wrap:anywhere; }
.execution-meta { border-top:1px solid var(--line); padding-top:1rem; color:var(--muted); font-size:.83rem; line-height:1.65; }
.provenance-list { display:grid; grid-template-columns:1fr; gap:.8rem; }.provenance-list dt { color:var(--muted); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }.provenance-list dd { margin:.2rem 0 0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; overflow-wrap:anywhere; color:#d7e7eb; }
footer { border-top:1px solid var(--line); width:min(1220px,90vw); margin:0 auto; padding:2rem 0 3rem; display:flex; justify-content:space-between; gap:2rem; color:var(--muted); font-size:.85rem; } footer nav { display:flex; gap:1rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes sweep { to { transform:rotate(360deg); } }
@media (max-width: 820px) { .hero{grid-template-columns:1fr;min-height:auto;padding-top:3rem}.hero-radar{width:65vw;justify-self:center;opacity:.78}.science-note,.lab-grid,.result-shell{grid-template-columns:1fr}.section-heading,footer{align-items:flex-start;flex-direction:column}.site-header{padding:.7rem 4vw}.status-chip{display:none}.product{display:none}.result-head{flex-direction:column;align-items:flex-start}.result-values{grid-template-columns:1fr;gap:.22rem;margin:1.15rem 0}.result-values dt{margin-top:.72rem;font-size:.78rem;letter-spacing:.03em}.result-values dd{width:100%;font-size:.94rem;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.scientific-status{max-width:100%;overflow-wrap:anywhere}.panel{min-width:0}.provenance-list dd{word-break:break-word} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.001ms!important; animation-iteration-count:1!important; } }

/* Mobile result readability: keep CRTI labels, values and evidence fields in separate rows. */
.result-values dd{min-width:0;max-width:100%;white-space:normal;word-break:break-word}
@media (max-width: 620px){
  .result-head{flex-direction:column;align-items:flex-start}
  .scientific-status{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
  .result-values{grid-template-columns:1fr;gap:.28rem;margin:1.05rem 0}
  .result-values dt{margin-top:.8rem;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
  .result-values dt:first-child{margin-top:0}
  .result-values dd{font-size:.94rem;line-height:1.45;font-weight:650;padding-bottom:.3rem}
  .execution-meta{overflow-wrap:anywhere}
  .provenance-panel .result-head{gap:.7rem}
  .provenance-panel .secondary{width:100%}
  .provenance-list dd{font-size:.68rem;line-height:1.45;word-break:break-all}
}


/* Studio 2.0 Web parity shell: same panel vocabulary, Web-native navigation. */
.hero.compact{min-height:360px;padding-bottom:2rem}
.cockpit,.studio-workspace{padding:1rem 0 5rem}
.cockpit-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.gauge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.4rem}
.gauge-card{appearance:none;text-align:left;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),rgba(6,22,29,.9));color:var(--text);border-radius:var(--radius);padding:1rem;cursor:pointer;min-width:0}
.gauge-card.experimental{border-color:rgba(255,138,52,.35)}
.gauge-name,.gauge-value,.gauge-meta{display:block}
.gauge-name{font-weight:750;min-height:2.4em}.gauge-value{font-size:1.35rem;font-variant-numeric:tabular-nums;margin-top:.75rem}.gauge-meta{font-size:.72rem;color:var(--muted);margin-top:.25rem;overflow-wrap:anywhere}
.gauge-dial{position:relative;display:block;width:min(100%,150px);aspect-ratio:2/1;margin:1rem auto .2rem;border:1px solid var(--cyan-soft);border-bottom:0;border-radius:150px 150px 0 0;background:radial-gradient(circle at 50% 100%,rgba(105,215,230,.13),transparent 58%)}
.gauge-dial:before{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;border-radius:50%;background:var(--orange);transform:translateX(-50%)}
.gauge-needle{position:absolute;left:50%;bottom:0;width:42%;height:2px;background:var(--orange);transform-origin:left center;transform:rotate(-90deg);transition:transform .45s ease}
.studio-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin:1.25rem 0}
.studio-nav button{display:flex;gap:.55rem;align-items:center;text-align:left;border:1px solid var(--line);border-radius:10px;background:rgba(5,18,25,.52);color:var(--muted);padding:.7rem;cursor:pointer;min-width:0}
.studio-nav button span{color:var(--orange);font-size:.7rem;font-weight:800}.studio-nav button[aria-selected=true]{color:var(--text);border-color:var(--cyan-soft);background:rgba(105,215,230,.08)}
.studio-panel{scroll-margin-top:90px}.parity-panel{min-height:180px}.parity-panel p:last-child{color:var(--muted);line-height:1.65;max-width:820px}
@media (max-width:900px){.gauge-grid{grid-template-columns:repeat(2,1fr)}.studio-nav{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.gauge-grid,.studio-nav{grid-template-columns:1fr}.cockpit-actions{align-items:stretch;flex-direction:column}.cockpit-actions .secondary{width:100%}.gauge-dial{width:140px}}
