@font-face{font-family:Plex;src:url('/assets/fonts/plex-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Plex;src:url('/assets/fonts/plex-medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Plex;src:url('/assets/fonts/plex-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--ink:#28242e;--surface:#fafafc;--sheet:#fff;--lilac:#e8e1f2;--orange:#f17a52;--link:#a13c1e;--muted:#625c69;--line:#d7d3dd;--nav-muted:#c3bccd;--spine:232px;--gutter:clamp(24px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--surface);color:var(--ink);font-family:Plex,'Segoe UI',sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--link)}a:focus-visible,summary:focus-visible{outline:3px solid var(--link);outline-offset:5px}p{margin:0 0 1.2em}h1,h2,h3{font-weight:500;margin:0;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(34px,4.1vw,56px)}h2{font-size:30px}h3{font-size:23px}.eyebrow{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 16px;letter-spacing:0}.skip{position:fixed;top:-100px;left:16px;z-index:50;background:var(--sheet);padding:12px 20px}.skip:focus{top:12px}.spine{position:fixed;left:0;top:0;bottom:0;width:var(--spine);background:var(--ink);color:var(--surface);padding:33px 24px 25px;display:flex;flex-direction:column;overflow:auto;z-index:10}.brand{display:flex;flex-direction:column;gap:17px;font-size:29px;line-height:1.03;letter-spacing:-1.2px;font-weight:500;text-decoration:none;width:fit-content}.brand:hover{color:var(--surface)}.brand-dot{color:var(--orange)}.brand-symbol{display:flex;flex-direction:column;gap:4px;width:31px}.brand-symbol i{height:5px;background:var(--orange);display:block}.brand-symbol i:nth-child(2){width:21px}.spine-purpose{font-size:12px;line-height:1.6;color:var(--nav-muted);margin-top:22px}.nav-label{font-size:11px;color:var(--nav-muted);margin:26px 0 10px}.chapter-nav{display:flex;flex-direction:column;margin:0 -24px}.chapter-nav>a{padding:15px 20px;display:flex;align-items:center;gap:13px;text-decoration:none;font-size:13px;line-height:1.35;border-left:4px solid transparent}.chapter-no{font-size:12px;font-variant-numeric:tabular-nums;font-weight:400;opacity:.75}.chapter-nav a:hover{color:var(--surface);background:#37313f}.chapter-nav a[aria-current=page]{background:var(--lilac);color:var(--ink);border-left-color:var(--orange)}.spine-secondary{border-top:1px solid #534b5d;margin-top:22px;padding-top:17px;font-size:12px;display:grid;gap:14px}.spine-secondary a{display:flex;justify-content:space-between;text-decoration:none;color:var(--nav-muted)}.spine a:focus-visible{outline-color:var(--orange);outline-offset:-4px}.spine-secondary a:hover,.spine-bottom a:hover{color:var(--orange)}.spine-bottom{margin-top:auto;padding-top:44px;font-size:11px;line-height:1.65;color:var(--nav-muted)}.independent-mark{display:block;color:var(--surface);margin-bottom:12px}.spine-bottom p{margin-bottom:9px}.reading-area{margin-left:var(--spine)}.reading-bar{height:63px;padding:0 var(--gutter);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.reading-bar>span:first-child{display:flex;align-items:center;gap:10px}.bar-dot{width:7px;height:7px;background:var(--orange);display:inline-block}.mobile-header{display:none}.manual-home{max-width:1320px;margin:auto}.home-heading{padding:39px var(--gutter) 32px}.home-heading h1{max-width:780px;font-size:clamp(36px,4vw,55px);line-height:1.06}.home-heading>p:last-child{font-size:17px;line-height:1.6;margin:22px 0 0;color:var(--muted);max-width:800px}.start-section{padding:0 var(--gutter) 35px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px}.section-heading h2{font-size:18px;letter-spacing:-.01em}.section-heading>a{font-size:12px;color:var(--muted)}.task-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.task-paths>a{position:relative;padding:20px 22px 21px;text-decoration:none;transition:background .15s ease}.task-paths>a:first-child{padding-left:0}.task-paths>a+a{border-left:1px solid var(--line)}.task-paths>a:hover{background:var(--lilac);color:var(--ink)}.task-index{font-size:11px;color:var(--muted);display:block;margin-bottom:16px}.task-paths h3{font-size:25px;letter-spacing:-.04em;line-height:1.17;margin-bottom:17px}.task-link{font-size:12px;display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.task-link b{font-weight:400;font-size:19px;line-height:1}.record-example{background:var(--lilac);padding:31px var(--gutter) 36px}.example-heading{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-bottom:26px}.example-heading .eyebrow{margin-bottom:7px}.example-heading h2{font-size:29px}.example-label{font-size:11px;color:var(--muted);text-align:right;padding-top:5px;line-height:1.6;flex-shrink:0}.example-workspace{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:start}.record-sheet{background:var(--sheet);border:1px solid #c8bed5;box-shadow:3px 4px 0 #d5cbdf}.sheet-bar{padding:17px 20px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);align-items:baseline}.sheet-bar strong{font-size:14px;font-weight:500}.sheet-bar>span{font-size:10px;color:var(--muted)}.example-fields{margin:0}.example-fields>div{padding:15px 20px;display:flex;justify-content:space-between;gap:20px;font-size:13px;border-bottom:1px solid #e9e6ed}.example-fields dt{color:var(--muted)}.example-fields dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500}.example-fields .missing-field{background:#fff0e9;border-left:3px solid var(--orange);padding-left:17px}.missing-field dd{color:var(--link);display:flex;gap:14px}.trace-flow{display:flex;gap:15px;justify-content:space-between;align-items:center;font-size:12px;padding:20px}.trace-flow .missing-arrow{font-size:20px;color:var(--link)}.annotation-label{font-size:12px;color:var(--muted);display:block;margin:3px 0 11px}.example-comment h3{font-size:27px;margin-bottom:13px}.example-comment>p{font-size:14px;max-width:420px;line-height:1.65}.explanation{border-top:1px solid #bdb2ca;border-bottom:1px solid #bdb2ca;margin:20px 0;font-size:13px}.explanation summary{cursor:pointer;list-style:none;padding:13px 0;display:flex;justify-content:space-between;gap:20px;font-weight:500}.explanation summary::-webkit-details-marker{display:none}.explanation[open] summary>span{transform:rotate(45deg)}.explanation>div{padding:3px 0 17px}.explanation p{font-size:14px}.text-link{font-size:13px;font-weight:500}.authority-section{padding:45px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:46px}.authority-section h2{font-size:30px;margin-bottom:20px}.authority-section>div>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:420px}.authority-links{border-top:1px solid var(--ink);align-self:start}.authority-links>a{display:grid;grid-template-columns:1fr 20px;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none;gap:3px 20px}.authority-links>a span{font-size:12px;color:var(--muted)}.authority-links>a strong{grid-column:1;font-size:15px;font-weight:500}.authority-links>a b{grid-column:2;grid-row:1/3;align-self:center;font-weight:400;font-size:22px}.software-strip{margin:0 var(--gutter);padding:25px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:35px 1fr auto;gap:22px;align-items:start}.software-strip>.chapter-no{font-size:22px;opacity:1}.software-strip h2{font-size:24px;margin-bottom:9px}.software-strip p{font-size:13px;color:var(--muted);margin:0;max-width:490px}.software-strip>a{font-size:13px;align-self:center}.identity-note{margin:32px var(--gutter);display:flex;gap:24px;font-size:12px;color:var(--muted)}.identity-note strong{font-weight:500;white-space:nowrap;color:var(--ink)}.identity-note p{margin:0;max-width:640px}footer{max-width:1320px;margin:auto;border-top:1px solid var(--line);padding:26px var(--gutter) 22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:12px}footer strong{font-weight:500;font-size:15px}footer p{margin:5px 0 0;color:var(--muted)}footer nav{display:flex;gap:26px}.footer-limit{font-size:11px;flex-basis:100%;border-top:1px solid var(--line);padding-top:17px}.article-heading{padding:38px var(--gutter) 34px;max-width:1320px;margin:auto;border-bottom:1px solid var(--line)}.article-kicker{display:flex;align-items:center;gap:13px;margin-bottom:24px}.article-kicker .eyebrow{margin:0}.chapter-stamp{font-size:12px;background:var(--lilac);padding:4px 9px;font-variant-numeric:tabular-nums}.article-heading h1{max-width:900px;font-size:clamp(32px,3.6vw,48px)}.standfirst{max-width:790px;font-size:18px;line-height:1.65;margin-top:23px}.article-meta{font-size:12px;color:var(--muted);margin:20px 0 0}.article-meta span{padding:0 10px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:45px;padding:40px var(--gutter) 55px;max-width:1320px;margin:auto;align-items:start}.article-layout article{grid-row:1;grid-column:1;min-width:0}.toc{grid-column:2;grid-row:1;position:sticky;top:30px;padding-left:17px;border-left:1px solid var(--line);font-size:12px}.toc .eyebrow{font-size:12px;color:var(--ink);font-weight:500}.toc nav a{display:block;margin-bottom:15px;text-decoration:none;line-height:1.6;color:var(--muted)}.toc nav a:hover{color:var(--link)}.all-guides{display:inline-block;margin-top:12px}.article-layout article>section:not(.sources){display:grid;grid-template-columns:25px minmax(0,1fr);gap:13px;margin-bottom:42px}.section-count{font-size:11px;color:var(--muted);padding-top:7px;font-variant-numeric:tabular-nums}.article-layout h2{font-size:28px;margin-bottom:22px}.article-layout p{font-size:16px;line-height:1.75}.note{padding:21px 23px;background:var(--lilac);margin:25px 0;font-size:15px}.note p:last-child{margin-bottom:0}.note strong{display:block;font-size:14px;font-weight:500;margin-bottom:10px}.table-wrap{margin:24px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.65}th{text-align:left;padding:13px 15px;background:var(--ink);color:var(--surface);font-weight:500;font-size:12px}td{padding:17px 15px;border-bottom:1px solid var(--line);vertical-align:top;background:var(--sheet)}td:first-child{width:34%;font-weight:500}tr:nth-child(even) td{background:#f0edf4}.sources{border-top:2px solid var(--ink);padding-top:24px;margin-left:38px}.sources .eyebrow{font-size:12px}.sources h2{font-size:23px}.sources ul{list-style:none;padding:0}.sources li{font-size:13px;border-bottom:1px solid var(--line);padding:12px 0}.source-date{font-size:11px!important;color:var(--muted)}.reading-list{border-top:1px solid var(--ink)}.reading-row{display:grid;grid-template-columns:24px 1fr 20px;gap:17px;border-bottom:1px solid var(--line);padding:22px 0;text-decoration:none}.row-number{font-size:11px;color:var(--muted);padding-top:4px}.reading-row strong{font-size:22px;font-weight:500;line-height:1.25;display:block;letter-spacing:-.02em}.row-detail{font-size:13px;line-height:1.65;display:block;margin-top:11px;color:var(--muted)}.arrow{font-size:21px}.short-page{padding:60px var(--gutter) 90px;max-width:1100px;min-height:65vh}.short-page>p:not(.eyebrow){max-width:640px;margin:25px 0}.button{display:inline-block;padding:13px 20px;background:var(--ink);color:var(--surface);text-decoration:none;font-size:14px}.button:hover{color:var(--ink);background:var(--lilac)}
@media(min-width:1800px){:root{--spine:264px}.spine{padding-left:32px;padding-right:32px}.chapter-nav{margin:0 -32px}.chapter-nav>a{padding-left:28px}}
@media(max-width:1100px){:root{--spine:206px;--gutter:30px}.spine{padding-left:18px;padding-right:18px}.chapter-nav{margin:0 -18px}.chapter-nav>a{padding-left:14px;gap:10px}.brand{font-size:27px}.task-paths>a{padding-right:15px;padding-left:15px}.task-paths h3{font-size:23px}.task-link{font-size:11px}.example-workspace{gap:24px}.example-heading h2{font-size:26px}.sheet-bar{display:block}.sheet-bar>span{display:block;margin-top:4px}.example-fields>div{padding-left:15px;padding-right:15px;font-size:12px}.example-comment h3{font-size:25px}.article-layout{grid-template-columns:minmax(0,1fr);gap:25px}.toc{position:static;grid-column:1;grid-row:1;border-left:0;border-bottom:1px solid var(--line);padding:0 0 20px}.toc nav{display:flex;flex-wrap:wrap;gap:10px 22px}.toc nav a{margin:0}.all-guides{display:none}.article-layout article{grid-row:2}.software-strip{grid-template-columns:28px 1fr}.software-strip>a{grid-column:2}.identity-note{display:block}.identity-note strong{display:block;margin-bottom:7px}}
@media(max-width:760px){:root{--gutter:24px}.spine{display:none}.reading-area{margin-left:0}.mobile-header{display:block;background:var(--ink);color:var(--surface);padding:22px 24px 0}.mobile-header .brand{flex-direction:row;align-items:center;gap:16px;font-size:25px;letter-spacing:-.8px}.mobile-header .brand>span:last-child br{display:none}.brand-symbol{width:25px;gap:3px}.brand-symbol i{height:4px}.brand-symbol i:nth-child(2){width:17px}.mobile-menu{margin-top:22px;border-top:1px solid #534b5d}.mobile-menu summary{display:flex;justify-content:space-between;list-style:none;padding:13px 0;font-size:13px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary>span{transform:rotate(45deg)}.mobile-menu .chapter-nav{margin:0 -24px}.mobile-menu a{padding:13px 24px;font-size:14px}.mobile-menu summary:focus-visible,.mobile-menu a:focus-visible{outline-color:var(--orange)}.reading-bar{height:45px;font-size:11px}.reading-bar>span:last-child{display:none}.home-heading{padding-top:28px;padding-bottom:28px}.home-heading h1{font-size:39px;line-height:1.08}.home-heading .eyebrow{font-size:11px;max-width:300px;line-height:1.6}.home-heading>p:last-child{font-size:16px;margin-top:20px}.desktop-break{display:none}.section-heading{align-items:start;gap:15px;margin-bottom:16px}.section-heading h2{font-size:16px}.section-heading>a{font-size:11px;white-space:nowrap}.task-paths{grid-template-columns:1fr}.task-paths>a,.task-paths>a:first-child{display:grid;grid-template-columns:1fr 1fr;padding:19px 0;gap:7px 20px}.task-paths>a+a{border-left:0;border-top:1px solid var(--line)}.task-index{grid-column:1/3;font-size:10px;margin:0}.task-paths h3{font-size:22px;margin:0}.task-paths h3 br{display:none}.task-link{align-self:end;font-size:12px;line-height:1.5;justify-content:space-between}.task-link b{font-size:22px}.start-section{padding-bottom:30px}.example-heading{display:block;margin-bottom:22px}.example-heading h2{font-size:29px;max-width:310px}.example-label{display:block;text-align:left;margin-top:12px;font-size:11px}.example-workspace{grid-template-columns:1fr;gap:27px}.sheet-bar{display:flex}.sheet-bar>span{margin:0}.example-fields>div{font-size:13px;padding:15px 18px}.example-comment h3{font-size:28px}.example-comment h3 br{display:none}.example-comment>p{font-size:15px}.record-example{padding-top:27px;padding-bottom:30px}.authority-section{grid-template-columns:1fr;gap:27px;padding-top:33px;padding-bottom:34px}.authority-section h2{font-size:29px}.authority-section .eyebrow{margin-bottom:12px}.software-strip{gap:16px}.software-strip h2{font-size:24px}.software-strip p{font-size:14px}.software-strip>a br{display:none}.identity-note{font-size:12px;margin-top:25px;margin-bottom:27px}.identity-note strong{white-space:normal}footer{gap:22px}footer nav{gap:24px}.footer-limit{line-height:1.7}.article-heading{padding-top:27px;padding-bottom:27px}.article-kicker{margin-bottom:20px}.article-heading h1{font-size:34px}.standfirst{font-size:17px;line-height:1.7;margin:20px 0}.article-meta{font-size:11px}.article-layout{padding-top:25px;padding-bottom:25px;gap:30px}.article-layout article>section:not(.sources){grid-template-columns:1fr;gap:8px;margin-bottom:33px}.section-count{padding:0;font-size:11px}.article-layout h2{font-size:27px}.article-layout p{font-size:16px;line-height:1.7}.toc .eyebrow{margin-bottom:12px}.toc nav{display:block}.toc nav a{margin-bottom:10px;font-size:13px}.toc nav a:last-child{margin-bottom:0}.sources{margin-left:0}.sources h2{font-size:24px}.note{padding:20px}.table-wrap{margin-top:20px}td,th{padding:12px 10px;overflow-wrap:anywhere}td{font-size:13px}th{font-size:11px}.reading-row{gap:12px;grid-template-columns:20px 1fr 18px}.reading-row strong{font-size:22px}.short-page{padding-top:36px;padding-bottom:60px}.short-page h1{font-size:36px}}
@media(max-width:360px){:root{--gutter:20px}.mobile-header{padding-left:20px;padding-right:20px}.home-heading h1{font-size:34px}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:8px}.task-paths>a{grid-template-columns:1fr}.task-index{grid-column:1}.task-link{margin-top:3px}.task-paths h3{font-size:23px}.sheet-bar{display:block}.sheet-bar>span{margin-top:3px}.example-fields>div{font-size:12px}.trace-flow{padding:16px 12px;gap:8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.task-paths>a{transition:none}}
@media print{.spine,.mobile-header,.reading-bar,.toc,footer,.skip{display:none}.reading-area{margin:0}body{background:white;color:#111;font-size:12pt}.article-heading,.article-layout{padding:15px 0;display:block}.article-heading h1{font-size:28pt}.article-layout h2{font-size:18pt}.article-layout article>section{break-inside:avoid}.table-wrap{overflow:visible}th{background:#eee;color:#111}a{text-decoration:underline}.record-example{background:#eee}.home-heading h1{font-size:28pt}.note{border:1px solid #999}}

.example-label>span{display:block}@media(max-width:760px){.example-label>span{display:inline}.example-label>span+span:before{content:" · "}}

.section-body>p{max-width:70ch}

/* Keep the four-column comparison legible on small screens. */
.software-comparison table{min-width:700px;table-layout:fixed}
.software-comparison td:first-child,.software-comparison th:first-child{width:19%}
.software-comparison td,.software-comparison th{overflow-wrap:normal;word-break:normal}
.table-hint{font-size:12px!important;color:var(--muted);margin-bottom:-10px}
.software-comparison:focus-visible{outline:2px solid var(--link);outline-offset:4px}
@media print{.software-comparison table{min-width:0}.table-hint{display:none}}
.section-body{min-width:0}
.software-comparison{max-width:100%;min-width:0}
