@layer lw.reset,lw.tokens,lw.document,lw.block,lw.table,lw.toc,lw.trail,lw.temporal,lw.diff,lw.split,lw.history,lw.prefs,lw.actions,lw.a11y,lw.print,lw.paper,lw.overrides,lw.debug;@layer lw.reset{.lw-root{:where(h1,h2,h3,h4,h5,h6,p,ol,ul,li,figure,table,pre){margin:0;padding:0}:where(ol,ul){list-style:none}:where(table){border-collapse:collapse}}}@layer lw.tokens{:where(.lw-root){--lw-d-font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lw-d-font-heading: var(--lw-font-body);--lw-d-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--lw-d-font-size-base: 1rem;--lw-d-font-size-sm: .875em;--lw-d-font-size-xs: .78em;--lw-d-font-scale-narrow: .94;--lw-d-line-height: 1.55;--lw-d-letter-spacing: 0;--lw-d-caps-tracking: .06em;--lw-d-text-align: justify;--lw-d-text-align-narrow: start;--lw-d-hyphens: auto;--lw-d-measure: 68ch;--lw-d-doc-title-size: 2em;--lw-d-heading-size-tier-1: 1.5em;--lw-d-heading-size-tier-2: 1.3em;--lw-d-heading-size-tier-3: 1.2em;--lw-d-heading-size-tier-4: 1.1em;--lw-d-heading-size-article: 1.05em;--lw-d-heading-line-height: 1.3;--lw-d-para-space: .7em;--lw-d-block-space: .9em;--lw-d-article-space: 2.2em;--lw-d-container-space: 3.5em;--lw-d-indent-step: 1.5rem;--lw-d-indent-step-narrow: .7rem;--lw-d-guide-width: 1px;--lw-d-guide-from: 3;--lw-d-marker-gap: .6em;--lw-d-space: .25rem;--lw-d-margin-width: 1.5rem;--lw-d-margin-width-narrow: 1.375rem;--lw-d-margin-end: 3rem;--lw-d-head-align: center;--lw-d-diff-layout: unified;--lw-d-highlight-pad-inline: .6rem;--lw-d-highlight-pad-block: .3rem;--lw-d-hover-pad: .25rem;--lw-d-hover-pad-inline: .5rem;--lw-d-hover-radius: 2px;--lw-d-mark-pad: .16em;--lw-d-radius: 4px;--lw-d-rule-width: 1px;--lw-d-gutter-width: 3px;--lw-d-split-gap: 2.5rem;--lw-d-header-offset: 0px;--lw-d-trail-height: 2.25rem;--lw-d-toc-width: 18rem;--lw-d-block-guess: 4rem;--lw-d-provision-clip: 3rem;--lw-d-toc-gutter: 1.2em;--lw-d-toc-stacked-height: 45vh;--lw-d-toc-beside-height: 80vh;--lw-d-toc-fade: 2rem;--lw-d-toc-marker-gap: .45em;--lw-d-toc-indent-step: 1em;--lw-d-toc-wrap-indent: .75em;--lw-d-toc-group-size: 24rem;--lw-d-versions-height: 13rem;--lw-d-versions-fade: 1.5rem;--lw-d-timeline-length: 110rem;--lw-d-timeline-bar: 2.6rem;--lw-d-timeline-bar-gap: .5rem;--lw-d-timeline-mark-size: .8rem;--lw-d-timeline-fade: 2rem;--lw-d-timeline-bar-narrow: 3rem;--lw-d-timeline-mark-size-narrow: 1.4rem;--lw-d-actions-size: 1.7rem;--lw-d-prefs-button-size: 2.125rem;--lw-d-actions-gap: .5rem;--lw-d-print-marker-width: 4.5em;--lw-d-print-marker-width-narrow: 2.6em;--lw-d-paper-watermark-width: 62%;--lw-d-paper-watermark-opacity: .07;--lw-d-shadow-card: 0 1px 2px rgb(0 0 0 / .06), 0 4px 16px rgb(0 0 0 / .06);--lw-d-shadow-pill: 0 1px 2px rgb(0 0 0 / .06), 0 2px 8px rgb(0 0 0 / .06);--lw-d-shadow-band: 0 0 0 var(--lw-hover-pad) var(--lw-hover-bg), calc(-1 * (var(--lw-hover-pad-inline) - var(--lw-hover-pad))) 0 0 var(--lw-hover-pad) var(--lw-hover-bg), calc(var(--lw-hover-pad-inline) - var(--lw-hover-pad)) 0 0 var(--lw-hover-pad) var(--lw-hover-bg);--lw-d-color-scheme: light dark;--lw-d-tint: light-dark(#f0b429, #7a5a1a);--lw-d-tint-amount: 0%;--lw-d-bg: color-mix(in oklab, light-dark(#ffffff, #14161a), var(--lw-tint) var(--lw-tint-amount));--lw-d-bg-elevated: color-mix(in oklab, light-dark(#f6f7f9, #1c1f25), var(--lw-tint) var(--lw-tint-amount));--lw-d-text: color-mix(in oklab, light-dark(#16181d, #e7e9ee), var(--lw-tint) calc(var(--lw-tint-amount) / 3));--lw-d-text-muted: color-mix(in oklab, color-mix(in oklab, light-dark(#4d5561, #a6aebc), var(--lw-tint) calc(var(--lw-tint-amount) / 2)), var(--lw-text) var(--lw-tint-amount));--lw-d-text-faint: color-mix(in oklab, color-mix(in oklab, light-dark(#646e7c, #8791a0), var(--lw-tint) calc(var(--lw-tint-amount) / 2)), var(--lw-text) var(--lw-tint-amount));--lw-d-link: light-dark(#12507e, #7cb8e8);--lw-d-link-visited: light-dark(#5b3d80, #b79ede);--lw-d-rule: color-mix(in oklab, light-dark(#dfe3e8, #2c313a), var(--lw-tint) calc(var(--lw-tint-amount) / 2));--lw-d-guide: var(--lw-rule);--lw-d-accent: light-dark(#12507e, #7cb8e8);--lw-d-accent-contrast: color-mix(in oklab, light-dark(#ffffff, #14161a), var(--lw-tint) var(--lw-tint-amount));--lw-d-accent-warm: light-dark(#9a4a1c, #e0946a);--lw-d-focus: light-dark(#0a6cb8, #8fc7f2);--lw-d-target-bg: light-dark(rgb(240 180 41 / .2), rgb(240 180 41 / .16));--lw-d-hover-bg: color-mix(in oklab, light-dark(#f1f3f6, #1c2027), var(--lw-tint) var(--lw-tint-amount));--lw-d-elevated-border: light-dark(var(--lw-rule), color-mix(in oklab, var(--lw-rule), var(--lw-text-faint) 45%));--lw-d-notice-bg: light-dark(#fdf4d8, #3a3117);--lw-d-notice-border: light-dark(#e2bb5d, #7c6526);--lw-d-notice-text: light-dark(#5c4405, #f0dcab);--lw-d-change-added: light-dark(#1c7d4d, #63c98d);--lw-d-change-removed: light-dark(#a8332a, #ef8b82);--lw-d-change-modified: light-dark(#8a6100, #e0b352);--lw-d-change-moved: light-dark(#4c4bb0, #a3a2ee);--lw-d-change-renumbered: light-dark(#6b4a8a, #c2a3e0);--lw-d-compare-older: color-mix(in oklab, var(--lw-change-removed) 12%, transparent);--lw-d-compare-newer: color-mix(in oklab, var(--lw-change-added) 12%, transparent);--lw-d-timeline-in-force: light-dark(#6d7f93, #8697aa);--lw-d-timeline-applies: var(--lw-accent);--lw-d-timeline-viewing: color-mix(in oklab, var(--lw-accent) 18%, transparent);--lw-d-timeline-selected: color-mix(in oklab, var(--lw-accent) 9%, transparent);--lw-d-timeline-viewing-in-force: color-mix(in oklab, var(--lw-timeline-in-force) 70%, var(--lw-text));--lw-d-timeline-viewing-applies: color-mix(in oklab, var(--lw-timeline-applies) 80%, var(--lw-text));--lw-d-timeline-mark: var(--lw-text-faint);--lw-d-timeline-guide: color-mix(in oklab, var(--lw-rule) 55%, var(--lw-text-muted));--lw-d-timeline-fold: var(--lw-rule)}}@property --lw-para-space{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --lw-block-space{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --lw-article-space{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --lw-container-space{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --lw-measure{syntax: "<length-percentage>"; inherits: true; initial-value: 0px;}@layer lw.tokens{:where(.lw-root){--lw-font-body: var(--lw-u-font-body, var(--lw-b-font-body, var(--lw-d-font-body)));--lw-font-heading: var(--lw-u-font-heading, var(--lw-b-font-heading, var(--lw-d-font-heading)));--lw-font-mono: var(--lw-u-font-mono, var(--lw-b-font-mono, var(--lw-d-font-mono)));--lw-font-size-base: var(--lw-u-font-size-base, var(--lw-b-font-size-base, var(--lw-d-font-size-base)));--lw-font-size-sm: var(--lw-u-font-size-sm, var(--lw-b-font-size-sm, var(--lw-d-font-size-sm)));--lw-font-size-xs: var(--lw-u-font-size-xs, var(--lw-b-font-size-xs, var(--lw-d-font-size-xs)));--lw-font-scale-narrow: var(--lw-u-font-scale-narrow, var(--lw-b-font-scale-narrow, var(--lw-d-font-scale-narrow)));--lw-line-height: var(--lw-u-line-height, var(--lw-b-line-height, var(--lw-d-line-height)));--lw-letter-spacing: var(--lw-u-letter-spacing, var(--lw-b-letter-spacing, var(--lw-d-letter-spacing)));--lw-caps-tracking: var(--lw-u-caps-tracking, var(--lw-b-caps-tracking, var(--lw-d-caps-tracking)));--lw-text-align: var(--lw-u-text-align, var(--lw-b-text-align, var(--lw-d-text-align)));--lw-text-align-narrow: var(--lw-u-text-align-narrow, var(--lw-b-text-align-narrow, var(--lw-d-text-align-narrow)));--lw-hyphens: var(--lw-u-hyphens, var(--lw-b-hyphens, var(--lw-d-hyphens)));--lw-measure: var(--lw-u-measure, var(--lw-b-measure, var(--lw-d-measure)));--lw-doc-title-size: var(--lw-u-doc-title-size, var(--lw-b-doc-title-size, var(--lw-d-doc-title-size)));--lw-heading-size-tier-1: var(--lw-u-heading-size-tier-1, var(--lw-b-heading-size-tier-1, var(--lw-d-heading-size-tier-1)));--lw-heading-size-tier-2: var(--lw-u-heading-size-tier-2, var(--lw-b-heading-size-tier-2, var(--lw-d-heading-size-tier-2)));--lw-heading-size-tier-3: var(--lw-u-heading-size-tier-3, var(--lw-b-heading-size-tier-3, var(--lw-d-heading-size-tier-3)));--lw-heading-size-tier-4: var(--lw-u-heading-size-tier-4, var(--lw-b-heading-size-tier-4, var(--lw-d-heading-size-tier-4)));--lw-heading-size-article: var(--lw-u-heading-size-article, var(--lw-b-heading-size-article, var(--lw-d-heading-size-article)));--lw-heading-line-height: var(--lw-u-heading-line-height, var(--lw-b-heading-line-height, var(--lw-d-heading-line-height)));--lw-para-space: var(--lw-u-para-space, var(--lw-b-para-space, var(--lw-d-para-space)));--lw-block-space: var(--lw-u-block-space, var(--lw-b-block-space, var(--lw-d-block-space)));--lw-article-space: var(--lw-u-article-space, var(--lw-b-article-space, var(--lw-d-article-space)));--lw-container-space: var(--lw-u-container-space, var(--lw-b-container-space, var(--lw-d-container-space)));--lw-indent-step: var(--lw-u-indent-step, var(--lw-b-indent-step, var(--lw-d-indent-step)));--lw-indent-step-narrow: var(--lw-u-indent-step-narrow, var(--lw-b-indent-step-narrow, var(--lw-d-indent-step-narrow)));--lw-guide-width: var(--lw-u-guide-width, var(--lw-b-guide-width, var(--lw-d-guide-width)));--lw-guide-from: var(--lw-u-guide-from, var(--lw-b-guide-from, var(--lw-d-guide-from)));--lw-marker-gap: var(--lw-u-marker-gap, var(--lw-b-marker-gap, var(--lw-d-marker-gap)));--lw-space: var(--lw-u-space, var(--lw-b-space, var(--lw-d-space)));--lw-margin-width: var(--lw-u-margin-width, var(--lw-b-margin-width, var(--lw-d-margin-width)));--lw-margin-width-narrow: var(--lw-u-margin-width-narrow, var(--lw-b-margin-width-narrow, var(--lw-d-margin-width-narrow)));--lw-margin-end: var(--lw-u-margin-end, var(--lw-b-margin-end, var(--lw-d-margin-end)));--lw-head-align: var(--lw-u-head-align, var(--lw-b-head-align, var(--lw-d-head-align)));--lw-diff-layout: var(--lw-u-diff-layout, var(--lw-b-diff-layout, var(--lw-d-diff-layout)));--lw-highlight-pad-inline: var(--lw-u-highlight-pad-inline, var(--lw-b-highlight-pad-inline, var(--lw-d-highlight-pad-inline)));--lw-highlight-pad-block: var(--lw-u-highlight-pad-block, var(--lw-b-highlight-pad-block, var(--lw-d-highlight-pad-block)));--lw-hover-pad: var(--lw-u-hover-pad, var(--lw-b-hover-pad, var(--lw-d-hover-pad)));--lw-hover-pad-inline: var(--lw-u-hover-pad-inline, var(--lw-b-hover-pad-inline, var(--lw-d-hover-pad-inline)));--lw-hover-radius: var(--lw-u-hover-radius, var(--lw-b-hover-radius, var(--lw-d-hover-radius)));--lw-mark-pad: var(--lw-u-mark-pad, var(--lw-b-mark-pad, var(--lw-d-mark-pad)));--lw-radius: var(--lw-u-radius, var(--lw-b-radius, var(--lw-d-radius)));--lw-rule-width: var(--lw-u-rule-width, var(--lw-b-rule-width, var(--lw-d-rule-width)));--lw-gutter-width: var(--lw-u-gutter-width, var(--lw-b-gutter-width, var(--lw-d-gutter-width)));--lw-split-gap: var(--lw-u-split-gap, var(--lw-b-split-gap, var(--lw-d-split-gap)));--lw-header-offset: var(--lw-u-header-offset, var(--lw-b-header-offset, var(--lw-d-header-offset)));--lw-trail-height: var(--lw-u-trail-height, var(--lw-b-trail-height, var(--lw-d-trail-height)));--lw-toc-width: var(--lw-u-toc-width, var(--lw-b-toc-width, var(--lw-d-toc-width)));--lw-block-guess: var(--lw-u-block-guess, var(--lw-b-block-guess, var(--lw-d-block-guess)));--lw-provision-clip: var(--lw-u-provision-clip, var(--lw-b-provision-clip, var(--lw-d-provision-clip)));--lw-toc-gutter: var(--lw-u-toc-gutter, var(--lw-b-toc-gutter, var(--lw-d-toc-gutter)));--lw-toc-stacked-height: var(--lw-u-toc-stacked-height, var(--lw-b-toc-stacked-height, var(--lw-d-toc-stacked-height)));--lw-toc-beside-height: var(--lw-u-toc-beside-height, var(--lw-b-toc-beside-height, var(--lw-d-toc-beside-height)));--lw-toc-fade: var(--lw-u-toc-fade, var(--lw-b-toc-fade, var(--lw-d-toc-fade)));--lw-toc-marker-gap: var(--lw-u-toc-marker-gap, var(--lw-b-toc-marker-gap, var(--lw-d-toc-marker-gap)));--lw-toc-indent-step: var(--lw-u-toc-indent-step, var(--lw-b-toc-indent-step, var(--lw-d-toc-indent-step)));--lw-toc-wrap-indent: var(--lw-u-toc-wrap-indent, var(--lw-b-toc-wrap-indent, var(--lw-d-toc-wrap-indent)));--lw-toc-group-size: var(--lw-u-toc-group-size, var(--lw-b-toc-group-size, var(--lw-d-toc-group-size)));--lw-versions-height: var(--lw-u-versions-height, var(--lw-b-versions-height, var(--lw-d-versions-height)));--lw-versions-fade: var(--lw-u-versions-fade, var(--lw-b-versions-fade, var(--lw-d-versions-fade)));--lw-timeline-length: var(--lw-u-timeline-length, var(--lw-b-timeline-length, var(--lw-d-timeline-length)));--lw-timeline-bar: var(--lw-u-timeline-bar, var(--lw-b-timeline-bar, var(--lw-d-timeline-bar)));--lw-timeline-bar-gap: var(--lw-u-timeline-bar-gap, var(--lw-b-timeline-bar-gap, var(--lw-d-timeline-bar-gap)));--lw-timeline-mark-size: var(--lw-u-timeline-mark-size, var(--lw-b-timeline-mark-size, var(--lw-d-timeline-mark-size)));--lw-timeline-fade: var(--lw-u-timeline-fade, var(--lw-b-timeline-fade, var(--lw-d-timeline-fade)));--lw-timeline-bar-narrow: var(--lw-u-timeline-bar-narrow, var(--lw-b-timeline-bar-narrow, var(--lw-d-timeline-bar-narrow)));--lw-timeline-mark-size-narrow: var(--lw-u-timeline-mark-size-narrow, var(--lw-b-timeline-mark-size-narrow, var(--lw-d-timeline-mark-size-narrow)));--lw-actions-size: var(--lw-u-actions-size, var(--lw-b-actions-size, var(--lw-d-actions-size)));--lw-prefs-button-size: var(--lw-u-prefs-button-size, var(--lw-b-prefs-button-size, var(--lw-d-prefs-button-size)));--lw-actions-gap: var(--lw-u-actions-gap, var(--lw-b-actions-gap, var(--lw-d-actions-gap)));--lw-print-marker-width: var(--lw-u-print-marker-width, var(--lw-b-print-marker-width, var(--lw-d-print-marker-width)));--lw-print-marker-width-narrow: var(--lw-u-print-marker-width-narrow, var(--lw-b-print-marker-width-narrow, var(--lw-d-print-marker-width-narrow)));--lw-paper-watermark-width: var(--lw-u-paper-watermark-width, var(--lw-b-paper-watermark-width, var(--lw-d-paper-watermark-width)));--lw-paper-watermark-opacity: var(--lw-u-paper-watermark-opacity, var(--lw-b-paper-watermark-opacity, var(--lw-d-paper-watermark-opacity)));--lw-shadow-card: var(--lw-u-shadow-card, var(--lw-b-shadow-card, var(--lw-d-shadow-card)));--lw-shadow-pill: var(--lw-u-shadow-pill, var(--lw-b-shadow-pill, var(--lw-d-shadow-pill)));--lw-shadow-band: var(--lw-u-shadow-band, var(--lw-b-shadow-band, var(--lw-d-shadow-band)));--lw-color-scheme: var(--lw-u-color-scheme, var(--lw-b-color-scheme, var(--lw-d-color-scheme)));--lw-tint: var(--lw-u-tint, var(--lw-b-tint, var(--lw-d-tint)));--lw-tint-amount: var(--lw-u-tint-amount, var(--lw-b-tint-amount, var(--lw-d-tint-amount)));--lw-bg: var(--lw-u-bg, var(--lw-b-bg, var(--lw-d-bg)));--lw-bg-elevated: var(--lw-u-bg-elevated, var(--lw-b-bg-elevated, var(--lw-d-bg-elevated)));--lw-text: var(--lw-u-text, var(--lw-b-text, var(--lw-d-text)));--lw-text-muted: var(--lw-u-text-muted, var(--lw-b-text-muted, var(--lw-d-text-muted)));--lw-text-faint: var(--lw-u-text-faint, var(--lw-b-text-faint, var(--lw-d-text-faint)));--lw-link: var(--lw-u-link, var(--lw-b-link, var(--lw-d-link)));--lw-link-visited: var(--lw-u-link-visited, var(--lw-b-link-visited, var(--lw-d-link-visited)));--lw-rule: var(--lw-u-rule, var(--lw-b-rule, var(--lw-d-rule)));--lw-guide: var(--lw-u-guide, var(--lw-b-guide, var(--lw-d-guide)));--lw-accent: var(--lw-u-accent, var(--lw-b-accent, var(--lw-d-accent)));--lw-accent-contrast: var(--lw-u-accent-contrast, var(--lw-b-accent-contrast, var(--lw-d-accent-contrast)));--lw-accent-warm: var(--lw-u-accent-warm, var(--lw-b-accent-warm, var(--lw-d-accent-warm)));--lw-focus: var(--lw-u-focus, var(--lw-b-focus, var(--lw-d-focus)));--lw-target-bg: var(--lw-u-target-bg, var(--lw-b-target-bg, var(--lw-d-target-bg)));--lw-hover-bg: var(--lw-u-hover-bg, var(--lw-b-hover-bg, var(--lw-d-hover-bg)));--lw-elevated-border: var(--lw-u-elevated-border, var(--lw-b-elevated-border, var(--lw-d-elevated-border)));--lw-notice-bg: var(--lw-u-notice-bg, var(--lw-b-notice-bg, var(--lw-d-notice-bg)));--lw-notice-border: var(--lw-u-notice-border, var(--lw-b-notice-border, var(--lw-d-notice-border)));--lw-notice-text: var(--lw-u-notice-text, var(--lw-b-notice-text, var(--lw-d-notice-text)));--lw-change-added: var(--lw-u-change-added, var(--lw-b-change-added, var(--lw-d-change-added)));--lw-change-removed: var(--lw-u-change-removed, var(--lw-b-change-removed, var(--lw-d-change-removed)));--lw-change-modified: var(--lw-u-change-modified, var(--lw-b-change-modified, var(--lw-d-change-modified)));--lw-change-moved: var(--lw-u-change-moved, var(--lw-b-change-moved, var(--lw-d-change-moved)));--lw-change-renumbered: var(--lw-u-change-renumbered, var(--lw-b-change-renumbered, var(--lw-d-change-renumbered)));--lw-compare-older: var(--lw-u-compare-older, var(--lw-b-compare-older, var(--lw-d-compare-older)));--lw-compare-newer: var(--lw-u-compare-newer, var(--lw-b-compare-newer, var(--lw-d-compare-newer)));--lw-timeline-in-force: var(--lw-u-timeline-in-force, var(--lw-b-timeline-in-force, var(--lw-d-timeline-in-force)));--lw-timeline-applies: var(--lw-u-timeline-applies, var(--lw-b-timeline-applies, var(--lw-d-timeline-applies)));--lw-timeline-viewing: var(--lw-u-timeline-viewing, var(--lw-b-timeline-viewing, var(--lw-d-timeline-viewing)));--lw-timeline-selected: var(--lw-u-timeline-selected, var(--lw-b-timeline-selected, var(--lw-d-timeline-selected)));--lw-timeline-viewing-in-force: var(--lw-u-timeline-viewing-in-force, var(--lw-b-timeline-viewing-in-force, var(--lw-d-timeline-viewing-in-force)));--lw-timeline-viewing-applies: var(--lw-u-timeline-viewing-applies, var(--lw-b-timeline-viewing-applies, var(--lw-d-timeline-viewing-applies)));--lw-timeline-mark: var(--lw-u-timeline-mark, var(--lw-b-timeline-mark, var(--lw-d-timeline-mark)));--lw-timeline-guide: var(--lw-u-timeline-guide, var(--lw-b-timeline-guide, var(--lw-d-timeline-guide)));--lw-timeline-fold: var(--lw-u-timeline-fold, var(--lw-b-timeline-fold, var(--lw-d-timeline-fold)));color-scheme:var(--lw-color-scheme)}@media(width>=40rem){@container style(--lw-u-diff-layout: split){.lw-root[data-lw-compare]{--lw-measure: 100%}}}@media screen{@container (inline-size < 40rem){:where(.lw-root)>*{--lw-para-space: var(--lw-u-para-space, var(--lw-b-para-space, var(--lw-d-para-space)));--lw-block-space: var(--lw-u-block-space, var(--lw-b-block-space, var(--lw-d-block-space)));--lw-article-space: var(--lw-u-article-space, var(--lw-b-article-space, var(--lw-d-article-space)));--lw-container-space: var(--lw-u-container-space, var(--lw-b-container-space, var(--lw-d-container-space)));--lw-text-align: var(--lw-u-text-align, var(--lw-text-align-narrow))}}}@supports not (color: light-dark(#fff,#000)){:where(.lw-root){--lw-d-bg: #ffffff;--lw-d-bg-elevated: #f6f7f9;--lw-d-text: #16181d;--lw-d-text-muted: #4d5561;--lw-d-text-faint: #646e7c;--lw-d-link: #12507e;--lw-d-link-visited: #5b3d80;--lw-d-rule: #dfe3e8;--lw-d-accent: #12507e;--lw-d-accent-contrast: #ffffff;--lw-d-accent-warm: #9a4a1c;--lw-d-focus: #0a6cb8;--lw-d-target-bg: rgb(240 180 41 / .2);--lw-d-hover-bg: #f1f3f6;--lw-d-elevated-border: #dfe3e8;--lw-d-notice-bg: #fdf4d8;--lw-d-notice-border: #e2bb5d;--lw-d-notice-text: #5c4405;--lw-d-change-added: #1c7d4d;--lw-d-change-removed: #a8332a;--lw-d-change-modified: #8a6100;--lw-d-change-moved: #4c4bb0;--lw-d-change-renumbered: #6b4a8a;--lw-d-timeline-in-force: #6d7f93}@media(prefers-color-scheme:dark){:where(.lw-root){--lw-d-bg: #14161a;--lw-d-bg-elevated: #1c1f25;--lw-d-text: #e7e9ee;--lw-d-text-muted: #a6aebc;--lw-d-text-faint: #8791a0;--lw-d-link: #7cb8e8;--lw-d-link-visited: #b79ede;--lw-d-rule: #2c313a;--lw-d-accent: #7cb8e8;--lw-d-accent-contrast: #14161a;--lw-d-accent-warm: #e0946a;--lw-d-focus: #8fc7f2;--lw-d-target-bg: rgb(240 180 41 / .16);--lw-d-hover-bg: #1c2027;--lw-d-elevated-border: #2c313a;--lw-d-notice-bg: #3a3117;--lw-d-notice-border: #7c6526;--lw-d-notice-text: #f0dcab;--lw-d-change-added: #63c98d;--lw-d-change-removed: #ef8b82;--lw-d-change-modified: #e0b352;--lw-d-change-moved: #a3a2ee;--lw-d-change-renumbered: #c2a3e0;--lw-d-timeline-in-force: #8697aa}}}}@layer lw.document{.lw-root{background:var(--lw-bg);color:var(--lw-text);container-type:inline-size;font-family:var(--lw-font-body);font-size:var(--lw-font-size-base);line-height:var(--lw-line-height);letter-spacing:var(--lw-letter-spacing);text-align:var(--lw-text-align);hyphens:var(--lw-hyphens);display:grid;grid-template-columns:auto minmax(0,var(--lw-measure)) var(--lw-margin-end);justify-content:start;>*{grid-column:1 / 3;max-inline-size:var(--lw-measure)}@container (inline-size <= 60rem){>.lw-toc{max-block-size:var(--lw-toc-stacked-height)}}@container (inline-size < 40rem){>*{--lw-indent-step: var(--lw-indent-step-narrow);grid-column:1 / 4;@media screen{font-size:calc(1em * var(--lw-font-scale-narrow));text-align:var(--lw-text-align)}}}@container (inline-size > 60rem){>*{grid-column:2}>.lw-toc{align-self:start;grid-column:1;grid-row:1 / span 100;inline-size:var(--lw-toc-width);margin-block-end:0;margin-inline-end:calc(var(--lw-margin-width) + var(--lw-highlight-pad-inline) + var(--lw-space) * 6);max-block-size:min(var(--lw-toc-beside-height),calc(100vh - var(--lw-header-offset) - var(--lw-space) * 2));inset-block-start:var(--lw-header-offset);position:sticky}}::selection{background:var(--lw-accent);color:var(--lw-accent-contrast)}.lw-doc-header{border-block-end:calc(var(--lw-rule-width) * 2) solid var(--lw-text);margin-block-end:calc(var(--lw-container-space) / 2);padding-block-end:calc(var(--lw-space) * 3);text-align:start}.lw-doc-title{font-family:var(--lw-font-heading);font-size:var(--lw-doc-title-size);font-weight:600;line-height:1.15;text-wrap:balance}.lw-doc-subtitle,.lw-doc-citation{color:var(--lw-text-muted);font-size:var(--lw-font-size-sm);margin-block-start:var(--lw-para-space)}.lw-doc-citation-value{font-style:normal;font-variant-numeric:tabular-nums lining-nums}.lw-doc-facts{display:flex;flex-wrap:wrap;font-size:var(--lw-font-size-sm);gap:var(--lw-space) calc(var(--lw-marker-gap) * 2);margin-block-start:var(--lw-para-space)}.lw-doc-fact{display:flex;flex-wrap:wrap;gap:0 var(--lw-marker-gap)}.lw-doc-fact-label{color:var(--lw-text-muted)}.lw-doc-fact-value{margin-inline-start:0;font-variant-numeric:tabular-nums lining-nums}.lw-breadcrumb-list{display:flex;flex-wrap:wrap;font-size:var(--lw-font-size-sm);gap:0 var(--lw-marker-gap)}:where(a){color:var(--lw-link)}:where(a):visited{color:var(--lw-link-visited)}.lw-section+.lw-section{border-block-start:var(--lw-rule-width) solid var(--lw-rule);margin-block-start:var(--lw-container-space);padding-block-start:var(--lw-container-space)}.lw-section[data-lw-section=preamble]+.lw-section{margin-block-start:calc(var(--lw-container-space) / 2);padding-block-start:calc(var(--lw-container-space) / 2)}.lw-section-label{color:var(--lw-text-muted);font-size:var(--lw-font-size-sm);letter-spacing:var(--lw-caps-tracking);margin-block-end:var(--lw-block-space);text-transform:uppercase}.lw-section[data-lw-section=preamble]>.lw-children{color:var(--lw-text-muted);font-size:var(--lw-font-size-sm)}.lw-section[data-lw-section=amendments]{border-block-start:calc(var(--lw-rule-width) * 2) solid var(--lw-text-muted);margin-block-start:calc(var(--lw-container-space) * 1.5);padding-block-start:var(--lw-container-space)}.lw-section[data-lw-section=amendments]>.lw-section-label{color:var(--lw-accent);font-family:var(--lw-font-heading);font-size:var(--lw-heading-size-tier-2);font-weight:600;line-height:1.2;text-wrap:balance}.lw-section[data-lw-section=amendments]>.lw-section-description{margin-block-end:calc(var(--lw-container-space) * .75)}.lw-section-description{color:var(--lw-text-muted);font-size:var(--lw-font-size-sm);margin-block:calc(.4em - var(--lw-block-space)) var(--lw-container-space);text-align:start;text-wrap:pretty}}}@property --lw-depth{syntax: "<integer>"; inherits: true; initial-value: 0;}@property --lw-parent-depth{syntax: "<integer>"; inherits: true; initial-value: 0;}@layer lw.block{.lw-root{.lw-children{display:grid;grid-template-columns:max-content minmax(0,1fr)}.lw-block{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;scroll-margin-top:var(--lw-header-offset);--lw-parent-depth: var(--lw-depth, 0)}.lw-block:is(.lw-block--article,.lw-block--attachment,.lw-block--container)[data-lw-blocks]{contain-intrinsic-size:auto calc(var(--lw-blocks) * var(--lw-block-guess));content-visibility:auto;overflow-clip-margin:var(--lw-provision-clip)}.lw-block>.lw-marker{grid-column:1;padding-inline-end:var(--lw-marker-gap)}.lw-block>:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre){grid-column:2;inline-size:fit-content;max-inline-size:100%}.lw-block>.lw-children{grid-column:1 / -1;--lw-depth: calc(var(--lw-parent-depth, 0) + 1);--lw-guide-w: calc(var(--lw-guide-width) * clamp(0, var(--lw-depth) - var(--lw-guide-from) + 1, 1));border-inline-start:var(--lw-guide-w) solid var(--lw-guide);padding-inline-start:calc(var(--lw-indent-step) - var(--lw-guide-w))}@container (inline-size < 40rem){.lw-block--article>.lw-children{border-inline-start-width:0;padding-inline-start:0;--lw-depth: var(--lw-parent-depth, 0)}}@container style(--lw-text-align: justify){.lw-block[data-lw-depth="1"]>.lw-children{border-inline-start-width:0;padding-inline-start:0;--lw-depth: var(--lw-parent-depth, 0)}}.lw-block+.lw-block{margin-block-start:var(--lw-block-space)}.lw-block+.lw-block--article{margin-block-start:var(--lw-article-space)}.lw-block+:is(.lw-block--container,.lw-block--attachment){margin-block-start:var(--lw-container-space)}.lw-block+.lw-block--heading{margin-block-start:var(--lw-article-space)}.lw-block+.lw-block--heading[data-lw-tier]{margin-block-start:var(--lw-container-space)}.lw-block--heading+.lw-block--heading,.lw-block--heading+.lw-block--heading[data-lw-tier]{margin-block-start:var(--lw-block-space)}.lw-block>.lw-children:not(:first-child){margin-block-start:var(--lw-block-space)}:is(.lw-block--container,.lw-block--attachment)>.lw-children:not(:first-child){margin-block-start:var(--lw-article-space)}.lw-block>.lw-heading~:is(.lw-text,.lw-table-scroll,.lw-pre){padding-block-start:var(--lw-para-space)}.lw-p+.lw-p{margin-block-start:var(--lw-para-space)}.lw-marker{color:var(--lw-text-muted);font-size:1em;font-weight:inherit;font-variant-numeric:tabular-nums;white-space:nowrap}.lw-heading{font-family:var(--lw-font-heading);font-weight:600;text-wrap:balance}.lw-pre{font-family:var(--lw-font-mono);font-size:var(--lw-font-size-sm);overflow-x:auto;white-space:pre}:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading){grid-template-columns:fit-content(100%) minmax(0,1fr);>:is(.lw-marker,.lw-heading,.lw-change,.lw-text){grid-column:1;inline-size:auto;max-inline-size:none;text-align:var(--lw-head-align)}>.lw-marker{font-family:var(--lw-font-heading);padding-inline-end:0}>:is(.lw-marker,.lw-heading){line-height:var(--lw-heading-line-height)}>.lw-marker+.lw-heading{padding-block-start:.2em}&[data-lw-collapsed]>.lw-children{margin-block-start:0}>.lw-children{grid-row:5}>.lw-link{grid-column:1 / 2;grid-row:1 / 5}}@container style(--lw-head-align: center){:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading){grid-template-columns:minmax(0,1fr) fit-content(100%) minmax(0,1fr);>:is(.lw-marker,.lw-heading,.lw-change,.lw-text){grid-column:2;margin-inline-start:calc(-1 * var(--lw-depth, 0) * var(--lw-indent-step))}>.lw-link{grid-column:2 / 3}}}.lw-block--container>.lw-heading{font-weight:700}.lw-block--article>.lw-marker{color:var(--lw-text);font-weight:400}.lw-block--article>.lw-marker:not(:has(+.lw-heading)){font-weight:600}.lw-block--article>.lw-heading{font-size:var(--lw-heading-size-article)}.lw-block[data-lw-tier="1"]>.lw-heading{font-size:var(--lw-heading-size-tier-1)}.lw-block[data-lw-tier="2"]>.lw-heading{font-size:var(--lw-heading-size-tier-2)}.lw-block[data-lw-tier="3"]>.lw-heading{font-size:var(--lw-heading-size-tier-3)}.lw-block[data-lw-tier="4"]>.lw-heading{font-size:var(--lw-heading-size-tier-4)}.lw-block--indent:not(:has(>.lw-marker)):after{color:var(--lw-text-muted);content:"\2013";grid-area:1 / 1;padding-inline-end:var(--lw-marker-gap)}.lw-block--formula>.lw-text{grid-column:1 / -1;justify-self:center;text-align:center}.lw-block--signature>.lw-text{grid-column:1 / -1;justify-self:end;text-align:end}.lw-block>.lw-children--notes{border-inline-start-width:0;padding-inline-start:0;--lw-depth: var(--lw-parent-depth, 0)}:is(.lw-block--note,.lw-block--citation)>:is(.lw-text,.lw-heading,.lw-change){grid-column:1 / -1}.lw-block--note{color:var(--lw-text-muted);font-size:var(--lw-font-size-sm)}.lw-block--citation{color:var(--lw-text-faint);font-size:var(--lw-font-size-xs)}.lw-block--intro>.lw-text{grid-column:1 / -1}.lw-fold{appearance:none;background:none;border:0;color:var(--lw-text-faint);block-size:1lh;cursor:pointer;display:none;font:inherit;font-family:var(--lw-font-body);font-size:1em;font-weight:400;inline-size:max(1.4em,24px);letter-spacing:normal;margin-block:0;margin-inline:calc(-1 * (max(1.4em,24px) + var(--lw-space))) var(--lw-space);opacity:0;padding:0;place-items:center;transition:opacity .12s ease-out;vertical-align:top;&:before{content:"\25b8";rotate:90deg;transition:rotate .12s ease-out}&:focus-visible{color:var(--lw-text-muted);opacity:1}}&:dir(rtl) .lw-fold:before{content:"\25c2";rotate:-90deg}&[data-lw-folding]{.lw-fold{display:inline-grid}[data-lw-collapsible]>:is(.lw-marker,.lw-heading){cursor:pointer}}[data-lw-collapsible]>:is(.lw-marker,.lw-heading):hover>.lw-fold{color:var(--lw-text-muted);opacity:1}@media(hover:none){.lw-fold{opacity:1}}[data-lw-collapsed]>:is(.lw-marker,.lw-heading)>.lw-fold{color:var(--lw-text-muted);opacity:1;&:before{rotate:0deg}}.lw-block{position:relative}.lw-block:target{isolation:isolate}.lw-block:target:before{--lw-arrow-scale: 1.5;background:var(--lw-target-bg);border-radius:var(--lw-radius);color:var(--lw-accent);content:"\2192";font-family:var(--lw-font-body);font-size:calc(var(--lw-arrow-scale) * 1em);font-weight:700;inset-block:calc(-1 * var(--lw-highlight-pad-block));inset-inline-start:calc(-1 * (var(--lw-depth, 0) * var(--lw-indent-step) + var(--lw-highlight-pad-inline)));inset-inline-end:calc(-1 * var(--lw-highlight-pad-inline));line-height:calc(var(--lw-line-height) * 1em / var(--lw-arrow-scale));padding-block-start:var(--lw-highlight-pad-block);position:absolute;text-align:start;text-indent:calc(-1 * var(--lw-margin-width));white-space:nowrap;z-index:-1}&:dir(rtl) .lw-block:target:before{content:"\2190"}@container (inline-size < 40rem){.lw-block:target:before{--lw-arrow-scale: 1.15;inset-inline-start:calc(-1 * var(--lw-depth, 0) * var(--lw-indent-step));text-indent:calc(-1 * var(--lw-margin-width-narrow))}}@media(forced-colors:active){.lw-block:target:before{color:Highlight;outline:2px solid Highlight}}.lw-link{color:var(--lw-text-faint);display:grid;font-family:var(--lw-font-mono);font-size:.9em;font-weight:600;inline-size:max(1.4em,24px);inset-block:0;inset-inline-start:calc(100% + var(--lw-hover-pad-inline) + var(--lw-space));opacity:0;place-items:center;position:absolute;text-decoration:none}.lw-block>:is(.lw-marker,.lw-heading,.lw-text){position:relative}.lw-link:before{content:"\a7"}@container (inline-size < 40rem){.lw-link{inset-inline-start:auto;inset-inline-end:0}.lw-link:not(:focus-visible){clip-path:inset(50%)}}.lw-link:is(:hover,:focus-visible){color:var(--lw-link);opacity:1}.lw-block:not(:target){>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre):is(:hover,[data-lw-active]),>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-link,.lw-table-scroll):hover~:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre),>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-table-scroll):has(~:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre,.lw-link):hover){background:var(--lw-hover-bg);border-radius:var(--lw-hover-radius);box-shadow:var(--lw-shadow-band);@media(forced-colors:active){outline:1px solid Highlight;outline-offset:var(--lw-hover-pad)}}}.lw-block:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading):not(:target){>.lw-marker:has(+.lw-heading):is(:hover,[data-lw-active]),>.lw-marker:has(+.lw-heading):has(~:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre,.lw-link):hover){border-end-end-radius:0;border-end-start-radius:0}>.lw-marker+.lw-heading:is(:hover,[data-lw-active]),>.lw-marker:hover+.lw-heading,>.lw-marker+.lw-heading:has(~:is(.lw-change,.lw-text,.lw-table-scroll,.lw-pre,.lw-link):hover){border-start-end-radius:0;border-start-start-radius:0}}.lw-block:not(:target){>.lw-link[data-lw-active],>:is(.lw-marker,.lw-heading,.lw-change,.lw-text):hover~.lw-link,>.lw-link:has(~:is(.lw-table-scroll,.lw-pre):hover),>:is(.lw-marker,.lw-heading,.lw-text):is(:hover,[data-lw-active])>.lw-link,>:is(.lw-marker,.lw-heading,.lw-change):hover~:is(.lw-heading,.lw-text)>.lw-link,>:is(.lw-marker,.lw-heading,.lw-text):has(~:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre):hover)>.lw-link{opacity:1}}.lw-block:target{>.lw-link,>:is(.lw-marker,.lw-heading,.lw-text)>.lw-link{opacity:1;&:not(:hover,:focus-visible){color:var(--lw-text-muted)}}}}}@layer lw.table{.lw-root{.lw-table-scroll{overflow-x:auto}.lw-table{font-size:var(--lw-font-size-sm)}.lw-table-caption{color:var(--lw-text-muted);padding-block-end:var(--lw-space);text-align:start}.lw-td{border:var(--lw-rule-width) solid var(--lw-rule);padding:calc(var(--lw-space) * 2);text-align:start;vertical-align:top}.lw-td[data-lw-align=center]{text-align:center}.lw-td[data-lw-align=end]{text-align:end}th.lw-td{background:var(--lw-bg-elevated);font-weight:600}}}@property --lw-toc-fade-top{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --lw-toc-fade-bottom{syntax: "<length>"; inherits: false; initial-value: 0px;}@keyframes lw-toc-fade{0%{--lw-toc-fade-top: 0px;--lw-toc-fade-bottom: var(--lw-toc-fade)}12%,88%{--lw-toc-fade-top: var(--lw-toc-fade);--lw-toc-fade-bottom: var(--lw-toc-fade)}to{--lw-toc-fade-top: var(--lw-toc-fade);--lw-toc-fade-bottom: 0px}}@layer lw.toc{.lw-root{.lw-toc{border:var(--lw-rule-width) solid var(--lw-accent);border-radius:var(--lw-radius);display:grid;font-size:var(--lw-font-size-sm);grid-template-rows:auto minmax(0,1fr);hyphens:manual;letter-spacing:-.01em;line-height:1.45;margin-block-end:var(--lw-container-space);text-align:start;padding-block:calc(var(--lw-space) * 3) calc(var(--lw-space) * 4);user-select:none}.lw-toc-title{border-block-end:var(--lw-rule-width) dashed var(--lw-accent);color:var(--lw-accent);font-family:var(--lw-font-heading);font-size:1em;font-weight:600;letter-spacing:var(--lw-caps-tracking);margin-block-end:calc(var(--lw-space) * 3);margin-inline:calc(var(--lw-space) * 4);padding-block-end:var(--lw-space);text-transform:uppercase}.lw-toc-list{min-block-size:0;overflow:auto;padding-inline:calc(var(--lw-space) * 4 + var(--lw-toc-gutter)) calc(var(--lw-space) * 4);scrollbar-width:thin;@supports (animation-timeline: scroll()){animation:lw-toc-fade linear both;animation-timeline:scroll(self block);mask-image:linear-gradient(to bottom,transparent,#000 var(--lw-toc-fade-top),#000 calc(100% - var(--lw-toc-fade-bottom)),transparent)}}.lw-toc-list,.lw-toc-sublist{display:grid;grid-template-columns:minmax(0,1fr);row-gap:.2em}.lw-toc-sublist{margin-block-start:.2em;padding-inline-start:var(--lw-toc-indent-step)}.lw-toc-item{grid-column:1 / -1}.lw-toc-link{display:block;padding-inline-start:var(--lw-toc-wrap-indent);text-indent:calc(-1 * var(--lw-toc-wrap-indent))}.lw-toc-item{position:relative}.lw-toc-link{color:var(--lw-link);text-decoration:none}.lw-toc-link:hover>:is(.lw-toc-marker,.lw-toc-heading){text-decoration:underline}.lw-toc-item:has(>.lw-toc-group)>.lw-toc-link>.lw-toc-marker{text-decoration:none}.lw-toc-item:has(>.lw-toc-group>.lw-toc-toggle:hover)>.lw-toc-link>.lw-toc-marker,.lw-toc-item:has(>.lw-toc-group)>.lw-toc-link>.lw-toc-marker:hover,.lw-toc-item:has(>.lw-toc-link>.lw-toc-marker:hover)>.lw-toc-group>.lw-toc-toggle{color:var(--lw-accent)}.lw-toc-marker{color:var(--lw-text-muted);font-variant-numeric:tabular-nums;margin-inline-end:var(--lw-toc-marker-gap)}.lw-toc-heading{overflow-wrap:break-word}.lw-toc-group{grid-column:1 / -1}.lw-toc-item[data-lw-role=heading]>.lw-toc-link>.lw-toc-heading{font-weight:600}.lw-toc-section{border-block-end:var(--lw-rule-width) dashed var(--lw-accent);grid-column:1 / -1;margin-block:calc(var(--lw-space) * 4) calc(var(--lw-space) * 2);margin-inline-start:calc(-1 * var(--lw-toc-gutter));padding-block-end:var(--lw-space)}.lw-toc-section-link{color:var(--lw-accent);font-family:var(--lw-font-heading);font-size:1em;font-weight:600;letter-spacing:var(--lw-caps-tracking);text-decoration:none;text-transform:uppercase}.lw-toc-section-link:hover{text-decoration:underline}.lw-toc-list>.lw-toc-item>.lw-toc-link{color:var(--lw-accent-warm);font-weight:600}.lw-toc-link:is([aria-current],[data-lw-current=ancestor]){background:var(--lw-hover-bg);border-radius:var(--lw-hover-radius);color:var(--lw-accent);font-weight:600;@media(forced-colors:active){text-decoration:underline}}.lw-toc-toggle{color:var(--lw-text-faint);cursor:pointer;inline-size:var(--lw-toc-gutter);inset-block-start:0;inset-inline-start:calc(-1 * var(--lw-toc-gutter));list-style:none;position:absolute;text-align:center}.lw-toc-toggle::-webkit-details-marker{display:none}.lw-toc-toggle:before{content:"\25b8";display:inline-block;transition:rotate .12s ease-out}.lw-toc-group[open]>.lw-toc-toggle:before{rotate:90deg}.lw-toc-toggle:hover{color:var(--lw-accent)}.lw-toc-sublist{contain-intrinsic-size:auto var(--lw-toc-group-size);content-visibility:auto}}}@layer lw.trail{.lw-root{.lw-trail{display:none}.lw-trail-edge{block-size:1px;margin-block-end:-1px;pointer-events:none;visibility:hidden}@container (inline-size < 40rem){.lw-doc:has(>.lw-trail){position:relative}.lw-trail{display:block;inset:0;pointer-events:none;position:absolute;z-index:5;&[hidden]{display:none}}.lw-trail-bar{align-items:center;background:var(--lw-bg-elevated);block-size:var(--lw-trail-height);border-block-end:var(--lw-rule-width) solid var(--lw-rule);display:flex;font-family:var(--lw-font-heading);font-size:var(--lw-font-size-sm);box-sizing:border-box;inline-size:100vw;inset-block-start:var(--lw-header-offset);margin-inline-start:calc(50% - 50vw);padding-inline:calc(var(--lw-space) * 4);pointer-events:auto;position:sticky}.lw-trail-list{align-items:center;display:flex;list-style:none;margin:0;min-inline-size:0;padding:0 calc(var(--lw-margin-end) + var(--lw-space) * 4) 0 0}.lw-trail-item{display:flex;flex:0 4 auto;gap:var(--lw-toc-marker-gap);min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;&:not(:first-child):before{color:var(--lw-text-faint);content:"\203a";flex:none;margin-inline:calc(var(--lw-space) * 2)}}.lw-trail-item[data-lw-trail=here]{flex-shrink:1}.lw-trail-link{color:var(--lw-text-muted);display:flex;gap:var(--lw-toc-marker-gap);min-inline-size:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.lw-trail-link:hover{color:var(--lw-link);text-decoration:underline}.lw-trail-link[aria-current]{color:var(--lw-accent);font-weight:600}.lw-trail-marker{flex:none;font-variant-numeric:tabular-nums}.lw-trail-heading{min-inline-size:0;overflow:hidden;text-overflow:ellipsis}.lw-trail-glyph{font-family:var(--lw-font-mono);font-weight:600}.lw-trail-title,.lw-trail-marker+.lw-trail-heading{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.lw-doc:has(>.lw-trail) .lw-block{scroll-margin-top:calc(var(--lw-header-offset) + var(--lw-trail-height) + var(--lw-space) * 2)}}}}@property --lw-versions-fade-top{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --lw-versions-fade-bottom{syntax: "<length>"; inherits: false; initial-value: 0px;}@keyframes lw-versions-fade{0%{--lw-versions-fade-top: 0px;--lw-versions-fade-bottom: var(--lw-versions-fade)}12%,88%{--lw-versions-fade-top: var(--lw-versions-fade);--lw-versions-fade-bottom: var(--lw-versions-fade)}to{--lw-versions-fade-top: var(--lw-versions-fade);--lw-versions-fade-bottom: 0px}}@property --lw-timeline-fade-start{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --lw-timeline-fade-end{syntax: "<length>"; inherits: false; initial-value: 0px;}@keyframes lw-timeline-fade{0%{--lw-timeline-fade-start: 0px;--lw-timeline-fade-end: var(--lw-timeline-fade)}12%,88%{--lw-timeline-fade-start: var(--lw-timeline-fade);--lw-timeline-fade-end: var(--lw-timeline-fade)}to{--lw-timeline-fade-start: var(--lw-timeline-fade);--lw-timeline-fade-end: 0px}}@layer lw.temporal{.lw-root{.lw-temporal{border:var(--lw-rule-width) solid var(--lw-rule);border-radius:var(--lw-radius);box-sizing:border-box;color:var(--lw-text-muted);display:grid;font-size:var(--lw-font-size-sm);hyphens:manual;margin-block-end:var(--lw-container-space);padding-block-end:calc(var(--lw-space) * 3);text-align:start}.lw-temporal-notice{align-items:center;background:var(--lw-notice-bg);border:var(--lw-rule-width) solid var(--lw-notice-border);border-radius:var(--lw-radius);box-sizing:border-box;color:var(--lw-notice-text);column-gap:calc(var(--lw-space) * 3);display:flex;flex-wrap:wrap;font-size:var(--lw-font-size-sm);hyphens:manual;line-height:1.3;margin-block-end:calc(var(--lw-container-space) / 2);padding:calc(var(--lw-space) * 4);row-gap:var(--lw-space);text-align:start}.lw-temporal-notice>svg{flex:none}.lw-temporal-notice-text{flex:1 1 auto;font-weight:600}.lw-temporal-notice-link{color:inherit;margin-inline-start:auto;white-space:nowrap}.lw-temporal-title{border-block-end:var(--lw-rule-width) dashed var(--lw-rule);color:var(--lw-text-faint);font-family:var(--lw-font-heading);font-size:1em;font-weight:600;letter-spacing:var(--lw-caps-tracking);margin-inline:calc(var(--lw-space) * 4);padding-block:calc(var(--lw-space) * 3) var(--lw-space);text-transform:uppercase}.lw-temporal-head{border-block-end:var(--lw-rule-width) dashed var(--lw-rule);display:grid;margin-inline:calc(var(--lw-space) * 4);padding-block:calc(var(--lw-space) * 3)}.lw-temporal-edition{display:grid;justify-items:start;min-inline-size:0;position:relative;row-gap:var(--lw-space)}.lw-temporal-edition-label{color:var(--lw-text-faint);font-size:var(--lw-font-size-xs);font-weight:600;letter-spacing:var(--lw-caps-tracking);text-transform:uppercase}.lw-temporal-edition[data-lw-edition=viewing]>.lw-temporal-edition-label{color:var(--lw-notice-text)}.lw-temporal-edition[data-lw-current]>.lw-temporal-edition-label{color:var(--lw-accent)}.lw-temporal-edition-value{color:var(--lw-text);font-variant-numeric:tabular-nums lining-nums}.lw-temporal-edition-fact{color:var(--lw-text-faint);font-size:var(--lw-font-size-xs)}.lw-temporal-edition-fact time{font-variant-numeric:tabular-nums lining-nums}[data-lw-temporal=compare]>.lw-temporal-head{grid-template-columns:1fr 1fr;margin-inline:0;padding-block:0}.lw-temporal-edition[data-lw-edition=from]{background:var(--lw-compare-older);padding-block:calc(var(--lw-space) * 3);padding-inline:calc(var(--lw-space) * 4) calc(var(--lw-space) * 5)}.lw-temporal-edition[data-lw-edition=to]{background:var(--lw-compare-newer);border-inline-start:var(--lw-rule-width) dashed var(--lw-rule);padding-block:calc(var(--lw-space) * 3);padding-inline:calc(var(--lw-space) * 5) calc(var(--lw-space) * 4)}.lw-temporal-arrow{align-items:center;background:var(--lw-bg);color:var(--lw-text-faint);display:flex;inset-block-start:50%;inset-inline-start:0;justify-content:center;padding-block:var(--lw-space);position:absolute;translate:-50% -50%}&:dir(rtl) .lw-temporal-arrow{scale:-1 1;translate:50% -50%}.lw-temporal-tools{display:flex;grid-column:1 / -1;justify-content:end;padding:calc(var(--lw-space) * 2) calc(var(--lw-space) * 4)}.lw-diff-layout{font-size:var(--lw-font-size-sm);inline-size:fit-content}@container (inline-size < 40rem){[data-lw-temporal=compare]>.lw-temporal-head{grid-template-columns:minmax(0,1fr)}.lw-temporal-edition[data-lw-edition=from]{padding-block-end:calc(var(--lw-space) * 4);padding-inline:calc(var(--lw-space) * 4)}.lw-temporal-edition[data-lw-edition=to]{border-block-start:var(--lw-rule-width) dashed var(--lw-rule);border-inline-start:0;padding-block-start:calc(var(--lw-space) * 4);padding-inline:calc(var(--lw-space) * 4)}.lw-temporal-arrow{inset-block-start:0;inset-inline-start:50%;rotate:90deg}&:dir(rtl) .lw-temporal-arrow{scale:none;translate:50% -50%}.lw-temporal-tools{display:none}}.lw-versions,.lw-versions-fold{display:grid;min-block-size:0}.lw-versions-toggle{align-items:center;color:var(--lw-text-muted);cursor:pointer;display:flex;gap:calc(var(--lw-space) * 2);list-style:none;padding:calc(var(--lw-space) * 2) calc(var(--lw-space) * 4);user-select:none}.lw-versions-toggle::-webkit-details-marker{display:none}.lw-versions-toggle:hover{background:var(--lw-hover-bg);color:var(--lw-text)}.lw-versions-toggle-label{font-weight:600}.lw-versions-count{background:var(--lw-bg);border:var(--lw-rule-width) solid var(--lw-rule);border-radius:var(--lw-radius);font-size:var(--lw-font-size-xs);font-variant-numeric:tabular-nums lining-nums;line-height:1.6;padding-inline:calc(var(--lw-space) * 1.5)}.lw-versions-chevron{flex:none;margin-inline-start:auto;transition:rotate .12s ease-out}.lw-versions-fold[open]>.lw-versions-toggle>.lw-versions-chevron{rotate:180deg}.lw-versions-fold[open]>.lw-versions-toggle{border-block-end:var(--lw-rule-width) dashed var(--lw-rule)}.lw-version{align-items:center;column-gap:calc(var(--lw-space) * 3);display:grid;grid-template-columns:minmax(0,1fr) auto;padding:var(--lw-space) calc(var(--lw-space) * 4);position:relative}.lw-version-link{color:inherit;display:flex;flex-wrap:wrap;font-variant-numeric:tabular-nums lining-nums;gap:0 calc(var(--lw-space) * 3);text-decoration:none}a.lw-version-link:after{content:"";inset:0;position:absolute}.lw-version:has(a.lw-version-link):hover,.lw-version:focus-within{background:var(--lw-hover-bg);color:var(--lw-text)}.lw-version:hover>a.lw-version-link>.lw-version-label{text-decoration:underline}.lw-version-tag{color:var(--lw-accent);font-family:var(--lw-font-body);font-weight:600}.lw-version-diff{align-items:center;block-size:var(--lw-actions-size);border:var(--lw-rule-width) solid var(--lw-rule);border-radius:var(--lw-radius);color:var(--lw-text-muted);display:inline-flex;inline-size:var(--lw-actions-size);justify-content:center;opacity:0;position:relative;z-index:1}.lw-version:hover>.lw-version-diff,.lw-version:focus-within>.lw-version-diff{opacity:1}.lw-version-diff:hover{background:var(--lw-bg);color:var(--lw-accent)}@media(hover:none){.lw-version-diff{opacity:1}}.lw-version-list{display:grid;max-block-size:var(--lw-versions-height);min-block-size:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;@supports (animation-timeline: scroll()){animation:lw-versions-fade linear both;animation-timeline:scroll(self block);mask-image:linear-gradient(to bottom,transparent,#000 var(--lw-versions-fade-top),#000 calc(100% - var(--lw-versions-fade-bottom)),transparent)}}.lw-timeline{background:var(--lw-bg-elevated);border:var(--lw-rule-width) solid var(--lw-rule);border-radius:var(--lw-radius);box-sizing:border-box;position:relative;color:var(--lw-text);display:grid;font-family:var(--lw-font-body);font-size:var(--lw-font-size-sm);gap:calc(var(--lw-space) * 3);hyphens:manual;letter-spacing:normal;margin-block-end:var(--lw-container-space);padding:calc(var(--lw-space) * 3);text-align:start}.lw-timeline-title{color:var(--lw-text-faint);font-family:var(--lw-font-heading);font-size:1em;font-weight:600;letter-spacing:var(--lw-caps-tracking);margin:0;text-transform:uppercase}.lw-timeline-scroll{-webkit-tap-highlight-color:transparent;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding-block-end:calc(var(--lw-space) * 3);scrollbar-width:thin;@supports (animation-timeline: scroll()){animation:lw-timeline-fade linear both;animation-timeline:scroll(self inline);mask-image:linear-gradient(to right,transparent,#000 var(--lw-timeline-fade-start),#000 calc(100% - var(--lw-timeline-fade-end)),transparent)}}@supports (animation-timeline: scroll()){&:dir(rtl) .lw-timeline-scroll{mask-image:linear-gradient(to left,transparent,#000 var(--lw-timeline-fade-start),#000 calc(100% - var(--lw-timeline-fade-end)),transparent)}}.lw-timeline-canvas{box-sizing:content-box;inline-size:var(--lw-timeline-length);padding-block:calc(var(--lw-space) * 2) calc(var(--lw-space) * 6);padding-inline:var(--lw-timeline-mark-size);position:relative}.lw-timeline-years,.lw-timeline-folds,.lw-timeline-highlights{inset-block:0;inset-inline:var(--lw-timeline-mark-size);position:absolute}.lw-timeline-highlight{background:var(--lw-timeline-viewing);inline-size:var(--tl-w);inset-block:0;inset-inline-start:var(--tl-x);position:absolute}.lw-timeline-highlight[data-lw-showing=from]{background:var(--lw-compare-older)}.lw-timeline-highlight[data-lw-showing=to]{background:var(--lw-compare-newer)}.lw-timeline-year{border-inline-start:var(--lw-rule-width) solid var(--lw-timeline-guide);inset-block:0;inset-inline-start:var(--tl-x);position:absolute}.lw-timeline-year[data-lw-only=narrow]{display:none}.lw-timeline-year-label{color:var(--lw-text-faint);font-size:var(--lw-font-size-xs);font-variant-numeric:tabular-nums lining-nums;inset-block-end:0;inset-inline-start:0;line-height:1;padding-inline-start:calc(var(--lw-space) * 1.5);position:absolute}.lw-timeline-fold{background:repeating-linear-gradient(135deg,transparent 0 5px,var(--lw-timeline-fold) 5px 6px);inline-size:var(--tl-w);inset-block:0;inset-inline-start:var(--tl-x);opacity:.7;position:absolute}.lw-timeline-lane{block-size:calc(var(--lw-timeline-bar) * 2 + var(--lw-timeline-bar-gap));list-style:none;margin:0;padding:0;position:relative}.lw-timeline-version{inset:0;pointer-events:none;position:absolute}.lw-timeline-life{block-size:var(--lw-timeline-bar);inline-size:var(--tl-w);inset-inline-start:var(--tl-x);pointer-events:auto;position:absolute}.lw-timeline-ground{background:var(--lw-timeline-selected);block-size:100vh;border-inline:var(--lw-rule-width) solid var(--lw-timeline-applies);inset-block-start:50%;inset-inline:0;opacity:0;pointer-events:none;position:absolute;translate:0 -50%}.lw-timeline-version:has(.lw-timeline-pick:checked)>.lw-timeline-life>.lw-timeline-ground{opacity:1}.lw-timeline-version[data-lw-band=top] .lw-timeline-life{inset-block-start:0}.lw-timeline-version[data-lw-band=bottom] .lw-timeline-life{inset-block-end:0;z-index:1}.lw-timeline-span,.lw-timeline-mark{cursor:pointer;inset-inline-start:var(--tl-x);position:absolute}.lw-timeline-pick{appearance:none;cursor:pointer;inset:0;margin:0;opacity:0;position:absolute}.lw-timeline-span:has(>.lw-timeline-pick:focus-visible){outline:2px solid var(--lw-focus);outline-offset:-2px}.lw-timeline-span{inline-size:var(--tl-w)}.lw-timeline-span[data-lw-moment=inForce]{background:currentColor;block-size:38%;color:var(--lw-timeline-in-force);inset-block-start:0}.lw-timeline-span[data-lw-moment=applies]{background:currentColor;block-size:62%;color:var(--lw-timeline-applies);inset-block-end:0}.lw-timeline-version[data-lw-viewing] .lw-timeline-span[data-lw-moment=inForce],.lw-timeline-version[data-lw-compare] .lw-timeline-span[data-lw-moment=inForce],.lw-timeline-span[data-lw-moment=inForce]:has(>.lw-timeline-pick:checked){color:var(--lw-timeline-viewing-in-force)}.lw-timeline-version[data-lw-viewing] .lw-timeline-span[data-lw-moment=applies],.lw-timeline-version[data-lw-compare] .lw-timeline-span[data-lw-moment=applies],.lw-timeline-span[data-lw-moment=applies]:has(>.lw-timeline-pick:checked){color:var(--lw-timeline-viewing-applies)}.lw-timeline-span:before,.lw-timeline-span:after{block-size:100vh;border-inline-start:var(--lw-rule-width) solid currentColor;content:"";inset-block-start:50%;opacity:0;position:absolute;transition:opacity 90ms ease-out;translate:0 -50%}.lw-timeline-span:before{inset-inline-start:0}.lw-timeline-span:after{inset-inline-end:0}.lw-timeline-span:hover:before,.lw-timeline-span:hover:after,.lw-timeline-span:has(>.lw-timeline-pick:focus-visible):before,.lw-timeline-span:has(>.lw-timeline-pick:focus-visible):after,.lw-timeline-span:has(>.lw-timeline-pick:checked):before,.lw-timeline-span:has(>.lw-timeline-pick:checked):after{opacity:1}.lw-timeline-mark{background:var(--lw-timeline-mark);block-size:var(--lw-timeline-mark-size);inline-size:var(--lw-timeline-mark-size);inset-block-start:50%;rotate:45deg;translate:-50% -50%;z-index:2}.lw-timeline-mark:after{content:"";inset:calc((var(--lw-timeline-mark-size) - max(var(--lw-timeline-mark-size),24px)) / 2);position:absolute}&:dir(rtl) .lw-timeline-mark{translate:50% -50%}.lw-timeline-readouts{border-block-start:var(--lw-rule-width) dashed var(--lw-rule);min-block-size:1.4em;padding-block-start:calc(var(--lw-space) * 3)}.lw-timeline-readout{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 calc(var(--lw-space) * 3);margin:0}.lw-timeline-readout[hidden]{display:none}.lw-timeline-readout-date{white-space:nowrap}.lw-timeline-readout-date>time{font-variant-numeric:tabular-nums lining-nums}.lw-timeline-readout-date[data-lw-moment=applies]>.lw-timeline-readout-label{color:var(--lw-timeline-applies)}.lw-timeline-readout[data-lw-moment=inForce]>.lw-timeline-readout-date[data-lw-moment=inForce],.lw-timeline-readout[data-lw-moment=applies]>.lw-timeline-readout-date[data-lw-moment=applies]{color:var(--lw-text);font-weight:600}.lw-timeline-tip{background:var(--lw-bg-elevated);border:var(--lw-rule-width) solid var(--lw-elevated-border);border-radius:var(--lw-radius);box-shadow:var(--lw-shadow-card);color:var(--lw-text);display:grid;font-size:var(--lw-font-size-xs);gap:calc(var(--lw-space) * .5);padding:calc(var(--lw-space) * 2) calc(var(--lw-space) * 3);pointer-events:none;position:absolute;translate:-50% calc(-100% - var(--lw-space) * 2);white-space:nowrap;z-index:3}.lw-timeline-tip[hidden]{display:none}.lw-timeline-tip-version{color:var(--lw-text-faint);padding-block-end:calc(var(--lw-space) * .5)}.lw-timeline-tip-date>time{font-variant-numeric:tabular-nums lining-nums}.lw-timeline-tip-date[data-lw-moment=applies]>.lw-timeline-readout-label{color:var(--lw-timeline-applies)}.lw-timeline-readout-label{color:var(--lw-text-muted);font-size:var(--lw-font-size-xs);font-weight:600;letter-spacing:var(--lw-caps-tracking);text-transform:uppercase}.lw-timeline-readout-version{color:var(--lw-text-faint);font-size:var(--lw-font-size-xs);margin-inline-start:auto}.lw-timeline-readout-open,.lw-timeline-readout-compare{color:var(--lw-link);font-size:var(--lw-font-size-xs);font-weight:600;white-space:nowrap}.lw-timeline-legend{color:var(--lw-text-faint);display:flex;flex-wrap:wrap;font-size:var(--lw-font-size-xs);gap:var(--lw-space) calc(var(--lw-space) * 4);list-style:none;margin:0;padding:0}.lw-timeline-legend-item{align-items:center;display:inline-flex;gap:calc(var(--lw-space) * 1.5);white-space:nowrap}.lw-timeline-legend-swatch{block-size:.7em;flex:none;inline-size:1.6em}.lw-timeline-legend-item[data-lw-key=inForce]>.lw-timeline-legend-swatch{background:var(--lw-timeline-in-force)}.lw-timeline-legend-item[data-lw-key=applies]>.lw-timeline-legend-swatch{background:var(--lw-timeline-applies)}.lw-timeline-legend-item[data-lw-key=instant]>.lw-timeline-legend-swatch{background:var(--lw-timeline-mark);inline-size:.7em;margin-inline:.45em;rotate:45deg}.lw-timeline-legend-item[data-lw-key=fold]>.lw-timeline-legend-swatch{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--lw-timeline-fold) 3px 4px);border:var(--lw-rule-width) solid var(--lw-rule)}.lw-timeline-legend-item[data-lw-key=viewing]>.lw-timeline-legend-swatch,.lw-timeline-legend-item[data-lw-key=from]>.lw-timeline-legend-swatch,.lw-timeline-legend-item[data-lw-key=to]>.lw-timeline-legend-swatch,.lw-timeline-legend-item[data-lw-key=selected]>.lw-timeline-legend-swatch{border:var(--lw-rule-width) solid var(--lw-rule)}.lw-timeline-legend-item[data-lw-key=viewing]>.lw-timeline-legend-swatch{background:var(--lw-timeline-viewing)}.lw-timeline-legend-item[data-lw-key=from]>.lw-timeline-legend-swatch{background:var(--lw-compare-older)}.lw-timeline-legend-item[data-lw-key=to]>.lw-timeline-legend-swatch{background:var(--lw-compare-newer)}.lw-timeline-legend-item[data-lw-key=selected]>.lw-timeline-legend-swatch{background:var(--lw-timeline-selected)}.lw-timeline-sr{clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}@container (inline-size < 40rem){.lw-timeline{--lw-timeline-bar: var(--lw-timeline-bar-narrow);--lw-timeline-mark-size: var(--lw-timeline-mark-size-narrow);padding:calc(var(--lw-space) * 2)}.lw-timeline-highlight,.lw-timeline-fold,.lw-timeline-life,.lw-timeline-span{inline-size:var(--tl-w-narrow);inset-inline-start:var(--tl-x-narrow)}.lw-timeline-mark,.lw-timeline-year{inset-inline-start:var(--tl-x-narrow)}.lw-timeline-year[data-lw-only=narrow]{display:block}.lw-timeline-year[data-lw-only=wide]{display:none}.lw-timeline-span[data-lw-moment=inForce],.lw-timeline-span[data-lw-moment=applies]{block-size:50%}.lw-version{padding-inline-end:var(--lw-margin-end)}.lw-temporal-notice{padding-inline-end:max(calc(var(--lw-space) * 4),var(--lw-margin-end))}.lw-timeline-tip{max-inline-size:100%;white-space:normal}.lw-timeline-tip-date,.lw-timeline-tip-version{white-space:nowrap}}@media(forced-colors:active){.lw-timeline-span,.lw-timeline-mark{border:1px solid ButtonBorder;forced-color-adjust:none}.lw-timeline-span[data-lw-moment=applies]{background:Highlight}.lw-timeline-span[data-lw-moment=inForce]{background:ButtonFace}.lw-timeline-mark{background:CanvasText}.lw-timeline-year{border-inline-start-color:CanvasText}.lw-timeline-fold{background-image:repeating-linear-gradient(135deg,transparent 0 5px,CanvasText 5px 6px);forced-color-adjust:none;opacity:1}.lw-timeline-legend-item[data-lw-key=fold]>.lw-timeline-legend-swatch{background-image:repeating-linear-gradient(135deg,transparent 0 3px,CanvasText 3px 4px);forced-color-adjust:none}.lw-timeline-highlight{background:none;border-inline:2px solid Highlight}.lw-timeline-ground{background:none;border-inline:1px dashed CanvasText}.lw-timeline-highlight[data-lw-showing=from]{border-inline:1px dotted CanvasText}.lw-timeline-highlight[data-lw-showing=to]{border-inline:3px double CanvasText}.lw-timeline-legend-swatch{border:1px solid CanvasText}.lw-timeline-legend-item[data-lw-key=applies]>.lw-timeline-legend-swatch,.lw-timeline-legend-item[data-lw-key=inForce]>.lw-timeline-legend-swatch,.lw-timeline-legend-item[data-lw-key=instant]>.lw-timeline-legend-swatch{forced-color-adjust:none}.lw-timeline-legend-item[data-lw-key=applies]>.lw-timeline-legend-swatch{background:Highlight}.lw-timeline-legend-item[data-lw-key=inForce]>.lw-timeline-legend-swatch{background:ButtonFace}.lw-timeline-legend-item[data-lw-key=instant]>.lw-timeline-legend-swatch{background:CanvasText}.lw-timeline-legend-item[data-lw-key=viewing]>.lw-timeline-legend-swatch{border:2px solid Highlight}.lw-timeline-legend-item[data-lw-key=selected]>.lw-timeline-legend-swatch{border:1px dashed CanvasText}.lw-timeline-legend-item[data-lw-key=from]>.lw-timeline-legend-swatch{border:1px dotted CanvasText}.lw-timeline-legend-item[data-lw-key=to]>.lw-timeline-legend-swatch{border:3px double CanvasText}}}}@layer lw.diff{.lw-root{.lw-block[data-lw-change]{border-inline-start:var(--lw-gutter-width) solid transparent;padding-inline-start:calc(var(--lw-space) * 2)}.lw-block[data-lw-change=added]{border-inline-start-color:var(--lw-change-added)}.lw-block[data-lw-change=removed]{border-inline-start-color:var(--lw-change-removed)}.lw-block[data-lw-change=modified]{border-inline-start-color:var(--lw-change-modified)}.lw-block[data-lw-change=moved]{border-inline-start-color:var(--lw-change-moved)}.lw-block[data-lw-change=renumbered]{border-inline-start-color:var(--lw-change-renumbered)}.lw-change{display:flex;flex-wrap:wrap;font-size:var(--lw-font-size-xs);gap:0 var(--lw-marker-gap)}.lw-change[data-lw-change=added]{color:var(--lw-change-added)}.lw-change[data-lw-change=removed]{color:var(--lw-change-removed)}.lw-change[data-lw-change=modified]{color:var(--lw-change-modified)}.lw-change[data-lw-change=moved]{color:var(--lw-change-moved)}.lw-change[data-lw-change=renumbered]{color:var(--lw-change-renumbered)}.lw-change-badge{font-weight:600;letter-spacing:var(--lw-caps-tracking);text-transform:uppercase}.lw-change-formerly,.lw-change-note{color:var(--lw-text-muted)}:where(.lw-ins,.lw-del){border-radius:var(--lw-radius);box-decoration-break:clone;padding-inline:var(--lw-mark-pad)}.lw-ins{background:color-mix(in oklab,var(--lw-change-added) 18%,transparent);text-decoration:none}.lw-del{background:color-mix(in oklab,var(--lw-change-removed) 18%,transparent)}}}@layer lw.split{.lw-root{.lw-side{display:none}&[data-lw-compare]{@container style(--lw-diff-layout: split) and (inline-size >= 40rem){.lw-block{--lw-split-half: calc(50% - var(--lw-split-gap) / 2);--lw-split-indent: calc(var(--lw-parent-depth, 0) * var(--lw-indent-step));--lw-split-head: fit-content(max(0px, calc(var(--lw-split-half) - var(--lw-split-indent))));grid-template-columns:var(--lw-split-half) var(--lw-split-gap) var(--lw-split-indent) max-content minmax(0,1fr);>.lw-side{grid-column:1;grid-row:1 / 5}>.lw-marker{grid-column:4}>:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre){grid-column:5}>.lw-children{grid-column:1 / -1;grid-row:5}&[data-lw-change=removed]{grid-template-columns:var(--lw-split-indent) max-content minmax(0,1fr) var(--lw-split-gap) var(--lw-split-half);>.lw-side{grid-column:5}>.lw-marker{grid-column:2}>:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre){grid-column:3}}}:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading){grid-template-columns:var(--lw-split-half) var(--lw-split-gap) var(--lw-split-indent) var(--lw-split-head) minmax(0,1fr);>:is(.lw-marker,.lw-heading,.lw-change,.lw-text){grid-column:4}>.lw-link{grid-column:4 / 5;grid-row:1 / 5}&[data-lw-change=removed]{grid-template-columns:var(--lw-split-indent) var(--lw-split-head) minmax(0,1fr) var(--lw-split-gap) var(--lw-split-half);>:is(.lw-marker,.lw-heading,.lw-change,.lw-text){grid-column:2}>.lw-link{grid-column:2 / 3}}}@container style(--lw-head-align: center){:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading){grid-template-columns:var(--lw-split-half) var(--lw-split-gap) minmax(0,1fr) var(--lw-split-head) minmax(0,1fr);>:is(.lw-marker,.lw-heading,.lw-change,.lw-text){margin-inline-start:0}&[data-lw-change=removed]{grid-template-columns:minmax(0,1fr) var(--lw-split-head) minmax(0,1fr) var(--lw-split-gap) var(--lw-split-half)}}}.lw-block--indent:not(:has(>.lw-marker)):after{grid-area:1 / 4}.lw-block--indent[data-lw-change=removed]:not(:has(>.lw-marker)):after{grid-area:1 / 2}.lw-block>.lw-children{border-inline-start-width:0;padding-inline-start:0}.lw-side{display:block;padding-inline-start:var(--lw-split-indent)}.lw-side--mirror{align-content:start;display:grid;grid-template-columns:max-content minmax(0,1fr);>.lw-marker{grid-column:1;padding-inline-end:var(--lw-marker-gap)}>:is(.lw-heading,.lw-text){grid-column:2}>.lw-heading~.lw-text{padding-block-start:var(--lw-para-space)}}:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading)>.lw-side--mirror{grid-template-columns:fit-content(100%) minmax(0,1fr);>:is(.lw-marker,.lw-heading,.lw-text){grid-column:1;text-align:var(--lw-head-align)}>.lw-marker{font-family:var(--lw-font-heading);padding-inline-end:0}>:is(.lw-marker,.lw-heading){line-height:var(--lw-heading-line-height)}>.lw-marker+.lw-heading{padding-block-start:.2em}}@container style(--lw-head-align: center){:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading)>.lw-side--mirror{grid-template-columns:minmax(0,1fr) fit-content(100%) minmax(0,1fr);>:is(.lw-marker,.lw-heading,.lw-text){grid-column:2}}}.lw-block--container>.lw-side>.lw-heading{font-weight:700}.lw-block--article>.lw-side>.lw-marker{color:var(--lw-text);font-weight:400}.lw-block--article>.lw-side>.lw-marker:not(:has(+.lw-heading)){font-weight:600}.lw-block--article>.lw-side>.lw-heading{font-size:var(--lw-heading-size-article)}.lw-block[data-lw-tier="1"]>.lw-side>.lw-heading{font-size:var(--lw-heading-size-tier-1)}.lw-block[data-lw-tier="2"]>.lw-side>.lw-heading{font-size:var(--lw-heading-size-tier-2)}.lw-block[data-lw-tier="3"]>.lw-side>.lw-heading{font-size:var(--lw-heading-size-tier-3)}.lw-block[data-lw-tier="4"]>.lw-side>.lw-heading{font-size:var(--lw-heading-size-tier-4)}.lw-block--formula>.lw-side>.lw-text{text-align:center}.lw-block--signature>.lw-side>.lw-text{text-align:end}.lw-side:not(.lw-side--mirror){background-clip:content-box;background-image:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in oklab,var(--lw-rule) 60%,transparent) 6px 7px);border-radius:var(--lw-radius)}.lw-block[data-lw-change]{border-inline-start-width:0;padding-inline-start:0}.lw-block:not([data-lw-change=removed])>.lw-text .lw-del{display:none}.lw-doc{background-image:linear-gradient(to right,transparent calc(50% - var(--lw-rule-width) / 2),var(--lw-rule) 0 calc(50% + var(--lw-rule-width) / 2),transparent 0)}.lw-block:target:before{inset-inline-start:calc(-1 * var(--lw-highlight-pad-inline))}.lw-block:not(:target){>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre):is(:hover,[data-lw-active]),>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-link,.lw-table-scroll):hover~:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre),>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-table-scroll):has(~:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre,.lw-link):hover),>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre):has(~.lw-side>:is(.lw-marker,.lw-heading,.lw-text):hover),>.lw-side>:is(.lw-marker,.lw-heading,.lw-text):is(:hover,[data-lw-active]),>.lw-side>:is(.lw-marker,.lw-heading):hover~:is(.lw-heading,.lw-text),>.lw-side>:is(.lw-marker,.lw-heading):has(~:is(.lw-heading,.lw-text):hover),>:is(.lw-marker,.lw-heading,.lw-change,.lw-text,.lw-link,.lw-table-scroll,.lw-pre):hover~.lw-side>:is(.lw-marker,.lw-heading,.lw-text){background:var(--lw-hover-bg);border-radius:var(--lw-hover-radius);box-shadow:var(--lw-shadow-band);@media(forced-colors:active){outline:1px solid Highlight;outline-offset:var(--lw-hover-pad)}}}.lw-block:not(:target){>.lw-link[data-lw-active],>.lw-link:has(~.lw-side>:is(.lw-marker,.lw-heading,.lw-text):hover),>:is(.lw-marker,.lw-heading,.lw-text)[data-lw-active]>.lw-link,>:is(.lw-marker,.lw-heading,.lw-text):has(~.lw-side>:is(.lw-marker,.lw-heading,.lw-text):hover)>.lw-link{opacity:1}}}}}}@layer lw.prefs{.lw-root{.lw-prefs-menu{grid-column:3 / 4;inline-size:100%;inset-block:0;inset-inline-start:0;pointer-events:none;position:absolute;z-index:4}.lw-prefs-anchor{display:flex;flex-direction:column;gap:calc(var(--lw-space) * 1.5);inline-size:max-content;inset-block-start:var(--lw-header-offset);margin-inline:auto;pointer-events:auto;position:sticky}@container (inline-size < 40rem){.lw-prefs-menu{align-items:flex-start;display:flex;justify-content:flex-end}.lw-prefs-anchor{flex-direction:row-reverse;margin-inline:0 calc((var(--lw-margin-end) - var(--lw-prefs-button-size)) / 2)}&:has(>.lw-prefs-menu)>.lw-doc-header>.lw-breadcrumb{padding-inline-end:calc((var(--lw-margin-end) - var(--lw-prefs-button-size)) / 2 + var(--lw-prefs-button-size) + var(--lw-space) * 2)}&:has(>.lw-prefs-menu .lw-theme-toggle)>.lw-doc-header>.lw-breadcrumb{padding-inline-end:calc((var(--lw-margin-end) - var(--lw-prefs-button-size)) / 2 + var(--lw-prefs-button-size) * 2 + var(--lw-space) * 3.5)}&:has(>.lw-prefs-menu .lw-theme-toggle) .lw-trail-list{padding-inline-end:calc(var(--lw-margin-end) + var(--lw-space) * 5.5 + var(--lw-prefs-button-size))}&:has(>.lw-doc>.lw-trail){.lw-prefs-menu{z-index:6}.lw-prefs-anchor{inset-block-start:calc(var(--lw-header-offset) + (var(--lw-trail-height) - var(--lw-prefs-button-size)) / 2)}}}.lw-prefs-toggle,.lw-theme-toggle{appearance:none;background:var(--lw-bg-elevated);block-size:var(--lw-prefs-button-size);border:var(--lw-rule-width) solid var(--lw-elevated-border);border-radius:var(--lw-radius);box-shadow:var(--lw-shadow-pill);color:var(--lw-text);cursor:pointer;display:grid;inline-size:var(--lw-prefs-button-size);padding:0;place-items:center;&:hover,&[aria-expanded=true]{background:var(--lw-hover-bg);color:var(--lw-link)}&:focus-visible{outline:2px solid var(--lw-focus);outline-offset:2px}>svg{block-size:1em;font-size:calc(var(--lw-prefs-button-size) * .56);grid-area:1 / 1;inline-size:1em}}.lw-theme-sun{stroke:light-dark(currentColor,transparent)}.lw-theme-moon{stroke:light-dark(transparent,currentColor)}@supports not (color: light-dark(#000,#fff)){.lw-theme-sun{display:none}}.lw-prefs-popover{inset-block-start:100%;inset-inline-end:0;margin-block-start:calc(var(--lw-space) * 2);position:absolute}.lw-prefs-popover>.lw-prefs{border-color:var(--lw-elevated-border);max-block-size:calc(100vh - var(--lw-header-offset) - var(--lw-prefs-button-size) * 2 - var(--lw-space) * 5.5);overflow-y:auto}.lw-prefs{background:var(--lw-bg-elevated);border:var(--lw-rule-width) solid var(--lw-rule);border-radius:var(--lw-radius);box-shadow:var(--lw-shadow-card);color:var(--lw-text);display:grid;font-family:var(--lw-font-body);font-size:var(--lw-font-size-sm);gap:calc(var(--lw-space) * 3);hyphens:manual;inline-size:18rem;letter-spacing:normal;line-height:1.3;max-inline-size:calc(100cqi - var(--lw-space) * 4);padding:calc(var(--lw-space) * 3);text-align:start;user-select:none}.lw-prefs-head{align-items:baseline;display:flex;justify-content:space-between}.lw-prefs-title{font-weight:600}.lw-prefs-reset{appearance:none;background:none;border:0;color:var(--lw-link);cursor:pointer;font:inherit;font-size:var(--lw-font-size-xs);padding:0;&:disabled{color:var(--lw-text-faint);cursor:default}}.lw-prefs-group{display:grid;gap:var(--lw-space)}.lw-prefs-legend{color:var(--lw-text-muted);font-size:var(--lw-font-size-xs)}@container (inline-size <= 56ch){.lw-prefs-group[data-lw-pref=measure]{display:none}}.lw-prefs-seg{border:var(--lw-rule-width) solid var(--lw-rule);border-radius:var(--lw-radius);display:flex;overflow:hidden}.lw-prefs-option{color:var(--lw-text-muted);cursor:pointer;flex:1 1 0;min-inline-size:0;overflow:hidden;padding:var(--lw-space) calc(var(--lw-space) * 2);position:relative;text-align:center;text-wrap:balance;+&{border-inline-start:var(--lw-rule-width) solid var(--lw-rule)}>input{appearance:none;cursor:pointer;inset:0;margin:0;opacity:0;position:absolute}&:hover{background:var(--lw-hover-bg)}&:has(>input:checked),&[aria-current]{background:var(--lw-accent);color:var(--lw-accent-contrast);@media(forced-colors:active){background:Highlight;color:HighlightText;forced-color-adjust:none}}&:has(>input:focus-visible),&:is(a):focus-visible{outline:2px solid var(--lw-focus);outline-offset:-2px}}a.lw-prefs-option{text-decoration:none}.lw-prefs-option[aria-current]{cursor:default}.lw-diff-layout>.lw-prefs-option{flex:0 0 auto}.lw-prefs-stepper{border:var(--lw-rule-width) solid var(--lw-rule);border-radius:var(--lw-radius);display:flex;inline-size:fit-content;overflow:hidden}.lw-prefs-step{appearance:none;background:none;block-size:var(--lw-actions-size);border:0;color:var(--lw-text);cursor:pointer;display:grid;font:inherit;inline-size:calc(var(--lw-actions-size) * 1.4);padding:0;place-items:center;&[data-lw-step=down]{font-size:.8em}&[data-lw-step=up]{font-size:1.25em}&:hover:not(:disabled){background:var(--lw-hover-bg);color:var(--lw-link)}&:disabled{color:var(--lw-text-faint);cursor:default}}.lw-prefs-step-value{border-inline:var(--lw-rule-width) solid var(--lw-rule);color:var(--lw-text-muted);display:grid;font-variant-numeric:tabular-nums;min-inline-size:3.6em;place-items:center}.lw-prefs-slider{accent-color:var(--lw-accent);inline-size:100%;margin:0}.lw-prefs-more{border-block-start:var(--lw-rule-width) solid var(--lw-rule);padding-block-start:calc(var(--lw-space) * 2)}.lw-prefs-more-summary{color:var(--lw-text-muted);cursor:pointer;font-size:var(--lw-font-size-xs)}.lw-prefs-more[open]>.lw-prefs-more-summary{margin-block-end:calc(var(--lw-space) * 3)}.lw-prefs-more>.lw-prefs-group+.lw-prefs-group{margin-block-start:calc(var(--lw-space) * 3)}@media(pointer:coarse){.lw-prefs-option{padding-block:calc(var(--lw-space) * 2)}.lw-prefs-step{block-size:calc(var(--lw-actions-size) * 1.3)}}}}@layer lw.actions{.lw-root{position:relative;.lw-actions{align-items:center;background:var(--lw-bg-elevated);border:var(--lw-rule-width) solid var(--lw-elevated-border);border-radius:var(--lw-radius);box-shadow:var(--lw-shadow-pill);color:var(--lw-text-muted);display:flex;font-family:var(--lw-font-body);font-size:var(--lw-font-size-xs);gap:2px;grid-area:auto;line-height:1;max-inline-size:none;padding:2px;margin-inline-start:var(--lw-actions-gap);position:absolute;translate:0 -50%;z-index:3;&[hidden]{display:none}&[data-lw-placement=above]{margin-inline-start:0;translate:0 calc(-100% - var(--lw-hover-pad) - var(--lw-space) * 2)}}.lw-action{appearance:none;background:none;block-size:var(--lw-actions-size);border:0;border-radius:calc(var(--lw-radius) - 1px);color:inherit;cursor:pointer;display:grid;inline-size:var(--lw-actions-size);padding:0;place-items:center;&:hover{background:var(--lw-hover-bg);color:var(--lw-link)}&:active{translate:0 1px}>svg{block-size:1em;font-size:calc(var(--lw-actions-size) * .56);inline-size:1em}}.lw-action[data-lw-action=anchor]{font-family:var(--lw-font-body);font-size:calc(var(--lw-actions-size) * .56);font-weight:600;text-decoration:none}@container (inline-size >= 40rem){.lw-actions-sep--anchor,.lw-action[data-lw-action=anchor]{display:none}}.lw-actions:not([data-lw-print])>:is(.lw-actions-sep--paper,.lw-action[data-lw-action=print],.lw-action[data-lw-action=pdf]),.lw-actions:not([data-lw-share])>.lw-action[data-lw-action=share]{display:none}.lw-actions-sep{align-self:stretch;border-inline-start:var(--lw-rule-width) solid var(--lw-rule);margin-block:3px;margin-inline:2px}.lw-actions-note{color:var(--lw-text-faint);padding-inline:calc(var(--lw-space) * 1.5) calc(var(--lw-space) * 2);white-space:nowrap;&:empty{padding:0}}.lw-doc-actions{display:flex;flex-wrap:wrap;gap:var(--lw-space);hyphens:manual;margin-block-start:calc(var(--lw-para-space) * 1.5);text-align:start;&[hidden]{min-block-size:var(--lw-actions-size);visibility:hidden}}.lw-doc-actions>.lw-action{align-items:center;background:var(--lw-bg-elevated);block-size:auto;border:var(--lw-rule-width) solid var(--lw-rule);display:inline-flex;font-family:var(--lw-font-body);font-size:var(--lw-font-size-sm);gap:calc(var(--lw-space) * 1.5);inline-size:auto;line-height:1.1;min-block-size:var(--lw-actions-size);padding-block:var(--lw-space);padding-inline:calc(var(--lw-space) * 2.5)}.lw-scroll-top{align-content:end;display:grid;grid-column:3 / 4;inline-size:100%;inset-block:0;inset-inline-start:0;justify-items:center;pointer-events:none;position:absolute;z-index:4}.lw-scroll-top-button{appearance:none;background:var(--lw-bg-elevated);block-size:calc(var(--lw-actions-size) * 1.35);border:var(--lw-rule-width) solid var(--lw-elevated-border);border-radius:50%;box-shadow:var(--lw-shadow-pill);color:var(--lw-text-muted);cursor:pointer;display:grid;inline-size:calc(var(--lw-actions-size) * 1.35);inset-block-end:calc(var(--lw-space) * 4);padding:0;place-items:center;pointer-events:auto;position:sticky;&:hover{background:var(--lw-hover-bg);color:var(--lw-link)}&:active{translate:0 1px}&[hidden]{display:none}>svg{block-size:1em;font-size:calc(var(--lw-actions-size) * .62);inline-size:1em}}@media(pointer:coarse){.lw-action{block-size:calc(var(--lw-actions-size) * 1.3);inline-size:calc(var(--lw-actions-size) * 1.3)}}}}@layer lw.a11y{.lw-root{.lw-skip{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.lw-diff-cue{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;user-select:none;white-space:nowrap;width:1px}.lw-skip:focus-visible{background:var(--lw-bg-elevated);clip-path:none;height:auto;padding:calc(var(--lw-space) * 2);position:static;width:auto}:where(a,summary,button,input:not([type=radio]),select,textarea,[tabindex]):focus-visible{outline:2px solid var(--lw-focus);outline-offset:2px}.lw-version-list :focus-visible{outline-offset:-2px}.lw-version-list .lw-version-link:focus-visible{outline:none}.lw-version:has(>.lw-version-link:focus-visible){outline:2px solid var(--lw-focus);outline-offset:-2px}.lw-doc:focus:not(:focus-visible),.lw-doc-header:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){&,*{transition-duration:.01ms!important}}@media(prefers-contrast:more){--lw-d-rule: currentColor;--lw-d-text-faint: light-dark(#4d5561, #a6aebc);--lw-d-hover-bg: light-dark(#e3e7ec, #262b33)}@media(forced-colors:active){:where(.lw-action,.lw-prefs-toggle,.lw-prefs-step,.lw-fold,.lw-scroll-top-button){border:1px solid ButtonBorder}}}}@layer lw.print{@media print{.lw-root{--lw-d-color-scheme: light;--lw-d-bg: #ffffff;--lw-d-bg-elevated: #ffffff;--lw-d-text: #000000;--lw-d-text-muted: #333333;--lw-d-text-faint: #555555;--lw-d-rule: #000000;--lw-d-measure: 100%;--lw-d-font-size-base: 11pt;--lw-d-line-height: 1.35;--lw-d-header-offset: 0px;--lw-d-text-align: justify;--lw-d-hyphens: auto;background:#fff;color-scheme:light;display:block;max-inline-size:none;>*{max-inline-size:none}.lw-skip,.lw-diff-cue,.lw-prefs,.lw-prefs-menu,.lw-toc,.lw-toc-toggle,.lw-fold,.lw-link,.lw-actions,.lw-doc-actions,.lw-version-diff,.lw-timeline,.lw-trail,.lw-scroll-top,.lw-side{display:none}.lw-doc{background-image:none}.lw-version-list{mask-image:none;max-block-size:none;overflow:visible}@supports selector(::details-content){.lw-versions-toggle{display:none}.lw-versions-fold::details-content{block-size:auto;content-visibility:visible}}.lw-children,.lw-block>.lw-text{display:block}.lw-children[hidden]{content-visibility:visible;display:block}.lw-block:is(.lw-block--container,.lw-block--article,.lw-block--attachment){contain-intrinsic-size:none;content-visibility:visible;overflow-clip-margin:0}.lw-block{display:flow-root}:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading)>:is(.lw-marker,.lw-heading){display:block}.lw-block:not(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading)>.lw-marker{box-sizing:border-box;float:inline-start;min-inline-size:var(--lw-print-marker-width);padding-inline-end:var(--lw-marker-gap)}.lw-children:has(>.lw-block>.lw-marker,>.lw-block--indent)>.lw-block:not(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading)>:is(.lw-heading,.lw-change,.lw-text,.lw-table-scroll,.lw-pre){inline-size:auto;margin-inline-start:var(--lw-print-marker-width);max-inline-size:none}.lw-block--paragraph>.lw-children{--lw-print-marker-width: var(--lw-print-marker-width-narrow)}.lw-block--indent:not(:has(>.lw-marker)):after{content:none}.lw-block--indent:not(:has(>.lw-marker)):before{color:var(--lw-text-muted);content:"\2013";float:inline-start;min-inline-size:var(--lw-print-marker-width);position:static}.lw-block>.lw-children{clear:inline-start}.lw-doc-title,.lw-block>.lw-marker,.lw-block>.lw-heading{break-after:avoid}:is(.lw-block--container,.lw-block--article,.lw-block--attachment,.lw-block--heading)>.lw-children>.lw-block:first-child{break-before:avoid}.lw-p{orphans:3;widows:3}}}}@layer lw.paper{.lw-paper-print{display:none}@media print{.lw-paper-print{display:block}body.lw-paper-mounted{background:#fff;margin:0}body.lw-paper-mounted>:not(.lw-paper-print){display:none}}.lw-paper{background:#fff;margin:0;[data-lw-paper-wrap]{all:revert!important;display:block!important}.lw-root{background:transparent;color-scheme:light;display:block;isolation:isolate;max-inline-size:none}.lw-root>*{max-inline-size:none}.lw-paper-head{border-block-end:calc(var(--lw-rule-width) * 2) solid var(--lw-text);margin-block-end:var(--lw-container-space);padding-block-end:calc(var(--lw-space) * 3);text-align:start}.lw-paper-act{font-family:var(--lw-font-heading);font-size:1.5em;font-weight:600;line-height:1.2;text-wrap:balance}.lw-paper-citation,.lw-paper-asof,.lw-paper-crumbs{color:var(--lw-text-muted);font-size:var(--lw-font-size-sm);margin-block-start:calc(var(--lw-space) * 1.5)}.lw-paper-citation{font-size:var(--lw-font-size-xs);font-variant-numeric:tabular-nums lining-nums}.lw-paper-crumbs{color:var(--lw-text);font-family:var(--lw-font-heading)}.lw-fold,.lw-link{display:none}.lw-paper-source{border-block-start:var(--lw-rule-width) solid var(--lw-rule);color:var(--lw-text-faint);font-family:var(--lw-font-mono);font-size:var(--lw-font-size-xs);margin-block-start:var(--lw-container-space);padding-block-start:calc(var(--lw-space) * 2);text-align:start;word-break:break-all}.lw-paper-watermark{align-content:center;container-type:inline-size;display:grid;grid-auto-rows:max-content;inset:0;justify-items:center;pointer-events:none;position:fixed;row-gap:1.5cqi;z-index:-1;>svg,>img{block-size:auto;color:var(--lw-text);fill:currentColor;inline-size:var(--lw-paper-watermark-width);opacity:var(--lw-paper-watermark-opacity)}}.lw-paper-watermark-text{color:var(--lw-text);font-family:var(--lw-font-heading);font-size:2.4rem;font-size:6cqi;font-weight:600;letter-spacing:.18em;line-height:1;opacity:var(--lw-paper-watermark-opacity);white-space:nowrap}}}

/* ============================================================================
   @veritiumtech/site-chrome — the one stylesheet to import.

     import '@veritiumtech/site-chrome/styles/index.css'

   Plain CSS, compiled from the marketing site's SCSS partials of the same
   names (client/src/assets/styles/components/_buttons.scss,
   _landingPageNavBar.scss, _landingPageContactUs.scss and
   layout/_backgroundLayout.scss), which these files replace. Colours are the
   same hexes; Sass functions are written out (rgba($c, a) → rgb(r g b / a)).

   Self-contained: no host reset is assumed (box-sizing and margins are set
   where they matter), and no host theme — the chrome is dark on every page
   of veritium.net, so the button variables it needs are declared on its own
   roots. It inherits ONE thing from the host: `font-family` from `body`.
   ========================================================================= */

/* The button. `.btn` + a variant (`primary` | `secondary` | `tertiary`) + a
   size (`large` | `small`). Colours come from `--btn-*` custom properties: the
   app's theme defines them per theme on `.light-theme` / `.dark-theme`, and
   navbar.css / footer.css define the dark set on the chrome's own roots.

   Applies to <a> as well as <button> — the navbar's items and actions are
   links — hence text-decoration and font-family, which a button would not
   need. */

.btn {
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition:
    background-color 0.4s ease,
    color 0.4s ease;
  border: none;
  margin: 0;
  font-family: inherit;
  font-weight: 500;
  padding: 0 16px;
  white-space: nowrap;
  text-decoration: none;
  box-sizing: border-box;
}

/* ------------------- SIZES ------------------- */
.btn.large {
  height: 44px;
  font-size: 14px;
}

.btn.small {
  height: 36px;
  font-size: 12px;
}

/* ------------------- PRIMARY ------------------- */
.btn.primary {
  color: var(--btn-primary-font-color);
  background: var(--btn-primary-background);
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.btn.primary .btn-img img {
  filter: brightness(0) invert(1);
}

.btn.primary::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--btn-primary-hover-background);
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.btn.primary:hover:not(.disabled) {
  color: var(--btn-primary-hover-font-color);
}

.btn.primary:hover:not(.disabled)::before {
  opacity: 1;
}

/* ------------------- SECONDARY ------------------- */
.btn.secondary {
  color: var(--btn-secondary-font-color);
  background-color: var(--btn-secondary-backgound);
  box-shadow: var(--btn-secondary-shadow);
}

.btn.secondary:hover:not(.disabled) {
  color: var(--btn-secondary-hover-font-color);
  background-color: var(--btn-secondary-hover-backgound);
}

/* ------------------- TERTIARY ------------------- */
.btn.tertiary {
  color: var(--btn-tertiary-font-color);
  background-color: var(--btn-tertiary-backgound);
}

.btn.tertiary:hover:not(.disabled) {
  color: var(--btn-tertiary-hover-font-color);
  background-color: var(--btn-tertiary-hover-backgound);
}

/* ------------------- DISABLED ------------------- */
.btn.disabled,
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none !important;
}

.btn .btn-img {
  width: 19px;
  height: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.btn .btn-img svg {
  width: 100%;
  height: 100%;
  display: block;
}

.btn .btn-img svg path,
.btn .btn-img svg circle,
.btn .btn-img svg rect,
.btn .btn-img svg polygon,
.btn .btn-img svg line {
  fill: currentColor !important;
}

.btn .btn-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* The navigation bar (desktop), the floating pills and the menu (phone). */

/* ── The chrome's own palette ─────────────────────────────────────────────
   veritium.net's navbar is dark whatever the app's theme (its buttons sit in
   a `.dark-theme` wrapper for exactly that reason), so the button variables
   it reads are declared here, on the chrome's roots. These are the values of
   the app's `.dark-theme` block (client/src/assets/styles/abstracts/_theme.scss)
   and must stay equal to them. */
.landing-page-navbar,
.mobile-floating-nav,
.mobile-menu-overlay {
  --btn-primary-background: linear-gradient(180deg, #a57a57 0%, #e5c8a6 100%);
  --btn-secondary-backgound: #27304c;
  --btn-tertiary-backgound: hwb(0 100% 0% / 0);
  --btn-primary-font-color: #10131f;
  --btn-secondary-font-color: #e6e7ea;
  --btn-tertiary-font-color: #e6e7ea;
  --btn-primary-hover-background: linear-gradient(180deg, #e5c8a6 0%, #a57a57 100%);
  --btn-secondary-hover-backgound: #303b5d;
  --btn-tertiary-hover-backgound: hwb(0 100% 0% / 0);
  --btn-primary-hover-font-color: #10131f;
  --btn-secondary-hover-font-color: #e6e7ea;
  --btn-tertiary-hover-font-color: #c9ad84;
}

.landing-page-navbar,
.landing-page-navbar *,
.mobile-floating-nav,
.mobile-floating-nav *,
.mobile-menu-overlay,
.mobile-menu-overlay * {
  box-sizing: border-box;
}

.landing-page-navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 72px;
  margin: 0;
  /* Opaque, and no `backdrop-filter`. The bar used to be 95 % navy over a
     10px backdrop blur; the blur made the browser re-filter everything behind
     a fixed, full-width element on every scrolled frame, which is the single
     most expensive thing a page like the law site can do. Without it the last
     5 % would show a ghost of the text sliding underneath, so the bar is
     simply opaque. Same for the phone's floating pills and menu below. */
  background: #151b2b;
  /* The chrome is dark on every page, so it names its own text colour rather
     than inheriting the host's: a host whose page turns light must not turn
     the words on this bar light-on-dark-on-light. */
  color: #e6e7ea;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  font-family: inherit;
}

.landing-page-navbar__logo {
  width: 160px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.landing-page-navbar__logo svg {
  height: 22px;
  width: auto;
  display: block;
}

.landing-page-navbar__nav-items {
  display: flex;
  align-items: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.landing-page-navbar__nav-items li .nav-item {
  padding: 10px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.32px;
  color: #e6e7ea;
  background: transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: color 0.2s ease;
}

.landing-page-navbar__nav-items li .nav-item:hover {
  color: #c9ad84;
}

.landing-page-navbar__nav-items li .nav-item.active {
  color: #c9ad84;
}

.landing-page-navbar__actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

.landing-page-navbar__actions .dark-theme {
  display: flex;
  align-items: center;
  gap: 10px;
}

.landing-page-navbar__actions .btn.primary {
  background: linear-gradient(180deg, #e5c8a6 0%, #a57a57 100%);
  color: #10131f;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  padding: 14px 16px;
  border-radius: 8px;
  height: 44px;
}

.landing-page-navbar__actions .btn.primary:hover {
  opacity: 0.9;
}

.landing-page-navbar :is(a, button):focus-visible {
  outline: 2px solid #c9ad84;
  outline-offset: 2px;
}

@media (max-width: 1200px) {
  .landing-page-navbar {
    padding: 10px 40px;
  }

  .landing-page-navbar__nav-items {
    gap: 8px;
  }

  .landing-page-navbar__nav-items li .nav-item {
    font-size: 14px;
    padding: 8px;
  }

  .landing-page-navbar .dark-theme .btn.secondary,
  .landing-page-navbar .dark-theme .btn.primary {
    font-size: 13px;
    padding: 12px 14px;
    height: 40px;
  }
}

@media (max-width: 1024px) {
  .landing-page-navbar {
    padding: 10px 24px;
  }

  .landing-page-navbar__logo {
    width: 130px;
  }

  .landing-page-navbar__logo svg {
    height: 18px;
  }

  .landing-page-navbar__nav-items {
    gap: 4px;
  }

  .landing-page-navbar__nav-items li .nav-item {
    font-size: 13px;
    padding: 6px;
  }

  .landing-page-navbar .dark-theme .btn.secondary,
  .landing-page-navbar .dark-theme .btn.primary {
    font-size: 12px;
    padding: 10px 12px;
    height: 36px;
  }
}

/* ── Phone ─────────────────────────────────────────────────────────────── */

.mobile-floating-nav {
  display: none;
}

.mobile-menu-overlay {
  display: none;
}

@media (max-width: 768px) {
  .landing-page-navbar {
    display: none;
  }

  .mobile-floating-nav {
    display: flex;
    position: fixed;
    bottom: 24px;
    left: 16px;
    right: 16px;
    justify-content: space-between;
    z-index: 1001;
    pointer-events: none;
    font-family: inherit;
  }

  .mobile-floating-nav__login {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    background: #151b2b;
    color: #e6e7ea;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: normal;
    padding: 14px 20px;
    border-radius: 50px;
    border: 1.5px solid rgb(201 173 132 / 0.5);
    cursor: pointer;
    box-shadow: 0 4px 20px rgb(0 0 0 / 0.3);
    text-decoration: none;
    transition:
      border-color 0.2s ease,
      color 0.2s ease,
      background 0.2s ease;
    white-space: nowrap;
  }

  .mobile-floating-nav__login:hover,
  .mobile-floating-nav__login:focus-visible {
    border-color: #c9ad84;
    color: #c9ad84;
    outline: none;
  }

  .mobile-floating-nav__register {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    background: linear-gradient(180deg, #e5c8a6 0%, #a57a57 100%);
    color: #10131f;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: normal;
    padding: 14px 20px;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 20px rgb(0 0 0 / 0.3);
    text-decoration: none;
    transition: opacity 0.2s ease;
  }

  .mobile-floating-nav__register:hover {
    opacity: 0.9;
  }

  .mobile-floating-nav__toggle {
    pointer-events: auto;
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
    background: #151b2b;
    border: 1px solid rgb(230 231 234 / 0.2);
    color: #e6e7ea;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 20px rgb(0 0 0 / 0.3);
    transition: background 0.2s ease;
  }

  .mobile-floating-nav__toggle:hover {
    background: #1a2134;
  }

  .mobile-menu-overlay {
    display: flex;
    position: fixed;
    inset: 0;
    background: rgb(0 0 0 / 0);
    z-index: 1000;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 88px;
    pointer-events: none;
    visibility: hidden;
    font-family: inherit;
    transition:
      background 0.3s ease,
      visibility 0.3s ease;
  }

  .mobile-menu-overlay--open {
    background: rgb(0 0 0 / 0.6);
    pointer-events: auto;
    visibility: visible;
  }

  .mobile-menu-overlay--open .mobile-menu-overlay__panel {
    opacity: 1;
    transform: translateY(0);
  }

  .mobile-menu-overlay__language {
    display: flex;
    justify-content: center;
    padding: 12px 16px 4px;
    border-top: 1px solid rgb(230 231 234 / 0.1);
    margin-top: 4px;
  }

  .mobile-menu-overlay__panel {
    background: #151b2b;
    border-radius: 16px;
    padding: 12px 8px;
    margin: 0 16px;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 8px 32px rgb(0 0 0 / 0.4);
    opacity: 0;
    transform: translateY(20px);
    transition:
      opacity 0.3s ease,
      transform 0.3s ease;
  }

  .mobile-menu-overlay__panel ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .mobile-menu-overlay__panel ul li .nav-item {
    width: 100%;
    height: auto;
    justify-content: flex-start;
    padding: 14px 16px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    color: #e6e7ea;
    background: transparent;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
  }

  .mobile-menu-overlay__panel ul li .nav-item:hover {
    background: rgb(230 231 234 / 0.08);
  }

  .mobile-menu-overlay__panel ul li .nav-item.active {
    color: #c9ad84;
    background: rgb(201 173 132 / 0.1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-page-navbar *,
  .mobile-floating-nav *,
  .mobile-menu-overlay,
  .mobile-menu-overlay * {
    transition-duration: 0.01ms !important;
  }
}

/* The footer — veritium.net's "contact" section. */

.landing-page-contact-us,
.landing-page-contact-us * {
  box-sizing: border-box;
}

.landing-page-contact-us {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 60px 100px 18px;
  background: #161b2b;
  /* The chrome is dark on every page, so it names its own text colour rather
     than inheriting the host's: a host whose page turns light must not turn
     the words on this bar light-on-dark-on-light. */
  color: #e6e7ea;
  font-family: inherit;
}

.landing-page-contact-us__watermark {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 350px;
  height: auto;
  opacity: 0.8;
  pointer-events: none;
}

.landing-page-contact-us__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1440px;
  margin: 0 auto;
  /* The fade-up on scroll (veritium.net's `animate-fade-up`), owned here so
     the footer looks the same in a host without that utility class. */
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.landing-page-contact-us__content.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .landing-page-contact-us__content {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.landing-page-contact-us__main {
  display: flex;
  gap: 160px;
}

.landing-page-contact-us__brand {
  flex-shrink: 0;
  display: inline-flex;
  align-self: flex-start;
  color: inherit;
  text-decoration: none;
}

.landing-page-contact-us__logo {
  height: 32px;
  width: auto;
  display: block;
}

.landing-page-contact-us__links {
  display: flex;
  flex: 1;
  justify-content: space-between;
  padding-top: 12px;
}

.landing-page-contact-us__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.landing-page-contact-us__section-title {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.64px;
  text-transform: uppercase;
  color: #e6e7ea;
  margin: 0;
  padding: 10px;
}

.landing-page-contact-us__section-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.landing-page-contact-us__section-links li a {
  display: block;
  padding: 10px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.32px;
  color: #9da1ad;
  text-decoration: none;
  border-radius: 6px;
  transition: color 0.2s ease;
}

.landing-page-contact-us__section-links li a:hover {
  color: #c9ad84;
}

.landing-page-contact-us__section-links li a.active {
  color: #c9ad84;
}

.landing-page-contact-us__company-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.landing-page-contact-us__info-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 10px;
  height: 39px;
}

.landing-page-contact-us__info-item svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.landing-page-contact-us__info-item span,
.landing-page-contact-us__info-item a {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.36px;
  color: #9da1ad;
  text-decoration: none;
}

.landing-page-contact-us__info-item a {
  transition: color 0.3s ease;
}

.landing-page-contact-us__info-item a:hover {
  color: #c9ad84;
}

.landing-page-contact-us__social {
  display: flex;
  gap: 16px;
  padding: 0 10px;
  margin-top: 16px;
}

.landing-page-contact-us__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #27304c;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
}

.landing-page-contact-us__social-link svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;
}

.landing-page-contact-us__social-link:hover {
  background: #303b5d;
  transform: translateY(-3px);
}

.landing-page-contact-us__social-link:hover svg {
  transform: scale(1.1);
}

.landing-page-contact-us :is(a, button):focus-visible {
  outline: 2px solid #c9ad84;
  outline-offset: 2px;
}

.landing-page-contact-us__bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid rgb(255 255 255 / 0.1);
}

.landing-page-contact-us__disclaimer {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.2px;
  color: #6c7180;
  margin: 0;
  max-width: 680px;
}

.landing-page-contact-us__copyright {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.28px;
  color: #868b99;
  margin: 0;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
  .landing-page-contact-us {
    padding: 60px;
  }

  .landing-page-contact-us__main {
    flex-direction: column;
    gap: 40px;
  }

  .landing-page-contact-us__links {
    flex-wrap: wrap;
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .landing-page-contact-us {
    padding: 40px 24px 18px;
  }

  .landing-page-contact-us__links {
    flex-direction: column;
    gap: 32px;
  }

  .landing-page-contact-us__social {
    justify-content: center;
  }

  .landing-page-contact-us__bottom {
    align-items: center;
    text-align: center;
  }
}

/* The page background: one fixed gradient layer and three soft glows.
   Everything here is inert and behind the content. The host's own rules —
   hiding the glows in a light theme, fading them when a conversation is
   open — stay in the host.

   The glows are painted as radial-gradients that fade to transparent, NOT as
   discs put through `filter: blur()`. The original was nine 535px discs, each
   blurred by 80px and two of every three composited with `mix-blend-mode:
   screen` / `multiply`; the shape below is a fit of that composite — same
   centres, same spread, same colour — collapsed into three plain paints. A
   blur filter and a blend mode each force the element onto its own
   compositing layer and make the browser re-filter it on scroll and resize;
   a gradient is just a fill. The law site (veritium.net/lex) renders long
   statutes on cheap phones, so the background it shares with this one has to
   cost nothing to draw. */

.background-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
  z-index: -1;
  pointer-events: none;
}

.background-wrapper .gradient-main {
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--bg-color, linear-gradient(195deg, #141927 10.57%, #191f2e 99.56%));
}

/* One profile for all three: a Gaussian falloff, written out as stops of a
   single blue. The per-glow strength is `opacity` below, which is also what
   the hosts animate. Ellipse, not circle: each glow is a smear, wider than it
   is tall on the right, taller than wide on the left. */
.background-wrapper div:not(.gradient-main) {
  position: absolute;
  background: radial-gradient(
    ellipse closest-side,
    rgb(106 127 186 / 0.8) 0%,
    rgb(106 127 186 / 0.72) 15%,
    rgb(106 127 186 / 0.56) 30%,
    rgb(106 127 186 / 0.36) 45%,
    rgb(106 127 186 / 0.21) 60%,
    rgb(106 127 186 / 0.1) 75%,
    rgb(106 127 186 / 0.03) 88%,
    transparent 100%
  );
  /* Smooth fade/shrink when a host dims or shrinks the glows. */
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

/* Positions are left/top pixels, as they were before: the glows are pinned to
   the top-left of the viewport and drift outward on a wide screen, which is
   what the landing page has always looked like. */

.background-wrapper .glow-top-right {
  left: 693px;
  top: -107px;
  width: 832px;
  height: 504px;
  opacity: 1;
}

.background-wrapper .glow-left {
  left: -100px;
  top: 131px;
  width: 514px;
  height: 780px;
  opacity: 0.71;
}

.background-wrapper .glow-bottom-right {
  left: 716px;
  top: 686px;
  width: 588px;
  height: 348px;
  opacity: 0.6;
}

@media (max-width: 768px) {
  .background-wrapper .glow-top-right {
    left: auto;
    right: -120px;
    top: -90px;
    width: 430px;
    height: 300px;
  }

  .background-wrapper .glow-left {
    left: -130px;
    top: 120px;
    width: 300px;
    height: 460px;
  }

  .background-wrapper .glow-bottom-right {
    left: auto;
    right: -80px;
    top: auto;
    bottom: 40px;
    width: 340px;
    height: 220px;
  }
}


/*
 * Noto Sans for the act page, self-hosted from public/lex/fonts.
 *
 * Under /lex, not /fonts: on veritium.net only /lex/*, /_next/*, /robots.txt
 * and /sitemap.xml reach this app (the CloudFront behaviours); any other path
 * is the SPA's, whose fallback answered /fonts/… with its HTML shell.
 *
 * The React routes get the same face from `next/font` in src/app/layout.tsx,
 * which downloads these very files at build time and writes rules like the
 * ones below behind a generated class. The act page is served as finished
 * HTML by a route handler and has no build-time CSS graph (src/lib/assets.ts),
 * so the rules are written out here instead — three subsets, each a variable
 * font carrying weights 400–900 in one file, fetched only when the text on
 * the page uses that range. No preload, for the reason the layout gives:
 * preload ignores `unicode-range` and would fetch all three ahead of the HTML.
 *
 * The fallback face and its metrics are `next/font`'s own for Noto Sans over
 * Arial, so the swap from the fallback to the real face moves nothing.
 */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("/lex/fonts/noto-sans-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("/lex/fonts/noto-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: "Noto Sans";
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("/lex/fonts/noto-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Sans Fallback";
  src: local(Arial);
  ascent-override: 100.54%;
  descent-override: 27.56%;
  line-gap-override: 0%;
  size-adjust: 106.33%;
}
/* What `next/font`'s class put on <html>; globals.css reads it as --vt-font. */
:root {
  --font-noto-sans: "Noto Sans", "Noto Sans Fallback";
}

/*
 * act-web owns NO presentation of law text, and NO chrome of its own either.
 *
 * Typography, layout, indentation, the theming cascade and print styles of the
 * ACT live in @veritiumtech/act-renderer's stylesheets. The navbar, the
 * footer, the page background and the button are @veritiumtech/site-chrome's
 * — veritium.net's own components, so this site and the marketing site are
 * one site — and its stylesheet. Both are imported render-blocking from
 * src/app/layout.tsx, before this file. This file holds exactly three things:
 *
 *   1. THE BRAND LAYER — the `--lw-b-*` tokens that make the renderer look
 *      like veritium.net. It writes the brand namespace and nothing else:
 *      never `--lw-foo` (the resolved name) and never `--lw-d-foo` (the
 *      package default). Reader preferences (`--lw-u-*`, on <html>) win over
 *      everything here by construction of the renderer's var() chain.
 *
 *   2. THE PAGE between the chrome and the act: where the fixed navbar puts
 *      the content, how the act's column is centred, the index page's cards,
 *      the notice pages, the script switch that sits in the navbar's controls
 *      slot. None of it may target `.lw-*` except through `@layer lw.overrides`
 *      (§ The act's card), which the renderer reserves for its host.
 *
 *   3. PRINT: the chrome goes, the act stays.
 *
 * ── The palette ─────────────────────────────────────────────────────────────
 * veritium.net's (client/src/assets/styles/abstracts/_colors.scss and the
 * landing/legal page partials): navy #141927/#191f2e/#1c2237/#27304c, gold
 * #e5c8a6/#c9ad84/#a57a57, text #e6e7ea/#cdcfd5/#a8aab3/#9da1ad. One
 * typeface, Noto Sans; 8px button radius, 6px card radius.
 *
 * The CHROME is dark on every page of veritium.net — the landing, contact and
 * legal pages force it whatever theme the visitor picked in the app — and so
 * it is here: the bar at the top and the footer at the bottom declare their
 * own colours in the chrome package and never move.
 *
 * Everything BETWEEN them follows the reader. The renderer's settings menu
 * writes `--lw-u-color-scheme` (`light` / `dark` / `light dark`, meaning the
 * OS) onto <html> before first paint, and `:root` takes its `color-scheme`
 * from that same property, so one switch turns the whole page — not a sheet
 * of paper laid on a dark page with the dark page still showing round it.
 * That is what every `light-dark()` below resolves against: the `--site-*`
 * page tokens and the `--vt-*` act tokens are two halves of one theme, and
 * `--vt-bg` is `transparent` in BOTH, because the act's background is simply
 * the page.
 *
 * Where the act's colours DEVIATE from veritium.net, and why: that site's
 * light-theme golds (#a57a57 at 3.8:1) were tuned for chips and headings. A
 * statute is body text, so every colour used AS TEXT in the act clears 4.5:1
 * on its surface — the light golds are stepped down to #8a6544 / #96613a, the
 * status greens and reds to #2c7a57 / #b24a4a, the same hue one shade darker.
 */

/* ── 1. Tokens ─────────────────────────────────────────────────────────── */

:root {
  /* The reader's choice, straight off <html>, where the renderer's pre-paint
     boot script puts it — the SAME property `.lw-root` resolves through its
     own U → B → D chain, so the page and the act can never disagree about
     which theme they are in. Absent a stored preference the fallback is the
     brand's, dark, which is also `--lw-b-color-scheme`. This is what every
     `light-dark()` in this file reads, and it sets the UA's own controls (a
     select, a scrollbar) with it. */
  color-scheme: var(--lw-u-color-scheme, dark);

  /* The navbar's height: 10px padding + a 44px button + 10px (navbar.css).
     Constant down to the phone breakpoint, where the bar gives way to the
     floating pills at the foot of the screen and nothing sits at the top.
     Fed to the renderer as --lw-b-header-offset below. */
  --site-header-h: 64px;
  /* The air between that header and whatever sticks under it (the ToC, the
     settings buttons): part of --lw-b-header-offset below. */
  --site-header-gap: 1rem;
  /* How far the back button's text sits in from its pill's start edge: the
     padding and the border (§ The way back to the list). On a phone the pill
     hangs out by this much, and the settings buttons mirror it. */
  --site-back-inset: calc(0.85rem + 1px);
  /* How much taller the phone's breadcrumb bar is than the renderer's: air
     around the settings buttons in it (§ The act's gutters). */
  --site-trail-pad-end: 0.5rem;
  /* Content width of the index and notice pages. The ACT is not capped by
     this — see § The act, below. */
  --site-max: 76rem;

  /* ── The act's geometry ───────────────────────────────────────────────
     The widths the reading column is centred against. The first two are
     declared HERE and fed INTO the renderer as `--lw-b-*` further down, rather
     than read back out of it, because a resolved `--lw-*` value is only
     readable inside `.lw-root` — and the element that has to do the centring
     is the `<main>` ABOVE it. One declaration, two readers, so the page and
     the renderer cannot disagree about them. */
  --site-toc-width: 21.6rem; /* → --lw-b-toc-width: the ToC's own column (the package default 18rem, +20 %) */
  --site-measure: 72ch; /* → --lw-b-measure: the reading column */
  /* …and the column the renderer will ACTUALLY lay out, which is the reader's
     line width when they have set one: the same U → B chain `cascade.css`
     resolves, with the package default left out because the brand above always
     supplies it. Centring the brand's width while the renderer lays out the
     reader's puts the column off centre by half the difference. */
  --site-column: var(--lw-u-measure, var(--site-measure));
  /* The space between those two tracks is the ToC's `margin-inline-end`
     (document.css § Layout): `--lw-margin-width + --lw-highlight-pad-inline +
     6 × --lw-space`, which is 1.5 + 0.6 + 1.5rem at the package defaults
     act-web does not override. Kept as one number rather than three: if a
     future renderer retunes them the column shifts by a fraction of a rem,
     which is invisible, and nothing else moves. */
  --site-toc-gap: 3.6rem;
  --site-toc-track: calc(var(--site-toc-width) + var(--site-toc-gap));
  /* The act's card padding (§ The act's card). At least 2.1rem: the renderer
     draws the `:target` arrow `--lw-margin-width + --lw-highlight-pad-inline`
     (1.5 + 0.6rem) BEFORE its text column, and that has to land on the card,
     not beside it. */
  --site-act-pad: clamp(2.25rem, 4vw, 3rem);

  /* ── The page: veritium.net's landing/legal palette ─────────────────
     Dark is that site's, unchanged. Light is the act's light palette (the
     `--vt-*` block below) spent on the page, so the two sides of the theme
     are one set of colours and the act cannot look like a visitor from
     another design. */
  /* ── Warmth: the reader's, spent on the PAGE ──────────────────────
     The renderer's settings menu writes `--lw-u-tint-amount` onto <html>
     before first paint, exactly as it writes `--lw-u-color-scheme`, and this
     file reads it in exactly the same way and for the same reason: the
     renderer resolves that property on `.lw-root`, so a value read only there
     warms the act and nothing around it — a warm sheet laid on a cold page,
     which is the very thing the colour-scheme note above refuses to do.

     So warmth is applied HERE, to the page's own background, and the act is
     left transparent over it (`--lw-b-bg` below). One mix, on the surface
     everything else is painted on, so the bar's underside, the margin beside
     the ToC and the act's own column warm together.

     0% when the reader has set nothing, which `color-mix` resolves to the
     plain palette colour — so an untouched page is byte-identical to what it
     was before the slider existed. */
  --site-tint: var(--vt-tint);
  --site-tint-amount: var(--lw-u-tint-amount, 0%);

  /* THE PAGE, one colour, both themes: paper in the light, the brand's deep
     navy in the dark. Flat — no gradient, no glows.

     veritium.net's landing pages fade that navy from `--vt-navy-1` to #191f2e
     down a 195° axis and lay three soft blue glows over it, and this site used
     to paint the same fixed layer behind the act (the chrome's SiteBackground,
     since dropped from layout.tsx). That background is built for a page you
     scroll past once. An act is thousands of lines the reader scrolls for an
     hour, laid straight on the page with no card in between — so a ground that
     changes colour as you descend it, with blue light pooling in three places
     on the way, is a moving surface under a body of text that is not moving.
     A reading page holds still. */
  --site-bg: color-mix(
    in oklab,
    light-dark(#f7f8fa, var(--vt-navy-1)),
    var(--site-tint) var(--site-tint-amount)
  );
  /* The same colour on <body>, opaque, in both themes: nothing is painted
     between the canvas and the body any more, so the body has nothing to
     cover and nothing to let through. */
  --site-body-bg: var(--site-bg);
  --site-card: light-dark(#ffffff, rgb(28 34 55 / 0.7)); /* .legal-document-page__content */
  --site-card-border: light-dark(#e4e7ec, transparent);
  --site-card-solid: light-dark(#ffffff, #1c2237);
  --site-raised: light-dark(#e4e7ec, #27304c);
  --site-text: light-dark(#1e2332, #e6e7ea); /* headings */
  --site-text-soft: light-dark(#41485c, #cdcfd5); /* a lead paragraph */
  --site-text-body: light-dark(#4b5264, #a8aab3); /* running text on a card */
  --site-text-muted: light-dark(#5a6073, #9da1ad); /* metadata */
  --site-text-faint: light-dark(#6f7686, #6c7180);
  --site-rule: light-dark(#e4e7ec, rgb(255 255 255 / 0.1));
  /* Gold AS TEXT, so it clears 4.5:1 on the page it is on — the same step
     down the act's `--vt-accent-text` takes, and for the same reason. */
  --site-accent: light-dark(#8a6544, #c9ad84);
  /* Gold as a FILL, under `#10131f` text: the brand's gradient, theme-free,
     because the two things it paints — the script switch in the dark navbar
     and the notice pages' primary button — look the same in both themes. */
  --site-accent-hi: #e5c8a6;
  --site-accent-lo: #a57a57;
  --site-gradient: linear-gradient(180deg, var(--site-accent-hi) 0%, var(--site-accent-lo) 100%);
  --site-radius: 8px; /* buttons */
  --site-radius-card: 6px; /* .legal-document-page__content */

  /* ── The act: theme pairs for the brand layer only ─────────────────── */
  --vt-navy-1: #141927; /* the dark page itself: --site-bg's dark half */
  --vt-navy-3: #1c2237;
  --vt-navy-4: #27304c;
  --vt-gold-hi: #e5c8a6;
  --vt-gold-mid: #c9ad84;
  --vt-gold-lo: #a57a57;
  --vt-gold-deep: #8a6544;
  --vt-gold-ink: #10131f; /* text on a gold fill */

  /* Surfaces. NONE, in either theme — the act is painted straight onto the
     page, so its background IS the page's and there is no card edge anywhere
     for the eye to catch. veritium.net puts a short legal notice on a
     translucent navy card inset by a 120px gutter
     (.legal-document-page__content); a statute is not that page — it runs the
     full width and thousands of lines down, so the same card became a slab
     lying over the page, lighter than it, with a hard vertical edge running
     the whole length of the act. A statute wants the page itself under it.
     Light: none either — `--site-bg` above turns the whole page paper, so
     there is nothing left for the act to lay a sheet on. `--vt-surface` is
     that page surface OPAQUE, for the hover band and anything else that has
     to occlude what is behind it. */
  --vt-bg: transparent;
  --vt-surface: light-dark(#f7f8fa, var(--vt-navy-3));
  --vt-bg-elevated: light-dark(#ffffff, var(--vt-navy-4));
  --vt-rule: light-dark(#e4e7ec, rgb(229 200 166 / 0.14));

  /* Text. All ≥ 4.5:1 on --vt-bg. */
  --vt-text: light-dark(#1e2332, #eee4df);
  --vt-text-muted: light-dark(#5a6073, #9da1ad);
  --vt-text-faint: light-dark(#6f7686, #8f95a1);

  /* Gold, in two strengths: as a fill (decorative) and as text (readable). */
  --vt-accent: light-dark(var(--vt-gold-lo), var(--vt-gold-hi));
  --vt-accent-text: light-dark(var(--vt-gold-deep), var(--vt-gold-mid));
  --vt-accent-contrast: light-dark(#ffffff, var(--vt-gold-ink));
  --vt-link: var(--vt-accent-text);
  --vt-link-visited: light-dark(#96613a, #cb9a72); /* bronze */
  --vt-focus: var(--vt-accent);
  --vt-tint-strong: light-dark(rgb(165 122 87 / 0.14), rgb(229 200 166 / 0.12));

  /* Status: veritium.net's revision-trail colours (add / edit / remove), plus
     steel and sage for the two statuses that site has no word for. */
  --vt-added: light-dark(#2c7a57, #7fc8a0);
  --vt-removed: light-dark(#b24a4a, #df9a9a);
  --vt-modified: light-dark(var(--vt-gold-deep), var(--vt-gold-hi));
  --vt-moved: light-dark(#5a7194, #8ea2c0);
  --vt-renumbered: light-dark(#4f7d63, #9ec5a8);

  /* The renderer's "Warmth" preference mixes this into its surfaces. Gold,
     so warming the page warms it towards the brand. */
  --vt-tint: light-dark(var(--vt-gold-hi), var(--vt-gold-lo));

  --vt-font: var(--font-noto-sans), "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Liberation Sans", sans-serif;
  --vt-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
}

/* Engines without light-dark() (Chromium < 123, Safari < 17.5) get the brand
   default, dark, as plain colours — the page as well as the act, so an old
   browser gets the dark site rather than a half-lit one. The renderer does the
   same for its own defaults in cascade.css. Kept in step with the block above
   by hand. */
@supports not (color: light-dark(#fff, #000)) {
  :root {
    --site-bg: #141927;
    --site-body-bg: #141927;
    --site-card: rgb(28 34 55 / 0.7);
    --site-card-border: transparent;
    --site-card-solid: #1c2237;
    --site-raised: #27304c;
    --site-text: #e6e7ea;
    --site-text-soft: #cdcfd5;
    --site-text-body: #a8aab3;
    --site-text-muted: #9da1ad;
    --site-text-faint: #6c7180;
    --site-rule: rgb(255 255 255 / 0.1);
    --site-accent: #c9ad84;

    --vt-surface: var(--vt-navy-3);
    --vt-bg-elevated: var(--vt-navy-4);
    --vt-rule: rgb(229 200 166 / 0.14);
    --vt-text: #eee4df;
    --vt-text-muted: #9da1ad;
    --vt-text-faint: #8f95a1;
    --vt-accent: var(--vt-gold-hi);
    --vt-accent-text: var(--vt-gold-mid);
    --vt-accent-contrast: var(--vt-gold-ink);
    --vt-link-visited: #cb9a72;
    --vt-tint-strong: rgb(229 200 166 / 0.12);
    --vt-added: #7fc8a0;
    --vt-removed: #df9a9a;
    --vt-modified: var(--vt-gold-hi);
    --vt-moved: #8ea2c0;
    --vt-renumbered: #9ec5a8;
    --vt-tint: var(--vt-gold-lo);
  }
}

/* ── 2. The brand layer the renderer reads ────────────────────────────── */

/* On `.lw-root` rather than `:root` so the values can reference `--lw-tint`
   and `--lw-tint-amount`, which the renderer resolves on its root: that is
   what keeps the reader's "Warmth" slider working on branded colours exactly
   as it does on the package defaults. Unlayered, so it wins over the package's
   `@layer lw.tokens` regardless of import order. */
.lw-root {
  /* The act is dark by default, like the site; the reader's settings menu
     (`--lw-u-color-scheme`) can make it light. */
  --lw-b-color-scheme: dark;

  --lw-b-font-body: var(--vt-font);
  /* One face, differentiated by weight — the brand has no serif. A reader who
     picks "Serif" in the settings still gets one: `--lw-u-*` wins. */
  --lw-b-font-heading: var(--lw-font-body);
  --lw-b-font-mono: var(--vt-font-mono);
  --lw-b-measure: var(--site-measure);
  --lw-b-toc-width: var(--site-toc-width);
  --lw-b-radius: var(--site-radius);
  /* Fixed navbar + breathing room: :target scroll and the sticky ToC clear it. */
  --lw-b-header-offset: calc(var(--site-header-h) + var(--site-header-gap));

  --lw-b-tint: var(--vt-tint);
  /* NOT mixed, unlike every other surface below. `--vt-bg` is `transparent`:
     the act is painted straight onto the page (§ Tokens, Surfaces), so mixing
     warmth in here would not warm the act's background — it would GIVE the act
     a background, a translucent gold rectangle over a page that stayed cold,
     ending at the renderer's edge. The warmth the reader asked for is on the
     page itself (§ Tokens, Warmth) and shows through this. */
  --lw-b-bg: var(--vt-bg);
  --lw-b-bg-elevated: color-mix(in oklab, var(--vt-bg-elevated), var(--lw-tint) var(--lw-tint-amount));
  --lw-b-text: color-mix(in oklab, var(--vt-text), var(--lw-tint) calc(var(--lw-tint-amount) / 3));
  --lw-b-text-muted: color-mix(in oklab, var(--vt-text-muted), var(--lw-tint) calc(var(--lw-tint-amount) / 2));
  --lw-b-text-faint: color-mix(in oklab, var(--vt-text-faint), var(--lw-tint) calc(var(--lw-tint-amount) / 2));
  --lw-b-rule: color-mix(in oklab, var(--vt-rule), var(--lw-tint) calc(var(--lw-tint-amount) / 2));
  /* OPAQUE, on purpose. The renderer draws the hover band as a background plus
     three spread box-shadows in this one colour; with an opaque colour they
     merge into a single flat rectangle, with a translucent one they stack
     (denser where they overlap, lighter at the fringe), which reads as a
     stroke. So the gold is pre-mixed into `--vt-surface`, the page's colour
     made OPAQUE — theme and warmth applied — rather than into `--vt-bg`,
     which has no colour at all and would make the band invisible. */
  --lw-b-hover-bg: color-mix(
    in oklab,
    color-mix(in oklab, var(--vt-surface), var(--lw-tint) var(--lw-tint-amount)),
    var(--vt-accent) 8%
  );
  /* The :target band is one `::before` layer and lies over guide lines that
     must stay visible, so this one stays translucent, as the default does. */
  --lw-b-target-bg: var(--vt-tint-strong);

  --lw-b-link: var(--vt-link);
  --lw-b-link-visited: var(--vt-link-visited);
  --lw-b-accent: var(--vt-accent);
  --lw-b-accent-contrast: var(--vt-accent-contrast);
  /* ToC top level; it is text, so the readable gold. */
  --lw-b-accent-warm: var(--vt-accent-text);
  --lw-b-focus: var(--vt-focus);

  --lw-b-change-added: var(--vt-added);
  --lw-b-change-removed: var(--vt-removed);
  --lw-b-change-modified: var(--vt-modified);
  --lw-b-change-moved: var(--vt-moved);
  --lw-b-change-renumbered: var(--vt-renumbered);
}

/* ── 3. The page ──────────────────────────────────────────────────────── */

html,
body {
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  /* The canvas. Declared HERE and not only on <body>, so that what shows is
     right in the moments the body's own paint is not: the body's box is
     rasterised in tiles along with the act, and a jump to a heading thousands
     of lines away lands on tiles that are not painted yet. For a frame or two
     the canvas is all the compositor has, and this is the same colour. */
  background: var(--site-bg);
}

body {
  /* The page's one colour, opaque, in both themes (§ Tokens). */
  background: var(--site-body-bg);
  color: var(--site-text);
  font-family: var(--vt-font);
  font-size: 16px;
  line-height: 1.55;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
}

/* The footer sits at the foot of a short page (a 404), as it does under a
   long act. The chrome's footer has no opinion about the page around it.

   Clipped sideways: its watermark is a 350px SVG, absolutely placed, and on
   a phone narrower than that (a 320px iPhone SE) it made the whole page wider
   than the screen. `clip` on the inline axis only, so the watermark still
   hangs past the footer's top and bottom edges the way it was drawn. */
.landing-page-contact-us {
  margin-block-start: auto;
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* The phone pills slide off the foot of the screen while the reader scrolls
   down, and back when they scroll up (src/components/pillsAway.ts sets the
   attribute). A transform, so the move is the compositor's and lays nothing
   out; the distance is the pills' own height plus the 24px they float above
   the edge (navbar.css), and the safe-area inset under a home indicator.
   Still focusable while away: the script brings them back on focus. */
@media (max-width: 768px) {
  .mobile-floating-nav {
    transition: transform 0.25s ease;
  }

  :root[data-site-pills="away"] .mobile-floating-nav {
    transform: translateY(calc(100% + 24px + env(safe-area-inset-bottom, 0px)));
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  .mobile-floating-nav {
    transition: none;
  }
}

/* The phone breakpoint of the chrome (navbar.css): the bar is gone, the
   floating pills are at the foot of the screen, so nothing needs clearing at
   the top. */
@media (max-width: 768px) {
  :root {
    --site-header-h: 0px;
  }
}

/* …and where the renderer draws its trail bar, no gap either. The bar sticks
   at the header offset, and is meant to be flush with the top of the screen
   when nothing is above it (trail.css): with the gap it floated a rem below
   the edge, the act scrolling past in the sliver over it. The bar's threshold
   is the renderer's 40rem, measured on `.lw-root`'s content box, which on a
   phone is the window less 4rem of padding (§ The act's gutters: 1rem each
   side on the root, 1rem each side on `.site-main`). Between here and 768px
   there is no bar, and the settings buttons keep their rem of air. */
@media (width < 44rem) {
  :root {
    --site-header-gap: 0px;
  }
}

/* Skip link: off-screen until focused, never display:none. Above the navbar
   (z-index 1000) when it shows. */
.site-skip {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.site-skip:focus-visible {
  background: var(--site-card-solid);
  border-radius: var(--site-radius);
  clip-path: none;
  color: var(--site-text);
  height: auto;
  inset: 0.5rem auto auto 0.5rem;
  padding: 0.5rem 0.75rem;
  width: auto;
  z-index: 1002;
}

/* Not the script segments in the act's reading-settings panel
   (`renditions`, ActPageHtml.tsx): they sit in the renderer's clipped
   segmented row, where a ring drawn 2px OUTSIDE the link is cut away and the
   focused segment shows nothing. The renderer rings them inside, as it does
   its radios; this rule is unlayered and would win, so it steps aside. */
.site-main :where(a, button):not(.lw-prefs-option):focus-visible,
.site-skip:focus-visible {
  outline: 2px solid var(--site-accent);
  outline-offset: 2px;
}

/* ── The script switch: Latin ⇄ Cyrillic ───────────────────────────────
   One pill-shaped link to the other script, led by the "translate" glyph,
   where veritium.net keeps its language flags. A gold outline and full-
   strength text so it reads as a control, not as a caption.

   It appears twice: in the navbar's controls slot (desktop, and the phone
   menu), and on phones also in `.script-bar` at the top of the page, since
   the phone has no top bar and the menu hides it. */

.script-switch {
  align-items: center;
  border: 1px solid rgb(229 200 166 / 0.45);
  border-radius: 999px;
  /* Dark-chrome colours, written out rather than taken from `--site-*`: this
     pill sits in the navbar, which stays dark while the page behind it turns. */
  color: #e6e7ea;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 0.4rem;
  line-height: 1;
  padding: 0.5rem 0.85rem 0.5rem 0.65rem;
  text-decoration: none;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
  white-space: nowrap;
}

.script-switch:hover {
  background: rgb(229 200 166 / 0.14);
  border-color: #e5c8a6;
  color: #e5c8a6;
}

.script-switch:focus-visible {
  outline: 2px solid var(--site-accent-hi);
  outline-offset: 2px;
}

.script-switch__glyph {
  block-size: 18px;
  color: #c9ad84;
  flex: none;
  inline-size: 18px;
}

.script-switch:hover .script-switch__glyph {
  color: inherit;
}

.script-switch__short {
  display: none;
}

/* The navbar runs out of room below ~1600px (seven section links, the
   switch, Log in, Register): the label shortens to "Ћир" / "Lat" there, and
   to the glyph alone below 1280px. The phone menu and the phone's own bar
   have the room, so they keep it whole. */
@media (max-width: 1600px) {
  .landing-page-navbar .script-switch__full {
    display: none;
  }

  .landing-page-navbar .script-switch__short {
    display: inline;
  }
}

/* Tighter still, the glyph alone; the link keeps its accessible name. */
@media (max-width: 1280px) {
  .landing-page-navbar .script-switch__short {
    display: none;
  }

  .landing-page-navbar .script-switch {
    padding-inline: 0.55rem;
  }
}

/* In the phone menu the switch gets a finger-sized target, as the language
   flags do on veritium.net. */
.mobile-menu-overlay__controls .script-switch {
  font-size: 15px;
  padding: 0.7rem 1.25rem 0.7rem 1rem;
}

/* The phone's own copy, at the top of the page and scrolling away with it.
   It sits on the page, not on the dark bar, so it takes the page's colours
   in either theme. */
.script-bar {
  display: none;
}

@media (max-width: 768px) {
  .script-bar {
    display: flex;
    justify-content: flex-end;
    padding: 0.75rem 1rem 0;
  }

  .script-bar .script-switch {
    background: var(--site-card-solid);
    border-color: color-mix(in oklab, var(--site-accent), transparent 45%);
    color: var(--site-text);
    font-size: 14px;
    padding: 0.6rem 1rem 0.6rem 0.8rem;
  }

  .script-bar .script-switch__glyph {
    color: var(--site-accent);
  }

  .script-bar .script-switch:hover {
    background: color-mix(in oklab, var(--site-accent), transparent 85%);
    color: var(--site-accent);
  }

  .script-bar .script-switch:focus-visible {
    outline-color: var(--site-accent);
  }
}

@media print {
  .script-bar {
    display: none;
  }
}

/* ── Main ── */

.site-main {
  flex: 1;
  inline-size: 100%;
  margin-inline: auto;
  max-inline-size: var(--site-max);
  /* Below the fixed navbar. */
  padding: calc(var(--site-header-h) + 2.5rem) 1.5rem 4rem;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .site-main {
    /* The floating pills (navbar.css) sit 24px + 48px above the foot of the
       screen; the bottom padding keeps the last line of a page above them. */
    padding: 1.5rem 1rem 6rem;
  }
}

/* ── The act: the reading column, centred on the page ──────────────────
   The act is centred on the PAGE, not inside the chrome's column, so it drops
   the `--site-max` cap and spans the window: the padding below is what places
   it, and a percentage there resolves against the full page width.

   The renderer lays its root out as three tracks — [ToC | text | § strip] —
   PACKED TO THE START (document.css § Layout), which is right for a root that
   is exactly as wide as its content and wrong for one that is wider: the
   reading column then sits a whole ToC to the right of the page's centre, with
   all the slack behind it. The renderer cannot fix that itself (it does not own
   the viewport, and its root is a `container-type: inline-size` box, so it
   cannot be shrink-wrapped either); centring is the host's job, and it is one
   declaration — the start padding that puts the middle of the TEXT on the
   middle of the page — less the card's own padding (§ The act's card), which
   moves the text by the same amount.

   Only that one side is ever set. Everything past the column — the § strip and
   the blank that balances the ToC — is the root's own leftover track space, so
   it needs no padding of its own and can never push the page sideways.

   `max()` is the graceful part: as the window narrows, the ideal padding
   shrinks to the page's ordinary gutter, and from there the column stops being
   centred rather than losing width. Below 40rem the phone block above keeps
   its tighter padding: there is no ToC beside the text and nothing to centre.
   `screen` because the print block at the end of this file resets
   `.site-main`'s padding to zero, and these selectors are the more specific
   ones. */
.site-main--act {
  max-inline-size: none;
  /* A narrow gutter above the act, 12px: right under the fixed navbar
     (whose height the first term is) and, on a phone, where that height is
     0, just below the top of the screen. Later than both `.site-main` rules
     above, so it wins over each; the other sides keep theirs. */
  padding-block-start: calc(var(--site-header-h) + 12px);
  /* `ch` in that padding has to be the ACT's `ch`, or the arithmetic centres
     the wrong width: the measure is quoted in characters, and the reader can
     change the size and the face they are characters of. `.lw-root` sets both
     properties for itself from the same values, so this is inherited by
     nothing and affects nothing but the calculation. */
  font-family: var(--lw-u-font-body, var(--vt-font));
  font-size: var(--lw-u-font-size-base, 1rem);
}

/* Stacked: the ToC sits above the text and takes no track, so the column is
   centred against nothing but itself. */
@media screen and (40rem <= width <= 65rem) {
  .site-main--act {
    padding-inline-start: max(1.5rem, calc(50% - var(--site-column) / 2 - var(--site-act-pad)));
  }
}

/* Beside: the renderer moves the ToC into the start margin once its ROOT is
   wider than 60rem, which is this 65rem of window less the padding around it.
   From here the ToC's track is what the column is centred against — the ToC
   ends up in the margin the centring opens up, which is the point. */
@media screen and (width > 65rem) {
  .site-main--act {
    padding-inline-start: max(
      1.5rem,
      calc(50% - var(--site-toc-track) - var(--site-column) / 2 - var(--site-act-pad))
    );
  }
}

/* ── The act's gutters ──────────────────────────────────────────────────
   The act has no card: `--vt-bg` is `transparent` in the dark (§ Tokens), so
   what lies behind the statute is the page itself, unbroken. What it still
   needs is room — the renderer draws the `:target` arrow `--lw-margin-width +
   --lw-highlight-pad-inline` BEFORE its text column, and that has to land on
   the page rather than off the edge of it. On a phone the renderer asks for
   less — `--lw-margin-width-narrow`, 1.375rem — which the 1rem below plus
   `.site-main`'s own 1rem covers; the §, which on a phone comes back inside
   the column and hangs off the END of its line, is covered by that same
   gutter at the other edge.

   NONE AT THE TOP: the act's one top gutter is `.site-main--act`'s 12px
   (§ The act), so it is not doubled here. On a phone the settings buttons, which stick at the root's top edge, now share
   the first row with the back button (the renderer stops the breadcrumb
   short of them, prefs.css).

   Padding is the one thing a token cannot express, so it goes in
   `lw.overrides`, the layer the renderer reserves for its host; so do the
   few other `.lw-*` rules in this file, each where its reason is. */
@layer lw.overrides {
  .site-main--act .lw-root {
    padding: 0 var(--site-act-pad) 3rem;
  }

  @media (max-width: 768px) {
    .site-main--act .lw-root {
      padding: 0 1rem 2rem;
    }

    /* The renderer's back-to-top button is sticky at the foot of the § strip,
       where the chrome's floating menu button also lives on a phone (24px +
       48px from the bottom); lift it clear. */
    .lw-scroll-top-button {
      inset-block-end: calc(24px + 48px + 1rem);
    }
  }

  /* THE SETTINGS BUTTONS ON A PHONE, as far from the right edge of the
     screen as the back button's pill is from the left. The renderer's phone
     layout (its root under 40rem, the query here) centres the pair in its
     3rem end strip. On a phone the back button hangs its pill out past the
     text's start edge by its own inset (§ The way back to the list), so its
     text lines up with the act's; the pair is pushed out past the root's end
     edge by that same `--site-back-inset`, and the two are mirror images of
     each other on the screen. The renderer stops the breadcrumb short of the
     pair with room to spare. */
  @container (inline-size < 40rem) {
    .lw-prefs-anchor {
      margin-inline-end: calc(-1 * var(--site-back-inset));
    }

    /* The phone's breadcrumb bar (the renderer's trail): its crumbs a step
       up from the renderer's small size, and the bar grown DOWN by
       `--site-trail-pad-end`, so the settings buttons, which the renderer
       sizes to within a pixel of its `--lw-trail-height`, have air above
       and below them. The crumbs are centred on the whole taller bar (it is
       a flex row, `align-items: center`). A deep link's scroll margin grows
       by the same amount, so the provision still lands clear of the bar. */
    .lw-trail-bar {
      block-size: calc(var(--lw-trail-height) + var(--site-trail-pad-end));
      font-size: 0.9375em;
    }

    /* …and the settings buttons centred on the whole taller bar, as the
       crumbs are, rather than on the renderer's `--lw-trail-height`: the
       same air above them as below, and one centre line for the row. */
    .lw-root:has(> .lw-doc > .lw-trail) .lw-prefs-anchor {
      inset-block-start: calc(
        var(--lw-header-offset) + (var(--lw-trail-height) + var(--site-trail-pad-end) - var(--lw-prefs-button-size)) / 2
      );
    }

    .lw-doc:has(> .lw-trail) .lw-block {
      scroll-margin-top: calc(
        var(--lw-header-offset) + var(--lw-trail-height) + var(--site-trail-pad-end) + var(--lw-space) * 2
      );
    }
  }

  @media print {
    .site-main--act .lw-root {
      padding: 0;
    }
  }

  /* The act's breadcrumb is one link, back to the list of acts
     (src/lib/core/act.ts), drawn as § The way back to the list below. Here,
     in the host's layer, because the crumb is the renderer's markup; these
     declarations are the renderer's small breadcrumb text being replaced. */
  .site-main--act .lw-breadcrumb {
    margin-block-end: 1rem;
  }
}

/* ── The way back to the list ───────────────────────────────────────────
   The list of acts is where a reader goes next, and the act page used to
   offer it only as small print: a breadcrumb in the renderer's muted size,
   the navbar item (behind the menu on a phone) and a text link at the foot.
   Now the top of every act is a back button, "← Svi zakoni", and the foot
   ends on the same pill: one shape for one destination, at both ends of the
   page. It is the phone's `.script-bar` pill (that switch now lives in the
   reading settings), in the page's colours, so it reads as a control and
   not as a caption, in either theme.

   Unlayered, so it outranks the renderer's `:where(a)` link colours; the
   arrows are decoration, drawn with no text, so they are not read out. */
.site-main--act .lw-breadcrumb a,
.continue-reading__all a {
  align-items: center;
  background: var(--site-card-solid);
  border: 1px solid color-mix(in oklab, var(--site-accent), transparent 45%);
  border-radius: 999px;
  color: var(--site-text);
  display: inline-flex;
  font-family: var(--vt-font);
  font-size: 15px;
  font-weight: 600;
  gap: 0.45rem;
  line-height: 1;
  padding: 0.6rem 1.05rem 0.6rem calc(var(--site-back-inset) - 1px);
  text-decoration: none;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

/* On a phone the back button's TEXT, not its pill, starts on the act's start
   edge: the pill hangs out into the gutter by its rounded end, so the arrow
   lines up with the title and the text below it. The settings buttons mirror
   it at the other edge (§ The act's gutters). The same query as the
   renderer's phone layout, so the two move together. */
@container (inline-size < 40rem) {
  .site-main--act .lw-breadcrumb a {
    margin-inline-start: calc(-1 * var(--site-back-inset));
  }
}

/* The arrows are drawn, not typed. The page's Noto Sans subsets
   (src/styles/fonts.css) carry ↑ and ↓ but not ← or →, so the glyph came
   from whatever font the device had: a heavy arrow on a desktop, a small
   hairline one on a phone. A mask in the accent colour is the same arrow
   everywhere, at the text's size and roughly its 600 weight. */
.site-main--act .lw-breadcrumb a::before,
.continue-reading__all-arrow {
  background: var(--site-accent);
  block-size: 1em;
  content: '';
  flex: none;
  inline-size: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 8h-11M7 3.5 2.5 8 7 12.5'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 8h-11M7 3.5 2.5 8 7 12.5'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.continue-reading__all-arrow {
  transform: scaleX(-1);
}

.site-main--act .lw-breadcrumb a:hover,
.continue-reading__all a:hover {
  background: color-mix(in oklab, var(--site-accent), transparent 85%);
  border-color: var(--site-accent);
  color: var(--site-accent);
}

@media print {
  .site-main--act .lw-breadcrumb {
    display: none;
  }
}

/* ── Index page: veritium.net's legal-document page hero ── */

.index-hero {
  margin-block-end: 2.5rem;
  max-inline-size: 48rem;
}

.index-hero__kicker {
  color: var(--site-accent);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.index-hero__title {
  /* .legal-document-page__title: 900, 54px on a desktop, 36px on a phone. */
  color: var(--site-text);
  font-size: clamp(36px, 2rem + 1.5vw, 54px);
  font-weight: 900;
  line-height: 1.3;
  margin: 0;
  text-wrap: balance;
}

.index-hero__lead {
  /* .legal-document-page__subtitle */
  color: var(--site-text-soft);
  font-size: 18px;
  line-height: 1.5;
  margin: 1rem 0 0;
  max-inline-size: 42rem;
  text-wrap: pretty;
}

/* ── The act index: a search box over dense rows ────────────────────────
   One row per act, no boxes: the title, its gazette citation and in-force
   date on the right, and the abstract as a single muted line. The whole row
   is the link. Built to stay scannable at hundreds of acts, which the cards
   it replaced were not. */

.act-index {
  max-inline-size: 60rem;
}

.act-search {
  margin-block-end: 1.25rem;
}

.act-search__field {
  align-items: center;
  background: var(--site-card-solid);
  border: 1px solid var(--site-rule);
  border-radius: var(--site-radius);
  display: flex;
  gap: 0.6rem;
  padding-inline: 0.9rem 0.6rem;
  transition: border-color 0.2s ease;
}

.act-search__field:focus-within {
  border-color: var(--site-accent);
}

.act-search__icon {
  block-size: 18px;
  color: var(--site-text-faint);
  flex: none;
  inline-size: 18px;
}

.act-search__input {
  appearance: none;
  background: none;
  border: 0;
  color: var(--site-text);
  flex: 1;
  font: inherit;
  font-size: 16px; /* 16px or iOS zooms on focus */
  min-inline-size: 0;
  outline: none;
  padding-block: 0.75rem;
}

.act-search__input::placeholder {
  color: var(--site-text-faint);
}

.act-search__input::-webkit-search-cancel-button {
  appearance: none;
}

.act-search__clear {
  align-items: center;
  border: 1px solid var(--site-rule);
  border-radius: 4px;
  color: var(--site-text-faint);
  display: inline-flex;
  flex: none;
  font: inherit;
  font-size: 12px;
  justify-content: center;
  line-height: 1;
  min-block-size: 1.5rem;
  min-inline-size: 1.5rem;
}

.act-search__clear {
  background: none;
  cursor: pointer;
  font-size: 16px;
}

.act-search__clear:hover {
  color: var(--site-text);
}

.act-search__status {
  color: var(--site-text-muted);
  font-size: 13px;
  margin: 0.5rem 0 0;
  min-block-size: 1lh;
}

.act-index__empty {
  color: var(--site-text-muted);
  margin: 1.5rem 0;
}

.act-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.act-list > li + li {
  border-block-start: 1px solid var(--site-rule);
}

/* Stacked, not columns: the title leads, the gazette and date follow as a
   quiet byline, the abstract under that. Reads as a list of documents, not
   as a table of records. */
.act-row {
  border-radius: var(--site-radius-card);
  color: inherit;
  display: block;
  margin-inline: -1rem;
  padding: 1rem;
  text-decoration: none;
  transition: background 0.15s ease;
}

.act-row:hover {
  background: color-mix(in oklab, var(--site-accent), transparent 93%);
}

.act-row:focus-visible {
  outline: 2px solid var(--site-accent);
  outline-offset: -2px;
}

.act-row__title {
  color: var(--site-text);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  text-wrap: balance;
  transition: color 0.15s ease;
}

.act-row:hover .act-row__title {
  color: var(--site-accent);
}

.act-row__meta {
  color: var(--site-text-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 0 0.5em;
  line-height: 1.4;
  margin: 0.3rem 0 0;
}

.act-row__meta > span + span::before {
  color: var(--site-text-faint);
  content: '·';
  margin-inline-end: 0.5em;
}

.act-row__abstract {
  color: var(--site-text-body);
  font-size: 14.5px;
  line-height: 1.5;
  margin: 0.4rem 0 0;
  max-inline-size: 72ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* The query matched inside the abstract: show all of it, so no highlight is
   hidden behind the ellipsis. */
.act-row__abstract--open {
  white-space: normal;
}

.act-row mark {
  background: color-mix(in oklab, var(--site-accent), transparent 72%);
  border-radius: 2px;
  color: inherit;
  padding-inline: 0.05em;
}

@media (max-width: 640px) {
  .act-row__abstract {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
  }

  .act-row__abstract--open {
    display: block;
  }
}

.sr-only {
  clip-path: inset(50%);
  block-size: 1px;
  inline-size: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

/* ── Continue reading: onward links at the foot of an act ──────────────
   A quiet band between the act and the footer. It is navigation, not reading,
   so it is deliberately plainer than the index page's cards: titles and their
   gazette citation, nothing else. Two or three columns on a wide window, one
   on a phone — `auto-fit` does the choosing, so there is no breakpoint here to
   keep in step with the rest of the file.

   To make the band busier or quieter, this is the whole surface: `gap` for the
   spacing, `--site-card`/`--site-card-border` on `__link` for how much each
   entry looks like a card, and `minmax(18rem, 1fr)` for how early it wraps to
   one column. */

.continue-reading {
  border-block-start: 1px solid var(--site-rule);
  box-sizing: border-box;
  inline-size: 100%;
  margin-inline: auto;
  max-inline-size: var(--site-max);
  padding: 2.5rem 1.5rem 0;
}

.continue-reading__title {
  color: var(--site-text);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0 0 1.25rem;
  text-transform: uppercase;
}

.continue-reading__list {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

/* The whole entry is the link, so the target is one box and the citation is
   not a second, separate thing to aim at. */
.continue-reading__link {
  background: var(--site-card);
  border: 1px solid var(--site-card-border);
  border-radius: var(--site-radius-card);
  display: block;
  block-size: 100%;
  padding: 1rem 1.15rem;
  text-decoration: none;
  transition:
    border-color 0.2s ease,
    color 0.2s ease;
}

.continue-reading__link:hover {
  border-color: color-mix(in oklab, var(--site-accent), transparent 60%);
}

.continue-reading__name {
  color: var(--site-text);
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  text-wrap: pretty;
}

.continue-reading__link:hover .continue-reading__name {
  color: var(--site-accent);
}

/* A consolidated act's citation is a long run of gazette issues; two lines of
   it is a reference, ten is a wall. `-webkit-box` is still the only way to
   clamp by line count, and it lays out as a block, so it is the display here. */
.continue-reading__citation {
  color: var(--site-text-muted);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.45;
  margin-block-start: 0.35rem;
}

.continue-reading__all {
  margin: 1.25rem 0 0;
}


@media (max-width: 768px) {
  .continue-reading {
    padding-inline: 1rem;
  }
}

/* ── Notice pages (404, error) ── */

.site-main--notice {
  padding-block: calc(var(--site-header-h) + 5rem) 4rem;
  max-inline-size: 42rem;
}

.notice__title {
  color: var(--site-text);
  font-size: clamp(30px, 1.5rem + 1.5vw, 40px);
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 0.75rem;
}

.notice__body {
  color: var(--site-text-soft);
  font-size: 18px;
  margin: 0 0 1.5rem;
}

/* The notice pages' button is the chrome's `.btn.primary`; its colours come
   from the `--btn-*` variables, which the chrome declares on its own roots
   only, so the page declares the dark set for the button it renders itself. */
.site-main--notice {
  --btn-primary-background: var(--site-gradient);
  --btn-primary-hover-background: linear-gradient(180deg, var(--site-accent-lo) 0%, var(--site-accent-hi) 100%);
  --btn-primary-font-color: #10131f;
  --btn-primary-hover-font-color: #10131f;
}

.site-main--notice .btn.primary {
  font-weight: 700;
}

/* ── Print: the act only ── */

@media print {
  .landing-page-navbar,
  .mobile-floating-nav,
  .mobile-menu-overlay,
  .landing-page-contact-us,
  .site-skip,
  .continue-reading {
    display: none;
  }

  /* The sheet is white, and THE CANVAS IS THE HALF THAT IS EASY TO MISS.
     Clearing the body's background is not enough twice over: the page's one
     colour is declared on `html` as well (§ The page), and even with both
     cleared an `html` still in the dark `color-scheme` makes the browser
     paint its own dark canvas underneath — which is what a printed act came
     out on, dark navy behind black text, until this line. `light` here is the
     same decision the renderer's `print.css` makes for `.lw-root`; the
     element it has to be made on belongs to this page, not to the package.

     `:root`, not `html`: the declaration this has to beat is the one in
     § Tokens, which is written `:root` too, and a pseudo-class outranks a type
     selector — spelled `html` here the line lost the cascade and changed
     nothing at all.

     Back to block flow with it: on screen the body is a flex column with a
     `100dvh` floor, so the footer sits at the foot of a short page. In paged
     media that floor is a whole PAGE — the act gets a blank sheet before or
     after it — and a flex column is the wrong root to fragment across pages
     in the first place. */
  :root {
    color-scheme: light;
  }

  :root,
  body {
    background: none;
    color: #000;
  }

  body {
    display: block;
    min-height: 0;
  }

  .site-main {
    padding: 0;
    max-inline-size: none;
  }
}
