:root { color-scheme: dark; --ink:#f3f1e9; --muted:#a7aaa7; --panel:#121817; --line:#2b3431; --acid:#c8f560; --orange:#ff7a45; --red:#ff5e68; --blue:#8fd3ff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#090d0c; color:var(--ink); font:16px/1.55 Inter, ui-sans-serif, system-ui, sans-serif; }
button, input { font:inherit; }
button { cursor:pointer; }
.shell { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.masthead { display:flex; justify-content:space-between; align-items:center; padding:24px 0; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; font-weight:800; letter-spacing:.08em; font-size:.86rem; }.brand span { color:var(--acid); }
.local-badge { margin:0; color:var(--acid); font:700 .72rem/1 ui-monospace, monospace; letter-spacing:.12em; }
.hero { min-height:650px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr); gap:80px; align-items:center; padding-block:90px; }
.eyebrow,.card-kicker { color:var(--acid); letter-spacing:.13em; text-transform:uppercase; font:700 .74rem/1.4 ui-monospace, monospace; }
h1 { margin:.3em 0; max-width:850px; font-size:clamp(3rem,7vw,6.8rem); line-height:.92; letter-spacing:-.065em; font-weight:650; }
.lede { max-width:710px; color:#c8cbc6; font-size:clamp(1.05rem,2vw,1.3rem); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin:32px 0 18px; }
.primary,.file-button,.template-button { border:1px solid var(--acid); background:var(--acid); color:#0b100d; font-weight:800; padding:14px 18px; border-radius:4px; text-decoration:none; }
.file-button,.template-button { background:transparent; color:var(--acid); cursor:pointer; }.file-button { position:relative; overflow:hidden; }.file-button input { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; }
.fineprint { color:var(--muted); font-size:.86rem; max-width:650px; }
.value-path { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; max-width:760px; margin-top:28px; background:var(--line); border:1px solid var(--line); }.value-path p { margin:0; padding:14px; background:#0d1210; }.value-path strong,.value-path span { display:block; }.value-path strong { color:var(--acid); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }.value-path span { margin-top:5px; font-size:.9rem; }
.journey { max-width:760px; color:#c8cbc6; font-size:.88rem; }.machine-link { font-size:.82rem; }.machine-link a { color:var(--blue); }
.contract-card { background:linear-gradient(145deg,#17211c,#0e1412); border:1px solid #344138; padding:30px; box-shadow:20px 20px 0 #0d120f; }
.contract-card ol { padding:0; margin:24px 0 0; list-style:none; }.contract-card li { display:flex; gap:18px; padding:16px 0; border-top:1px solid var(--line); font-weight:700; }.contract-card li span { color:var(--acid); font:700 .8rem ui-monospace,monospace; }
.workspace { border:1px solid var(--line); background:var(--panel); margin-bottom:80px; }
.workspace-head { display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:end; padding:28px; }.workspace-head h2 { margin:3px 0 0; }.workspace-head label { display:block; color:var(--muted); font-size:.8rem; margin-top:10px; }.workspace-head input { display:block; margin-top:5px; width:250px; background:#080c0b; color:var(--ink); border:1px solid var(--line); padding:10px; }.advanced { min-width:250px; color:var(--muted); }.advanced summary { cursor:pointer; color:var(--ink); }.advanced p { margin:5px 0 0; font-size:.72rem; }
.tabs { display:flex; overflow:auto; border-block:1px solid var(--line); }.tab { flex:1; min-width:170px; color:var(--muted); background:#0c1110; border:0; border-right:1px solid var(--line); padding:15px; }.tab.active { color:#0a0e0c; background:var(--acid); font-weight:800; }
.panel { display:none; padding:28px; }.panel.active { display:block; }
.summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:24px; }.summary-grid article { background:#0d1210; padding:18px; }.summary-grid span { display:block; color:var(--muted); font-size:.75rem; text-transform:uppercase; }.summary-grid strong { font-size:1.15rem; }
.table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; min-width:760px; } th,td { padding:12px; text-align:left; border-bottom:1px solid var(--line); } th { color:var(--acid); font:700 .72rem ui-monospace,monospace; text-transform:uppercase; }
.gate { border-left:5px solid var(--blue); padding:20px 24px; background:#0b1110; margin-bottom:20px; }.gate.blocked { border-color:var(--red); }.gate.review_required { border-color:var(--orange); }.gate p,.gate h3 { margin:0; }.gate p,.gate span { color:var(--muted); }.gate h3 { font-size:1.8rem; }
.finding { border:1px solid var(--line); margin-top:12px; padding:20px; }.finding h3 { margin:8px 0 3px; }.finding p { margin:0; color:var(--muted); }.severity { color:var(--acid); font:700 .7rem ui-monospace,monospace; }.severity.critical { color:var(--red); }.severity.high { color:var(--orange); }.severity.tier { color:var(--blue); }
.finding h4 { margin:16px 0 3px; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); }.finding details { margin-top:16px; border-top:1px solid var(--line); padding-top:12px; }.finding summary { cursor:pointer; color:var(--blue); }.finding code { overflow-wrap:anywhere; }.result-explanation { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }.result-explanation article { border:1px solid var(--line); padding:18px; }.result-explanation h3 { margin:0 0 6px; font-size:.9rem; text-transform:uppercase; color:var(--acid); }.result-explanation p { margin:0; color:#c8cbc6; }
.output-switch { display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }.output-switch button { background:transparent; color:var(--muted); border:1px solid var(--line); padding:7px 12px; }.output-switch button.active { border-color:var(--acid); color:var(--acid); }
pre { max-height:560px; overflow:auto; background:#080c0b; border:1px solid var(--line); padding:20px; color:#d7eadf; font:13px/1.55 ui-monospace,monospace; }
.download-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.download { min-height:85px; text-align:left; border:1px solid var(--line); background:#0b100e; color:var(--ink); padding:15px; overflow-wrap:anywhere; }.download:hover { border-color:var(--acid); }.download span { display:block; color:var(--acid); font:700 .65rem ui-monospace,monospace; margin-bottom:8px; }
.error { margin:0 28px 20px; border:1px solid var(--red); color:#ffd7da; padding:14px; background:#261013; }
.profile-workspace { padding-block:50px; }.profile-result { margin-top:24px; }.profile-result article,.profile-result pre { border:1px solid var(--line); padding:16px; overflow:auto; }.profile-status { color:var(--acid); font-weight:800; letter-spacing:.08em; }
.decision-surface { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; padding:1px; background:var(--line); list-style-position:inside; }.decision-surface li { background:#0d1210; padding:18px; }.decision-surface h3 { display:inline; font-size:.85rem; color:var(--acid); text-transform:uppercase; }.decision-surface p { color:#c8cbc6; }.authority-boundary { border-left:4px solid var(--acid); padding:14px; }
footer { color:var(--muted); border-top:1px solid var(--line); padding:24px 0 50px; font-size:.8rem; }.visually-hidden { position:absolute; width:1px; height:1px; clip:rect(0 0 0 0); overflow:hidden; }
@media (max-width:800px) { .hero { grid-template-columns:1fr; gap:35px; padding-block:60px; }.workspace-head { grid-template-columns:1fr; }.workspace-head input { width:100%; }.summary-grid,.download-grid,.value-path { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .shell { width:min(100% - 24px,1180px); }.masthead { align-items:flex-start; gap:14px; }.local-badge { max-width:130px; line-height:1.35; text-align:right; } h1 { font-size:3.2rem; }.summary-grid,.download-grid,.value-path,.result-explanation { grid-template-columns:1fr; }.panel { padding:16px; } }
