:root { color-scheme: light dark; font-family: Inter, system-ui, sans-serif; --surface: color-mix(in srgb, Canvas 94%, #fde68a 6%); --line: color-mix(in srgb, CanvasText 18%, transparent); --muted: color-mix(in srgb, CanvasText 65%, transparent); --accent: #8a6400; --soft: color-mix(in srgb, Canvas 82%, #facc15 18%); } * { box-sizing: border-box; } body { margin: 0; } button, input, select, textarea { font: inherit; } .toolbox-shell__main { width: min(100%, 90rem); } .workbench { display: grid; gap: 1rem; padding: clamp(0.75rem, 2vw, 1.5rem); } .panel { border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); padding: 1rem; min-width: 0; } .hero, .stage header, .stage footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .hero { background: linear-gradient(135deg, var(--surface), var(--soft)); } .hero h1 { margin: 0.2rem 0; font-size: clamp(1.6rem, 4vw, 2.6rem); } .hero p { max-width: 68ch; color: var(--muted); } .eyebrow { margin: 0; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 800; font-size: 0.7rem; color: var(--accent); } button, input, select, textarea { border: 1px solid var(--line); border-radius: 0.6rem; background: Canvas; color: CanvasText; padding: 0.55rem 0.7rem; } button { cursor: pointer; } .primary, .active { background: var(--accent) !important; color: #fff; } button:hover { border-color: var(--accent); } .file-button { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 0.6rem; padding: 0.55rem 0.7rem; color: CanvasText; cursor: pointer; } .file-button input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .analysis-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; margin: 0.7rem 0; } .analysis-grid div { padding: 0.55rem; border: 1px solid var(--line); border-radius: 0.55rem; } .analysis-grid :where(dt, dd) { margin: 0; } .analysis-grid dt { color: var(--muted); font-size: 0.75rem; } .analysis-grid dd { font-weight: 700; } .run-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; } progress { width: 100%; accent-color: var(--accent); } label { display: grid; gap: 0.25rem; color: var(--muted); font-size: 0.82rem; } textarea { width: 100%; min-height: 8rem; font: 0.78rem/1.4 ui-monospace, monospace; } .sources { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } .sources .panel { display: grid; gap: 0.6rem; } .pipeline { display: grid; grid-template-columns: minmax(18rem, 27rem) minmax(0, 1fr); gap: 1rem; align-items: start; } .stage-list { display: grid; gap: 0.7rem; } .add { display: flex; gap: 0.5rem; align-items: end; } .stage { display: grid; gap: 0.55rem; } .stage header label { display: flex; align-items: center; } .stage header input { width: auto; } .stage footer { justify-content: flex-end; } .inspector { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow: auto; } .snapshots, .exports { display: flex; gap: 0.4rem; flex-wrap: wrap; } .snapshots button { display: grid; text-align: left; } .snapshots small { opacity: 0.75; } .losses { border-left: 3px solid #b45309; background: color-mix(in srgb, #f59e0b 10%, Canvas); padding: 0.7rem 0.7rem 0.7rem 2rem; } .table-scroll { overflow: auto; max-height: 40rem; } table { border-collapse: collapse; width: 100%; font-size: 0.83rem; } th, td { padding: 0.5rem; border-bottom: 1px solid var(--line); text-align: left; max-width: 20rem; overflow-wrap: anywhere; } dialog { width: min(40rem, calc(100% - 2rem)); border: 1px solid var(--line); border-radius: 1rem; background: Canvas; color: CanvasText; padding: 1.2rem; } .close { float: right; } @media (max-width: 850px) { .sources, .pipeline { grid-template-columns: 1fr; } .inspector { position: static; max-height: none; } .hero { align-items: stretch; flex-direction: column; } } @media (max-width: 540px) { .analysis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }