:root {color-scheme: dark; --bg:#101313; --surface:#191e1d; --line:#303b37; --ink:#eef3eb; --muted:#a5b1a8; --green:#beef8a; --active:#e2be6f; --error:#ff9c8b}
* {box-sizing:border-box} body {margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,sans-serif} header,main {width:min(1160px,calc(100% - 64px));margin:auto} header {display:flex;justify-content:space-between;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);font-size:13px} a {color:inherit} .brand {text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.06em}.brand span {font-weight:400;color:var(--muted);letter-spacing:0} #connection {color:var(--muted)}main {padding:64px 0 24px}.eyebrow {color:var(--green);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:650} h1 {font-size:clamp(46px,7vw,88px);font-weight:550;line-height:1.05;letter-spacing:-.065em;margin:24px 0}.intro {max-width:670px;color:var(--muted);font-size:18px}.actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:32px 0 16px} button {font:inherit;cursor:pointer;border:1px solid var(--line);background:transparent;color:inherit;padding:10px 17px;border-radius:5px}button:disabled {opacity:.4;cursor:default}button:focus-visible,a:focus-visible {outline:2px solid var(--active);outline-offset:4px}#start {background:var(--green);color:var(--bg);font-weight:650;border-color:var(--green)}#start span {margin-left:28px}.actions a {font-size:13px;color:var(--muted);margin-left:8px}#status {font-size:13px;color:var(--muted);min-height:40px}.pipeline {display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;margin:32px 0 60px;gap:20px}.stage {border-top:1px solid var(--line);padding-top:16px}.stage h2 {font-size:15px;margin:16px 0 7px}.stage p {font-size:13px;color:var(--muted);min-height:42px;margin:0 0 14px}.number {font:12px monospace;color:var(--muted)}.state {font:11px monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stage.active {border-color:var(--active)}.stage.active .state {color:var(--active)}.stage.done {border-color:var(--green)}.stage.done .state {color:var(--green)}.stage.failed {border-color:var(--error)}.failed .state {color:var(--error)}section {margin:48px 0}.section-head {display:flex;align-items:center;justify-content:space-between}h2 {font-weight:550;font-size:22px;letter-spacing:-.03em}.switch {display:flex;gap:4px}.switch button {padding:5px 14px;font:12px monospace}.switch button[aria-pressed=true] {color:var(--green);border-color:var(--green)}.metrics {display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0;gap:16px}.metrics span {display:block;color:var(--muted);font-size:12px}.metrics strong {display:block;font-size:24px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:5px}progress {display:block;width:100%;height:3px;border:0;background:var(--line);accent-color:var(--green)}progress::-webkit-progress-bar {background:var(--line)}progress::-webkit-progress-value {background:var(--green)}.legend {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin:18px 0}.units {display:grid;grid-template-columns:repeat(auto-fill,minmax(17px,1fr));gap:5px}.unit {aspect-ratio:1;padding:0;min-width:0;border-radius:2px;background:var(--surface);border:1px solid var(--line)}.unit.active {background:var(--active);border-color:var(--active)}.unit.done {background:var(--green);border-color:var(--green)}.unit.selected {outline:2px solid var(--ink);outline-offset:2px}.unit.failed {background:var(--error);border-color:var(--error)}#unit-detail {font:12px/1.7 monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);min-height:66px}.proof {padding-top:22px;border-top:1px solid var(--line)}.proof p,.next p:not(.eyebrow) {color:var(--muted);max-width:740px}#downloads {display:flex;gap:18px;flex-wrap:wrap}#downloads a {color:var(--green)}#compiler-hash {display:block;overflow-wrap:anywhere;font-size:11px;color:var(--muted);margin:18px 0}pre {font:12px/1.8 monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.next {padding:24px 0;border-top:1px solid var(--line)}footer {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding:24px 0;border-top:1px solid var(--line)}@media(max-width:700px){header,main {width:calc(100% - 32px)}main {padding-top:40px}.pipeline {grid-template-columns:repeat(2,1fr);gap:24px}.metrics {grid-template-columns:repeat(2,1fr)}#connection {font-size:11px}.stage p {min-height:0}.legend span:last-child {display:none}}@media(prefers-reduced-motion:no-preference){.unit {transition:background-color .15s,border-color .15s}}
nav{display:flex;gap:24px}nav a{text-decoration:none;color:var(--muted)}.hero{max-width:820px}.locality,.small{font-size:12px;color:var(--muted);max-width:660px}.locality{max-width:600px}.proof{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}.proof h2{margin-top:8px}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;color:var(--ink)}details p{color:var(--muted)}.game{border-top:1px solid var(--line);padding-top:38px}.game h2{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.05em;margin:18px 0}.game>p{max-width:670px;color:var(--muted)}#game-build,#game-play:not(:disabled){background:var(--green);color:var(--bg)}.game-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.game-steps span{border-top:2px solid var(--line);padding-top:9px;font-size:12px;color:var(--muted)}.game-steps .done{border-color:var(--green);color:var(--green)}#canvas{width:100%;max-width:1000px;aspect-ratio:854/480;height:auto;background:#080b09;display:block;border:1px solid var(--line)}#game-screen{margin:28px 0}#game-downloads a{color:var(--green);margin-right:20px}.explorer{margin:64px 0 48px;padding-top:28px}.explorer>summary{list-style:none}.explorer>summary::-webkit-details-marker{display:none}.explorer .eyebrow,.explore-title,.summary-description{display:block}.explore-title{font-size:30px;letter-spacing:-.04em;margin:10px 0}.explore-title>span{float:right}.summary-description{color:var(--muted)}.explore-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:28px 0 12px}.explore-controls label{font-size:12px;color:var(--muted)}select,input{font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:4px;color:var(--ink);padding:8px;max-width:100%}select{margin-left:8px}#inspector-status{font:12px/1.5 monospace;color:var(--muted);min-height:36px}.explore-layout{display:grid;grid-template-columns:180px 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden}.explore-layout aside{padding:14px;border-right:1px solid var(--line);background:#131817}.explore-layout aside label{font-size:12px;display:block;margin-bottom:8px}#file-filter{width:100%;font-size:11px}#source-files{height:490px;overflow:auto}#source-files button{display:block;border:0;text-align:left;font:10px/1.5 monospace;white-space:nowrap;padding:7px 2px;border-radius:0;width:100%;overflow:hidden;text-overflow:ellipsis}#source-files button[aria-pressed=true]{color:var(--green)}.code-panes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.code-pane{min-width:0;border-right:1px solid var(--line)}.code-pane:last-child{border:0}.code-pane h3{font-size:12px;font-weight:500;min-height:54px;margin:0;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface)}.code-pane h3 span{display:block;font:9px/1.5 monospace;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-pane pre{margin:0;height:570px;overflow:auto;white-space:pre;overflow-wrap:normal;padding:12px;color:var(--ink);font:11px/1.8 monospace}.source-editor{position:relative;height:570px}.source-editor pre,.source-editor textarea{font:11px/1.8 monospace;tab-size:4;letter-spacing:normal;margin:0;border:0;border-radius:0;padding:12px;white-space:pre;overflow:auto;position:absolute;inset:0;width:100%;height:100%;background:transparent}.source-editor pre{pointer-events:none}.source-editor textarea{resize:none;color:transparent;caret-color:var(--ink);-webkit-text-fill-color:transparent}.source-editor textarea::selection{background:#52694e70}.token.comment,.token.prolog{color:#7a9184}.token.keyword{color:#ccadf4}.token.string,.token.char{color:#beef8a}.token.number,.token.boolean{color:#edbc7d}.token.function{color:#86cbd7}.token.operator,.token.punctuation{color:#cbd4cd}.token.class-name{color:#efcc94}[hidden]{display:none!important}@media(min-width:1500px){header,main{width:min(1380px,calc(100% - 96px))}}@media(max-width:1000px){.code-panes{grid-template-columns:1fr}.code-pane{border-right:0;border-bottom:1px solid var(--line)}.code-pane pre,.source-editor{height:300px}.source-editor pre{height:100%}.explore-layout{grid-template-columns:160px 1fr}#source-files{height:950px}.proof{gap:24px}}@media(max-width:700px){nav{gap:12px;font-size:11px}.proof{grid-template-columns:1fr;gap:12px}.game-steps{grid-template-columns:repeat(2,1fr)}.explore-layout{grid-template-columns:1fr}.explore-layout aside{border-right:0;border-bottom:1px solid var(--line)}#source-files{height:140px}.section-head{align-items:start;gap:12px}.switch button{font-size:10px;padding:5px 8px}.explore-controls{gap:8px}}
