:root{color-scheme:light;--paper:#fbfaf7;--ink:#222722;--muted:#667168;--line:#dfe4dc;--accent:#426b57;font:16px/1.75 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{max-width:920px;margin:0 auto;padding:0 28px;background:var(--paper);color:var(--ink)}a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}.skip-link{position:absolute;left:-10000px;top:auto}.skip-link:focus{left:16px;top:16px;padding:10px 14px;background:#fff;border:2px solid var(--accent);z-index:2}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.brand{font-size:1.3rem;font-weight:750;color:var(--ink);text-decoration:none}.site-header nav,.locale-nav{display:flex;flex-wrap:wrap;gap:18px}.site-header nav a{text-decoration:none}main{min-height:64vh;padding:38px 0}.intro{max-width:680px;margin-bottom:36px}.intro h1,.post h1,.page h1,main>section>h1{font-size:clamp(2rem,6vw,3.25rem);letter-spacing:-.035em;line-height:1.12}.post-card{padding:18px 0;border-top:1px solid var(--line)}.post-card h2{margin:0;font-size:1.35rem}.meta,.tags,footer{color:var(--muted)}.meta{font-size:.9rem}.post-content img{max-width:100%;height:auto}.post-content pre{overflow:auto;padding:16px;background:#edf0ea;border-radius:8px}.post-content code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.post-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.post-content th,.post-content td{padding:8px 12px;border:1px solid var(--line)}.pagination{display:flex;justify-content:space-between;margin-top:30px}.locale-nav{justify-content:flex-end;padding-top:12px;font-size:.88rem}.locale-nav a{color:var(--muted)}a:focus-visible{outline:3px solid #cb774d;outline-offset:3px}footer{border-top:1px solid var(--line);padding:24px 0;font-size:.9rem}@media(max-width:620px){body{padding:0 17px}.site-header{align-items:flex-start;flex-direction:column;gap:14px}.site-header nav{gap:14px}.locale-nav{justify-content:flex-start}}

/* Page flow keeps the footer at the viewport bottom on short pages. */
body{display:flex;flex-direction:column;min-height:100vh}
main{flex:1;min-height:0}
.site-footer{margin-top:auto}
.hero-block,.cta-block{padding:clamp(24px,5vw,56px);background:#edf0ea;border:1px solid var(--line);border-radius:14px;margin:0 0 32px}
.hero-block h1,.hero-block h2{font-size:clamp(2.2rem,7vw,4.2rem);line-height:1.08;letter-spacing:-.04em;margin:.2em 0}
.eyebrow{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hero-copy{font-size:1.15rem;max-width:60ch;color:var(--muted)}
.button{display:inline-block;padding:10px 18px;border-radius:8px;background:var(--accent);color:white;text-decoration:none;font-weight:700}
.block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;margin:30px 0}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
.feature-card,.faq-block details,.quote-block,.ad-slot,.captcha-block{padding:20px;border:1px solid var(--line);border-radius:12px;background:white}
.image-block img{max-width:100%;height:auto}
.image-block figcaption,.quote-block figcaption{color:var(--muted);font-size:.9rem}
.faq-block details{margin:12px 0}.faq-block summary{cursor:pointer;font-weight:700}
.ad-slot:empty{min-height:90px}.captcha-block{min-height:65px}


.privacy-manager{position:fixed;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-end:max(12px,env(safe-area-inset-bottom));z-index:1000;display:grid;align-content:end;gap:7px;box-sizing:border-box;width:min(28rem,calc(100vw - 24px));max-height:calc(100dvh - 24px);color:var(--ink,#1d2824);font:14px/1.45 ui-sans-serif,system-ui,sans-serif;pointer-events:none;isolation:isolate}
.privacy-manager *{box-sizing:border-box}
.privacy-manager>*{min-width:0;pointer-events:auto}
.privacy-manager .privacy-settings-button,.privacy-manager .privacy-panel button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;max-width:100%;padding:9px 13px;border:1px solid var(--line,#c7d0c9);border-radius:999px;background:var(--paper,#fff);color:var(--ink,#1d2824);font:inherit;font-weight:700;line-height:1.25;text-align:center;overflow-wrap:anywhere;cursor:pointer}
.privacy-manager .privacy-settings-button{order:1;justify-self:end;box-shadow:0 4px 18px #0002}
.privacy-manager .privacy-panel{position:relative;order:0;display:grid;gap:9px;width:100%;max-height:min(66vh,40rem);max-height:min(66dvh,40rem);overflow:auto;overscroll-behavior:contain;padding:15px;border:1px solid var(--line,#c7d0c9);border-radius:14px;background:var(--paper,#fff);color:var(--ink,#1d2824);box-shadow:0 12px 40px #0003}
.privacy-manager .privacy-panel[hidden]{display:none}
.privacy-manager .privacy-panel h2{margin:0;padding-inline-end:44px;font-size:1.08rem;line-height:1.3}
.privacy-manager .privacy-panel p{margin:0;overflow-wrap:anywhere}
.privacy-manager .privacy-panel .privacy-close{position:absolute;inset-block-start:6px;inset-inline-end:6px;width:44px;min-width:44px;min-height:44px;padding:8px;border-radius:50%}
.privacy-manager .privacy-panel .privacy-close .icon-bitmap{width:20px;height:20px}
.privacy-manager .icon-bitmap{width:18px;height:18px;flex:none}
.privacy-manager .privacy-intro,.privacy-manager .privacy-essential,.privacy-manager .privacy-controller{color:var(--muted,#536159)}
.privacy-manager .privacy-service-settings{display:grid;gap:7px;min-width:0}
.privacy-manager .privacy-service-setting{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid var(--line,#c7d0c9);border-radius:10px;background:var(--panel,#fff)}
.privacy-manager .privacy-service-toggle{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;min-width:0;cursor:pointer}
.privacy-manager .privacy-service-toggle input{position:relative;grid-column:2;grid-row:1;width:42px;height:24px;margin:0;appearance:none;border:1px solid var(--line,#748079);border-radius:999px;background:var(--line,#748079);cursor:pointer}
.privacy-manager .privacy-service-toggle input::before{position:absolute;inset-block-start:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:var(--paper,#fff);content:"";transition:transform .16s ease}
.privacy-manager .privacy-service-toggle input:checked{border-color:var(--accent,#315e49);background:var(--accent,#315e49)}
.privacy-manager .privacy-service-toggle input:checked::before{transform:translateX(18px)}
.privacy-manager .privacy-service-toggle input:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
.privacy-manager .privacy-service-toggle-text{grid-column:1;grid-row:1;display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.privacy-manager .privacy-service-toggle-text strong{font-size:.94rem}
.privacy-manager .privacy-service-purpose{color:var(--muted,#536159);font-size:.86rem;line-height:1.4}
.privacy-manager .privacy-category{justify-self:start;max-width:100%;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent,#315e49) 12%,transparent);color:var(--ink,#1d2824);font-size:.74rem;overflow-wrap:anywhere}
.privacy-manager .privacy-details{min-width:0;margin:0;border-top:1px solid var(--line,#c7d0c9)}
.privacy-manager .privacy-details>summary{padding:7px 1px 0;font-size:.86rem;font-weight:700;cursor:pointer}
.privacy-manager .privacy-details>summary:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
.privacy-manager .privacy-service-disclosures{display:grid;gap:5px;margin:8px 0 0;font-size:.82rem;line-height:1.4}
.privacy-manager .privacy-service-disclosures>div{display:grid;grid-template-columns:minmax(5.2rem,.38fr) minmax(0,1fr);gap:8px;min-width:0}
.privacy-manager .privacy-service-disclosures dt{color:var(--muted,#536159);font-weight:650}
.privacy-manager .privacy-service-disclosures dd{min-width:0;margin:0;overflow-wrap:anywhere}
.privacy-manager .privacy-service-disclosures a,.privacy-manager .privacy-policy-link{overflow-wrap:anywhere}
.privacy-manager .privacy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.privacy-manager .privacy-panel .privacy-accept,.privacy-manager .privacy-panel .privacy-reject{border-color:var(--accent,#315e49);background:var(--accent,#315e49);color:var(--paper,#fff)}
.privacy-manager .privacy-panel .privacy-accept:hover:not(:disabled),.privacy-manager .privacy-panel .privacy-reject:hover:not(:disabled){filter:brightness(.92)}
.privacy-manager .privacy-panel .privacy-save{grid-column:1/-1;background:transparent}
.privacy-manager .privacy-panel button:disabled{opacity:.55;cursor:not-allowed}
.privacy-manager .privacy-footer{display:grid;gap:5px;padding-block-start:8px;border-top:1px solid var(--line,#c7d0c9);font-size:.82rem}
.privacy-manager .privacy-controller{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px}
.privacy-manager .privacy-controller a{overflow-wrap:anywhere}
.privacy-manager .privacy-policy-link{width:fit-content;max-width:100%;font-size:.86rem}
.privacy-manager .privacy-policy-link:focus-visible,.privacy-manager .privacy-settings-button:focus-visible,.privacy-manager .privacy-panel button:focus-visible{outline:3px solid var(--accent,#315e49);outline-offset:3px}
.privacy-manager .privacy-empty{padding:9px;border:1px dashed var(--line,#c7d0c9);border-radius:8px;color:var(--muted,#536159)}
@media(max-width:560px){.privacy-manager{inset-inline-start:max(12px,env(safe-area-inset-left));width:auto;max-width:none}.privacy-manager .privacy-panel{max-height:min(66vh,40rem);max-height:min(66dvh,40rem);padding:13px}.privacy-manager .privacy-actions{gap:6px}}
/* Page blocks follow a section-and-widget layout, while articles keep their own reading column. */
body{max-width:none;padding:0 clamp(18px,4vw,56px)}
.site-header,main,.site-footer{width:min(100%,1240px);margin-inline:auto}
main{padding:clamp(32px,5vw,64px) 0}
.page-builder{display:grid;gap:clamp(18px,3vw,32px)}
.page-title{max-width:860px;margin:0 auto;width:100%}
.page-title h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;letter-spacing:-.035em;margin:0}
.hero-block{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);align-items:center;gap:clamp(24px,6vw,72px);margin:0;padding:clamp(30px,7vw,84px);background:linear-gradient(135deg,#f0f3ed,#e7eee8)}
.hero-block:not(.hero-block--split){display:block}
.hero-block h1,.hero-block h2{max-width:16ch}
.hero-highlights{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.hero-highlights li{padding:14px 16px;border:1px solid #ffffffb3;border-radius:10px;background:#ffffffb8;font-weight:650}
.page-section{border-radius:16px;margin:0;padding:clamp(22px,4vw,44px)}
.page-section--plain{background:transparent}
.page-section--soft{background:#f0f2ed;border:1px solid var(--line)}
.page-section--accent{background:#e1ede5}
.page-section--dark{background:#263b31;color:#fff}
.page-section--dark a{color:#fff}
.section-inner{width:100%;margin-inline:auto}
.section-inner--default{max-width:900px}
.section-inner--wide{max-width:1120px}
.section-inner--narrow{max-width:680px}
.section-inner>h2{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.025em;line-height:1.2;margin:0 0 12px}
.section-intro{max-width:68ch;color:var(--muted);font-size:1.05rem;margin:0 0 20px}
.feature-section{margin:22px 0 0}
.feature-section>h2{font-size:clamp(1.4rem,2.5vw,1.9rem);margin:0 0 16px}
.feature-card,.steps-widget li,.privacy-service-list li{padding:22px;border:1px solid var(--line);border-radius:13px;background:#fff}
.feature-card h3,.steps-widget h4{margin-top:0;line-height:1.3}
.link-list ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;list-style:none;padding:0}
.link-list li{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.link-list li>a{font-weight:700}
.steps-widget ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;list-style:none;padding:0;counter-reset:step}
.steps-widget li{counter-increment:step}
.steps-widget li::before{content:counter(step,decimal-leading-zero);display:block;color:var(--accent);font-size:.85rem;font-weight:800;letter-spacing:.08em;margin-bottom:8px}
.steps-widget pre,.code-widget pre{overflow:auto;padding:16px;background:#202722;color:#f7f7f2;border-radius:10px}
.steps-widget code,.code-widget code{font: .9rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre}
.code-widget{margin:14px 0}
.code-widget figcaption{font-size:.9rem;font-weight:700;margin:0 0 8px}
.table-widget{overflow-x:auto;margin:18px 0}
.table-widget table{border-collapse:collapse;min-width:560px;width:100%;background:#fff}
.table-widget caption{text-align:left;font-weight:700;padding:0 0 8px}
.table-widget th,.table-widget td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.table-widget th{background:#edf0ea}
.notice-widget{padding:18px 20px;border-left:4px solid var(--accent);background:#f0f2ed;border-radius:8px}
.notice-widget--warning{border-color:#9c5d20;background:#fbf0df}
.notice-widget--success{border-color:#317550;background:#e9f4ed}
.privacy-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;list-style:none;padding:0}
.privacy-service-list h3{margin-top:0}
.cta-block{margin:0}
.page-builder .latest-posts{margin:0}
@media(max-width:700px){.hero-block{grid-template-columns:1fr}.hero-block--split{align-items:start}.page-section{padding:22px}.site-header{align-items:flex-start}}
.site-header--hidden,.brand--hidden,.primary-navigation--hidden,.locale-nav--hidden,.site-footer--hidden,.footer-copy--hidden,.footer-navigation--hidden{display:none!important}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-footer p{margin:0}
.footer-navigation{display:flex;flex-direction:row;gap:18px}
.error-page{max-width:760px;margin:8vh auto;text-align:center;padding:clamp(28px,6vw,72px);border:1px solid var(--line);border-radius:18px;background:#f0f2ed}
.error-code{margin:0;color:var(--accent);font-size:clamp(4rem,14vw,9rem);font-weight:800;line-height:1;letter-spacing:-.08em}


/* Page files define row column counts and then element types inside each column. */
.page-builder-row{display:grid;gap:clamp(16px,2.5vw,30px);align-items:start}
.page-builder-row[data-columns="1"]{grid-template-columns:minmax(0,1fr)}
.page-builder-row[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-builder-row[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-builder-row[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.page-builder-cell{min-width:0}
.page-builder-cell>.hero-block,.page-builder-cell>.page-section,.page-builder-cell>.feature-section,.page-builder-cell>.cta-block,.page-builder-cell>.faq-block,.page-builder-cell>.latest-posts{margin:0}
.display-text{font-size:clamp(1.8rem,5vw,4rem);line-height:1.08;letter-spacing:-.045em}
.display-text--serif{font-family:Georgia,"Iowan Old Style",serif;font-weight:500}
.display-text--mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.06em}
.display-text--accent{color:var(--accent)}
.display-text--outline{-webkit-text-stroke:1px currentColor;color:transparent}
.media-text-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,48px)}
.media-text-block--right figure{order:2}
.media-text-block figure{min-width:0;margin:0}
.media-text-block img,.media-text-block video{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;border-radius:var(--media-radius,14px)}
.media-text-block figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}
.media-text-copy{max-width:62ch}
.media-text-copy h2{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2}
.privacy-controller-inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;margin:0}
.privacy-controller-inline span{min-width:0;overflow-wrap:anywhere}
.privacy-controller-separator{color:var(--muted)}
.privacy-vendor-link{display:inline-block;margin-block-start:4px}
.privacy-controller-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.privacy-controller-details>div{padding:14px;border:1px solid var(--line);border-radius:10px}
.privacy-controller-details dt{font-size:.85rem;color:var(--muted);font-weight:700}
.privacy-controller-details dd{margin:4px 0 0;overflow-wrap:anywhere}
@media(max-width:760px){.page-builder-row[data-columns="2"],.page-builder-row[data-columns="3"],.page-builder-row[data-columns="4"]{grid-template-columns:minmax(0,1fr)}.media-text-block{grid-template-columns:1fr}.media-text-block--right figure{order:0}}

.page-builder,.page-builder-row,.page-builder-cell,.hero-block,.hero-main,.hero-highlights{min-width:0}
.page-builder-row{width:100%}
.media-text-block,.media-text-block>*{min-width:0}
@media(max-width:760px){html,body{max-width:100%}.site-header,main,.site-footer{max-width:100%;min-width:0}.hero-block{grid-template-columns:minmax(0,1fr)}.hero-highlights{grid-template-columns:minmax(0,1fr)}}

/* Keep long article content and generated page widgets inside narrow viewports. */
html,body{width:100%;min-width:0;max-width:100%}
main,.page-builder,.page-builder-row,.page-builder-cell,.post,.post-content,.post-content>*{min-width:0;max-width:100%}
.post-content,.page-builder{overflow-wrap:anywhere}
.post-content img,.post-content video,.post-content iframe,.page-builder img,.page-builder video{max-width:100%;height:auto}
.post-content pre,.code-widget pre,.steps-widget pre{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.post-content table{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.post-content th,.post-content td{overflow-wrap:anywhere}
.post-content blockquote{margin-inline:clamp(8px,3vw,32px)}
.post-content a,.post-content code,.meta,.tags{overflow-wrap:anywhere}
.site-header,.site-header nav,.locale-nav,.site-footer,.footer-navigation{min-width:0;max-width:100%;flex-wrap:wrap}
.site-header nav,.footer-navigation{row-gap:10px}
.local-search-page{max-width:760px;margin-inline:auto}
.local-search-form label{display:block;font-weight:700;margin-bottom:8px}
.local-search-controls{display:flex;gap:10px;min-width:0}
.local-search-controls input{flex:1 1 auto;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.local-search-controls button{flex:0 0 auto;padding:10px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.local-search-form :focus-visible{outline:3px solid #cb774d;outline-offset:3px}
.local-search-results{padding-inline-start:1.5rem}
.local-search-results>li{padding:14px 0;border-top:1px solid var(--line)}
.local-search-results h2{margin:0;font-size:1.25rem}
.local-search-results time{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}
.local-search-results p{margin:8px 0 0}
.markdown-task-status{display:inline-block;min-width:1.35em;font-weight:800}
@media(max-width:620px){.local-search-controls{align-items:stretch;flex-direction:column}.local-search-controls button{min-height:44px}.post-content pre,.code-widget pre,.steps-widget pre{padding:12px}}
.locale-nav select{max-width:min(100%,13rem);padding:7px 30px 7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.locale-nav select:focus-visible{outline:3px solid #cb774d;outline-offset:3px}
@media(max-width:620px){.locale-nav select{min-height:42px;max-width:100%}}

/* Article contents and code tools use theme styling and wrap on narrow screens. */
.post-toc-widget{position:fixed;inset-inline-end:max(12px,env(safe-area-inset-right));inset-block-start:50%;z-index:950;max-width:calc(100vw - 24px);transform:translateY(-50%);color:var(--ink);font:14px/1.5 ui-sans-serif,system-ui,sans-serif}
.post-toc-widget[hidden]{display:none}
.post-toc-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-weight:700;box-shadow:0 4px 18px #0002;cursor:pointer}
.post-toc-toggle .icon-bitmap{width:18px;height:18px;flex:none}
.post-toc-toggle:focus-visible,.post-toc-close:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.post-toc-panel{position:absolute;inset-inline-end:0;inset-block-end:calc(100% + 8px);display:grid;gap:8px;width:min(22rem,calc(100vw - 24px));max-height:min(60vh,32rem);overflow:auto;overscroll-behavior:contain;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 12px 36px #0003}
.post-toc-panel[hidden]{display:none}
.post-toc-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.post-toc-heading h2{margin:0;font-size:1rem;letter-spacing:0}
.post-toc-close{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font:inherit;font-size:1.35rem;line-height:1;cursor:pointer}
.post-toc-panel ol{margin:0;padding-inline-start:1.25rem}
.post-toc-panel li{padding:3px 0;overflow-wrap:anywhere}
.post-toc-panel .post-toc-level-3{padding-inline-start:1rem}
.post-toc-panel .post-toc-level-4,.post-toc-panel .post-toc-level-5,.post-toc-panel .post-toc-level-6{padding-inline-start:2rem}
@media(max-width:620px){.post-toc-widget{inset-inline-start:max(12px,env(safe-area-inset-left));inset-inline-end:auto;inset-block-start:auto;inset-block-end:max(12px,env(safe-area-inset-bottom));transform:none}.post-toc-panel{inset-inline-start:0;inset-inline-end:auto;max-height:min(58vh,30rem)}.post-toc-toggle{min-height:44px}}
.post-content h2[id],.post-content h3[id],.post-content h4[id],.post-content h5[id],.post-content h6[id]{scroll-margin-top:1rem}
.code-copy-block{max-width:100%;margin:1.25em 0;border-radius:10px;overflow:hidden;background:#edf0ea}
.code-copy-block pre{margin:0;border-radius:0}
.code-copy-toolbar{display:flex;justify-content:flex-end;padding:7px 10px;background:var(--ink)}
.code-copy-button{min-height:36px;padding:5px 12px;border:1px solid currentColor;border-radius:7px;background:transparent;color:var(--paper);font:600 .88rem/1.3 ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.code-copy-button:hover{background:var(--accent)}
.code-copy-button:focus-visible{outline:3px solid #cb774d;outline-offset:2px}
.code-copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.post-content pre,.code-widget pre,.steps-widget pre{max-width:100%;overflow-x:hidden;overflow-y:visible;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;overscroll-behavior-inline:auto}
.post-content pre code,.code-widget pre code,.steps-widget pre code{white-space:inherit;overflow-wrap:inherit;word-break:inherit}
.pagination{flex-wrap:wrap;gap:12px}
@media(max-width:620px){.code-copy-button{min-height:44px}.post-content pre,.code-widget pre,.steps-widget pre{padding:12px}}

/* A sharper editorial palette: cobalt ink, lilac surfaces, and citrus highlights. */
:root{--paper:#f7f8ff;--panel:#fff;--ink:#171a35;--muted:#5e6480;--line:#dce0f2;--accent:#3945c6;--warm:#d94d3f}
body{background:radial-gradient(ellipse at 92% 0%,#e9e9ff 0,transparent 33%),var(--paper)}
.hero-block,.cta-block{background:linear-gradient(118deg,#e5e7ff 0%,#fff0dc 100%)}
.page-section--soft,.error-page{background:#f0f1ff}
.page-section--accent{background:#ffefd7}
.page-section--dark{background:#211d49}
.hero-highlights li{background:#ffffffd9;border-color:#ffffff}
.steps-widget pre,.code-widget pre,.code-copy-block{background:#211d49}
.table-widget th{background:#ededff}
.notice-widget{background:#f0f1ff}
.notice-widget--warning{background:#fff0dc}
.notice-widget--success{background:#e7f7ef}
.code-copy-block pre{background:#211d49;color:#f7f8ff}
.code-copy-button:focus-visible,.local-search-form :focus-visible{outline-color:var(--warm)}

/* Shared EdgePress marks and bitmap icons keep common navigation recognizable across themes. */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{display:block;width:36px;height:36px;flex:0 0 auto;object-fit:contain}
.primary-navigation a,.site-header nav a,.footer-navigation a{display:inline-flex;align-items:center;gap:.42em}
.navigation-icon{display:block;width:1.05em;height:1.05em;flex:0 0 auto;}
.hero-aside{display:grid;align-content:center;justify-items:center;gap:16px;min-width:0}
.hero-mascot{display:block;width:min(100%,230px);height:auto;max-height:220px;object-fit:contain;filter:drop-shadow(0 9px 13px #315e4922)}
.hero-aside .hero-highlights{width:100%;align-self:stretch}
.feature-icon{display:block;width:34px;height:34px;margin:0 0 10px;color:var(--accent);}
.latest-posts-pagination{justify-content:flex-start;gap:16px;margin-top:18px}
.latest-posts-pagination a:last-child{margin-left:auto}
.hero-mascot-picture{display:block;width:min(100%,230px)}
.post-excerpt{max-width:72ch;color:var(--muted);font-size:.95rem;line-height:1.6}
.post-excerpt p{margin:.35rem 0 0}
.post-excerpt p:first-child{margin-top:0}
.post-excerpt a{color:inherit}
.post-content .markdown-video{margin:1.5rem 0}
.post-content .markdown-video video{display:block;width:100%;max-width:100%;height:auto;border-radius:10px;background:#101410}
.post-content .markdown-video figcaption{margin-top:.5rem;color:var(--muted);font-size:.9rem}
.post-tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
.post-tags ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.post-tags a{display:inline-block;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--accent);font-weight:600;text-decoration:none}
.post-tags a:hover{background:var(--line)}

.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px 20px}
.footer-copy{grid-column:1;grid-row:1;min-width:0;margin:0}
.footer-filings{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;text-align:center}
.footer-filings a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);text-decoration:underline;text-underline-offset:.18em}
.footer-police-icon{display:block;width:20px;height:20px;object-fit:contain;flex:none}
.footer-navigation{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:760px){.site-footer{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.footer-copy,.footer-filings,.footer-navigation{grid-column:1;justify-self:center}.footer-filings{grid-row:2}.footer-navigation{grid-row:3}}

/* Raster artwork and predictable spacing for generated page elements. */
.icon-bitmap{display:inline-block;width:24px;height:24px;flex:none;object-fit:contain;vertical-align:middle}
.navigation-icon{width:20px;height:20px}
.feature-icon{width:32px;height:32px}
.post-toc-toggle .icon-bitmap,.privacy-manager .icon-bitmap{width:20px;height:20px}
.privacy-manager .privacy-accept .icon-bitmap,.privacy-manager .privacy-reject .icon-bitmap{filter:brightness(0) invert(1)}
.page-builder-cell{display:grid;align-content:start;gap:clamp(16px,2.5vw,28px)}
.page-builder-cell>*,.section-inner>*{min-width:0;margin-block:0}
.section-inner{display:grid;gap:16px}
.post-list{display:grid;gap:clamp(16px,2.5vw,24px)}
.archive-post-list{margin-block:24px}
.post-list>.post-card{margin:0}
.post-card .meta{margin-block:8px;line-height:1.6}
.latest-posts>h2,.feature-section>h2{margin-block:0 16px}
.pagination:not(.latest-posts-pagination){align-items:center;justify-content:center;gap:12px}
.pagination-pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.pagination-pages a,.pagination-current{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel,var(--paper,var(--surface)));color:var(--ink);font-weight:600;text-decoration:none}
.pagination-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:800}
.pagination-ellipsis{padding-inline:4px;color:var(--muted)}
.hero-block--banner{grid-template-columns:minmax(0,1fr);gap:24px}
.hero-banner{display:block;width:min(100%,680px);height:auto;max-height:460px;margin:0 auto;object-fit:contain}
.hero-block--banner .hero-aside{max-width:100%}

.page-section--dark .icon-bitmap{filter:brightness(0) invert(1)}

.brand-mark{width:36px;height:36px;object-fit:contain;border-radius:50%;background:#f8efdc;padding:2px}
.hero-mascot,.hero-mascot-picture{width:min(100%,320px);max-height:240px}
.hero-banner-picture{display:block;margin-top:24px}
