:root{--paper:#FAF8F3;--ink:#1F2328;--navy:#1B2A4A;--burgundy:#7A1F2B;--rule:#D9D4C7;--highlight:#F3E3C3;--font-serif:"Source Serif 4","PT Serif","Times New Roman",Times,serif;--font-ui:"PT Sans",Inter,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#16181D;--ink:#E6E4DF;--navy:#9DB4E0;--burgundy:#E08A95;--rule:#2E323A;--highlight:#4A3F28}}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/29px var(--font-serif)}main{max-width:860px;margin:0 auto;padding:24px 16px 64px}h1{font:600 40px/48px var(--font-serif);margin:0 0 4px}h1,h2{color:var(--navy)}h2{font:600 28px/36px var(--font-serif)}@media (max-width:640px){h1{font-size:30px;line-height:38px}}header.site{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding:12px 16px;font-family:var(--font-ui)}textarea{width:100%;min-height:260px;padding:14px;font:400 17px/27px var(--font-serif);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:4px;resize:vertical}button:focus-visible,textarea:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.ui{font-family:var(--font-ui);font-size:14px;line-height:20px;font-weight:500}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:12px 0}.seg{display:inline-flex;border:1px solid var(--rule);border-radius:4px;overflow:hidden}.seg button{font:inherit;background:none;border:0;padding:6px 12px;color:var(--ink);cursor:pointer}.btn,.seg button[aria-pressed=true]{background:var(--navy);color:var(--paper)}.btn{font:500 16px var(--font-ui);border:0;border-radius:4px;padding:10px 20px;cursor:pointer}.btn.secondary{background:none;color:var(--navy);border:1px solid var(--navy)}.btn:disabled{opacity:.5;cursor:not-allowed}.err{color:var(--burgundy);font-family:var(--font-ui)}.card{border:1px solid var(--rule);border-radius:4px;padding:16px;margin:16px 0}.bar{height:6px;background:var(--rule);border-radius:3px;overflow:hidden}.bar>div{height:100%;background:var(--navy);transition:width .4s}.steps{list-style:none;padding:0;font-family:var(--font-ui)}.steps li{padding:4px 0;color:var(--ink);opacity:.55}.steps li.done:before{content:"✓ ";color:var(--navy)}.steps li.cur{opacity:1;font-weight:600}.teaser{position:relative}.teaser .fade{-webkit-mask-image:linear-gradient(#000 20%,transparent);mask-image:linear-gradient(#000 20%,transparent)}.lock{height:12px;background:var(--rule);border-radius:2px;margin:8px 0}.cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:640px){.cols{grid-template-columns:1fr}}del{color:var(--burgundy);text-decoration:line-through}ins{color:var(--navy);text-decoration:underline}.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:16px}.modal>div{background:var(--paper);border-radius:6px;padding:24px;max-width:460px;width:100%}.dropzone{display:block;text-align:center;cursor:pointer;border-style:dashed;padding:32px 16px}.chip,.dropzone{font-family:var(--font-ui)}.chip{font-size:14px;border:1px solid var(--rule);border-radius:14px;padding:2px 10px}.chip.ok{border-color:var(--navy)}.chip.miss{border-style:dashed;color:var(--burgundy)}.chip button{background:none;border:0;color:inherit;cursor:pointer;font-size:16px}mark{background:var(--highlight);color:var(--ink);padding:0 2px;border:1px solid var(--rule)}[data-state=accepted]{border-color:var(--navy)}input,select{font:400 15px var(--font-ui);padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:4px}.prose{max-width:70ch;margin:32px 0}.prose h2{margin-top:40px}.prose a{color:var(--navy)}.label{font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.04em;color:var(--burgundy)}.callout,.example{border-left:3px solid var(--navy);background:var(--highlight);padding:8px 16px;margin:20px 0}.callout{border-left-color:var(--burgundy)}.toc{border:1px solid var(--rule);padding:8px 16px;margin:16px 0}.faq{border-bottom:1px solid var(--rule);padding:8px 0}.faq summary{cursor:pointer;font-weight:600}.byline{color:var(--ink);opacity:.75}.site-footer{border-top:1px solid var(--rule);padding:16px}.site-footer nav{display:flex;gap:16px;flex-wrap:wrap}.site-footer a{color:var(--navy)}