﻿:root{color-scheme:dark;--bg: #272836;--surface: #303140;--text: #f5f5fa;--muted: #c2c3d4;--accent: #aaa5ff;--button: #8982ff;--button-text: #101126;--pink: #ff9bc8;--line: #535467;--card-start: #0a1926;--card-end: #3d205e;--code-bg: #111422;--focus: #ffd05f}:root[data-theme=light]{color-scheme:light;--bg: #f7f7fc;--surface: #fff;--text: #202136;--muted: #51546b;--accent: #5141b3;--button: #5141b3;--button-text: #fff;--pink: #9f165a;--line: #c5c5d8;--card-start: #fff;--card-end: #ede8ff;--code-bg: #eeeeF7;--focus: #704900}*{box-sizing:border-box}:root{--control-h: 32px}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}[hidden]{display:none !important}img,video{max-width:100%;height:auto}img{vertical-align:middle}a{color:var(--accent);text-underline-offset:.22em;overflow-wrap:anywhere}a:hover{text-decoration-thickness:.15em}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}summary{min-height:44px}input,select,button{min-height:var(--control-h)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,h4,h5,h6{line-height:1.25;text-wrap:balance}h1{font-size:clamp(1.6rem,3.44vw,2.88rem);letter-spacing:-0.035em}h2{font-size:1.2rem}h3{font-size:.936em}h4{font-size:.8em}h5{font-size:.664em}h6{font-size:.536em}p{margin-top:0}::selection{background:var(--button);color:var(--button-text)}.container{width:min(1240px,100% - 3rem);margin-inline:auto}main{min-height:55vh;padding-block:2.5rem 5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:.5rem;left:1rem;z-index:20;padding:.75rem 1rem;background:var(--text);color:var(--bg);transform:translateY(-180%)}.skip-link:focus{transform:none}.eyebrow{color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:650}.muted{color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;padding:.1rem 1.4rem;min-height:var(--control-h);border:1px solid rgba(0,0,0,0);border-radius:999px;background:var(--button);color:var(--button-text);font-weight:650;line-height:1.32;text-decoration:none}.button:hover{text-decoration:underline}.button.secondary{background:rgba(0,0,0,0);border-color:var(--line);color:var(--text)}.text-button{border:0;background:none;color:var(--accent);text-align:left;padding:0;text-decoration:underline}@media(max-width: 38rem){.container{width:calc(100% - 2rem)}main{padding-top:1.5rem}}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none !important;transition:none !important}}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2rem}.brand{display:flex;align-items:center;gap:1.8rem;text-decoration:none;color:var(--text);min-width:0}.brand img{width:clamp(180px,24vw,320px);aspect-ratio:320/82;object-fit:contain}.brand-caption{font-size:1.3rem;font-weight:700;line-height:1.3}.brand-caption span{display:block;font-size:.85rem;color:var(--muted);margin-top:.5rem;font-weight:400}.primary-nav{display:flex;flex-wrap:wrap;gap:.2rem 1.5rem;padding-bottom:.75rem}.primary-nav a{padding-block:.6rem;text-decoration:none;font-weight:550;color:var(--muted)}.primary-nav a[aria-current],.primary-nav a:hover{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px}.theme-toggle{flex-shrink:0;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:.1rem .9rem;font-size:.85rem}@media(max-width: 56rem){.brand-caption{display:none}}@media(max-width: 38rem){.header-inner{padding-block:1.25rem;gap:.5rem}.primary-nav{gap:0 1.15rem;font-size:.9rem}}@font-face{font-family:"Atkinson Hyperlegible";src:url("../fonts/atkinson-400.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"Atkinson Hyperlegible";src:url("../fonts/atkinson-700.woff2") format("woff2");font-weight:700;font-display:swap}@font-face{font-family:"Lexend";src:url("../fonts/lexend-400.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"Lexend";src:url("../fonts/lexend-700.woff2") format("woff2");font-weight:700;font-display:swap}@font-face{font-family:"OpenDyslexic";src:url("../fonts/opendyslexic-400.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"OpenDyslexic";src:url("../fonts/opendyslexic-700.woff2") format("woff2");font-weight:700;font-display:swap}html[data-a11y-text=large]{font-size:112.5%}html[data-a11y-text=xlarge]{font-size:125%}html[data-a11y-line=large] body,html[data-a11y-line=large] :is(.prose p,.prose li,.card-excerpt){line-height:1.9}html[data-a11y-line=xlarge] body,html[data-a11y-line=xlarge] :is(.prose p,.prose li,.card-excerpt){line-height:2.15}html[data-a11y-line] :is(button:not(.button),input,select){line-height:1.4}html[data-a11y-letter=large] body{letter-spacing:.04em;word-spacing:.08em}html[data-a11y-letter=xlarge] body{letter-spacing:.08em;word-spacing:.16em}html[data-a11y-letter] :is(code,pre,textarea,.json-field){letter-spacing:normal;word-spacing:normal}html[data-a11y-width=narrow] :is(.post-heading,.article-main,.page-heading,.page-content>.prose:not(.tools-page,.wide-page)){max-width:72ch}html[data-a11y-width=narrow] .page-content>.prose:not(.tools-page,.wide-page){margin-inline:auto}html[data-a11y-font=lexend]{--a11y-font: "Lexend", system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif}html[data-a11y-font=atkinson]{--a11y-font: "Atkinson Hyperlegible", Verdana, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif}html[data-a11y-font=opendyslexic]{--a11y-font: "OpenDyslexic", "Comic Sans MS", system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif}html[data-a11y-font] :is(body,button,input,select,textarea){font-family:var(--a11y-font)}html[data-a11y-font] :is(code,pre,kbd,samp,.json-field){font-family:"Cascadia Code",Consolas,monospace}html:root[data-a11y-tint=cream]{color-scheme:light;--bg: #fbf3df;--surface: #fffaf0;--text: #2f291f;--muted: #5d5141;--accent: #4c3ca8;--button: #4c3ca8;--button-text: #fff;--pink: #8f1650;--line: #9c8c66;--card-start: #fffaf0;--card-end: #f2e6c9;--code-bg: #f3e8cd;--focus: #704900}html[data-a11y-contrast=more]:not([data-theme=light],[data-a11y-tint=cream]){--text: #fff;--muted: #e2e3ef;--accent: #c8c4ff;--line: #9294aa;--pink: #ffc0dc}html[data-a11y-contrast=more]:is([data-theme=light],[data-a11y-tint=cream]){--text: #111;--muted: #2f3042;--accent: #3a2c91;--button: #3a2c91;--line: #626579;--pink: #760d42}html[data-a11y-underline=on] :is(main,footer) a:not(.button,.chip,.tool-card,.share-button){text-decoration:underline;text-decoration-thickness:max(1px,.08em);text-underline-offset:.15em}html[data-a11y-motion=reduce]{scroll-behavior:auto}html[data-a11y-motion=reduce] *,html[data-a11y-motion=reduce] *::before,html[data-a11y-motion=reduce] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.header-actions{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.a11y-menu{position:relative}.a11y-toggle{flex-shrink:0;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:.1rem .9rem;font-size:.85rem}.a11y-toggle[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.a11y-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:30;width:min(32rem,100vw - 2rem);max-height:min(42rem,100vh - 6rem);overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);color:var(--text);box-shadow:0 1rem 3rem rgba(0,0,0,.4);line-height:1.4;letter-spacing:normal;word-spacing:normal}.a11y-panel[hidden]{display:none}.a11y-panel h2{margin:0;color:var(--accent);font-size:.92rem}.a11y-panel .a11y-choice>span,.a11y-panel .a11y-field>label{min-width:0;font-size:.85rem;font-weight:650;overflow-wrap:anywhere}.a11y-choice,.a11y-field{display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);align-items:center;gap:.75rem;padding:.7rem 0;border-top:1px solid var(--line)}.a11y-panel-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.a11y-panel-title{display:flex;align-self:stretch;align-items:center;gap:.5rem;min-width:0}.a11y-info{display:flex;align-self:stretch;align-items:center}.a11y-info-toggle{display:flex;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);padding:0;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--accent);font-size:.85rem;font-weight:700}.a11y-credit{position:absolute;top:100%;left:0;right:0;z-index:1;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--text);box-shadow:0 .4rem 1rem rgba(0,0,0,.2666666667);font-size:.85rem;overflow-wrap:anywhere}.a11y-credit a{color:var(--accent);text-decoration:underline}.a11y-close{flex-shrink:0;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(0,0,0,0);color:var(--text);font-size:1.35rem;line-height:1}.a11y-segments{display:flex;gap:.25rem;padding:.2rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg)}.a11y-segments label{position:relative;flex:1;min-width:0}.a11y-segments input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.a11y-segments span{display:flex;align-items:center;justify-content:center;min-height:calc(var(--control-h) - .4rem - 2px);padding:.1rem .45rem;border-radius:calc(0.5rem - .2rem);color:var(--muted);font-size:.82rem;font-weight:650;text-align:center;overflow-wrap:anywhere}.a11y-segments input:checked+span{background:var(--button);color:var(--button-text)}.a11y-segments input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.a11y-field select{width:100%;min-width:0;min-height:var(--control-h);padding:0 .45rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--text);font:inherit}.a11y-range{display:flex;align-items:center;gap:.6rem;min-width:0}.a11y-range input{flex:1;min-width:0;margin:0;accent-color:var(--button)}.a11y-range output{flex:0 0 auto;min-width:3.4rem;font-size:.82rem;font-weight:650;text-align:right;font-variant-numeric:tabular-nums}.a11y-switches{display:grid;padding:.35rem 0 .7rem;border-top:1px solid var(--line)}.a11y-switches label{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;font-size:.85rem;cursor:pointer}.a11y-switches input{appearance:none;position:relative;flex:0 0 auto;width:2.6rem;height:1.45rem;min-height:0;margin:0;border:1px solid var(--line);border-radius:999px;background:var(--bg);cursor:pointer}.a11y-switches input::after{content:"";position:absolute;top:.16rem;left:.18rem;width:1rem;height:1rem;border-radius:50%;background:var(--muted);transition:transform .15s ease}.a11y-switches input:checked{border-color:var(--button);background:var(--button)}.a11y-switches input:checked::after{background:var(--button-text);transform:translateX(1.1rem)}.a11y-switches input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.a11y-reset{width:100%}@media(max-width: 38rem){.header-actions{flex-direction:column;align-items:flex-end}.a11y-panel{position:fixed;top:1rem;right:1rem;left:1rem;width:auto;max-height:calc(100vh - 2rem)}}@media(forced-colors: active){.a11y-segments input:checked+span,.a11y-switches input:checked{forced-color-adjust:none;background:Highlight;color:HighlightText}.a11y-switches input::after{background:ButtonText}}.hero{padding:1.5rem 0 3rem;border-bottom:1px solid var(--line);margin-bottom:3rem}.hero h1{margin:1rem 0 1.25rem;max-width:20ch}.hero h1 span{color:var(--accent)}.hero-description{max-width:62ch;color:var(--muted);font-size:1.1rem;margin-bottom:1.75rem}.hero-search{max-width:38rem;margin-bottom:1.5rem}.hero-search .search-form{margin:0}.hero-search input{padding:.8rem 1.25rem;font-size:1rem}.hero-secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.9rem}.hero-secondary .share-links{margin:0}.hero-follow{margin:0;color:var(--muted)}.hero-follow a{display:inline-block;padding-block:.6rem}.hero-topics{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:2rem}.hero-topics a{font-size:.88rem;text-decoration:none;padding-block:.35rem}.hero-topics a span{color:var(--muted);padding-left:.4rem}.content-grid{display:grid;grid-template-columns:260px minmax(0, 1fr);gap:2.5rem;align-items:start}.post-list{min-width:0;scroll-margin-top:1rem}.home-latest{min-width:0;display:grid;gap:2.5rem}.home-tool-gallery{list-style:none;padding:0;margin:0}.home-tool-gallery>li{min-width:0;display:flex}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.section-heading h2{margin:0;font-size:.88rem}.section-heading a{font-size:.9rem}.page-heading{margin-bottom:2.5rem}.page-heading h1{margin-top:.7rem;color:var(--accent)}.page-heading p{color:var(--muted);max-width:70ch}.page-content{max-width:100%}.archive-year{font-size:.96rem;color:var(--muted);margin-top:0}.pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:2rem}.pagination span{color:var(--muted);font-size:.9rem}@media(max-width: 56rem){.content-grid{grid-template-columns:minmax(0, 1fr)}.sidebar{order:2}}.post-card{display:flex;align-items:stretch;gap:1.5rem;padding:1.5rem;border-radius:1rem;background:linear-gradient(115deg, var(--card-start), var(--card-end));margin-bottom:1rem;border:1px solid rgba(0,0,0,0)}.post-card:hover{border-color:var(--line)}.post-card h2{font-size:.96rem;font-weight:600;margin:.35rem 0 .7rem}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{text-decoration:underline}.card-image{flex:0 0 180px;display:block;margin:-1.5rem 0 -1.5rem -1.5rem;min-height:120px}.card-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:calc(1rem - 1px)}.card-body{min-width:0;flex:1;align-self:center}.card-meta{color:var(--muted);font-size:.78rem}.card-excerpt{font-size:.9rem;color:var(--muted);margin:.75rem 0 0}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .6rem}.chip{color:var(--pink);font-size:.8rem;display:inline-flex;align-items:center;min-height:28px;text-decoration:none}.chip:hover{text-decoration:underline}.chip.tag{color:var(--accent);background:var(--surface);border-radius:999px;padding:.25rem .75rem}.chip.tag[style]{color:hsl(var(--tag-hue), 85%, 82%);background:hsl(var(--tag-hue), 32%, 23%)}.chip.tag[style] .count{color:inherit}:root[data-theme=light] .chip.tag[style]{color:hsl(var(--tag-hue), 75%, 23%);background:hsl(var(--tag-hue), 70%, 94%)}.tag-cloud{gap:.75rem}.tag-cloud .chip{font-size:.95rem;min-height:44px}.tag-cloud .count{margin-left:.6rem}.post-card .chips{gap:.3rem .5rem}.post-card .chip.tag{font-size:.72rem;min-height:24px;padding:.1rem .55rem}.chip-more{background:var(--surface);color:var(--muted);cursor:default}.chip-more:hover{text-decoration:none}.taxonomy-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(260px, 100%), 1fr));gap:1rem}.taxonomy-grid .taxonomy-card{padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem}.taxonomy-grid .taxonomy-card h2{font-size:.96rem;margin:0}.taxonomy-grid .taxonomy-card h2 a{text-decoration:none}.taxonomy-grid .taxonomy-card h2 a:hover{text-decoration:underline}.taxonomy-grid .taxonomy-card>.count{margin:.25rem 0 0}.taxonomy-grid .subcategory-list{list-style:none;margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line);display:grid;gap:.25rem}.taxonomy-grid .subcategory-list a{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:40px;color:var(--pink);text-decoration:none}.taxonomy-grid .subcategory-list a:hover{text-decoration:underline}.taxonomy-grid .subcategory-list li{margin:0}.taxonomy-grid .subcategory-list .nested{list-style:none;margin:0 0 0 1rem;padding:0}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;font-size:.9rem}.breadcrumb ol li+li::before{content:"›";margin-right:.25rem;color:var(--muted)}.breadcrumb ol [aria-current]{color:var(--muted)}.subcategories{margin-top:1.25rem}.subcategories h2{font-size:.8rem;color:var(--muted);margin:0 0 .5rem}.subcategories ul{list-style:none;padding:0;margin:0}.subcategories .count{margin-left:.5rem}.related{margin-top:3rem;border-top:1px solid var(--line);padding-top:2rem}.related>h2{margin-top:0}.related .post-gallery{grid-template-columns:repeat(auto-fit, minmax(min(200px, 100%), 1fr))}.related .post-gallery .post-card h2{font-size:.84rem}@media(max-width: 38rem){.post-card{padding:1rem;gap:1rem}.card-image{flex-basis:96px;margin:-1rem 0 -1rem -1rem;min-height:96px}.card-excerpt{display:none}.post-card h2{font-size:.84rem}}.post-gallery{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(260px, 100%), 1fr));gap:1rem}.post-gallery .post-card{flex-direction:column;gap:0;padding:0;margin:0}.post-gallery .card-image{flex:none;margin:0;min-height:0}.post-gallery .card-image img{width:100%;height:160px;object-fit:cover}.post-gallery .card-body{align-self:stretch;padding:1.5rem}.post-gallery .post-card h2{font-size:.96rem}.sidebar>:first-child{margin-top:0}.sidebar section{margin-top:2rem}.sidebar h2{font-size:.88rem;display:flex;justify-content:space-between;gap:.5rem}.search-form{margin-bottom:1.5rem}.search-form label{display:block;font-size:.95rem;font-weight:600;margin-bottom:.6rem}.search-form input{min-width:0;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:.6rem 1rem}.search-form input::placeholder{color:var(--muted);opacity:1}.search-controls{display:flex;align-items:center;gap:.6rem}#local-search .search-controls input{min-height:var(--control-h);padding-block:0}#local-search .search-controls .button{min-height:var(--control-h);padding-block:.1rem}#local-search .search-controls input{flex:1 1 auto}#local-search .search-controls .button{flex:0 0 auto;white-space:nowrap}.sidebar .search-controls{flex-wrap:wrap}.sidebar .search-controls .button{padding:.1rem 1rem;font-size:.85rem}.category-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.category-list>li{padding:.25rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem}.category-list a{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;font-size:.9rem;font-weight:600;text-decoration:none}.category-list a:hover{text-decoration:underline}.category-list a .count{text-align:right;flex-shrink:0;max-width:55%}.category-list.nested{display:block;margin:0 0 .5rem;padding:0 0 0 .75rem}.category-list.nested>li{padding:0;background:none;border:0;border-radius:0}.category-list.nested a{min-height:36px;font-size:.85rem;font-weight:400;color:var(--muted)}.category-list.nested .nested{margin-bottom:0}.count{color:var(--muted);font-size:.8rem}.taxonomy-count-capsules{display:inline-flex;align-items:center;gap:.35rem;vertical-align:middle}.taxonomy-count-capsule{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.15rem .45rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:.75rem;line-height:1.5;white-space:nowrap}.taxonomy-count-capsule svg{flex-shrink:0}:root[data-theme=light] .taxonomy-count-capsule{color:var(--accent)}.sidebar-note{padding:1.25rem;background:var(--surface);border-left:3px solid var(--button);border-radius:0 1rem 1rem 0;font-size:.9rem}.sidebar-note p{color:var(--muted)}.search-results{list-style:none;margin:2rem 0;padding:0}.search-results li{padding-block:1.5rem;border-bottom:1px solid var(--line)}.search-results h2{font-size:1rem}.search-results p{color:var(--muted)}@media(max-width: 38rem){.search-controls{flex-wrap:wrap}.search-controls input{flex-basis:100%}}.post-heading{max-width:960px;margin:0 auto 3rem}.post-heading h1{font-size:clamp(1.6rem,3.2vw,2.56rem)}.post-heading .chips{margin-top:1.5rem}.post-meta{color:var(--muted);font-size:.9rem}.article-grid{display:grid;grid-template-columns:220px minmax(0, 1fr);gap:2.5rem;align-items:start}.article-main{grid-column:-2/-1;min-width:0;max-width:100%}.toc{position:sticky;top:1rem;max-height:85vh;overflow-y:auto;font-size:.85rem}.toc summary{font-size:1rem;font-weight:650;cursor:pointer}.toc ol{list-style:none;border-left:1px solid var(--line);padding-left:1rem;margin:.5rem 0}.toc li{margin-bottom:.6rem}.toc li.toc-sub{padding-left:.7rem}.toc a{display:inline-block;padding-block:.2rem;text-decoration:none}.toc a:hover{text-decoration:underline}.prose{overflow-wrap:anywhere;max-width:100%}.prose.wide-page{max-width:none}.prose h2,.prose h3,.prose h4,.prose h5{margin:2em 0 .75em;scroll-margin-top:1rem}.prose h2{color:var(--accent)}.prose p,.prose ul,.prose ol,.prose figure,.prose blockquote,.prose pre,.prose table{margin-block:0 1.4rem}.prose li{margin-block:.3rem}.prose li p{margin-bottom:.4rem}.prose figure{margin-inline:0}.prose img{border-radius:.5rem}.prose figcaption{color:var(--muted);font-size:.9rem;margin-top:.5rem}.prose blockquote{border-left:3px solid var(--button);background:var(--surface);padding:1rem 1.25rem;margin-inline:0}.prose blockquote>:last-child{margin-bottom:0}.prose code{font:.88em/1.6 "Cascadia Code",Consolas,monospace;background:var(--code-bg);padding:.15em .3em;border-radius:.25rem}.prose pre{max-width:100%;overflow:auto;background:var(--code-bg);border:1px solid var(--line);padding:1.25rem;border-radius:.5rem;tab-size:2}.prose pre code{padding:0;background:none;white-space:pre}.prose .highlight{margin-bottom:1.4rem}.prose .highlight pre{margin-bottom:0}.prose table{width:100%;border-collapse:collapse;font-size:.9rem}.prose td,.prose th{padding:.7rem;border:1px solid var(--line);text-align:left}.prose th{background:var(--surface)}.prose .table-scroll{max-width:100%;overflow:auto;margin-bottom:1.4rem}.prose details{border:1px solid var(--line);border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.prose details summary{cursor:pointer;font-weight:600;color:var(--accent)}.prose mark{color:var(--text);background:var(--surface);font-weight:700}.comments{margin-top:3rem}@media(max-width: 56rem){.article-grid{grid-template-columns:minmax(0, 1fr);gap:1.5rem}.toc{position:static;max-height:24rem}.article-main{max-width:100%}}.share-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-block:1.25rem}.share-title{color:var(--muted);font-weight:650}.share-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.share-button{display:inline-flex;align-items:center;min-width:46px;min-height:var(--control-h);padding:0 .85rem;border:1px solid var(--line);border-radius:999px;color:var(--text);font-weight:650;text-decoration:none;transition:border-color .2s,color .2s}.share-button:hover,.share-button:focus-visible{border-color:var(--accent);color:var(--accent)}.share-icon{width:1.1rem;height:1.1rem;flex-shrink:0;fill:currentColor}.share-label{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .25s ease,opacity .2s ease,margin .25s ease}.share-button:hover .share-label,.share-button:focus-visible .share-label{max-width:8rem;margin-left:.5rem;opacity:1}.newsletter{margin-top:3rem;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.newsletter-frame{display:block;width:100%;max-width:640px;height:480px;max-height:100vh;border:0;margin-top:1rem}.link-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(min(320px, 100%), 1fr));gap:1rem}.prose .link-grid>li{margin:0}.link-card{position:relative;display:grid;grid-template-columns:3rem 1fr;align-items:center;gap:.35rem 1rem;padding:1.5rem;border-radius:1rem;background:linear-gradient(115deg, var(--card-start), var(--card-end));border:1px solid var(--line);transition:border-color .2s,transform .2s}.link-card:hover,.link-card:focus-within{border-color:var(--accent);transform:translateY(-2px)}.link-card h2{font-size:.88rem;margin:0;line-height:1.3}.link-card h2 a{color:var(--text);text-decoration:none}.link-card h2 a::after{content:"";position:absolute;inset:0;border-radius:inherit}.link-card h2 a:focus-visible{outline:none}.link-card:focus-within{outline:2px solid var(--focus);outline-offset:2px}.link-monogram{grid-row:span 2;width:3rem;height:3rem;display:grid;place-items:center;border-radius:.5rem;background:var(--accent);color:var(--bg);font-weight:750;font-size:1.3rem}.link-icon{background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.link-icon img{display:block;width:2rem;height:2rem;object-fit:contain}.link-body{display:contents}.prose .link-card p{margin:0}.link-host{color:var(--pink);font-size:.85rem}.prose .link-card .link-description{grid-column:1/-1;margin-top:.75rem;color:var(--muted);font-size:.92rem}.link-tags{grid-column:1/-1;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;padding:0}.link-tags li{margin:0;font-size:.78rem;color:var(--accent);background:var(--surface);border-radius:999px;padding:.15rem .65rem}.link-suggest{margin-top:2rem;color:var(--muted)}@media(prefers-reduced-motion: reduce){.link-card{transition:none}.link-card:hover,.link-card:focus-within{transform:none}}.about-profile{display:grid;grid-template-columns:200px minmax(0, 1fr);gap:2rem;align-items:start}.about-media{display:grid;gap:1rem}.about-media img{display:block;width:100%;height:auto;margin:0;border-radius:.5rem}.about-media .about-photo{aspect-ratio:1;object-fit:cover}.prose .about-text p{max-width:78ch}.prose .about-text h2{margin-top:0}.prose .about-text h3{margin-top:1.5rem}.prose .about-role{margin-top:-0.5rem;color:var(--muted);font-weight:650}.prose .about-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;padding:0}.prose .about-links li{margin:0}@media(max-width: 640px){.about-profile{grid-template-columns:1fr}.about-media{grid-template-columns:minmax(0, 120px) minmax(0, 160px);align-items:center}}.prose.tools-page{max-width:none}.prose .tool-gallery{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(min(340px, 100%), 1fr));gap:1.5rem}.prose .tool-gallery>li{min-width:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.tool-card{display:flex;flex-direction:column;flex:1;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(115deg, var(--card-start), var(--card-end));text-decoration:none;color:var(--text)}.tool-card:hover{border-color:var(--accent)}.tool-card:hover .tool-card-action{text-decoration:underline}.tool-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:calc(1rem - 1px) calc(1rem - 1px) 0 0}.tool-card-body{display:flex;flex-direction:column;flex:1;padding:1.5rem}.tool-card-body h2{margin:0 0 .75rem;font-size:1rem}.tool-card-body p{color:var(--muted);margin:0 0 1.25rem}.tool-card-action{margin-top:auto;color:var(--accent);font-weight:650}.tool-taxonomies{margin:.5rem 0 1rem}.tool-feedback{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.tool-feedback .button{text-align:center}.tool-gallery .tool-taxonomies{margin:0;gap:.35rem}.tool-gallery .tool-taxonomies .chip{font-size:.75rem;padding:.15rem .5rem}.taxonomy-tools{margin-bottom:1.5rem}.taxonomy-tools .post-gallery{list-style:none;padding:0}.taxonomy-tools .post-gallery>li{min-width:0;display:flex}.taxonomy-tool-card{width:100%}.taxonomy-tool-card .card-image{position:relative;overflow:hidden;border-radius:calc(1rem - 1px)}.taxonomy-tool-card .tool-taxonomies{margin:0}.tool-card-ribbon{position:absolute;top:0;right:0;width:64px;height:64px;background:var(--text);color:var(--bg);clip-path:polygon(0 0, 100% 0, 100% 100%);pointer-events:none}.tool-card-ribbon svg{position:absolute;top:9px;right:9px;width:22px;height:22px}.powerfx-converter{min-width:0;margin:1.5rem 0;padding:0;border:0}.powerfx-converter select,.powerfx-converter textarea{font:inherit;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--text)}.powerfx-converter select{max-width:100%;min-height:var(--control-h);padding:0 .5rem}.powerfx-converter textarea{display:block;width:100%;padding:1rem;resize:vertical;font:.9rem/1.65 "Cascadia Code",Consolas,monospace;tab-size:4}.powerfx-converter textarea[readonly]{background:var(--code-bg)}.powerfx-converter textarea::placeholder{color:var(--muted);opacity:1}.powerfx-converter textarea:focus-visible,.powerfx-converter select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.powerfx-converter button:disabled{cursor:not-allowed}.tool-options{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem}.converter-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem}.converter-field{min-width:0;display:flex;flex-direction:column}.converter-field textarea{flex:1}.converter-heading{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:.5rem;min-height:4rem;padding-bottom:.5rem}.converter-heading label{font-weight:650}.converter-status{min-height:1.65em;margin:.75rem 0 0}.code-editor{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);border-radius:.5rem}.code-editor textarea{flex:1 1 auto}.code-editor:has(textarea[readonly]){background:var(--code-bg)}.prose .code-editor pre,.prose .code-editor textarea{font:var(--code-editor-size, 0.9rem)/1.65 "Cascadia Code",Consolas,monospace;tab-size:4;letter-spacing:normal;white-space:pre;overflow-wrap:normal;word-break:normal;padding:1rem}.prose .code-editor pre{position:absolute;inset:0;margin:0;max-height:none;overflow:hidden;pointer-events:none;border:1px solid rgba(0,0,0,0);border-radius:.5rem;background:rgba(0,0,0,0)}.prose .code-editor code{display:block;padding:0;border:0;background:rgba(0,0,0,0);color:var(--text);font:inherit}.prose .code-editor code span{font-weight:normal;font-style:normal}.prose .code-editor textarea{position:relative;background:rgba(0,0,0,0);color:rgba(0,0,0,0);caret-color:var(--text)}.prose .code-editor textarea[readonly]{background:rgba(0,0,0,0)}.prose .code-editor textarea::selection{background:var(--accent);color:var(--bg)}@media(forced-colors: active){.prose .code-editor textarea{color:CanvasText}.code-editor pre{visibility:hidden}}@media(max-width: 56rem){.converter-grid{grid-template-columns:1fr}}.text-cleaner h2{margin:0;font-size:1rem}.text-cleaner .cleaner-actions{display:flex;flex-wrap:wrap;gap:.5rem}.text-cleaner>.cleaner-options{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1rem;margin:1rem 0}.text-cleaner .cleaner-options fieldset{min-width:0;margin:0;padding:1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}.text-cleaner .cleaner-options legend{padding:0 .25rem;font-weight:650}.text-cleaner .cleaner-options label{display:flex;align-items:start;gap:.5rem;padding:.5rem 0;min-height:44px}.text-cleaner .cleaner-options input{flex-shrink:0;width:1.15rem;height:1.15rem;margin:.25rem 0 0;accent-color:var(--accent)}.text-cleaner .cleaner-options select{width:100%}.text-cleaner .cleaner-options p{font-size:.85rem}.text-cleaner input:focus-visible,.text-cleaner button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.prose .text-cleaner .cleaner-help{margin:.5rem 0 0;padding:0;border:0;background:none}.prose .text-cleaner .cleaner-help summary{min-height:44px;padding:.5rem 0}@media(min-width: 56.01rem){.text-cleaner{margin:.75rem 0}.text-cleaner .converter-heading{min-height:3rem;padding-bottom:.25rem}.text-cleaner .converter-grid .converter-heading{min-height:3.5rem}.text-cleaner textarea{height:180px;min-height:120px;padding:.75rem;flex:none}.text-cleaner>.cleaner-options{gap:.75rem;margin:.5rem 0}.text-cleaner .cleaner-options fieldset{padding:.5rem .75rem;font-size:.9rem}.text-cleaner .cleaner-options label{padding:.25rem 0;align-items:center}.text-cleaner .cleaner-options input{margin-top:0}.text-cleaner #cleaner-help{margin:.25rem 0 .5rem;font-size:.85rem}.text-cleaner .converter-status{margin:.25rem 0}}@media(max-width: 56rem){.text-cleaner>.cleaner-options{grid-template-columns:1fr}}.color-harmonizer{min-width:0;margin:1.5rem 0;padding:0;border:0}.color-harmonizer h2{font-size:1rem}.color-harmonizer label{display:block;margin:.75rem 0 .25rem;font-weight:650}.color-harmonizer input,.color-harmonizer select{width:100%;min-width:0;min-height:var(--control-h);padding:0 .5rem;font:inherit;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--text)}.color-harmonizer input[type=range]{padding:0;accent-color:var(--accent)}.color-harmonizer input[readonly]{font-family:"Cascadia Code",Consolas,monospace;background:var(--code-bg);font-size:.85rem}.color-harmonizer input[type=color]{height:48px}.color-harmonizer :is(input,select,button):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.color-harmonizer :disabled{cursor:not-allowed}.color-harmonizer [aria-invalid=true]{border-color:var(--pink)}.color-harmonizer .harmony-error{color:var(--pink)}.harmony-settings{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5rem}.harmony-settings>section{min-width:0;padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.color-harmonizer>section{margin-top:1.5rem}.harmony-base-controls{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 2fr) 48px;gap:.5rem;align-items:center;margin-bottom:1rem}.harmony-base-controls label{grid-row:1}.harmony-base-controls label[for=harmony-picker],.harmony-base-controls #harmony-picker{grid-column:1}.harmony-base-controls label[for=harmony-hex],.harmony-base-controls #harmony-hex{grid-column:2}.harmony-base-controls #harmony-picker,.harmony-base-controls #harmony-hex{grid-row:2}.harmony-base-controls #harmony-eyedropper{grid-column:3;grid-row:2;width:var(--control-h);height:var(--control-h);padding:0;display:inline-flex;align-items:center;justify-content:center}.harmony-wheel{position:relative;display:block;width:min(100%,280px);aspect-ratio:1;margin:1.5rem auto;padding:0;border:0;border-radius:50%;cursor:crosshair;touch-action:none;background:linear-gradient(rgb(255, 255, 255, var(--wheel-whiteness, 0)), rgb(255, 255, 255, var(--wheel-whiteness, 0))),linear-gradient(rgb(0, 0, 0, var(--wheel-darkness, 0)), rgb(0, 0, 0, var(--wheel-darkness, 0))),radial-gradient(circle closest-side, #808080, transparent),conic-gradient(red, #ff0, #0f0, #0ff, #00f, #f0f, red)}.harmony-marker{position:absolute;display:flex;align-items:center;justify-content:center;width:24px;height:24px;font:700 11px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:2px solid #fff;box-shadow:0 0 0 2px #111;border-radius:50%;transform:translate(-50%, -50%);pointer-events:none}.prose .harmony-palette{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:.75rem;list-style:none;margin:1rem 0;padding:0}.prose .harmony-color{display:grid;grid-template-columns:minmax(0, 1fr) 44px;align-content:start;align-items:center;gap:.25rem;min-width:0;margin:0;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}.prose .harmony-color>:is(.harmony-swatch,h3,label,.harmony-contrast){grid-column:1/-1}.prose .harmony-color h3{font-size:.8rem;margin:.75rem 0}.prose .harmony-color label{font-size:.85rem}.prose .harmony-color .harmony-copy{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);margin:0;padding:0;border-radius:50%}.prose .harmony-color .harmony-copy svg{flex-shrink:0}.harmony-palette-actions{display:flex;flex-wrap:wrap;gap:.5rem}.harmony-swatch{height:220px;display:flex;align-items:center;justify-content:center;padding:.5rem;text-align:center;border:1px solid var(--line);border-radius:.5rem}.prose .harmony-help{margin:.5rem 0;padding:0;border:0;background:none}.prose .harmony-help summary{cursor:pointer;font-size:.9rem}@media(min-width: 56.01rem){.color-harmonizer{margin:.75rem 0}.color-harmonizer h2{margin:0 0 .5rem}.color-harmonizer .harmony-wheel{width:160px;margin:.5rem auto}.color-harmonizer .harmony-settings>section{padding:.75rem 1rem}.color-harmonizer .harmony-base-controls{margin-bottom:0}.color-harmonizer .harmony-swatch{height:80px}.color-harmonizer .converter-heading{min-height:3rem}.color-harmonizer .harmony-color{padding:.5rem}.color-harmonizer .harmony-color h3{margin:.4rem 0}.color-harmonizer .harmony-color label{margin:.35rem 0 .15rem}.harmony-settings>section:first-child{display:grid;grid-template-columns:160px minmax(0, 1fr);gap:.25rem 1rem;align-content:start}.harmony-settings>section:first-child h2{grid-column:1/-1}.harmony-settings>section:first-child .harmony-wheel{grid-column:1;grid-row:2/7}.harmony-settings>section:first-child>:not(h2,.harmony-wheel){grid-column:2}.harmony-settings>section:nth-child(2){display:grid;grid-template-columns:auto minmax(0, 1fr);gap:.5rem;align-items:center;align-content:start}.harmony-settings>section:nth-child(2) h2,.harmony-settings>section:nth-child(2) #harmony-arc-control,.harmony-settings>section:nth-child(2) details{grid-column:1/-1}.harmony-settings>section:nth-child(2) label{margin:0}}.prose .harmony-color .harmony-contrast,.prose .theme-contrast{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin:1rem auto 0;padding:.35rem .7rem;border-radius:999px;font-size:.85rem;font-weight:700;text-align:center;overflow-wrap:anywhere}.prose .harmony-color .harmony-contrast[data-level=AAA],.prose .theme-contrast[data-level=AAA]{background:#dcfce7;color:#14532d}.prose .harmony-color .harmony-contrast[data-level=AA],.prose .theme-contrast[data-level=AA]{background:#dbeafe;color:#1e3a8a}.prose .harmony-color .harmony-contrast[data-level=A],.prose .theme-contrast[data-level=A]{background:#ffedd5;color:#7c2d12}.prose .harmony-color .harmony-contrast[data-level=Insuffisant],.prose .theme-contrast[data-level=Insuffisant]{background:#fee2e2;color:#7f1d1d}@media(max-width: 56rem){.harmony-settings{grid-template-columns:1fr}.prose .harmony-palette{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 24rem){.prose .harmony-palette{grid-template-columns:1fr}}@media(min-width: 75rem){.harmony-settings{grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr)}.color-harmonizer .harmony-wheel{width:320px;height:320px}.harmony-settings>section:first-child{grid-template-columns:320px minmax(0, 1fr)}.harmony-settings>section:first-child .harmony-wheel{grid-row:2/8}}.theme-builder h2{margin:0 0 .75rem;font-size:1rem}.theme-builder .converter-heading h2{margin:0}.theme-builder .theme-builder-top{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.4fr);gap:1rem;align-items:start}.theme-builder section{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}.theme-builder>section{margin-top:1.5rem}.theme-builder input[type=text]{width:100%;min-width:0;min-height:var(--control-h);padding:0 .5rem;font:inherit;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--text)}.theme-builder input[type=checkbox],.theme-builder input[type=radio]{width:1.15rem;height:1.15rem;flex-shrink:0;accent-color:var(--accent)}.theme-builder input:focus-visible,.theme-builder summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.theme-builder [aria-invalid=true]{border-color:var(--accent);outline:2px solid var(--accent)}.theme-builder .theme-formats,.theme-builder .theme-toggle{min-width:0;border:0;padding:0;margin:.75rem 0}.theme-builder legend{font-weight:650;padding:0}.theme-builder .theme-formats{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:.25rem}.theme-builder .theme-formats label,.theme-builder .theme-toggle label{display:flex;align-items:center;gap:.5rem;min-height:44px}.theme-builder .theme-output-options{display:flex;flex-wrap:wrap;gap:.5rem 2rem}.theme-builder .theme-toggle{display:flex;flex-wrap:wrap;gap:.25rem 1rem;max-width:100%}.theme-builder .theme-toggle label{padding:.25rem .75rem;border:1px solid var(--line);border-radius:999px;cursor:pointer}.theme-builder .theme-toggle label:has(input:checked){background:var(--button);color:var(--button-text);border-color:var(--button)}.theme-builder .theme-toggle input{min-height:1.15rem}.theme-builder .theme-color label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.theme-builder .theme-name-label{min-width:0}.theme-builder .theme-color .theme-picker-label{flex-direction:row;align-items:center}.theme-builder .theme-picker{width:64px;height:48px;padding:.25rem;background:var(--bg);border:1px solid var(--line);border-radius:.5rem;cursor:pointer}.theme-builder .theme-remove{width:var(--control-h);height:var(--control-h);min-height:var(--control-h);padding:0}.theme-builder .theme-color-open{width:64px;height:var(--control-h);padding:3px;border:1px solid var(--line);border-radius:.5rem;background:repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 0/12px 12px}.theme-builder .theme-swatch{display:block;width:100%;height:100%;border-radius:3px}.theme-builder .theme-color-editor{grid-column:1/-1;display:grid;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.theme-builder .theme-color-editor p{margin:0;font-size:.85rem}.theme-builder .theme-alpha{width:100%;margin:0;accent-color:var(--accent)}.theme-builder .theme-palette-help,.theme-builder #theme-detection-help{font-size:.85rem}.theme-builder .code-editor{--code-editor-size: .85rem}.theme-builder #theme-code,.theme-builder #theme-screen-code{min-height:220px}.prose .theme-palette{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}.prose .theme-palette>li{min-width:0;margin:0;padding:.5rem;display:grid;grid-template-columns:minmax(0, 1fr) 5.5rem 64px 44px;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg)}#theme-text-dialog{width:min(32rem,100% - 2rem);max-height:calc(100% - 2rem);overflow:auto;padding:1.5rem;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:.5rem}#theme-text-dialog::backdrop{background:rgba(0,0,0,.6)}#theme-combinations{display:grid;grid-template-columns:5.5rem minmax(0, 1fr);align-items:start;gap:.5rem .75rem}#theme-combinations h3{margin:.5rem 0;font-size:.72rem}.theme-combination-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(240px, 100%), 1fr));gap:.5rem}.theme-combination{display:grid;grid-template-columns:40px minmax(0, 1fr);align-items:center;gap:.25rem .5rem;padding:.5rem;min-width:0;border:1px solid var(--line);border-radius:.5rem;overflow-wrap:anywhere}.theme-combination p{margin:0;font-size:.8rem;line-height:1.35}.theme-combination-sample{grid-row:span 2;display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:44px;border-radius:.5rem;font-weight:650;text-align:center}.prose .theme-combination .theme-contrast{margin:0;padding:.15rem .5rem;font-size:.75rem}.prose .theme-contrast-help{margin:0 0 .5rem;font-size:.85rem}#theme-combinations-status:empty{display:none}.prose .theme-help{margin:.75rem 0;padding:0;border:0;background:none}.prose .theme-help summary{padding:.5rem 0;min-height:44px}.prose .theme-help li{font-size:.85rem}.prose .theme-color-error{grid-column:1/-1;margin:0;font-size:.85rem;font-weight:650}.theme-issues{font-size:.85rem}.theme-warning{padding:1rem;border:1px solid var(--accent);border-radius:.5rem}@media(max-width: 56rem){.theme-builder .theme-builder-top{grid-template-columns:1fr}}@media(max-width: 36rem){#theme-combinations{grid-template-columns:minmax(0, 1fr);gap:.25rem}.prose .theme-palette{grid-template-columns:1fr}.theme-builder .theme-formats{grid-template-columns:1fr}}@media(max-width: 24rem){.prose .theme-palette>li{grid-template-columns:minmax(0, 1fr) 5rem 44px 44px;gap:.25rem;padding:.25rem}.theme-builder .theme-color-open{width:44px}.theme-builder .theme-color-role{padding-inline:.25rem}}.json-explorer .json-source-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.json-explorer .json-source-heading label{margin:0}.json-explorer section{min-width:0;margin-top:1.5rem;padding:1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}.json-explorer label{display:block;font-weight:650;margin-bottom:.5rem}.json-explorer input[type=text]{min-width:0;width:100%;padding:0 .6rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--text);font:.9rem "Cascadia Code",Consolas,monospace}.json-explorer .muted{font-size:.85rem}.json-explorer .json-output-row{display:flex;align-items:center;flex:1 1 340px;min-width:0;flex-wrap:wrap;gap:.5rem}.json-explorer .json-output-row input{flex:1 1 180px}.json-explorer .json-diagram-controls{gap:.5rem;margin-bottom:1rem}.json-explorer .json-diagram-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.json-explorer .json-diagram-heading h2{margin:0}.json-explorer #json-fullscreen{flex-shrink:0;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);padding:0}.json-explorer #json-diagram-panel:fullscreen{display:flex;flex-direction:column;width:100%;height:100%;margin:0;padding:1rem;overflow:auto;border:0;border-radius:0;background:var(--surface);color:var(--text)}.json-explorer #json-diagram-panel:fullscreen .json-viewport{flex:1;min-height:0;max-height:none}.json-explorer #json-diagram-panel:fullscreen .json-diagram-controls{flex-shrink:0}.json-explorer .json-viewport{max-height:75vh;min-height:280px;overflow:auto;border:1px solid var(--line);border-radius:.5rem;background-color:var(--bg);background-image:linear-gradient(color-mix(in srgb, var(--line) 35%, transparent) 1px, transparent 1px),linear-gradient(90deg, color-mix(in srgb, var(--line) 35%, transparent) 1px, transparent 1px);background-size:24px 24px}.json-explorer #json-diagram{position:relative;width:max-content;min-width:100%;padding:6rem 2rem 2rem}.json-explorer .json-node-group{display:flex;align-items:center;gap:100px}.json-explorer .json-children{display:flex;flex-direction:column;gap:2rem}.json-explorer .json-children:empty{display:none}.json-explorer .json-connections{position:absolute;inset:0;pointer-events:none;overflow:visible}.json-explorer .json-connections path{fill:none;stroke:var(--muted);stroke-width:1.25}.json-explorer .json-connections text{fill:var(--muted);font:11px "Cascadia Code",Consolas,monospace;text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.json-explorer .json-card{position:relative;z-index:1;flex:0 0 240px;width:240px;margin:0;padding:0;border:1px solid var(--line);border-radius:.5rem;overflow:hidden;background:var(--surface);box-shadow:0 2px 6px rgba(0,0,0,.0666666667)}.json-explorer .json-card>summary{display:flex;align-items:center;gap:.35rem;cursor:pointer;min-height:32px;padding:.35rem .5rem;background:var(--button);color:var(--button-text);font-size:.75rem;font-weight:650}.json-explorer .json-card>summary::marker{content:""}.json-explorer .json-card>summary::-webkit-details-marker{display:none}.json-explorer .json-card>summary::before{content:"";flex-shrink:0;border:4px solid rgba(0,0,0,0);border-left-color:currentColor}.json-explorer .json-card[open]>summary::before{transform:rotate(90deg)}.json-explorer .json-card-name{flex:1;min-width:0;overflow-wrap:anywhere}.json-explorer .json-card-count{flex-shrink:0;white-space:nowrap}.json-explorer .json-field{display:grid;grid-template-columns:minmax(80px, 1fr) minmax(100px, 1.4fr);border-top:1px solid var(--line)}.json-explorer .json-field>button{border:0;padding:.1rem .5rem;min-height:25.6px;text-align:left;background:rgba(0,0,0,0);color:var(--text);font:.75rem "Cascadia Code",Consolas,monospace;overflow-wrap:anywhere;cursor:pointer;white-space:pre-wrap}.json-explorer .json-field>button:hover{background:var(--code-bg);color:var(--accent)}.json-explorer .json-field .json-key{color:var(--accent);font-weight:650}.json-explorer .json-field[data-type=number] .json-value,.json-explorer .json-field[data-type=boolean] .json-value{color:var(--pink)}.json-explorer .json-color-swatch{display:inline-block;width:.8rem;height:.8rem;margin-right:.4rem;border:1px solid var(--line);border-radius:3px;vertical-align:middle}.json-explorer .json-selected{outline:2px solid var(--accent);outline-offset:-2px}.json-explorer .json-selection-tools{position:absolute;z-index:5;width:140px;height:76px;transform:translate(-50%, -100%);pointer-events:none}.json-explorer .json-copy-icon{position:absolute;bottom:4px;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--pink);border-radius:50%;background:var(--pink);color:var(--button-text);box-shadow:0 2px 6px rgba(0,0,0,.2);font:650 .68rem "Cascadia Code",Consolas,monospace;white-space:nowrap;pointer-events:auto}.json-explorer .json-copy-icon:nth-child(1){left:0}.json-explorer .json-copy-icon:nth-child(2){left:50px;bottom:28px}.json-explorer .json-copy-icon:nth-child(3){right:0}.json-explorer .json-copy-icon:hover,.json-explorer .json-copy-icon:focus-visible{z-index:1;background:var(--pink);outline:2px solid var(--text);outline-offset:3px}.json-explorer .json-copy-icon:hover .json-copy-tooltip,.json-explorer .json-copy-icon:focus-visible .json-copy-tooltip{display:block}.json-explorer .json-copy-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:.35rem .5rem;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text);white-space:nowrap;font:.75rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;pointer-events:none}#json-dialog{width:min(36rem,100% - 2rem);max-height:calc(100% - 2rem);overflow:auto;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);color:var(--text)}#json-dialog::backdrop{background:rgba(0,0,0,.6)}#json-dialog select{width:100%;margin-bottom:1rem}.odata-tool select,.odata-tool textarea,.odata-tool input[type=text]{font:inherit;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--text)}.odata-tool select,.odata-tool input[type=text]{width:100%;min-width:0;min-height:var(--control-h);padding:0 .5rem}.odata-tool textarea{display:block;width:100%;padding:1rem;resize:vertical;font:.9rem/1.65 "Cascadia Code",Consolas,monospace}.odata-tool textarea[readonly]{background:var(--code-bg)}.odata-tool textarea::placeholder,.odata-tool input::placeholder{color:var(--muted);opacity:1}.odata-tool :is(select,textarea,input):focus-visible,.odata-tool summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.odata-tool :is(select,textarea,input,button):disabled{cursor:not-allowed}.odata-tool [aria-invalid=true]{border-color:var(--pink)}.odata-tool code{overflow-wrap:anywhere}.odata-step{min-width:0;margin:2rem 0;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.odata-step>h2,.odata-step .converter-heading h2{margin:0;font-size:1rem}.odata-step>h2{margin-bottom:.75rem}.odata-columns{margin-top:.5rem}.odata-columns>summary{cursor:pointer;font-weight:650;display:flex;align-items:center}.odata-table{overflow-x:auto;margin-top:.5rem}.odata-table table{width:100%;border-collapse:collapse;font-size:.9rem}.odata-table th,.odata-table td{padding:.5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.odata-table td:last-child{font-family:"Cascadia Code",Consolas,monospace;overflow-wrap:anywhere}.odata-group{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg)}.odata-group.is-root{padding:0;border:0;background:none}.odata-group.is-disabled>.odata-list,.odata-group.is-disabled>.odata-empty{opacity:.6}.odata-group-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem}.odata-group-header select{width:auto;max-width:100%}.odata-group-name{font-weight:650;color:var(--accent)}.odata-logic-label{font-weight:650}.odata-list{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.75rem}.odata-list>li{margin:0;min-width:0}.odata-row{display:grid;grid-template-columns:auto minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.4fr) auto;align-items:start;gap:.5rem;padding:.5rem;border-radius:.5rem;background:linear-gradient(115deg, var(--card-start), var(--card-end))}.odata-row.is-disabled .odata-cell{opacity:.6}.odata-check{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.odata-check input{width:1.25rem;height:1.25rem;min-height:0;margin:0;accent-color:var(--accent)}.odata-cell{min-width:0;display:flex;flex-direction:column}.odata-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.odata-value{display:flex;flex-direction:column;gap:.25rem}.odata-no-value{display:flex;align-items:center;min-height:44px;font-size:.9rem}.odata-error{color:var(--pink);font-size:.85rem}.odata-empty{margin:0 0 .75rem}.odata-menu,.prose .odata-menu{position:relative;margin:0;padding:0;border:0;border-radius:0;background:none}.odata-menu>summary,.prose .odata-menu>summary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:var(--control-h);padding:0 .75rem;border:1px solid var(--line);border-radius:.5rem;cursor:pointer;list-style:none;font-weight:650;background:var(--surface);color:var(--text)}.odata-menu>summary::-webkit-details-marker,.prose .odata-menu>summary::-webkit-details-marker{display:none}.odata-menu>summary:hover,.prose .odata-menu>summary:hover{border-color:var(--accent)}.odata-menu[open]>summary,.prose .odata-menu[open]>summary{border-color:var(--accent)}.odata-menu.odata-add>summary,.prose .odata-menu.odata-add>summary{color:var(--accent)}.odata-group-header>.odata-menu.odata-row-menu,.odata-group-header>.prose .odata-menu.odata-row-menu{margin-left:auto}.odata-menu-list{position:absolute;z-index:5;top:calc(100% + .25rem);left:0;display:grid;min-width:12rem;padding:.25rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.3)}.odata-row-menu .odata-menu-list{left:auto;right:0}.odata-menu-list button{min-height:var(--control-h);padding:.1rem .75rem;border:0;border-radius:calc(0.5rem/2);background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.odata-menu-list button:hover,.odata-menu-list button:focus-visible{background:var(--bg)}.odata-menu-list button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.odata-warnings{margin:.5rem 0 0;padding-left:1.25rem;color:var(--muted);font-size:.9rem}.odata-warnings li{margin:.25rem 0}@media(max-width: 56rem){.odata-step{padding:1rem}.odata-row{grid-template-columns:auto minmax(0, 1fr) auto;padding:.75rem .5rem}.odata-row .odata-cell{grid-column:1/-1}.odata-row .odata-check{grid-row:1;grid-column:1}.odata-row .odata-row-menu{grid-row:1;grid-column:3}.odata-label{position:static;width:auto;height:auto;margin:0 0 .25rem;overflow:visible;clip:auto;white-space:normal;font-size:.85rem;font-weight:650;color:var(--muted)}.odata-group:not(.is-root){padding:.75rem}}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cp,.highlight .cs{color:var(--muted);font-style:italic}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt,.highlight .ow,.highlight .nt{color:var(--pink);font-weight:600}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sr,.highlight .ss{color:var(--accent)}.highlight .m,.highlight .mf,.highlight .mi,.highlight .mh,.highlight .il,.highlight .na,.highlight .nb,.highlight .nf,.highlight .nc{color:var(--pink)}.highlight .err{text-decoration:underline wavy}.code-block{margin-bottom:1.4rem;border:1px solid var(--line);border-radius:.5rem;background:var(--code-bg);overflow:hidden}.code-block .highlight{margin:0}.code-block pre{margin:0;border:0;border-radius:0;max-height:300px;overflow:auto}.code-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.5rem;padding:.25rem .5rem .25rem 1.25rem;border-bottom:1px solid var(--line)}.code-separator{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;color:var(--muted);font:.8rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.code-separator select{max-width:100%;min-height:var(--control-h);padding:0 .25rem;border:1px solid var(--line);border-radius:.5rem;background:var(--code-bg);color:var(--text);font:inherit}.prose .code-syntax-status{margin:.5rem 1rem;color:var(--muted);font-size:.8rem}.code-lang{color:var(--muted);font:600 .72rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.1em}.code-copy{min-height:var(--control-h);padding:.1rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:rgba(0,0,0,0);color:var(--text);font:600 .8rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.code-copy:hover{border-color:var(--accent);color:var(--accent)}.code-copy.is-copied{border-color:var(--accent);color:var(--accent)}.site-footer{border-top:1px solid var(--line);padding-block:2.5rem;color:var(--muted);font-size:.9rem}.site-footer strong{color:var(--text);font-size:1.1rem}.site-footer p{margin-block:.5rem}.footer-inner{display:flex;justify-content:space-between;gap:2rem}.footer-links{display:flex;flex-direction:column;align-items:start;gap:.5rem}.footer-links a{padding-block:.2rem}.consent-panel{position:fixed;bottom:1rem;left:1rem;z-index:10;max-width:min(32rem,100% - 2rem);max-height:calc(100vh - 2rem);overflow:auto;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem;box-shadow:0 .5rem 3rem rgba(0,0,0,.4)}.consent-panel h2{margin-top:0;font-size:.92rem}.consent-panel p{font-size:.9rem}@media(max-width: 38rem){.footer-inner{flex-direction:column}}