@font-face { font-family: Figtree; src: url("../fonts/figtree-latin-variable.woff2") format("woff2"); font-weight: 300 900; font-display: swap; }
@font-face { font-family: Figtree; src: url("../fonts/figtree-latin-ext-variable.woff2") format("woff2"); font-weight: 300 900; font-display: swap; }
:root { --ink:#0B1720; --paper:#F7F9F7; --signal:#E85D2A; --verified:#007A78; --warning:#F0B429; --muted:#63717A; --line:#CBD3D5; --white:#fff; --measure:72rem; --shadow:0 .25rem 1.2rem rgba(11,23,32,.08); }
* { box-sizing:border-box; }
html { color-scheme:light; scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Figtree,system-ui,sans-serif; line-height:1.62; }
a { color:#006765; text-decoration-thickness:.09em; text-underline-offset:.18em; }
a:hover { text-decoration-thickness:.14em; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:.2rem solid var(--warning); outline-offset:.18rem; }
svg { max-width:100%; }
.skip { position:absolute; left:.75rem; top:-5rem; background:var(--ink); color:#fff; padding:.7rem 1rem; z-index:20; }
.skip:focus { top:.75rem; }
.wrap { width:min(calc(100% - 2rem),var(--measure)); margin-inline:auto; }
.site-header { background:var(--ink); color:#fff; border-bottom:.28rem solid var(--signal); }
.header-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4.4rem; }
.brand { display:flex; align-items:center; gap:.75rem; color:#fff; text-decoration:none; font-weight:780; letter-spacing:-.02em; }
.brand-mark { width:2rem; height:2rem; }
.nav { display:flex; gap:1rem; flex-wrap:wrap; }
.nav a { color:#fff; font-size:.92rem; }
.eyebrow,.data-label,.status-label { font:700 .74rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; letter-spacing:.08em; }
.hero { padding:clamp(2.2rem,6vw,5.2rem) 0 2rem; border-bottom:1px solid var(--line); }
.hero-grid { display:grid; gap:2rem; }
.hero h1 { max-width:18ch; margin:.35rem 0 .7rem; font-size:clamp(2.1rem,7vw,4.5rem); line-height:1.02; letter-spacing:-.055em; }
.dek { max-width:46rem; color:#40505a; font-size:clamp(1.08rem,2vw,1.3rem); }
.seismogram { height:5.2rem; color:var(--signal); border-block:1px solid var(--line); background:var(--white); overflow:hidden; }
.seismogram svg { width:100%; height:100%; }
.seismogram polyline { fill:none; stroke:currentColor; stroke-width:2; vector-effect:non-scaling-stroke; }
.layout { display:grid; gap:2rem; padding-block:2.2rem 5rem; }
.article { min-width:0; }
.article h2 { margin-top:2.4rem; font-size:clamp(1.45rem,3vw,2rem); line-height:1.16; letter-spacing:-.025em; }
.article h3 { margin-top:1.8rem; line-height:1.25; }
.article p,.article li { max-width:46rem; }
.article code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; background:#e8edeb; padding:.08rem .28rem; }
.meta { display:flex; gap:1rem; flex-wrap:wrap; color:var(--muted); font-size:.88rem; }
.panel,.component { margin:1.4rem 0; padding:1.15rem; border:1px solid var(--line); border-left:.32rem solid var(--verified); background:var(--white); box-shadow:var(--shadow); }
.alert { border-left-color:var(--warning); background:#fffaf0; }
.independence { border-left-color:var(--muted); box-shadow:none; }
.status { display:grid; gap:1rem; }
.status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.datum { background:var(--white); padding:1rem; }
.datum strong { display:block; font:750 clamp(1.3rem,4vw,2.15rem)/1.1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.badge { display:inline-flex; padding:.28rem .55rem; background:#dff0ec; color:#005d5b; font-size:.82rem; font-weight:700; }
.badge.warning { background:#fff0c7; color:#674b00; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; padding:.62rem .9rem; background:var(--verified); border:2px solid var(--verified); color:#fff; text-decoration:none; font-weight:750; }
.button.secondary { background:transparent; color:var(--verified); }
.actions { display:flex; gap:.7rem; flex-wrap:wrap; }
.related { display:grid; gap:.6rem; padding:0; list-style:none; }
.related a { display:block; padding:.8rem; border:1px solid var(--line); background:#fff; font-weight:680; }
.steps { counter-reset:steps; padding:0; list-style:none; }
.steps li { position:relative; padding:.3rem 0 1.2rem 3rem; }
.steps li::before { counter-increment:steps; content:counter(steps); position:absolute; left:0; top:.2rem; display:grid; place-items:center; width:2rem; height:2rem; background:var(--ink); color:#fff; font:700 .85rem ui-monospace,monospace; }
.requirements { display:grid; gap:.6rem; padding:0; list-style:none; }
.requirements li { padding:.75rem; background:#fff; border:1px solid var(--line); }
table { width:100%; border-collapse:collapse; background:#fff; }
th,td { padding:.7rem; text-align:left; border:1px solid var(--line); vertical-align:top; }
th { background:#e9eeec; }
.table-scroll { overflow-x:auto; }
.tool { padding:1.2rem; background:var(--ink); color:#fff; border-radius:.15rem; }
.tool-light { background:var(--white); color:var(--ink); border:1px solid var(--line); border-left:.32rem solid var(--verified); box-shadow:var(--shadow); }
.tool label { display:block; margin:.7rem 0 .25rem; }
.tool input:not([type=checkbox]),.tool select,.tool textarea { width:100%; min-height:2.7rem; padding:.55rem; border:1px solid var(--line); background:var(--white); color:var(--ink); font:inherit; }
.tool textarea { resize:vertical; }
.tool button:disabled,.tool input:disabled { cursor:not-allowed; opacity:.58; }
.tool fieldset { margin:1rem 0; padding:1rem; border:1px solid var(--line); }
.tool legend { padding-inline:.35rem; font-weight:750; }
.tool fieldset label { display:flex; gap:.65rem; align-items:flex-start; margin:.7rem 0; }
.tool input[type=checkbox] { flex:0 0 auto; width:1.15rem; height:1.15rem; margin-top:.25rem; accent-color:var(--verified); }
.tool-notice,.triage-result { padding:.8rem; border-left:.28rem solid var(--warning); background:#fff6dc; color:var(--ink); }
.form-grid { display:grid; gap:.4rem 1rem; }
.progress-text { font-weight:750; }
.plan-tool .actions,.triage-tool .actions { margin-top:1rem; }
.tool-output { min-height:2rem; margin-top:1rem; font-family:ui-monospace,monospace; }
.sidebar h2 { font-size:1rem; }
.source-list { padding-left:1.2rem; font-size:.9rem; }
.site-footer { padding:2rem 0; background:var(--ink); color:#dfe5e4; }
.site-footer a { color:#fff; }
.footer-grid { display:grid; gap:1.5rem; }
.not-found { min-height:55vh; padding-block:5rem; }
@media(min-width:48rem) { .hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(16rem,.7fr);align-items:end}.layout{grid-template-columns:minmax(0,1fr) 18rem}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-grid{grid-template-columns:2fr 1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:47.99rem) { .nav{display:none}.wrap{width:min(calc(100% - 1.25rem),var(--measure))}.hero{padding-top:2rem}.layout{padding-top:1.4rem}.status-grid{grid-template-columns:1fr 1fr}th,td{min-width:9rem} }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }
@media print { .site-header,.site-footer,.skip,.sidebar,.actions,.seismogram,.triage-tool,.tool[data-distance-tool]{display:none!important}body{background:#fff;color:#000;font-size:11pt}.wrap{width:100%}.hero{padding:0 0 1rem}.hero h1{font-size:24pt}.layout{display:block;padding:0}.component,.panel,.tool-light{box-shadow:none;break-inside:avoid}.plan-tool textarea,.plan-tool input{border-color:#777;min-height:3rem}.plan-tool{border:1px solid #777}.plan-tool p{max-width:none}a{color:#000;text-decoration:none} }
.ad-slot{display:flex;flex-direction:column;justify-content:center;min-height:280px;margin:2rem 0;padding:1rem 0;border-block:1px solid var(--line);text-align:center;overflow:hidden}
.ad-label{display:block;margin:0 0 .55rem;color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.ad-slot ins{display:block;width:100%}
.ad-slot-after-live-result{min-height:120px;margin:1.5rem 0 2rem}
.ad-slot-sidebar{min-height:420px;margin-top:0}
@media(max-width:900px){.ad-slot-sidebar{min-height:250px}}
@media(max-width:640px){.ad-slot{min-height:250px;margin:1.5rem 0}.ad-slot-after-live-result{min-height:100px}}
@media print{.ad-slot{display:none!important}}
