@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f7f4;--surface:#fff;--ink:#0d1b2a;--muted:#3b4857;--accent:#05554f;--on-accent:#fff;--accent-soft:#e0efec;--border:#6a7682;--line:#d9ded8;--focus:#05554f;--band:#0d1b2a;--on-band:#f1f6f7;--band-muted:#c4d1da;--band-accent:#7fe0d4;--danger:#951f15;--highlight:#f26b4f;--shadow:0 1px 2px #0d1b2a0f, 0 10px 30px #0d1b2a12;--sans:"Atkinson Hyperlegible Next Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--serif:Georgia, "Iowan Old Style", "Times New Roman", serif;--mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius:1rem;--gutter:clamp(1rem, 4vw, 2rem);--measure:65ch;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#09131b;--surface:#101c26;--ink:#edf3f6;--muted:#b4c2cd;--accent:#6fd8cb;--on-accent:#05211e;--accent-soft:#0e3431;--border:#7f909e;--line:#22313d;--focus:#6fd8cb;--band:#0f1e2b;--on-band:#edf3f6;--band-muted:#b4c2cd;--band-accent:#6fd8cb;--danger:#ff9c8f;--shadow:0 1px 2px #0006, 0 10px 30px #00000059}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.125rem;line-height:1.6}#root{min-height:100svh}h1,h2,h3{color:var(--ink);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;scroll-margin-top:1.5rem;line-height:1.15}h1{letter-spacing:-.035em;font-size:clamp(2.4rem,1.4rem + 4.6vw,4.6rem);font-weight:800}h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);font-weight:750}h3{font-size:1.25rem;font-weight:700}p{margin:0 0 1em}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.09em}a:hover{text-decoration-thickness:.16em}ul,ol{margin:0 0 1em;padding-left:1.4em}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:.25rem}[tabindex="-1"]:focus:not(:focus-visible){outline:none}button,input,select{font:inherit;color:inherit}kbd{border:1px solid var(--border);background:var(--surface);min-width:2.1em;color:var(--ink);font-family:var(--mono);text-align:center;border-bottom-width:3px;border-radius:.5rem;padding:.05em .5em;font-size:.85em;font-weight:700;line-height:1.4;display:inline-block}@media (forced-colors:active){:focus-visible{outline-color:highlight}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only,.is-presenting .chrome,.is-presenting #focus-canvas,.is-presenting #code-dialog,.is-presenting #exit-dialog{clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{left:var(--gutter);z-index:10;background:var(--accent);color:var(--on-accent);border-radius:0 0 .75rem .75rem;padding:.75rem 1.25rem;font-weight:700;position:absolute;top:0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}#app{flex-direction:column;min-height:100svh;display:flex}.site-header,.main-region,.site-footer{width:100%;max-width:76rem;padding-inline:var(--gutter);margin-inline:auto}.main-region{flex:1;padding-block:.5rem 4rem}.site-header{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding-block:1rem;display:flex}.brand{min-height:2.75rem;color:var(--ink);align-items:center;gap:.6rem;margin-right:auto;text-decoration:none;display:inline-flex}.brand-name{letter-spacing:-.04em;font-size:1.6rem;font-weight:800}.brand-mark{flex:none}.bm-tile{fill:var(--accent)}.bm-line{stroke:var(--on-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none}.bm-dot{fill:var(--on-accent)}.bm-hollow{fill:none;stroke:var(--on-accent);stroke-width:1.5px;opacity:.7}.site-nav ul{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:2.75rem;color:var(--ink);border-radius:999px;align-items:center;padding:0 .9rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover{background:var(--accent-soft)}.site-nav a[aria-current=page]{text-underline-offset:.35em;text-decoration:underline;text-decoration-thickness:.14em}.lang-switch{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:.25rem;padding:.25rem;display:inline-flex}.lang-switch button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:999px;min-width:2.75rem;min-height:2.75rem;padding:0 1rem;font-weight:600}.lang-switch button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding-block:2.5rem;display:flex}.site-footer p{margin-bottom:.35rem}.footer-brand{align-items:flex-start;gap:.75rem;max-width:28rem;display:flex}.footer-name{color:var(--ink);font-size:1.2rem;font-weight:800}.site-footer-small{font-size:.95rem}.btn{border:2px solid var(--accent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:3rem;padding:.6rem 1.4rem;font-weight:700;text-decoration:none;transition:background-color .15s,transform .15s;display:inline-flex}.btn-large{min-height:3.5rem;padding-inline:1.9rem;font-size:1.15rem}.btn-small{min-height:2.75rem;padding:.3rem 1rem;font-size:.95rem}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 85%, var(--ink))}.btn-secondary,.btn-ghost{color:var(--accent);background:0 0}.btn-secondary:hover,.btn-ghost:hover{background:var(--accent-soft)}.btn-ghost{border-color:#0000}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn[aria-pressed=true]{background:var(--accent-soft);color:var(--ink)}.link-button{min-height:2.75rem;color:var(--accent);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (prefers-reduced-motion:no-preference){.btn:active{transform:translateY(1px)}}@media (forced-colors:active){.btn,.lang-switch button{border:2px solid buttontext}}.cta-row{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.5rem;display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;font-size:.95rem;font-weight:800}.lead{max-width:var(--measure);color:var(--muted);font-size:clamp(1.15rem,1.05rem + .5vw,1.35rem)}.landing{max-width:44rem;margin-inline:auto}.landing-hero{text-align:center;align-content:center;justify-items:center;gap:1rem;min-height:70svh;padding-block:clamp(2rem,8vw,6rem);display:grid}.landing-name{letter-spacing:-.06em;margin:0;font-size:clamp(4rem,2rem + 10vw,8.5rem);font-weight:800;line-height:.95}.landing-slogan{max-width:24ch;color:var(--muted);text-wrap:balance;margin:0;font-size:clamp(1.4rem,1.1rem + 1.6vw,2.2rem);font-weight:600;line-height:1.25}.landing-cta{justify-content:center}section.landing-answer{border-top:1px solid var(--line);margin-block:clamp(2rem,6vw,4rem);padding-top:1.5rem}.landing-answer h2{font-size:clamp(1.4rem,1.2rem + 1vw,1.9rem)}.landing-answer p{max-width:var(--measure);color:var(--muted);font-size:1.2rem}section[aria-labelledby],section[aria-label]{margin-block:clamp(2.5rem,7vw,5rem)}.view[aria-labelledby],.view[aria-label],.landing-hero[aria-labelledby]{margin-block:0}.view{max-width:48rem;padding-block:clamp(1.5rem,4vw,3rem)}.view-wide{max-width:64rem}.view h1{font-size:clamp(2rem,1.3rem + 3vw,3.25rem)}.option-list{gap:1rem;margin:2rem 0;padding:0;list-style:none;display:grid}.option-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);align-items:flex-start;gap:1.25rem;padding:1.4rem 1.5rem;text-decoration:none;display:flex}.option-card:hover{border-color:var(--accent)}.option-key kbd{padding:.25em .7em;font-size:1.25rem}.option-text{gap:.25rem;display:grid}.option-title{font-size:1.25rem;font-weight:750;display:block}.option-body{color:var(--muted);display:block}.manual{max-width:46rem}.manual h2{margin-top:0}.manual h3{margin-top:1.5rem}.manual-toc{padding-left:1.6em}.manual-toc button{min-height:2.75rem;color:var(--accent);text-align:left;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:.25rem 0;text-decoration:underline}.manual-section{border-top:1px solid var(--line);padding-top:1.5rem}.manual-section p,.manual-section li{max-width:var(--measure)}.manual-section li{margin-bottom:.4em}.key-reference{gap:.5rem;margin:0;display:grid}.key-reference>div{border-bottom:1px solid var(--line);grid-template-columns:7.5rem 1fr;align-items:baseline;gap:1rem;padding:.5rem 0;display:grid}.key-reference dt,.key-reference dd{margin:0}#diagram-type-menu ul[role=listbox]{gap:.6rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}#diagram-type-menu ul.type-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}#diagram-type-menu li{background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:.9rem;gap:.2rem;padding:1rem 1.25rem;display:grid}#diagram-type-menu li[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);outline:3px solid var(--accent);outline-offset:2px}#diagram-type-menu{max-width:64rem}.field-label{margin:1.25rem 0 .4rem;font-weight:700;display:block}.code-area{background:var(--surface);border:2px solid var(--border);width:100%;font-family:var(--mono);resize:vertical;border-radius:.75rem;padding:.75rem 1rem;font-size:.95rem;line-height:1.5}input[type=file]{max-width:100%;min-height:2.75rem}.notice{border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);margin-top:2rem;padding:1.25rem 1.5rem}.notice-error{border-color:var(--danger);color:var(--danger);white-space:pre-line}.unparsed code{font-family:var(--mono);word-break:break-word}.doc-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.doc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);align-content:start;gap:.5rem;padding:1.25rem 1.4rem;display:grid}.doc-title{margin:0;font-size:1.25rem}.doc-title a{color:var(--ink)}.doc-meta{color:var(--muted);margin:0;font-size:.95rem}.doc-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.doc-actions p{flex-basis:100%;margin:0}.editor-layout{gap:1.5rem;padding-block:.5rem;display:grid}@media (width>=70rem){.editor-layout{grid-template-columns:minmax(22rem,30rem) 1fr;align-items:start}.editor-toolbar{grid-column:1/-1}#mermaid-preview{position:sticky;top:1rem}}.editor-toolbar{flex-wrap:wrap;gap:.5rem;display:flex}#focus-canvas{min-width:0}#focus-canvas h1{overflow-wrap:anywhere;margin-bottom:.2em;font-size:clamp(1.75rem,1.2rem + 2vw,2.4rem)}.canvas-type{color:var(--muted)}#element-list{gap:.45rem;margin:1rem 0;padding:0;list-style:none;display:grid}#element-list li{background:var(--surface);border:2px solid var(--border);overflow-wrap:anywhere;border-radius:.75rem;padding:.7rem 1rem}#element-list li.is-edge{border-style:dashed;margin-left:1.25rem}#element-list li.empty{color:var(--muted);border-style:dashed}#element-list li[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);outline:3px solid var(--accent);outline-offset:2px}#command-dialog,#list-menu,#code-dialog,[role=alertdialog]{background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:1rem;padding:1.25rem}#command-dialog h2,#list-menu h2,#code-dialog h2,#exit-dialog h2{font-size:1.2rem}#command-dialog input,#command-dialog select,#list-menu select{background:var(--bg);border:2px solid var(--border);border-radius:.5rem;width:100%;min-height:2.75rem;padding:.4rem .75rem}#command-dialog input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin:.5rem 0 0;font-weight:700}.dialog-hint{color:var(--muted);margin:.5rem 0 0;font-size:.95rem}.icon-results{border:2px solid var(--border);border-radius:.5rem;max-height:16rem;margin:.5rem 0 0;padding:0;list-style:none;overflow:auto}.icon-results:empty{display:none}.icon-results li{cursor:pointer;padding:.5rem .75rem}.icon-results li[aria-selected=true]{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.icon-ref{color:var(--muted);font-family:var(--mono);font-size:.85rem}.shortcuts{border-top:1px solid var(--line);gap:1rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.shortcuts[aria-labelledby]{margin-block:1.5rem 0}.shortcut-group h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.9rem}.shortcut-group ul{flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}#mermaid-preview{border:1px solid var(--line);border-radius:var(--radius);color:#000;text-align:center;background:#fff;min-height:12rem;padding:1.5rem;overflow:auto}#mermaid-preview svg{max-width:100%;height:auto}.is-presenting{background:#fff}.is-presenting .main-region{max-width:none;padding:0}.is-presenting .editor-layout{min-height:100svh;padding:0;display:block}.is-presenting #mermaid-preview{border:0;border-radius:0;place-items:center;min-height:100svh;padding:clamp(1rem,4vw,3rem);display:grid;position:static}.is-presenting #mermaid-preview svg{width:100%;height:auto;max-height:92svh;max-width:min(100%,72rem)!important}
