/* Hallmark · macrostructure: Index-First · genre: editorial · theme: Almanac, archive-informed sage · tone: technical · anchor hue: sage · nav: N6 · footer: Ft4 · enrichment: none
 * audience: JavaScript readers · use: read and explore the reference · motion: none
 * self-critique: L5 T5 C5 R5 V5 */
@import url('/tokens.css');



*{box-sizing:border-box}html{overflow-x:clip;background:var(--color-sage)}body{overflow-x:clip;margin:0 auto;max-width:1264px;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;min-height:100dvh;border-inline:var(--rule-hair) solid var(--color-rule)}
a{color:var(--color-accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:active{opacity:.75}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.skip{position:absolute;left:16px;top:-100px;z-index:10;background:var(--color-paper);padding:var(--space-md)}.skip:focus{top:12px}
h1,h2,h3{font-family:var(--font-display);font-weight:700;font-style:normal;line-height:1.15;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);letter-spacing:-.025em;margin:0 0 var(--space-lg)}h2{font-size:var(--text-lg);margin:0 0 var(--space-lg)}h3{font-size:var(--text-lg);margin:var(--space-sm) 0 var(--space-md)}p{margin:0 0 var(--space-lg)}ul,ol{padding-inline-start:var(--space-lg)}li{margin-block:var(--space-sm)}.small,.source{font-size:var(--text-sm);color:var(--color-muted)}.lede{font-size:var(--text-md);line-height:1.6;max-width:62ch}
.masthead{padding:var(--space-xl) var(--space-lg) 0;border-bottom:4px double var(--color-rule)}.mast-top{text-align:center}.wordmark{font-family:var(--font-display);font-size:3.8rem;font-weight:700;line-height:1;letter-spacing:-.05em;display:inline-block;text-decoration:none;color:var(--color-ink)}.wordmark span{color:var(--color-accent)}.wordmark .wordmark-period{color:var(--color-muted)}.mast-top p{font-size:var(--text-sm);margin:var(--space-sm) 0 var(--space-lg);color:var(--color-muted)}#primary-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--space-lg);padding:var(--space-sm) 0}#primary-nav a{white-space:nowrap;font-size:var(--text-sm);display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--color-ink)}#primary-nav a:hover,#primary-nav a[aria-current]{text-decoration:underline;text-underline-offset:.4em}.menu-toggle{width:100%;justify-content:space-between;align-items:center;margin:0 0 var(--space-sm);background:var(--color-paper);color:var(--color-ink);border:var(--rule-hair) solid var(--color-rule);padding:var(--space-sm) var(--space-md)}.menu-toggle:not([hidden]){display:flex}.menu-toggle span{font-size:var(--text-md)}
main{padding:var(--space-2xl) var(--space-lg) var(--space-3xl)}.home-intro{max-width:810px;margin-bottom:var(--space-2xl)}.home-intro p:not(.lede){max-width:65ch}.home-columns{display:grid;gap:var(--space-2xl)}.reference-list{list-style:none;padding:0;margin:0}.reference-list li{border-top:var(--rule-hair) solid var(--color-rule);margin:0;padding:var(--space-md) 0 var(--space-lg)}.reference-list li:last-child{border-bottom:var(--rule-hair) solid var(--color-rule)}.reference-list li>a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);font-weight:700;font-size:var(--text-md);text-decoration:none}.reference-list a:hover>span:first-child{text-decoration:underline}.reference-list p{margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-base);max-width:55ch}.row-arrow{flex:none}.compact li>a{font-size:var(--text-base)}.compact p{font-size:var(--text-sm)}.articles{margin-top:var(--space-2xl)}.articles article{border-top:var(--rule-hair) solid var(--color-rule);padding-top:var(--space-lg)}.articles h3 a{text-decoration:none}.articles h3 a:hover{text-decoration:underline}.articles .small{margin:0}.text-link{display:inline-block;font-weight:700;font-size:var(--text-sm)}.edition-note{background:var(--color-sage);padding:var(--space-lg);margin-top:var(--space-xl)}.edition-note h2{font-size:var(--text-md)}.edition-note p{font-size:var(--text-sm)}
.document{max-width:960px;margin:auto}.page-title{border-bottom:var(--rule-hair) solid var(--color-rule);padding-bottom:var(--space-lg);margin-bottom:var(--space-xl)}.breadcrumb{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-lg)}.breadcrumb a{white-space:nowrap}.breadcrumb span{margin-inline:var(--space-sm)}.prose{max-width:68ch}.prose h2{margin-top:var(--space-2xl)}.prose h2:first-child{margin-top:0}.prose li{margin-block:var(--space-sm)}code,pre{font-family:var(--font-code);font-size:.875em}code{background:var(--color-code);padding:2px 4px;overflow-wrap:anywhere}pre{padding:var(--space-lg);background:var(--color-code);border-left:3px solid var(--color-rule);white-space:pre-wrap;overflow-wrap:anywhere;margin:var(--space-xl) 0;line-height:1.7}pre code{padding:0;font-size:1em}button,input{font:inherit}button{cursor:pointer;min-height:44px;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink);white-space:nowrap}button:hover{background:var(--color-ink)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}input{max-width:100%;border:var(--rule-hair) solid var(--color-muted);border-radius:var(--radius-sm);padding:var(--space-sm);background:var(--color-light);color:var(--color-ink);min-height:44px}input[aria-invalid=true]{outline:2px solid var(--color-error);outline-offset:1px;border-color:var(--color-error)}.demo{background:var(--color-code);padding:var(--space-lg);margin-block:var(--space-xl)}.demo label{display:block;margin-bottom:var(--space-sm);font-weight:700}.demo button{margin:var(--space-sm) var(--space-sm) var(--space-sm) 0}.demo [role=status]{font-weight:700;overflow-wrap:anywhere;margin-top:var(--space-md)}#roman-result{font-family:var(--font-display);font-size:var(--text-xl)}.bat{font-size:3rem;text-align:center;line-height:1;margin-bottom:var(--space-md)}.sudoku-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:290px;gap:var(--space-xs);margin-bottom:var(--space-md)}.sudoku-grid input{width:100%;min-width:0;text-align:center;padding:var(--space-xs);font-variant-numeric:tabular-nums}.sudoku-grid input:read-only{background:var(--color-sage);font-weight:700}.sudoku-grid input:nth-child(4n+2){border-inline-end:3px solid var(--color-ink)}.sudoku-grid input:nth-child(n+5):nth-child(-n+8){border-bottom:3px solid var(--color-ink)}
footer{border-top:4px double var(--color-rule);padding:var(--space-xl) var(--space-lg);display:grid;gap:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm)}.footer-brand{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-ink);line-height:1}.footer-brand span{color:var(--color-accent)}footer p{margin-bottom:var(--space-md)}footer nav{display:flex;flex-wrap:wrap;gap:0 var(--space-lg);margin-bottom:var(--space-sm)}footer a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}footer .small{font-size:.8rem}
@media(min-width:40rem){.masthead{padding-inline:var(--space-2xl)}main{padding:var(--space-2xl) var(--space-2xl) var(--space-3xl)}footer{padding:var(--space-xl) var(--space-2xl);grid-template-columns:140px minmax(0,1fr)}.document{padding-block:var(--space-3xl)}.home-intro{margin-bottom:var(--space-3xl)}}
@media(min-width:60rem){.home-columns{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--space-3xl)}.home-intro{padding-top:var(--space-md)}.masthead{padding-top:var(--space-xl)}.wordmark{font-size:4.5rem}.home{padding-top:var(--space-3xl)}.document{max-width:960px}footer{grid-template-columns:200px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

input:hover{border-color:var(--color-accent)}input:active{background:var(--color-paper)}input:disabled{opacity:.55;cursor:not-allowed;background:var(--color-code)}[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}
/* Keep the disclosure legible under the shared button hover rule. */
.menu-toggle:hover{background:var(--color-code);color:var(--color-ink)}

/* Hallmark · shared reference extension · Long Document · existing ADsafe green
 * pre-emit critique: P4 H4 E4 S5 R5 V4 · no decorative motion */
body{max-width:none;border:0;background:var(--brand-background)}
.adc-footer{display:block}
.adc-main.doc-article{width:100%;max-width:76ch;min-width:0;padding:var(--space-lg);margin-inline:auto;font-size:var(--text-base);line-height:1.75}
.doc-article :where(h1,h2,h3){font-family:var(--font-body);font-style:normal;overflow-wrap:anywhere;min-width:0}
.doc-article h1{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 var(--space-lg);text-wrap:balance}
.doc-article h2{font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.25;margin:var(--space-2xl) 0 var(--space-md);scroll-margin-top:var(--space-lg)}
.doc-article :where(p,ul,ol,dl,pre){margin-bottom:var(--space-lg)}
.doc-article :where(a,code,dd){overflow-wrap:anywhere}
.doc-article code{font-family:var(--font-code);color:var(--brand-secondary);background:var(--ad-code-muted);padding:0 .2em}
.doc-article pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;line-height:1.7;padding:var(--space-md);border:var(--rule-hair) solid var(--ad-code-rule);border-radius:var(--radius-sm)}
.doc-article pre code{background:transparent;color:var(--ad-code-ink);padding:0}
.doc-article .prose{max-width:none}
.doc-header{border-bottom:var(--rule-hair) solid var(--ad-rule);padding-bottom:var(--space-md);margin-bottom:var(--space-lg)}
.doc-header .breadcrumb{margin-bottom:var(--space-md)}
.doc-toc{padding:var(--space-md);border-inline-start:4px solid var(--brand-background);margin-bottom:var(--space-xl);font-size:var(--text-sm)}
.doc-toc ul{list-style:none;padding:0;margin:var(--space-sm) 0 0;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}
.doc-toc li{border:0!important;padding:0!important;margin:0!important;border-radius:0!important}
.doc-toc a{display:inline-flex;min-height:44px;align-items:center}
.doc-note{padding:var(--space-md);border:var(--rule-hair) solid var(--ad-rule);margin:var(--space-xl) 0;background:var(--ad-code-muted)}
.doc-note p:last-child{margin-bottom:0}
.doc-sources{border-top:var(--rule-hair) solid var(--ad-rule);margin-top:var(--space-2xl);padding-top:var(--space-md);font-size:var(--text-sm)}
.doc-sources h2{font-size:var(--text-md);margin-top:var(--space-md)}
.doc-sources li{display:list-item!important;border:0!important;padding:0!important;border-radius:0!important;margin:var(--space-sm) 0!important}
.doc-table{overflow-x:auto;max-width:100%;margin:var(--space-xl) 0;overscroll-behavior-x:contain}
.doc-table:focus-visible{outline:3px solid var(--brand-secondary);outline-offset:3px}
.doc-article .doc-table table{display:table;overflow:visible;width:100%;border-collapse:collapse;margin:0}
.doc-table caption{text-align:start;font-weight:700;margin-bottom:var(--space-sm)}
.doc-table :where(td,th){white-space:nowrap;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);border-bottom:var(--rule-hair) solid var(--ad-rule)}
.doc-table th{font-weight:700}
.doc-glossary dt{font-weight:700;font-size:var(--text-md);border-top:var(--rule-hair) solid var(--ad-rule);padding-top:var(--space-lg);margin-top:var(--space-lg)}
.doc-glossary dd{margin:var(--space-sm) 0 var(--space-lg)}
.adc-main .doc-directory{grid-column:1 / -1;background:var(--ad-cream);padding:var(--space-lg);min-width:0}
.doc-directory ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
.adc-main .doc-directory li{display:block;border:0;border-top:var(--rule-hair) solid var(--ad-rule);border-radius:0;padding:var(--space-sm) 0;margin:0;min-width:0}
.doc-directory a{display:inline-block;min-height:44px;font-weight:700}
.doc-directory p{font-size:var(--text-sm);line-height:1.6;margin:0}
.ad-footer-links{grid-template-columns:repeat(4,minmax(0,1fr))}
.adc-nav a,.ad-footer-links a{white-space:nowrap}
@media(max-width:699px){
 .adc-main.doc-article{padding:var(--space-md);font-size:1rem}
 .doc-directory ul{grid-template-columns:minmax(0,1fr)}
 .doc-toc ul{display:block}
 .doc-toc a{display:block;min-height:0;padding-block:var(--space-sm)}
 .ad-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
 .doc-article pre{font-size:.82rem}
}
