diff options
64 files changed, 18979 insertions, 1 deletions
diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..cf0805c --- /dev/null +++ b/css/style.css @@ -0,0 +1,353 @@ +/* CSS Custom Properties for Theming */ +:root { + --primary-color: #2563eb; + --secondary-color: #64748b; + --accent-color: #f59e0b; + --text-color: #1f2937; + --bg-color: #ffffff; + --bg-secondary: #f8fafc; + --border-color: #e2e8f0; + --shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + --font-size-base: 16px; + --line-height: 1.6; + --spacing-xs: 0.5rem; + --spacing-sm: 0.75rem; + --spacing-md: 1rem; + --spacing-lg: 1.5rem; + --spacing-xl: 2rem; + --max-width: 1200px; + --header-height: 60px; +} + +@media (prefers-color-scheme: dark) { + :root { + --text-color: #f1f5f9; + --bg-color: #0f172a; + --bg-secondary: #1e293b; + --border-color: #334155; + --shadow: 0 1px 3px rgba(0, 0, 0, 0.3); + } +} + +/* Reset and Base Styles */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html { + scroll-behavior: smooth; +} + +body { + font-family: var(--font-family); + font-size: var(--font-size-base); + line-height: var(--line-height); + color: var(--text-color); + background-color: var(--bg-color); +} + +/* Typography */ +h1, h2, h3, h4, h5, h6 { + margin-bottom: var(--spacing-md); + font-weight: 600; +} + +h1 { font-size: 2.5rem; } +h2 { font-size: 2rem; } +h3 { font-size: 1.5rem; } +h4 { font-size: 1.25rem; } + +p { + margin-bottom: var(--spacing-md); +} + +a { + color: var(--primary-color); + text-decoration: none; + transition: color 0.2s ease; +} + +a:hover { + color: var(--accent-color); +} + +code { + background-color: var(--bg-secondary); + padding: 0.125rem 0.25rem; + border-radius: 4px; + font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; + font-size: 0.875rem; +} + +pre { + background-color: var(--bg-secondary); + padding: var(--spacing-md); + border-radius: 8px; + overflow-x: auto; + margin: var(--spacing-md) 0; +} + +pre code { + background: none; + padding: 0; +} + +.cta-button { + display: inline-block; + background-color: var(--primary-color); + color: white; + padding: var(--spacing-sm) var(--spacing-md); + border-radius: 6px; + font-weight: 600; + transition: background-color 0.2s ease; +} + +.cta-button:hover { + background-color: #1d4ed8; +} + +/* Layout */ +.container { + max-width: var(--max-width); + margin: 0 auto; + padding: 0 var(--spacing-md); +} + +/* Header and Navigation */ +header { + position: sticky; + top: 0; + background-color: var(--bg-color); + border-bottom: 1px solid var(--border-color); + z-index: 100; + height: var(--header-height); +} + +nav { + display: flex; + align-items: center; + justify-content: space-between; + height: 100%; + padding: 0 var(--spacing-md); +} + +.logo { + font-size: 1.5rem; + font-weight: bold; + color: var(--primary-color); +} + +.nav-links { + display: flex; + list-style: none; + gap: var(--spacing-lg); +} + +.nav-links a { + padding: var(--spacing-sm); + transition: all 0.2s ease; +} + +.nav-links a:hover, +.nav-links a.active { + color: var(--accent-color); + border-bottom: 2px solid var(--accent-color); +} + +/* Mobile Navigation */ +.mobile-menu-toggle { + display: none; + background: none; + border: none; + font-size: 1.5rem; + cursor: pointer; +} + +#mobile-menu { + display: none; +} + +#mobile-menu:checked ~ .nav-links { + display: flex; + flex-direction: column; + position: absolute; + top: var(--header-height); + left: 0; + right: 0; + background-color: var(--bg-color); + border-top: 1px solid var(--border-color); + padding: var(--spacing-md); +} + +/* Main Content */ +main { + padding-top: var(--spacing-xl); +} + +section { + padding: var(--spacing-xl) 0; + border-bottom: 1px solid var(--border-color); +} + +section:last-of-type { + border-bottom: none; +} + +/* Hero Section */ +.hero { + text-align: center; + background-color: var(--bg-secondary); + padding: var(--spacing-xl) 0; +} + +.hero h1 { + margin-bottom: var(--spacing-md); +} + +.hero p { + font-size: 1.25rem; + margin-bottom: var(--spacing-lg); +} + +/* Content Sections */ +.content-section { + display: grid; + grid-template-columns: 1fr; + gap: var(--spacing-lg); +} + +@media (min-width: 768px) { + .content-section { + grid-template-columns: 1fr 2fr; + } +} + +.sidebar { + background-color: var(--bg-secondary); + padding: var(--spacing-lg); + border-radius: 8px; +} + +.main-content { + padding-left: var(--spacing-lg); +} + +/* Features Grid */ +.features { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: var(--spacing-lg); + margin-top: var(--spacing-lg); +} + +.feature-card { + background-color: var(--bg-secondary); + padding: var(--spacing-lg); + border-radius: 8px; + box-shadow: var(--shadow); +} + +.feature-card h3 { + color: var(--primary-color); + margin-bottom: var(--spacing-sm); +} + +/* Footer */ +footer { + background-color: var(--bg-secondary); + padding: var(--spacing-xl) 0; + text-align: center; + border-top: 1px solid var(--border-color); +} + +/* Responsive Design */ +@media (max-width: 768px) { + .nav-links { + display: none; + } + + .mobile-menu-toggle { + display: block; + } + + #mobile-menu:checked ~ .nav-links { + display: flex; + } +} + + h1 { font-size: 2rem; } + h2 { font-size: 1.75rem; } + + .container { + padding: 0 var(--spacing-sm); + } + + section { + padding: var(--spacing-lg) 0; + } +} + +@media (max-width: 480px) { + .hero h1 { + font-size: 1.75rem; + } + + .features { + grid-template-columns: 1fr; + } +} + +/* Parallax Styles */ +[data-speed] { + will-change: transform; + backface-visibility: hidden; + transform: translateZ(0); +} + +@media (max-width: 768px) { + [data-speed] { + will-change: auto; + transform: none !important; + } +} + +/* WebGL Background Canvas */ +#webgl-bg { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + z-index: -1; + pointer-events: none; +} + +/* Accessibility */ +@media (prefers-reduced-motion: reduce) { + html { + scroll-behavior: auto; + } + + * { + transition: none; + } + + [data-speed] { + will-change: auto; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +}
\ No newline at end of file diff --git a/docs/archive/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css b/docs/archive/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css new file mode 100644 index 0000000..4c21b9a --- /dev/null +++ b/docs/archive/assets/chroma-dark-s4ssx3zwz2w418zx7pkrqlwqmywgvahl.css @@ -0,0 +1,8 @@ +/*! +SPDX-FileCopyrightText: 2021–2026 toastal <https://toast.al/contact/> +SPDX-License-Identifier: MPL-2.0 + +sugilite256, an 8-bit color scheme wiþ extra purple +Support ð project: https://toast.al/funding +*/ +.chroma .err,pre.code .err{color:#eee;background-color:red}.chroma .k,pre.code .k,.chroma .kd,pre.code .kd,.chroma .kn,pre.code .kn,.chroma .kp,pre.code .kp,.chroma .kr,pre.code .kr,.chroma .kr,pre.code .kr{color:#875fff;font-weight:700}.chroma .na,pre.code .na{color:#af87ff}.chroma .nt,pre.code .nt{color:#af5fff}.chroma .bp,pre.code .bp,.chroma .p,pre.code .p{color:#b2b2b2}.chroma .ld,pre.code .ld{color:#87afff}.chroma .s,pre.code .s,.chroma .sa,pre.code .sa,.chroma .sb,pre.code .sb{color:#ffafaf}.chroma .sc,pre.code .sc{color:#d700af}.chroma .sd,pre.code .sd,.chroma .s2,pre.code .s2,.chroma .se,pre.code .se,.chroma .sh,pre.code .sh,.chroma .si,pre.code .si,.chroma .sr,pre.code .sr{color:#ffafaf}.chroma .ss,pre.code .ss{color:#d70087;font-weight:700}.chroma .m,pre.code .m,.chroma .mb,pre.code .mb,.chroma .mf,pre.code .mf,.chroma .mh,pre.code .mh,.chroma .mi,pre.code .mi,.chroma .il,pre.code .il,.chroma .mo,pre.code .mo{color:#87afff}.chroma .nc,pre.code .nc{color:#d7afff}.chroma .kt,pre.code .kt{color:#d787ff}.chroma .n,pre.code .n{color:#af87ff}.chroma .nl,pre.code .nl{color:#d70087;font-weight:700}.chroma .nn,pre.code .nn{color:#d787ff}.chroma .nb,pre.code .nb{color:#d70087;font-weight:700}.chroma .o,pre.code .o{color:#875fd7}.chroma .gp,pre.code .gp{color:#af87ff;-webkit-user-select:none;user-select:none}.chroma .go,pre.code .go{color:#ff87af}.chroma .cl,pre.code .cl{color:#b2b2b2}.chroma .c,pre.code .c,.chroma .ch,pre.code .ch,.chroma .cm,pre.code .cm,.chroma .c1,pre.code .c1,.chroma .cs,pre.code .cs{color:#8a8a8a}.chroma .cp,pre.code .cp,.chroma .cpf,pre.code .cpf{color:#ff5fd7}.chroma .gh,pre.code .gh,.chroma .gs,pre.code .gs{font-weight:700}.chroma .gu,pre.code .gu{font-style:italic}.chroma .gl,pre.code .gl{text-decoration-line:underline}
\ No newline at end of file diff --git a/docs/archive/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css b/docs/archive/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css new file mode 100644 index 0000000..847f694 --- /dev/null +++ b/docs/archive/assets/chroma-light-yfrfnk1zyqm9dc67gaa5y67s0a6x40ji.css @@ -0,0 +1,8 @@ +/*! +SPDX-FileCopyrightText: 2021–2026 toastal <https://toast.al/contact/> +SPDX-License-Identifier: MPL-2.0 + +sugilite256, an 8-bit color scheme wiþ extra purple +Support ð project: https://toast.al/funding +*/ +.chroma .err,pre.code .err{color:#000;background-color:red}.chroma .k,pre.code .k,.chroma .kd,pre.code .kd,.chroma .kn,pre.code .kn,.chroma .kp,pre.code .kp,.chroma .kr,pre.code .kr,.chroma .kr,pre.code .kr{color:#5f00d7;font-weight:700}.chroma .na,pre.code .na{color:#5f00af}.chroma .nt,pre.code .nt{color:#5f005f}.chroma .bp,pre.code .bp,.chroma .p,pre.code .p{color:#444}.chroma .ld,pre.code .ld{color:#5f87ff}.chroma .s,pre.code .s,.chroma .sa,pre.code .sa,.chroma .sb,pre.code .sb{color:#af5f5f}.chroma .sc,pre.code .sc{color:#af00d7}.chroma .sd,pre.code .sd,.chroma .s2,pre.code .s2,.chroma .se,pre.code .se,.chroma .sh,pre.code .sh,.chroma .si,pre.code .si,.chroma .sr,pre.code .sr{color:#af5f5f}.chroma .ss,pre.code .ss{color:#af005f;font-weight:700}.chroma .m,pre.code .m,.chroma .mb,pre.code .mb,.chroma .mf,pre.code .mf,.chroma .mh,pre.code .mh,.chroma .mi,pre.code .mi,.chroma .il,pre.code .il,.chroma .mo,pre.code .mo{color:#5f87ff}.chroma .nc,pre.code .nc{color:#5f0087}.chroma .kt,pre.code .kt{color:#8700af}.chroma .n,pre.code .n{color:#5f00af}.chroma .nl,pre.code .nl{color:#af005f;font-weight:700}.chroma .nn,pre.code .nn{color:#8700af}.chroma .nb,pre.code .nb{color:#af005f;font-weight:700}.chroma .o,pre.code .o{color:#5f00ff}.chroma .gp,pre.code .gp{color:#5f00af;-webkit-user-select:none;user-select:none}.chroma .go,pre.code .go{color:#d700d7}.chroma .cl,pre.code .cl{color:#444}.chroma .c,pre.code .c,.chroma .ch,pre.code .ch,.chroma .cm,pre.code .cm,.chroma .c1,pre.code .c1,.chroma .cs,pre.code .cs{color:#6c6c6c}.chroma .cp,pre.code .cp,.chroma .cpf,pre.code .cpf{color:#af00d7}.chroma .gh,pre.code .gh,.chroma .gs,pre.code .gs{font-weight:700}.chroma .gu,pre.code .gu{font-style:italic}.chroma .gl,pre.code .gl{text-decoration-line:underline}
\ No newline at end of file diff --git a/docs/archive/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css b/docs/archive/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css new file mode 100644 index 0000000..afbfdcd --- /dev/null +++ b/docs/archive/assets/font-j47xx20z5d89qpsl95nnbipkg6d25m6y.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2026 toastal <https://toast.al/contact/> + * SPDX-License-Identifier: MPL-2.0 */ +@font-face{font-family:League Mono;font-style:normal;font-weight:100 900;font-stretch:50 200;src:local(LeagueMono-VF),local(League Mono VF),url(/asset/league-mono/LeagueMono-VF.woff2)format("woff2-variations")}:root{--font-mono:"League Mono", monospace;--font-body:"League Mono", system-ui, sans-serif;--font-display:"League Mono", serif}
\ No newline at end of file diff --git a/docs/archive/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css b/docs/archive/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css new file mode 100644 index 0000000..8fe6271 --- /dev/null +++ b/docs/archive/assets/main-lmdn1rci18371fnrcqrwga636ip08irz.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2025–2026 toastal <https://toast.al/contact/> + * SPDX-License-Identifier: MPL-2.0 */ +:root{--font-size-base:1rem;--line-height-ratio:1.6;--scale-ratio:1.2;--size-rhyðm-unit:calc(var(--font-size-base) * var(--line-height-ratio));--font-size--2:.694444rem;--line-height--2:2.304;--font-size--1:.833333rem;--line-height--1:1.92;--font-size-0:1rem;--line-height-0:1.6;--font-size-1:1.2rem;--line-height-1:2.66667;--font-size-2:1.44rem;--line-height-2:2.22222;--font-size-3:1.728rem;--line-height-3:1.85185;--font-size-4:2.0736rem;--line-height-4:2.31481;--font-size-5:2.48832rem;--line-height-5:1.92901;--size-rhyðm-0_25:calc(var(--size-rhyðm-unit) * .25);--size-rhyðm-0_5:calc(var(--size-rhyðm-unit) * .5);--size-rhyðm-0_75:calc(var(--size-rhyðm-unit) * .75);--size-rhyðm-1:calc(var(--size-rhyðm-unit) * 1);--size-rhyðm-1_5:calc(var(--size-rhyðm-unit) * 1.5);--size-rhyðm-2:calc(var(--size-rhyðm-unit) * 2)}html{font-size:100%}body{font-size:var(--font-size-base);line-height:var(--line-height-0);text-rendering:optimizelegibility}h1{font-size:var(--font-size-5);line-height:var(--line-height-5);margin-block:var(--size-rhyðm-2) var(--size-rhyðm-1)}h2{font-size:var(--font-size-4);line-height:var(--line-height-4);margin-block:var(--size-rhyðm-2) var(--size-rhyðm-1)}h3{font-size:var(--font-size-3);line-height:var(--line-height-3);margin-block:var(--size-rhyðm-1_5) var(--size-rhyðm-0_75)}h4{font-size:var(--font-size-2);line-height:var(--line-height-2);margin-block:var(--size-rhyðm-1_5) var(--size-rhyðm-0_5)}h5{font-size:var(--font-size-1);line-height:var(--line-height-1);margin-block:var(--size-rhyðm-1) var(--size-rhyðm-0_5)}h6{font-size:var(--font-size-0);line-height:var(--line-height-0);margin-block:var(--size-rhyðm-1) var(--size-rhyðm-0_5);font-weight:600}p,ul,ol,dl,pre,blockquote,figure,table{margin-block:var(--size-rhyðm-1)}p+p{margin-top:var(--size-rhyðm-1)}li{margin-block:var(--size-rhyðm-0_25)}hr{margin-block:var(--size-rhyðm-2);border:0;border-top:1px solid}callout,figcaption,small,code,pre{font-size:var(--font-size--1);line-height:var(--line-height--1)}pre{padding:var(--size-rhyðm-1);overflow-x:auto}embed,iframe,img,video,svg{max-width:100%;height:auto;margin-block:var(--size-rhyðm-1);display:block}:root[data-debug~=rhyðm]{background-image:repeating-linear-gradient(to bottom, color-mix(in oklab, currentColor 15%, transparent), color-mix(in oklab, currentColor 15%, transparent) 1px, transparent 1px, transparent var(--size-rhyðm-unit));background-size:100% var(--size-rhyðm-unit)}:root[data-debug~=rhyðm-half]{background-image:repeating-linear-gradient(to bottom, color-mix(in oklab, currentColor 10%, transparent), color-mix(in oklab, currentColor 10%, transparent) 1px, transparent 1px, transparent calc(var(--size-rhyðm-unit) / 2))}:root{--page-pad:clamp(1.4rem, 3vw, 3.2rem)}html,body{block-size:100%}body{margin:0}:where(callout,canvas,img,picture,video,svg){display:block}:where(canvas,code,img,kbd,picture,pre,samp,svg,table,var,video){max-inline-size:100%}.DocWrapper{flex-flow:column;display:flex}.Main{flex-grow:1}.Main,.Banner,.Footer{padding:calc(.75*var(--page-pad)) var(--page-pad)}.Headline :first-child{margin-block-start:0}pre,.table-wrapper,.Callout,.Callout-title,.Quoteblock{margin-inline:calc(-.375*var(--page-pad));inline-size:calc(100% + .75*var(--page-pad))}.table-wrapper{overflow:auto}pre,.Callout,.Callout-title,.Quoteblock{padding:calc(.375*var(--page-pad)) calc(.75*var(--page-pad))}.Callout:has(.Callout-title){padding-block-start:0}.Callout-title{margin-inline:calc(-.75*var(--page-pad));inline-size:calc(100% + 1.5*var(--page-pad))}@media screen and (width>=51em){@supports (display:grid){.DocWrapper{row-gap:var(--page-pad);column-gap:calc(var(--page-pad)*1.5);grid-template-rows:minmax(max-content,1fr) min-content;grid-template-columns:minmax(1.6rem,1fr) minmax(6rem,8rem) minmax(0,65rem) minmax(1.6rem,1fr);display:grid}.Main,.Banner,.Footer{padding-inline:0}.Banner-wrapper{grid-area:1/2/3/3}.Banner{position:sticky;top:0}.Main{grid-row:1/2}.Footer{grid-row:2/3}.Main,Footer{grid-column:3/4}.Navigation{text-align:end}}}*,:before,:after{box-sizing:border-box}:where(:root){--color-bg:Canvas;--color-text:CanvasText;--color-code-bg:color-mix(in lab, Canvas 95%, CanvasText 5%);--font-mono:"League Mono", monospace;--font-body:"League Mono", system-ui, sans-serif;--font-display:"League Mono", serif;font-family:var(--font-body);tab-size:3}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-variant-ligatures:common-ligatures;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;hanging-punctuation:force-end;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:where(input,button,textarea,select){font:inherit}:where(code,kbd,pre,samp,var){font-variant-ligatures:none;text-transform:none;-webkit-hyphens:none;hyphens:none}abbr[title]{-webkit-text-decoration-color:color-mix(in lab, currentColor, transparent);text-decoration-color:color-mix(in lab, currentColor, transparent)}code,kbd,pre,samp,var,.Callout{background-color:var(--color-code-bg)}code,kbd,pre,samp,var{font-family:var(--font-mono)}code,kbd,samp,var{padding-block:.125em;padding-inline:.25em}h1 code,h1 kbd,h1 samp,h1 var,h2 code,h2 kbd,h2 samp,h2 var,h3 code,h3 kbd,h3 samp,h3 var,h4 code,h4 kbd,h4 samp,h4 var,h5 code,h5 kbd,h5 samp,h5 var,h6 code,h6 kbd,h6 samp,h6 var{font-family:var(--font-body)}h1 a.toc-backref,h2 a.toc-backref,h3 a.toc-backref,h4 a.toc-backref,h5 a.toc-backref,h6 a.toc-backref{color:inherit}h1{font-weight:800;font-stretch:150%}h1:first-letter{letter-spacing:-.04375em;font-stretch:200%}h3{font-weight:250}caption,dt,summary{inline-size:100%;font-weight:600}caption,.Callout-title{background:var(--color-text);color:var(--color-bg);text-transform:uppercase;font-stretch:80%}dt{font-style:italic}.DocWrapper{min-block-size:100%}.Main,.Footer{max-inline-size:80ch}.Banner-separator{display:none}.Footer{opacity:.666667;font-stretch:66.67%}.Headline{margin-block-end:var(--page-pad)}.Headline [itemprop=headline]{margin-block-end:0}.Headline [itemprop=alternativeHeadline]{margin-block:0 var(--size-rhyðm-0_5);color:color-mix(in lab, currentColor 75%, transparent 25%);font-size:var(--font-size-2);line-height:var(--line-height-2);font-stretch:80%}.Callout{border:2px dotted}.Callout-title{display:block}blockquote{position:relative}blockquote:before{content:"❝";z-index:-1;opacity:.2;text-align:end;width:1em;height:1em;margin-inline-start:-1.125em;font-size:4em;line-height:1;position:absolute;top:0;left:0}.Quoteblock>blockquote{margin-inline:0}.Quoteblock>figcaption{font-weight:600;font-stretch:70%}#table-of-contents{border:1px inset;padding:1em 1.5em;font-size:.9em}#table-of-contents p{margin:0}#table-of-contents>:first-child{margin-block-start:0}#table-of-contents>:last-child{margin-block-end:0}.footnote-list{border-top:1px dashed canvastext;grid-template-columns:min-content auto;align-items:baseline;gap:1em 1.5em;padding-top:1.5em;font-size:.8em;display:grid}.footnote-list .footnote{grid-template-columns:subgrid;grid-column:1/3;grid-template-rows:masonry;align-items:start;display:grid}.footnote-list .footnote>.label,.footnote-list .footnote>.backrefs{grid-column:1/2;justify-self:end}.footnote-list .footnote>.label{grid-row:1/2;font-weight:550}.footnote-list .footnote>.backrefs{grid-row:2/3;font-weight:350}.footnote-list .footnote>p{grid-area:1/2/3/3;margin:0}a[href].bad-proprietary{-webkit-text-decoration:underline wavy red;text-decoration:underline wavy red}.Banner{justify-content:space-between;align-items:flex-end;gap:calc(.5*var(--page-pad));border-block-end:.5px solid;flex-flow:wrap;display:flex}.Banner a{color:inherit}.Banner a:not(:hover):not(:focus-within){text-decoration:none}.Banner-flair{display:none}.SiteLogo{flex:none}.SiteLogo-image{fill:currentColor;inline-size:100%;max-inline-size:10rem;margin:0}.Navigation{flex-flow:wrap;gap:.5em 1em;display:flex}.Navigation-item{font-variant:small-caps}@media screen and (width>=51em){@supports (display:grid){.Banner{border-block-end:none}.SiteLogo{flex-shrink:1}.Navigation{flex-flow:column;inline-size:100%;display:flex}}}table.comparison{border-collapse:separate;font-size:90%;position:relative}table.comparison thead thead{z-index:2;position:sticky;top:0}table.comparison thead th{z-index:1;position:sticky;top:0}table.comparison thead th:first-child{z-index:2;background:canvas;background:var(--color-bg);position:sticky;left:0}table.comparison thead th:not(:first-child){text-align:center;background:#eee;background:color-mix(in lab, Canvas 94%, CanvasText 6%)}table.comparison thead p{margin-block:.125em}table.comparison tbody td:first-child{background:canvas;background:var(--color-bg);position:sticky;left:0}table.comparison tbody tr:nth-child(odd) td:first-child{background:color-mix(in lab, Canvas 96.25%, CanvasText 3.75%)}table.comparison tbody td:not(:first-child){text-align:center;background:#eee;background:color-mix(in lab, Canvas 94%, CanvasText 6%)}table.comparison tbody td.good{background:#afd700}table.comparison tbody td.somewhat{background:#ffd787}table.comparison tbody td.bad{background:#ff5f5f}table.comparison tbody td.doesn’t-apply{color:color-mix(in lab, CanvasText 60%, Canvas 40%)}@media (prefers-colo |
