:root { color-scheme: dark; font-family: var(--font-ui); background: var(--bg-app); color: var(--fg1); }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg-app); }
main { min-height: 100vh; display: grid; grid-template: auto minmax(35rem, 1fr) / 1fr 18rem; }
header { grid-column: 1 / -1; min-height: 56px; padding: var(--sp-3) var(--sp-gutter); border-bottom: 1px solid var(--border-hair); display: flex; align-items: center; justify-content: space-between; }
h1, h2, p, dl, dd { margin: 0; }
h1 { margin-top: var(--sp-1); font: var(--fw-semibold) var(--fs-pane)/var(--lh-snug) var(--font-ui); letter-spacing: -0.01em; }
.eyebrow { color: var(--fg-muted); font: var(--fw-semibold) var(--fs-label)/var(--lh-snug) var(--font-ui); letter-spacing: var(--ls-label); text-transform: uppercase; }
label { color: var(--fg3); font: var(--fs-body-sm)/var(--lh-snug) var(--font-ui); }
section { position: relative; min-width: 0; }
canvas { width: 100%; height: 100%; display: block; background: var(--bg-app); }
.status { position: absolute; inset: var(--sp-4) auto auto var(--sp-4); max-width: 34rem; border: 1px solid var(--border-hair); border-radius: var(--r-sm); background: var(--bg-float); box-shadow: var(--shadow-float); padding: var(--sp-3) var(--sp-4); color: var(--fg2); font: var(--fs-meta)/1.5 var(--font-mono); }
.status.error { border-color: var(--rejected-chip); color: var(--rejected-chip); }
.controls { position: absolute; left: var(--sp-4); bottom: var(--sp-4); color: var(--fg-muted); font: var(--fs-small)/var(--lh-snug) var(--font-mono); }
aside { border-left: 1px solid var(--border-hair); padding: var(--sp-5) var(--sp-gutter); }
aside h2 { margin-bottom: var(--sp-4); font: var(--fw-semibold) var(--fs-pane)/var(--lh-snug) var(--font-ui); }
dt { margin-top: var(--sp-4); color: var(--fg-muted); font: var(--fw-semibold) var(--fs-label)/var(--lh-snug) var(--font-ui); text-transform: uppercase; letter-spacing: var(--ls-label); }
dd { margin-top: var(--sp-1); font: var(--fs-meta)/1.5 var(--font-mono); color: var(--fg3); overflow-wrap: anywhere; }
@media (max-width: 760px) { main { grid-template: auto minmax(28rem, 1fr) auto / 1fr; } aside { border: 0; border-top: 1px solid var(--border-hair); } }
