@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff")}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/schibsted-grotesk-latin-700-normal-BkH0uJ1o.woff2)format("woff2"),url(/assets/schibsted-grotesk-latin-700-normal-Dz-okVa0.woff)format("woff")}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/schibsted-grotesk-latin-800-normal-CIaq-TR1.woff2)format("woff2"),url(/assets/schibsted-grotesk-latin-800-normal-Dl5-MP1T.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/martian-mono-latin-400-normal-DZsjfPjH.woff2)format("woff2"),url(/assets/martian-mono-latin-400-normal-DM4nBGIh.woff)format("woff")}:root{--morning-air:#e7ede5;--forest-ink:#1f3a2c;--loam:#3a2e27;--loam-deep:#2a211c;--sprout:#7cb868;--amber:#f0a04b;--bg:#eef2eb;--fg:#1c2a22;--muted:#56645b;--border:#cdd6cb;--panel:#f9faf6;--panel-sunk:#edf1e9;--accent:#2f6b3f;--button-bg:var(--forest-ink);--button-fg:#f4f7f1;--pass:#2f7a34;--fail:#a8442a;--flag:#f5e2c3;--on-soil:#efe8df;--on-soil-muted:#bfb2a5;--font-display:"Schibsted Grotesk", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Martian Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius:12px;font-family:var(--font-body);color:var(--fg);background:var(--bg);line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#1b1713;--fg:#ebefe7;--muted:#a9b1a6;--border:#3b332c;--panel:#251f1a;--panel-sunk:#2e2620;--accent:#9fd18d;--button-bg:var(--sprout);--button-fg:#15241b;--pass:#8fcf7b;--fail:#ff9a7a;--flag:#4a3820}}body{background:var(--bg);margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.15}h1{font-weight:800}code,pre,kbd{font-family:var(--font-mono);font-size:.85em}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.app-header{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center;gap:24px;padding:14px 24px;display:flex}.brand{font-family:var(--font-display);color:var(--fg);align-items:center;gap:8px;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{width:26px;height:26px}.app-header nav{gap:16px;display:flex}.app-header nav a{color:var(--fg);font-weight:700;text-decoration:none}.app-header nav a:hover,.app-header nav a[aria-current=page]{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.dev-role,.account{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:.85em;display:flex}main{max-width:1280px;margin:0 auto;padding:24px}main.landing-main{max-width:none;padding:0}a{color:var(--accent)}.muted{color:var(--muted)}.error{color:var(--fail)}button,.button{font:inherit;border:1px solid var(--button-bg);background:var(--button-bg);color:var(--button-fg);cursor:pointer;border-radius:999px;padding:8px 18px;font-weight:700;text-decoration:none;display:inline-block}button.secondary,.button.secondary,button.link{color:var(--fg);border-color:var(--fg);background:0 0}button.link{color:var(--accent);border:none;border-radius:0;padding:2px 0;font-weight:400}button.link.selected{font-weight:700}button:disabled{opacity:.6;cursor:progress}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}input,select{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--fg);border-radius:8px;padding:6px 10px}.problem-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:0;list-style:none;display:grid}.problem-list li{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.problem-list a{font-family:var(--font-display);color:var(--fg);font-size:1.1rem;font-weight:700}.workspace{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;display:grid}@media (width<=900px){.workspace{grid-template-columns:minmax(0,1fr)}}.statement{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);align-self:start;padding:4px 20px 12px}.editor .cm-editor{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.editor .cm-editor,.editor .cm-scroller{font-family:var(--font-mono);font-size:13px}.actions{gap:8px;margin:12px 0;display:flex}.feedback,.recommendation{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--amber);border-radius:var(--radius);margin:12px 0;padding:8px 16px}.feedback-all_tests_passed{border-left-color:var(--sprout)}.feedback-compile_error,.feedback-system_error{border-left-color:var(--fail)}.recommendation{border-left-color:var(--sprout)}.recommendation h2{margin-top:4px;font-size:1.15rem}.hint strong{color:var(--accent)}.compiler-output{background:var(--panel-sunk);white-space:pre-wrap;border-radius:8px;padding:12px;overflow-x:auto}table.tests{border-collapse:collapse;width:100%}table.tests th,table.tests td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 4px}table.tests th{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:400}tr.pass td:last-child,.followup-criterion_met,.badge-pass{color:var(--pass)}tr.fail td:last-child,.safety{color:var(--fail)}dl.sample{grid-template-columns:max-content 1fr;gap:2px 8px;margin:6px 0 0;font-size:.9em;display:grid}dl.sample dd{margin:0}.filters{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.metrics-grid>div{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:0 16px 8px}.counts{padding-left:18px}table.research{font-size:.9em;display:block;overflow-x:auto}.fields div{gap:8px;display:flex}.fields dt{min-width:160px;font-weight:700}.fields dd{overflow-wrap:anywhere;margin:0}.login{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;max-width:340px;margin:48px auto;padding:24px;display:flex}.login h1{margin:0}.login label{flex-direction:column;gap:4px;display:flex}.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px;max-width:1200px;margin:0 auto;padding:56px 24px 72px;display:grid}.hero h1{color:var(--forest-ink);margin:0 0 20px;font-size:clamp(2.6rem,6vw,4.6rem)}.lede{max-width:34em;color:var(--muted);font-size:1.1rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.hero-actions .button{padding:12px 22px}.surface-card{background:var(--panel);border-radius:16px;margin:0;padding:18px 20px;box-shadow:0 18px 40px #1f3a2c24}.surface-card figcaption{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tag{font-family:var(--font-mono);border-radius:999px;padding:2px 10px;font-size:.72rem}.tag-symptom{background:var(--flag);color:var(--fg)}.surface-code{background:var(--panel-sunk);border-radius:8px;margin:0;padding:12px 0;font-size:.8rem;overflow-x:auto}.surface-code .line{padding:0 14px;display:block}.surface-code .line.flagged{background:var(--flag)}.surface-case{margin:14px 0 4px;font-weight:700}.surface-case span{color:var(--amber)}.surface-hint{color:var(--muted);margin:0;font-size:.95rem}.soil{background:linear-gradient(var(--loam), var(--loam-deep));color:var(--on-soil);padding:0 24px 24px;position:relative}.soil-edge{width:100%;height:60px;fill:var(--loam);position:absolute;top:-59px;left:0}.soil-inner{grid-template-columns:minmax(260px,1fr) minmax(0,2.2fr);align-items:start;gap:32px;max-width:1200px;margin:0 auto;padding-top:32px;display:grid}.soil-panel{border-radius:var(--radius);background:#ffffff0d;border:1px solid #ffffff1a;padding:16px 20px}.soil-panel .eyebrow,.soil-footnote,.roots figcaption{color:var(--on-soil-muted)}.soil-panel ol{margin:12px 0 0;padding-left:20px}.soil-panel li{margin-bottom:10px}.roots{margin:0}.roots svg{width:100%;height:auto}.roots figcaption{font-size:.85rem}.root-lines path{fill:none;stroke:var(--on-soil);stroke-width:2.2px}.root-lines path.hair{stroke:var(--on-soil-muted);stroke-width:1px;opacity:.5}.trace{fill:none;stroke:var(--amber);stroke-width:2px;stroke-dasharray:6 6}.sprout .stem{stroke:var(--sprout);stroke-width:3px}.sprout .leaf{fill:var(--sprout)}.node circle{fill:var(--on-soil)}.node .halo{fill:none;stroke:var(--on-soil-muted);opacity:.5}.node.traced .halo{stroke:var(--amber);opacity:1;stroke-dasharray:3 3}.node text{fill:var(--on-soil);font-family:var(--font-mono);font-size:15px}.node.traced text{fill:var(--amber)}.soil-footnote{max-width:1200px;margin:24px auto 0;font-size:.85rem}@media (width<=900px){.hero,.soil-inner{grid-template-columns:minmax(0,1fr)}.hero{gap:32px;padding:32px 16px 64px}.soil{padding:0 16px 24px}}@media (prefers-color-scheme:dark){.hero h1{color:var(--fg)}.surface-card{box-shadow:0 18px 40px #0006}}.statement pre{overflow-x:auto}.problem-meta{margin:8px 0 0;font-size:.9rem}.status{font-family:var(--font-mono);background:var(--panel-sunk);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.75rem}.status-pass{color:var(--pass)}.status-tried{background:var(--flag);color:var(--fg)}.status-unreviewed{vertical-align:middle;border:1px dashed var(--border);margin-left:8px}.how-feedback{color:var(--muted);margin:12px 0}.how-feedback summary{cursor:pointer;color:var(--accent)}.table-scroll{overflow-x:auto}table.research-matrix td:not(:first-child),table.research-matrix th:not(:first-child){text-align:right}.intro{z-index:100;background:var(--bg);width:100%;color:var(--fg);cursor:pointer;font:inherit;border:none;border-radius:0;margin:0;padding:0;font-weight:400;transition:opacity .6s,transform .6s;display:block;position:fixed;inset:0}.intro:focus-visible{outline:none}.intro-leaving{opacity:0;transform:translateY(-24px)}.intro-stage{grid-template-rows:55fr 45fr;width:100%;height:100%;display:grid}.intro-sky,.intro-ground{flex-direction:column;align-items:center;padding:0 16px;display:flex}.intro-sky{justify-content:flex-end}.intro-ground{background:var(--loam)}.intro-sprout{width:clamp(56px,8vw,88px);height:auto;margin-bottom:-6px;overflow:visible}.intro-stem{stroke:var(--sprout);stroke-width:4px;stroke-linecap:round;stroke-dasharray:40;stroke-dashoffset:40px;animation:.5s ease-out .1s forwards intro-draw}.intro-leaf{fill:var(--sprout);transform-origin:40px 32px;animation:.45s cubic-bezier(.3,1.6,.5,1) forwards intro-pop;transform:scale(0)}.intro-leaf-l{animation-delay:.45s}.intro-leaf-r{animation-delay:.55s}.intro-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--forest-ink);font-size:clamp(3rem,12vw,8rem);font-weight:800;line-height:1;display:flex}.intro-letter{opacity:0;animation:.55s cubic-bezier(.2,.9,.3,1.2) forwards intro-rise;display:inline-block;transform:translateY(.5em)}.intro-roots{width:min(80vw,560px);height:clamp(48px,9vh,90px);overflow:visible}.intro-roots path{fill:none;stroke:var(--on-soil);stroke-width:1.6px;stroke-dasharray:260;stroke-dashoffset:260px;vector-effect:non-scaling-stroke;animation:1.1s ease-out 1s forwards intro-draw}.intro-tagline,.intro-hint{font-family:var(--font-mono);color:var(--on-soil);opacity:0}.intro-tagline{margin-top:16px;font-size:clamp(.8rem,2vw,1rem);animation:.6s 1.5s forwards intro-fade}.intro-hint{letter-spacing:.08em;text-transform:uppercase;color:var(--on-soil-muted);margin-top:28px;font-size:.75rem;animation:.6s 2s forwards intro-fade,2.4s ease-in-out 2.6s infinite intro-pulse}@keyframes intro-rise{to{opacity:1;transform:none}}@keyframes intro-pop{to{transform:scale(1)}}@keyframes intro-draw{to{stroke-dashoffset:0}}@keyframes intro-fade{to{opacity:1}}@keyframes intro-pulse{50%{opacity:.45}}@media (prefers-color-scheme:dark){.intro-name{color:var(--fg)}}@media (prefers-reduced-motion:reduce){.intro,.intro *{transition:none!important;animation:none!important}.intro-letter,.intro-tagline,.intro-hint{opacity:1;transform:none}.intro-leaf{transform:none}.intro-stem,.intro-roots path{stroke-dashoffset:0}}.family-heading{margin:24px 0 8px;font-size:1.1rem}.badge{border:1px solid var(--muted);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);vertical-align:middle;border-radius:4px;margin-left:.5em;padding:0 .4em;font-size:.6em}
