@font-face{font-family:Fraunces;src:url(assets/fonts/Fraunces-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Fraunces;src:url(assets/fonts/Fraunces-SemiBold.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Fraunces;src:url(assets/fonts/Fraunces-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter-SemiBold.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--color-bg:#FAF6F0;--color-surface:#fff;--color-ink:#221F1F;--color-ink-soft:#6B6259;--color-line:#E7DFD3;--color-red:#C62222;--color-red-dark:#8F1717;--color-green:#3E7C59;--color-green-bg:#EAF3EC;--color-amber:#B4700F;--color-amber-bg:#FBF0DE;--color-amber-text:#955D0C;font-family:Inter,sans-serif;color:var(--color-ink);background:#F5F5F7;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid var(--color-red);outline-offset:5px;border-radius:3px}.skip-link{position:absolute;left:12px;top:-60px;z-index:10;background:white;padding:14px}.skip-link:focus{top:12px}.masthead{display:flex;align-items:center;gap:30px;padding:25px 40px;background:var(--color-bg);border-bottom:1px solid var(--color-line)}.brand{text-decoration:none;font:700 28px/.88 Fraunces,serif;letter-spacing:-1px}.brand span{display:block;color:var(--color-red);font-size:22px;letter-spacing:-.4px}.masthead-copy{border-left:1px solid var(--color-line);padding-left:28px}.masthead-copy p{font-size:14px;color:var(--color-ink-soft);margin:7px 0 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--color-red);line-height:1.5}.workspace{max-width:1590px;margin:auto;padding:34px 32px 50px;display:grid;grid-template-columns:minmax(300px,1.04fr) minmax(355px,1fr) minmax(290px,.88fr);gap:28px;align-items:start;background:linear-gradient(#FBFBFD,#F5F5F7)}.panel{background:var(--color-bg);border:1px solid var(--color-line);border-radius:6px;padding:25px 25px 28px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.edition{font-size:12px;color:var(--color-ink-soft);font-family:monospace}.guide{height:865px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d4cdc2 transparent;scroll-behavior:smooth}.guide h1{font:600 32px/1.15 Fraunces,serif;margin:0 0 14px;letter-spacing:-.7px}h2{font:600 25.6px/1.2 Fraunces,serif;letter-spacing:-.35px;margin:8px 0 12px}h3{font-size:14px;font-weight:600;line-height:1.5;margin:20px 0 9px}p{font-size:14px;line-height:1.65;color:var(--color-ink-soft)}.intro{margin:0 0 20px}.guide-nav{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;margin:22px 0}.guide-nav a{text-decoration:none;border-bottom:1px solid #cfc5b8;padding-bottom:5px}.guide-section{padding-top:32px;margin-top:28px;border-top:1px solid var(--color-line);scroll-margin-top:20px}.guide-section p{margin:0 0 20px}.type-sample{display:flex;flex-direction:column;gap:12px;padding:18px 0;border-bottom:1px solid var(--color-line);font-size:16px}.sample-meta{font:11px/1.4 monospace;color:var(--color-ink-soft)}.fraunces{font-family:Fraunces,serif}.sample-brand{font-size:28.8px}.sample-title{font-size:25.6px;font-weight:600}.sample-card{font-size:19.2px;font-weight:600}.weight-samples{display:flex;gap:24px;font-size:14px}.weight-samples span:nth-child(1){font-weight:500}.weight-samples span:nth-child(2){font-weight:600}.weight-samples span:nth-child(3){font-weight:700}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:10px}.swatch{border:1px solid var(--color-line);border-radius:6px;overflow:hidden;background:white}.swatch-color{height:38px;background:var(--swatch)}.swatch-copy{padding:10px}.swatch strong{display:block;font-size:12px;margin-bottom:4px}.swatch code{display:block;font-size:11px;color:var(--color-ink-soft)}.swatch p{margin:5px 0 0;font-size:11px;line-height:1.45}.small-note{font-size:12px;margin-top:16px!important}.specimen{border:1px solid var(--color-line);background:white;padding:14px;border-radius:6px;display:flex;gap:8px;flex-wrap:wrap}.button{display:inline-block;border-radius:3px;padding:12px 16px;font-size:12px;font-weight:700;line-height:1.3}.primary{background:var(--color-red);color:white;border:1px solid var(--color-red)}.secondary{background:white;border:1px solid var(--color-line)}.pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:600}.success{color:var(--color-green);background:var(--color-green-bg)}.pending{color:var(--color-amber-text);background:var(--color-amber-bg)}.subject-specimen{border:1px solid var(--color-line);border-left:3px solid var(--color-red);border-radius:3px;padding:16px;background:white}.subject-specimen strong{font-size:19.2px}.progress-track{height:4px;background:var(--color-line);margin:13px 0 8px}.progress-track span{display:block;height:100%;background:var(--color-red)}.muted{font-size:12px;color:var(--color-ink-soft)}.field-specimen{flex-direction:column}.field-caption{font-size:10px;letter-spacing:1px;font-weight:600}.sample-input{padding:11px;border:1px solid var(--color-line);font-size:13px;display:flex;justify-content:space-between}.spacing-scale{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.spacing-scale span{display:grid;place-items:center;width:30px;height:36px;border-bottom:4px solid var(--color-red);background:white;font-size:12px}.device-column{padding:26px 0 0;position:sticky;top:0;min-width:0}.device-column>.panel-heading,.device-title,.device-caption{margin-left:12px;margin-right:12px}.device-title{display:flex;justify-content:space-between;align-items:center}.device-title h2{margin:0;font-size:25.6px}.demo-label{font-size:10px;letter-spacing:1px;border:1px solid #dcd5cc;padding:4px 7px;border-radius:3px;color:var(--color-ink-soft)}.text-button{border:0;background:none;padding:5px 0;color:var(--color-red);font-size:12px;text-underline-offset:4px}.text-button:hover{text-decoration:underline}.device-caption{font-size:13px;margin-top:9px;margin-bottom:23px}.phone-frame{width:min(100%,380px);margin:auto;background:#1C1C1E;padding:7px 7px 0;border-radius:48px;box-shadow:0 22px 35px #0002,0 5px 10px #0002;border:2px solid #555557;overflow:hidden}.phone-status{height:28px;background:var(--color-bg);display:flex;align-items:center;justify-content:space-between;position:relative;border-radius:37px 37px 0 0;padding:0 24px;font-size:10px;font-weight:600}.notch{position:absolute;top:-1px;left:50%;transform:translateX(-50%);height:20px;width:110px;background:#1C1C1E;border-radius:0 0 14px 14px}.phone-screen{height:760px;background:var(--color-bg);position:relative}.phone-screen iframe{width:100%;height:100%;border:0;display:block}.phone-home{height:20px;background:var(--color-bg);border-radius:0 0 35px 35px;display:flex;justify-content:center;align-items:center;margin-bottom:7px}.phone-home span{width:105px;height:4px;background:var(--color-ink);border-radius:999px}.device-footer{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--color-ink-soft);margin:22px 10px 0}.connection-state{text-align:center;font-size:11px;color:var(--color-ink-soft);margin:14px 0 0}.connection-state.ready{color:var(--color-green)}.flow-column{position:sticky;top:0;min-height:865px}.flow-column h2{margin-top:0;font-size:26px}.flow-column .intro{font-size:13px}.flow-map{height:425px;position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,1fr);margin:18px 0 12px}.flow-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.flow-lines path{stroke:#ded6ca;fill:none;stroke-width:1.5;stroke-linejoin:round}.flow-node{position:relative;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px;grid-row:var(--row);font-size:11px;align-self:start;justify-self:center;padding:0 6px}.flow-node.full{grid-column:1/3}.flow-node.left{grid-column:1}.flow-node.right{grid-column:2}.node-circle{border:1.5px solid #c5bbaf;background:var(--color-bg);color:var(--color-ink-soft);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:10px;transition:background .2s,color .2s,box-shadow .2s}.flow-node>span:last-child{background:var(--color-bg);padding:0 5px}.flow-node.visited .node-circle{color:var(--color-red);border-color:var(--color-red);background:#f7e5df}.flow-node.current{color:var(--color-red);font-weight:700}.flow-node.current .node-circle{background:var(--color-red);color:white;border-color:var(--color-red);box-shadow:0 0 0 5px #c6222212}.flow-node.inspecting .node-circle{outline:2px dashed var(--color-ink-soft);outline-offset:4px}.explanation{border:1px solid var(--color-line);border-radius:14px;padding:18px;background:white;box-shadow:0 8px 22px #221f1f07;min-height:164px}.explanation .eyebrow{font-size:9px;letter-spacing:1.1px}.explanation h3{font:600 19.2px/1.3 Fraunces,serif;margin:8px 0}.explanation p{font-size:12px;margin:0 0 12px;line-height:1.6}.explanation-detail{font-size:10px;line-height:1.6;color:var(--color-ink-soft);display:block;border-top:1px solid var(--color-line);padding-top:10px}.flow-legend{display:flex;gap:7px;align-items:center;font-size:9px;color:var(--color-ink-soft);margin:20px 0}.legend-current,.legend-visited{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-current{background:var(--color-red)}.legend-visited{background:#f7e5df;border:1px solid var(--color-red);margin-left:8px}.flow-download{border-top:1px solid var(--color-line);padding-top:17px;font-size:11px}.flow-download p{font-size:10px;margin:8px 0 0}.page-footer{border-top:1px solid #ddd8d1;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--color-ink-soft)}.page-footer>.fraunces{font-size:19px;font-weight:600;color:var(--color-ink)}[hidden]{display:none!important}
.masthead .lang-switch{margin-left:auto}.lang-switch{display:inline-flex;align-items:center;flex-shrink:0;gap:2px;background:#EDE8E0;border-radius:999px;padding:4px}.lang-divider{width:1px;height:20px;background:#D9D2C4}.lang-btn{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:999px;padding:6px 14px 6px 6px;font-size:12px;font-weight:700;color:var(--color-ink-soft);letter-spacing:.3px}.lang-btn .flag-circle{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0;display:block;box-shadow:0 0 0 1px #00000014}.lang-btn .flag-circle svg{display:block;width:100%;height:100%}.lang-btn[aria-pressed="true"]{background:#fff;color:var(--color-ink);box-shadow:0 1px 4px #22221f26}
@media(min-width:1500px){.workspace{gap:40px}.guide{padding:30px}.phone-frame{width:390px}.phone-screen{height:800px}.guide,.flow-column{min-height:895px;height:895px}}
@media(max-width:1120px){.workspace{grid-template-columns:minmax(340px,1fr) minmax(300px,.9fr);gap:24px;padding:28px}.guide{grid-column:1/3;grid-row:2;height:auto;display:block;max-height:none}.guide .guide-section{display:block}.device-column{grid-column:1;grid-row:1;position:static;padding-top:12px}.flow-column{grid-column:2;grid-row:1;position:static;min-height:0}.guide{columns:2;column-gap:40px}.guide>*{break-inside:avoid}.guide-section{break-inside:avoid}.masthead{padding:22px 28px}.masthead-copy p{display:none}}
@media(max-width:720px){.masthead{padding:20px;gap:18px}.masthead-copy{padding-left:18px}.masthead-copy .eyebrow{font-size:9px;letter-spacing:1px}.lang-btn{gap:6px;padding:5px 10px 5px 5px}.lang-btn .flag-circle{width:20px;height:20px}.workspace{display:flex;flex-direction:column;padding:20px 16px 32px;gap:28px}.device-column{order:0;align-self:center;width:min(100%,390px);padding-top:8px}.phone-screen{height:740px}.flow-column{order:1;width:100%;padding:24px}.flow-map{max-width:340px;margin:20px auto}.guide{order:2;width:100%;columns:auto;padding:24px}.page-footer{padding:22px 24px;flex-wrap:wrap;font-size:10px}.page-footer>span:nth-child(2){order:3;width:100%}.phone-frame{border-radius:43px}.guide h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html,.guide{scroll-behavior:auto}.node-circle{transition:none}}
