:root{color-scheme:light dark;--bg: #ffffff;--bg-soft: #f5f5f7;--bg-softer: #fbfbfd;--surface: #ffffff;--surface-tint: #f2fbfd;--text: #1d1d1f;--muted: #6e6e73;--muted-strong: #424245;--border: #d2d2d7;--border-soft: rgba(0, 0, 0, .08);--accent: #8f8f94;--accent-strong: #5f6065;--accent-soft: #f0f0f2;--link-internal: #416fae;--link-external: #a77763;--code-accent: #6f8f98;--inline-code-text: #3f626b;--code-soft: #eef4f5;--code-bg: #f6f7f8;--code-text: #24292f;--code-muted: #57606a;--quote-accent: #8b8198;--quote-soft: #f4f1f6;--comment-accent: #fec37d;--comment-accent-strong: #e87516;--floating-panel-shadow: 0 22px 70px rgba(0, 0, 0, .18), 0 8px 22px rgba(0, 0, 0, .1);--shadow-soft: 0 18px 50px rgba(0, 0, 0, .08);--shadow-hover: 0 26px 70px rgba(95, 96, 101, .14);--site-edge-space: clamp(14px, 3vw, 32px);--content-gutter: clamp(16px, 4vw, 56px);--site-font-size: 17.5px;--content-width: clamp(980px, 84vw, 1240px);--article-gutter: var(--content-gutter);--article-width: clamp(760px, 65vw, 960px);--radius-lg: 34px;--radius-md: 24px;--radius-sm: 16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro SC,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,system-ui,sans-serif}html[data-page=home],html[data-page=blog-index]{--content-width: 960px}@media(prefers-color-scheme:dark){:root{--bg: #111315;--bg-soft: #1a1d20;--bg-softer: #15181b;--surface: #1d1d1f;--surface-tint: #0f252a;--text: #f5f5f7;--muted: #a1a1a6;--muted-strong: #d2d2d7;--border: #3a3a3c;--border-soft: rgba(255, 255, 255, .12);--accent: #b8b8bd;--accent-strong: #e0e0e4;--accent-soft: #303033;--link-internal: #9fc2f2;--link-external: #d4a08d;--code-accent: #a7c2ca;--inline-code-text: #a7c2ca;--code-soft: #1e2d31;--code-bg: #0d1117;--code-text: #e6edf3;--code-muted: #8b949e;--quote-accent: #c3b6d0;--quote-soft: #2a2530;--comment-accent: #fec37d;--comment-accent-strong: #fec37d;--floating-panel-shadow: 0 28px 82px rgba(0, 0, 0, .62), 0 10px 28px rgba(0, 0, 0, .42);--shadow-soft: 0 20px 60px rgba(0, 0, 0, .36);--shadow-hover: 0 28px 80px rgba(184, 184, 189, .14)}}html[data-theme=light]{color-scheme:light;--bg: #ffffff;--bg-soft: #f5f5f7;--bg-softer: #fbfbfd;--surface: #ffffff;--surface-tint: #f2fbfd;--text: #1d1d1f;--muted: #6e6e73;--muted-strong: #424245;--border: #d2d2d7;--border-soft: rgba(0, 0, 0, .08);--accent: #8f8f94;--accent-strong: #5f6065;--accent-soft: #f0f0f2;--link-internal: #416fae;--link-external: #a77763;--code-accent: #6f8f98;--inline-code-text: #3f626b;--code-soft: #eef4f5;--code-bg: #f6f7f8;--code-text: #24292f;--code-muted: #57606a;--quote-accent: #8b8198;--quote-soft: #f4f1f6;--comment-accent: #fec37d;--comment-accent-strong: #e87516;--floating-panel-shadow: 0 22px 70px rgba(0, 0, 0, .18), 0 8px 22px rgba(0, 0, 0, .1);--shadow-soft: 0 18px 50px rgba(0, 0, 0, .08);--shadow-hover: 0 26px 70px rgba(95, 96, 101, .14)}html[data-theme=dark]{color-scheme:dark;--bg: #111315;--bg-soft: #1a1d20;--bg-softer: #15181b;--surface: #1d1d1f;--surface-tint: #0f252a;--text: #f5f5f7;--muted: #a1a1a6;--muted-strong: #d2d2d7;--border: #3a3a3c;--border-soft: rgba(255, 255, 255, .12);--accent: #b8b8bd;--accent-strong: #e0e0e4;--accent-soft: #303033;--link-internal: #9fc2f2;--link-external: #d4a08d;--code-accent: #a7c2ca;--inline-code-text: #a7c2ca;--code-soft: #1e2d31;--code-bg: #0d1117;--code-text: #e6edf3;--code-muted: #8b949e;--quote-accent: #c3b6d0;--quote-soft: #2a2530;--comment-accent: #fec37d;--comment-accent-strong: #fec37d;--floating-panel-shadow: 0 28px 82px rgba(0, 0, 0, .62), 0 10px 28px rgba(0, 0, 0, .42);--shadow-soft: 0 20px 60px rgba(0, 0, 0, .36);--shadow-hover: 0 28px 80px rgba(184, 184, 189, .14)}@supports (view-transition-name: root){html.is-theme-transitioning::view-transition-group(root){animation-duration:.52s}html.is-theme-transitioning::view-transition-image-pair(root){isolation:isolate}html.is-theme-transitioning::view-transition-old(root),html.is-theme-transitioning::view-transition-new(root){animation:none;mix-blend-mode:normal}html.is-theme-transition-to-dark::view-transition-old(root){z-index:1}html.is-theme-transition-to-dark::view-transition-new(root){z-index:2;animation:theme-wipe-to-dark .52s cubic-bezier(.76,0,.24,1) both}html.is-theme-transition-to-light::view-transition-old(root){z-index:2;animation:theme-wipe-to-light .52s cubic-bezier(.76,0,.24,1) both}html.is-theme-transition-to-light::view-transition-new(root){z-index:1}}@keyframes theme-wipe-to-dark{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes theme-wipe-to-light{0%{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}html[data-font-size=s]{--site-font-size: 16px}html[data-font-size=m]{--site-font-size: 17.5px}html[data-font-size=l]{--site-font-size: 19px}html[data-content-width=s]{--article-gutter: clamp(24px, 5vw, 68px);--article-width: clamp(620px, 50vw, 760px)}html[data-content-width=m]{--article-gutter: var(--content-gutter);--article-width: clamp(760px, 65vw, 960px)}html[data-content-width=l]{--article-gutter: clamp(10px, 3vw, 44px);--article-width: clamp(900px, 80vw, 1180px)}@media(max-width:560px){html[data-content-width=s]{--article-gutter: 32px}html[data-content-width=m]{--article-gutter: 24px}html[data-content-width=l]{--article-gutter: 16px}}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);scroll-behavior:smooth;scrollbar-gutter:stable}html[data-page=blog-index]{scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--text);font-size:var(--site-font-size);line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.2em;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.site-shell{width:min(calc(100% - var(--content-gutter) - var(--content-gutter)),var(--content-width));margin:0 auto}html[data-page=home] .site-shell{width:min(calc(100% - var(--content-gutter) - var(--content-gutter)),var(--content-width))}.empty-page,.page-heading,.not-found{padding:78px 0 54px}h1{margin:0 0 16px;font-size:clamp(2.75rem,8vw,5.4rem);font-weight:760;letter-spacing:0;line-height:1.04}p{margin:0 0 16px}.post-meta{display:flex;flex-wrap:nowrap;align-items:center;gap:.45em .65em;max-width:100%;min-width:0;margin:0;color:var(--muted);font-weight:400;white-space:nowrap}.post-meta>*{flex:0 0 auto;color:inherit;font-weight:inherit;opacity:1}.empty-page p,.page-heading+p,.article-header>p:not(.article-meta),.post-card p{color:var(--muted)}:root{--site-header-height: 44px}.site-header{position:fixed;top:0;left:0;z-index:10;width:100%;height:var(--site-header-height);border-bottom:1px solid var(--border-soft);padding:6px 0;background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.site-shell>main{padding-top:var(--site-header-height)}.site-header-inner{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;width:100%;height:100%;padding:0 var(--site-edge-space)}.brand{color:var(--text);font-size:16px;font-weight:700;letter-spacing:0;text-decoration:none;white-space:nowrap}.site-nav{display:flex;gap:8px;justify-content:center;white-space:nowrap}.site-nav a{color:var(--muted);border-radius:999px;padding:3px 12px;font-size:.94rem;font-weight:600;line-height:1.4;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current=page]{color:var(--text)}.site-nav a[aria-current=page]{background:var(--bg-soft);font-weight:650}.site-header-actions{justify-self:end;display:inline-flex;align-items:center;gap:8px;min-width:0}.anchor-return-button{display:inline-grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,var(--bg-soft));color:var(--muted-strong);cursor:pointer;opacity:1;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.anchor-return-button[hidden]{display:none}.anchor-return-button.is-anchor-return-hiding{opacity:0;pointer-events:none}.anchor-return-button:hover,.anchor-return-button:focus-visible{border-color:color-mix(in srgb,var(--link-internal) 42%,var(--border-soft));background:color-mix(in srgb,var(--link-internal) 12%,var(--bg-soft));color:var(--text)}.anchor-return-button:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 22%,transparent);outline-offset:2px}.anchor-return-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(prefers-reduced-motion:reduce){.anchor-return-button{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.anchor-return-button.is-anchor-return-hiding{opacity:0}}.settings-button{display:inline-grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-soft);color:var(--muted-strong);cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.settings-button:hover,.settings-button:focus-visible,.settings-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 38%,var(--border-soft));color:var(--text)}.settings-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface))}.settings-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.settings-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.site-settings-panel{position:fixed;top:calc(max(0px,env(safe-area-inset-top)) + 46px);right:max(var(--site-edge-space),env(safe-area-inset-right));z-index:20;display:grid;gap:14px;width:min(330px,calc(100vw - 28px));max-height:calc(100vh - 74px);max-height:calc(100dvh - max(60px,env(safe-area-inset-top)) - max(14px,env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,var(--bg-soft));box-shadow:var(--floating-panel-shadow);padding:12px;color:var(--text);transform-origin:top right;animation:site-settings-panel-in .15s ease;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}html.is-theme-transitioning .site-header{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}html.is-theme-transitioning .site-settings-panel:not([hidden]){background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.site-settings-panel.is-closing{pointer-events:none;animation:site-settings-panel-out .14s ease forwards}.site-settings-panel[hidden]{display:none}.site-settings-panel:focus{outline:none}@keyframes site-settings-panel-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes site-settings-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-4px) scale(.98)}}.site-settings-header{display:flex;align-items:center;justify-content:center;min-width:0;width:100%}.site-settings-title{margin:0;color:var(--text);font-size:1.12rem;font-weight:720;line-height:1.2;text-align:center}.site-settings-list{display:grid;gap:14px}.site-settings-section{display:grid;gap:10px}.site-settings-divider{width:100%;height:1px;border:0;background:var(--border-soft);margin:0}.site-setting-row{display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:10px}.site-setting-row[hidden]{display:none}.site-setting-label{color:var(--muted-strong);font-size:.84rem;font-weight:680;line-height:1.2;padding-inline-start:8px;white-space:nowrap}.site-settings-identity-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;border-radius:12px;color:var(--link-internal);padding:7px 10px;text-decoration:none}.site-settings-identity-link strong{font-size:.86rem;font-weight:720;line-height:1.35}.site-settings-identity-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;color:var(--muted);font-size:.72rem;font-weight:650;line-height:1.2}.site-settings-identity-status[hidden]{display:none}.site-settings-identity-link .site-settings-identity-status:not([hidden]){animation:site-settings-identity-status-in .18s ease-out both}@keyframes site-settings-identity-status-in{0%{opacity:0}to{opacity:1}}.site-settings-identity-status-dot{width:8px;height:8px;border-radius:999px;background:#c44a42;box-shadow:0 0 0 3px color-mix(in srgb,#c44a42 13%,transparent)}.site-settings-identity-status[data-state=logged-in] .site-settings-identity-status-dot{background:#478660;box-shadow:0 0 0 3px color-mix(in srgb,#478660 13%,transparent)}.site-settings-identity-link:hover,.site-settings-identity-link:focus-visible{background:var(--bg-soft);color:var(--link-internal)}.site-settings-identity-link:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 18%,transparent);outline-offset:1px}.segmented-control{--segmented-gap: 3px;--segmented-padding: 3px;--segmented-thumb-bg: var(--surface);--segmented-thumb-border: transparent;--segmented-thumb-shadow: 0 1px 5px color-mix(in srgb, var(--accent) 20%, transparent);--segmented-active-color: var(--text);--segmented-thumb-offset: 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--segmented-gap);min-width:0;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-soft);overflow:hidden;padding:var(--segmented-padding);position:relative;isolation:isolate}.segmented-control:before{content:"";position:absolute;top:var(--segmented-padding);bottom:var(--segmented-padding);left:var(--segmented-padding);z-index:0;box-sizing:border-box;width:calc((100% - var(--segmented-padding) - var(--segmented-padding) - var(--segmented-gap) - var(--segmented-gap)) / 3);border:1px solid var(--segmented-thumb-border);border-radius:999px;background:var(--segmented-thumb-bg);box-shadow:var(--segmented-thumb-shadow);transform:translate(var(--segmented-thumb-offset));transition:transform .26s cubic-bezier(.22,1,.36,1),background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.segmented-control[data-active-index="1"]{--segmented-thumb-offset: calc(100% + var(--segmented-gap))}.segmented-control[data-active-index="2"]{--segmented-thumb-offset: calc(200% + var(--segmented-gap) + var(--segmented-gap))}.segmented-control[data-option-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:end;width:66.666666%}.segmented-control[data-option-count="2"]:before{width:calc((100% - var(--segmented-padding) - var(--segmented-padding) - var(--segmented-gap)) / 2)}.segmented-control button{position:relative;z-index:1;min-width:0;min-height:28px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:720;line-height:1;padding:4px 10px;cursor:pointer;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.segmented-control button:hover,.segmented-control button:focus-visible{color:var(--text)}.segmented-control button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.segmented-control button.is-active{color:var(--segmented-active-color)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .segmented-control{--segmented-thumb-bg: color-mix(in srgb, var(--accent) 26%, var(--surface));--segmented-thumb-border: color-mix(in srgb, var(--accent) 42%, transparent);--segmented-thumb-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 8px 18px color-mix(in srgb, #000000 30%, transparent);--segmented-active-color: #ffffff}}html[data-theme=dark] .segmented-control{--segmented-thumb-bg: color-mix(in srgb, var(--accent) 26%, var(--surface));--segmented-thumb-border: color-mix(in srgb, var(--accent) 42%, transparent);--segmented-thumb-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 8px 18px color-mix(in srgb, #000000 30%, transparent);--segmented-active-color: #ffffff}@media(prefers-reduced-motion:reduce){.site-settings-panel{animation:none}.segmented-control:before{transition:none}.site-settings-identity-link .site-settings-identity-status{animation:none}.site-settings-identity-link svg{transition:none}}.home-hero{position:relative;isolation:isolate;max-width:var(--content-width);margin-inline:auto}.home-section{max-width:760px;margin-inline:auto}.home-hero{padding:clamp(88px,16vw,156px) 0 clamp(70px,10vw,112px)}.home-hero>:not(.home-door-light){position:relative;z-index:1}.home-door-light{position:absolute;z-index:0;top:0;left:50%;display:block;width:100vw;height:max(calc(100% + 180px),100dvh);overflow:hidden;visibility:hidden;opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity .14s ease-out,visibility 0s linear .14s;mix-blend-mode:screen}.home-door-light[data-active=true]{visibility:visible;transition:opacity .14s ease-out}.home-door-light-cone-feather{opacity:.42}.home-door-light-cone-core{opacity:.76}.home-door-threshold-glow{opacity:.9}.home-door-threshold-edge{opacity:.68}html[data-theme=dark] .home-door-light[data-active=true]{opacity:1}@media(prefers-color-scheme:dark){:root:not([data-theme]) .home-door-light[data-active=true]{opacity:1}}@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.home-door-light{display:none}}.home-kicker{margin-bottom:12px;color:var(--muted);font-size:clamp(1.25rem,3vw,1.65rem);font-weight:360;line-height:1.35}.home-logo-title{position:relative;width:min(100%,960px);margin-bottom:18px;line-height:1;white-space:normal}.home-logo-title-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.home-logo-image{display:block;inline-size:100%;block-size:auto;max-inline-size:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.home-logo-image-dark{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme]) .home-logo-image-light{display:none}:root:not([data-theme]) .home-logo-image-dark{display:block}}html[data-theme=dark] .home-logo-image-light{display:none}html[data-theme=dark] .home-logo-image-dark,html[data-theme=light] .home-logo-image-light{display:block}html[data-theme=light] .home-logo-image-dark{display:none}.home-subtitle{max-width:36rem;color:var(--muted-strong);font-size:clamp(1.16rem,2.5vw,1.45rem);line-height:1.75}.home-section{padding:0 0 clamp(72px,9vw,104px)}.home-recent-posts{--home-post-card-max-width: calc((var(--content-width) - 36px) / 3);max-width:var(--content-width);padding-bottom:clamp(44px,6vw,64px)}.home-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:18px}.home-section h2{margin:0;color:var(--text);font-size:clamp(1.65rem,3vw,2.1rem);font-weight:720;line-height:1.2}.text-button{color:var(--muted-strong);font-size:1rem;font-weight:660;text-decoration:none;white-space:nowrap}.text-button:hover,.text-button:focus-visible{color:var(--link-internal)}.home-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-post-card-mobile-only{display:none}.home-post-card-link{display:flex;min-height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none}.home-post-card-link:hover,.home-post-card-link:focus-visible{border-color:color-mix(in srgb,var(--link-internal) 42%,var(--border-soft))}.home-post-cover{flex:0 0 auto;position:relative;inline-size:100%;aspect-ratio:2 / 1;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-soft) 88%,var(--accent-soft)),var(--surface-tint));border-bottom:1px solid var(--border-soft);contain:paint}.home-post-cover img{display:block;inline-size:100%;block-size:100%;max-inline-size:none;-o-object-fit:cover;object-fit:cover}.home-post-body{display:flex;flex:1;flex-direction:column;padding:10px 12px}.home-post-body h3{margin:0 0 6px;font-size:clamp(1.18rem,2.2vw,1.42rem);font-weight:720;line-height:1.2}.home-post-body>p:not(.post-meta){margin-bottom:8px;color:var(--muted);font-size:.96rem;line-height:1.52}.home-post-meta{align-self:flex-end;margin-top:auto;color:var(--muted);font-size:.78rem;line-height:1.35;text-align:right;justify-content:flex-end}.home-empty{color:var(--muted)}.home-footer{position:relative;left:50%;width:100vw;margin:clamp(104px,14vw,172px) 0 0 -50vw;padding:clamp(34px,5vw,48px) 0 clamp(28px,4vw,38px);border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#101214,#171b1e 58%,#0c0e10);color:#f5f5f7}.home-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(28px,5vw,56px);width:min(calc(100% - var(--content-gutter) - var(--content-gutter)),var(--content-width));margin-inline:auto}.home-footer-nav{display:grid;flex:0 1 auto;grid-template-columns:repeat(3,max-content);gap:18px clamp(24px,4vw,42px);min-width:0}.home-footer-group{min-width:0}.home-footer-group-title{margin:0 0 8px;color:#f5f5f76b;font-size:.76rem;font-weight:720;line-height:1.2}.home-footer-group-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.home-footer-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;gap:5px;align-items:center;min-height:32px;max-width:100%;min-width:0;padding:0;border:0;background:transparent;color:#f5f5f7c7;cursor:pointer;font:inherit;text-align:left;text-decoration:none}.home-footer-link:hover,.home-footer-link:focus-visible{color:#fff}.home-footer-link-icon{display:grid;width:22px;height:22px;place-items:center;color:#d0dfdcb8}.home-footer-link:hover .home-footer-link-icon,.home-footer-link:focus-visible .home-footer-link-icon{color:#d0dfdc}.home-footer-link-icon svg{width:20px;height:20px;fill:currentColor}.home-footer-link-label{min-width:0;overflow-wrap:anywhere;color:currentColor;font-size:.92rem;font-weight:660;line-height:1.3}.home-footer-link[data-copy-value] .home-footer-link-label,.home-footer-link[data-copy-path] .home-footer-link-label{display:inline-block;min-width:4.4em}.home-footer-meta{display:flex;flex:0 0 auto;gap:16px;color:#f5f5f76b;font-size:.8rem;line-height:1.4;white-space:nowrap}.home-footer-meta p{margin:0}.product-page{max-width:960px;margin-inline:auto;padding-bottom:clamp(68px,9vw,108px)}.product-page .product-page-heading{padding-bottom:clamp(34px,5vw,52px)}.product-list{display:grid;gap:18px;max-width:760px}.product-card{display:grid;grid-template-columns:clamp(112px,14vw,148px) minmax(0,1fr);gap:clamp(22px,4vw,34px);align-items:center;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:clamp(20px,3.5vw,30px);background:var(--surface);color:var(--text);text-decoration:none}.product-card:hover,.product-card:focus-visible{border-color:color-mix(in srgb,var(--link-external) 42%,var(--border-soft))}.product-card:focus-visible{outline:3px solid color-mix(in srgb,var(--link-external) 24%,transparent);outline-offset:3px}.product-card-icon{display:block;width:100%;height:auto;aspect-ratio:1;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.18))}.product-card-content{min-width:0}.product-card h2{margin:0 0 8px;color:var(--text);font-size:clamp(1.65rem,4vw,2.15rem);font-weight:740;line-height:1.18}.product-card-description{margin:0 0 18px;color:var(--muted);font-size:clamp(.98rem,2vw,1.1rem);line-height:1.55}.product-card-cta{display:inline-flex;align-items:center;gap:6px;color:var(--link-external);font-size:.9rem;font-weight:680;line-height:1.2}.product-card-cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .18s ease}.product-card:hover .product-card-cta svg,.product-card:focus-visible .product-card-cta svg{transform:translate(2px,-2px)}@media(max-width:560px){.product-page{padding-bottom:58px}.product-page .product-page-heading{padding-bottom:28px}.product-card{grid-template-columns:86px minmax(0,1fr);gap:16px;border-radius:20px;padding:18px}.product-card h2{margin-bottom:5px;font-size:1.45rem}.product-card-description{margin-bottom:10px;font-size:.9rem;line-height:1.48}.product-card-cta{font-size:.82rem}}@media(prefers-reduced-motion:reduce){.product-card:hover,.product-card:focus-visible,.product-card:hover .product-card-cta svg,.product-card:focus-visible .product-card-cta svg{transform:none}}.post-list{display:grid;gap:0;padding-bottom:72px}.archive-filter{background:var(--bg-soft);margin:-28px calc(50% - 50vw) 18px;padding:18px 0}@supports (width: 100dvw){.archive-filter{margin-inline:calc(50% - 50dvw)}}.archive-filter-inner{display:grid;grid-template-columns:repeat(2,minmax(0,calc(var(--content-width) / 6))) minmax(0,1fr) auto;gap:14px;align-items:center;width:min(calc(100% - var(--content-gutter) - var(--content-gutter)),var(--content-width));margin-inline:auto}.archive-filter-control{position:relative;min-width:0}.archive-filter-control-category{grid-column:1}.archive-filter-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;line-height:1;padding:0 17px 0 26px;text-align:left;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.archive-filter-button [data-filter-label]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-filter-arrow{position:relative;width:18px;height:16px;flex:0 0 auto;color:var(--muted-strong);transition:color .18s ease}.archive-filter-arrow-line{position:absolute;top:var(--arrow-line-y-closed);width:10px;height:2px;border-radius:999px;background:currentColor;transform:rotate(var(--arrow-line-rotation-closed));transform-origin:var(--arrow-line-origin);transition:top .18s ease,transform .18s ease}.archive-filter-arrow-line:nth-child(1){--arrow-line-y-closed: 10.5px;--arrow-line-y-open: 3.5px;--arrow-line-rotation-closed: 45deg;--arrow-line-rotation-open: -45deg;--arrow-line-origin: 100% 50%;left:calc(50% - 10px)}.archive-filter-arrow-line:nth-child(2){--arrow-line-y-closed: 10.5px;--arrow-line-y-open: 3.5px;--arrow-line-rotation-closed: -45deg;--arrow-line-rotation-open: 45deg;--arrow-line-origin: 0 50%;left:50%}.archive-filter-button:hover,.archive-filter-button[aria-expanded=true]{border-color:var(--accent)}.archive-filter-button:hover .archive-filter-arrow,.archive-filter-button[aria-expanded=true] .archive-filter-arrow{color:var(--text)}.archive-filter-button[aria-expanded=true] .archive-filter-arrow-line{top:var(--arrow-line-y-open);transform:rotate(var(--arrow-line-rotation-open))}.archive-filter-button:focus-visible{border-color:var(--accent);outline:3px solid var(--accent-soft);outline-offset:2px}.archive-filter-menu{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:100%;max-height:min(320px,58vh);overflow-y:auto;border:1px solid var(--border-soft);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-soft);padding:6px}.archive-filter-menu[hidden]{display:none}.archive-filter-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:999px;background:transparent;color:var(--muted-strong);cursor:pointer;font:inherit;font-size:.92rem;font-weight:600;line-height:1.2;padding:11px 14px 11px 22px;text-align:left}.archive-filter-option:hover,.archive-filter-option:focus-visible,.archive-filter-option[aria-selected=true]{background:var(--bg-soft);color:var(--text)}.archive-filter-option:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.archive-filter-option-count{min-width:1.8em;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:700;line-height:1;padding:4px 7px;text-align:center}.archive-sort{display:flex;align-items:center;justify-content:flex-end;margin-bottom:28px}.archive-sort-button{grid-column:4;justify-self:end;width:108px;height:38px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);color:var(--muted-strong);display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:.9rem;font-weight:650;line-height:1;padding:0;white-space:nowrap;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.archive-sort-triangle{position:relative;width:10px;height:10px;flex:0 0 auto;transform:rotate(var(--sort-triangle-rotation, 180deg));transform-origin:50% 50%;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.archive-sort-triangle:before{content:"";position:absolute;top:-.77px;left:0;width:10px;height:8.66px;background:currentColor;clip-path:polygon(50% 0,100% 100%,0 100%)}.archive-sort-button:hover,.archive-sort-button:focus-visible{border-color:var(--accent);color:var(--text)}.archive-sort-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.filter-empty{color:var(--muted);border-radius:var(--radius-md);background:var(--bg-soft);padding:24px}.post-card-link{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,3vw,28px);align-items:center;border-bottom:1px solid var(--border-soft);padding:26px 0;text-decoration:none}.post-card-link.has-cover{grid-template-columns:minmax(0,1fr) clamp(144px,32vw,280px)}.post-card-cover{position:relative;inline-size:100%;aspect-ratio:2 / 1;overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-soft) 88%,var(--accent-soft)),var(--surface-tint));contain:paint}.post-card-cover img{display:block;inline-size:100%;block-size:100%;max-inline-size:none;-o-object-fit:cover;object-fit:cover}.post-card-body{align-self:stretch;display:flex;flex-direction:column;min-width:0}.post-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0;margin-top:auto}.post-card-meta{flex:1 1 auto;max-width:100%;overflow:hidden;font-size:.84rem;line-height:1.3}.post-card-comment-count{display:inline-flex;align-items:center;flex:0 0 auto;gap:4px;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:600;line-height:1;white-space:nowrap}.post-card-comment-count[hidden],html[data-comments-display=off] .post-card-comment-count{display:none}.post-card-comment-count svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.post-card-link:hover,.post-card-link:focus-visible{color:var(--accent-strong)}.post-card h2{position:relative;margin:0 0 10px;color:var(--text);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:720;line-height:1.22}.post-card-visited-icon{--post-card-visited-icon-size: 14px;position:absolute;top:calc((1.22em - var(--post-card-visited-icon-size)) / 2);left:-20px;display:inline-flex;width:var(--post-card-visited-icon-size);height:var(--post-card-visited-icon-size);color:var(--link-internal);opacity:0;visibility:hidden;transform:translateY(.5px)}.post-card-visited-icon.is-visited{opacity:1;visibility:visible}.post-card-visited-icon svg{width:100%;height:100%}.post-card-title-text{min-width:0}.post-card p,.post-card .post-meta,.article-header p,.article-header time{color:var(--muted)}.article-reading-shell{margin-inline:calc(50% - 50vw)}@supports (width: 100dvw){.article-reading-shell{margin-inline:calc(50% - 50dvw)}}.article-page{width:min(calc(100% - var(--article-gutter) - var(--article-gutter)),var(--article-width));margin-inline:auto;padding:58px 0 96px}.site-header,.article-page>:not(.prose),.article-header>*,.prose>*,.comment-marker{transition:opacity .32s ease,filter .32s ease,color .18s ease}.article-header h1[data-immersive-outline-source],.prose :where(h2,h3,h4)[data-immersive-outline-source]{cursor:pointer}.article-header h1[data-immersive-outline-source]:hover,.article-header h1[data-immersive-outline-source]:focus-visible,.prose :where(h2,h3,h4)[data-immersive-outline-source]:hover,.prose :where(h2,h3,h4)[data-immersive-outline-source]:focus-visible{color:var(--link-internal)}.article-header h1[data-immersive-outline-source]:focus-visible,.prose :where(h2,h3,h4)[data-immersive-outline-source]:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 24%,transparent);outline-offset:5px}html.is-immersive-outline-scroll-locked,html.is-immersive-outline-scroll-locked body{overflow:hidden;overscroll-behavior:none}html.is-immersive-outline .site-header,html.is-immersive-outline .article-page>:not(.article-header):not(.prose),html.is-immersive-outline .article-header>:not(h1),html.is-immersive-outline .prose>:not(h2):not(h3):not(h4),html.is-immersive-outline .comment-marker{opacity:0;filter:blur(2px);pointer-events:none}html.is-immersive-outline-restoring .site-header,html.is-immersive-outline-restoring .article-page>:not(.article-header):not(.prose),html.is-immersive-outline-restoring .article-header>:not(h1),html.is-immersive-outline-restoring .prose>:not(h2):not(h3):not(h4),html.is-immersive-outline-restoring .comment-marker{opacity:0;filter:blur(2px);pointer-events:none;transition:opacity .62s cubic-bezier(.4,0,.2,1),filter .62s cubic-bezier(.4,0,.2,1)}html.is-immersive-outline-restoring.is-immersive-outline-revealing .site-header,html.is-immersive-outline-restoring.is-immersive-outline-revealing .article-page>:not(.article-header):not(.prose),html.is-immersive-outline-restoring.is-immersive-outline-revealing .article-header>:not(h1),html.is-immersive-outline-restoring.is-immersive-outline-revealing .prose>:not(h2):not(h3):not(h4),html.is-immersive-outline-restoring.is-immersive-outline-revealing .comment-marker{opacity:1;filter:none}html.is-immersive-outline .article-header h1[data-immersive-outline-source],html.is-immersive-outline .prose :where(h2,h3,h4)[data-immersive-outline-source]{opacity:0}html.is-immersive-outline-restoring .article-header h1[data-immersive-outline-source],html.is-immersive-outline-restoring .prose :where(h2,h3,h4)[data-immersive-outline-source]{opacity:0;pointer-events:none;transition:none}html.is-immersive-outline-restoring.is-immersive-outline-handoff .article-header h1[data-immersive-outline-source],html.is-immersive-outline-restoring.is-immersive-outline-handoff .prose :where(h2,h3,h4)[data-immersive-outline-source]{opacity:1}.immersive-outline{position:fixed;inset:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);color:var(--text);contain:layout paint style;transition:background-color .22s ease}.immersive-outline-close{position:fixed;z-index:3;top:max(14px,env(safe-area-inset-top));right:max(18px,calc((100vw - 680px)/2 - 58px),env(safe-area-inset-right));display:grid;place-items:center;width:42px;height:42px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid color-mix(in srgb,var(--border-soft) 78%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg) 84%,transparent);color:var(--muted-strong);font:inherit;font-size:0;line-height:0;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.96);transition:opacity .16s ease,transform .16s ease,background-color .18s ease,color .18s ease,border-color .18s ease}.immersive-outline-close:before,.immersive-outline-close:after{content:"";position:absolute;width:20px;height:2px;border-radius:999px;background:currentColor;transform-origin:center}.immersive-outline-close:before{transform:rotate(45deg)}.immersive-outline-close:after{transform:rotate(-45deg)}.immersive-outline.is-settled .immersive-outline-close{opacity:1;pointer-events:auto;transform:scale(1)}.immersive-outline-close:hover,.immersive-outline-close:focus-visible{border-color:color-mix(in srgb,var(--link-internal) 48%,transparent);background:color-mix(in srgb,var(--link-internal) 12%,var(--bg));color:var(--link-internal)}.immersive-outline-close:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 24%,transparent);outline-offset:2px}.immersive-outline.is-animating .immersive-outline-entry button{opacity:0;pointer-events:none}.immersive-outline.is-restoring{background:transparent;transition:none}.immersive-outline-scroller{position:relative;z-index:1;height:100vh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-block:var(--immersive-outline-padding-start, 48px) var(--immersive-outline-padding-end, 48px);padding-inline:max(18px,calc((100vw - 680px)/2));scroll-behavior:smooth;scrollbar-width:thin}.immersive-outline.is-animating .immersive-outline-scroller,.immersive-outline.is-restoring .immersive-outline-scroller{scroll-behavior:auto}.immersive-outline-motion-layer{position:fixed;inset:0;z-index:2;overflow:hidden;pointer-events:none}.immersive-outline-motion-item{position:fixed;top:0;left:0;z-index:2;-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;padding:0;border:0;background:transparent;text-align:left;transform-origin:top left;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout paint style}@supports (height: 100dvh){.immersive-outline-scroller{height:100dvh}}.immersive-outline-list{display:grid;gap:6px;width:100%;margin:0;padding:0;list-style:none}.immersive-outline-entry{position:relative;margin:0}.immersive-outline-entry button{display:block;width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:8px;background:transparent;color:var(--muted-strong);padding:7px 10px;font:inherit;font-size:clamp(1rem,3vw,1.12rem);font-weight:620;letter-spacing:0;line-height:1.42;text-align:left;text-wrap:balance;cursor:pointer;transition:background-color .18s ease,color .18s ease,opacity .12s ease-out}.immersive-outline-entry.has-comment-count button{padding-right:64px}.immersive-outline-comment-count{position:absolute;top:50%;right:10px;display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:600;line-height:1;opacity:1;pointer-events:none;transform:translateY(-50%);transition:opacity .12s ease-out}.immersive-outline-comment-count svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.immersive-outline.is-animating .immersive-outline-comment-count,.immersive-outline.is-restoring .immersive-outline-comment-count{opacity:0}html[data-comments-display=off] .immersive-outline-entry.has-comment-count button{padding-right:10px}html[data-comments-display=off] .immersive-outline-comment-count{display:none}.immersive-outline.is-handoff .immersive-outline-entry button{opacity:1;transition:none}.immersive-outline-depth-2{margin-top:18px}.immersive-outline-depth-2:first-child{margin-top:0}.immersive-outline-depth-1{margin-bottom:20px}.immersive-outline-depth-1+.immersive-outline-depth-2{margin-top:0}.immersive-outline-depth-1 button{color:var(--text);padding-bottom:12px;font-size:clamp(1.72rem,5vw,2.24rem);font-weight:780;line-height:1.18}.immersive-outline-depth-2 button{color:var(--text);font-size:clamp(1.24rem,4vw,1.58rem);font-weight:740;line-height:1.28}.immersive-outline-depth-3 button{padding-left:clamp(28px,7vw,54px)}.immersive-outline-depth-4 button{padding-left:clamp(48px,12vw,86px);color:var(--muted);font-size:clamp(.96rem,2.6vw,1.05rem);font-weight:560}.immersive-outline-entry button:hover,.immersive-outline-entry button:focus-visible{background:color-mix(in srgb,var(--link-internal) 10%,transparent);color:var(--link-internal)}.immersive-outline-entry button:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 24%,transparent);outline-offset:2px}.immersive-outline.is-restoring{pointer-events:none}@media(prefers-reduced-motion:reduce){.site-header,.article-page>:not(.prose),.article-header>*,.prose>*,.comment-marker{transition:none}.immersive-outline-scroller{scroll-behavior:auto}}.article-header{position:relative;margin-bottom:48px}.article-header.has-article-category{padding-right:7.5rem}.article-cover{position:relative;inline-size:100%;aspect-ratio:2 / 1;margin:-14px 0 52px;overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-soft) 88%,var(--accent-soft)),var(--surface-tint));contain:paint}.article-cover img{display:block;inline-size:100%;block-size:100%;max-inline-size:none;-o-object-fit:cover;object-fit:cover}.article-meta{display:flex;flex-wrap:nowrap;gap:.65em;overflow:hidden;margin-bottom:12px;font-size:.95rem;font-weight:400;white-space:nowrap}.article-header h1{margin-bottom:18px;max-width:100%;font-size:clamp(2rem,4vw,2.75rem);letter-spacing:0;text-wrap:wrap}.article-header .article-meta{color:var(--muted)}.article-header .article-meta>*{color:inherit}.article-header>p:not(.article-meta){max-width:38rem;font-size:1.05rem;line-height:1.8}.article-category{position:absolute;top:0;right:0;display:inline-flex;align-items:center;min-height:32px;border-radius:999px;background:color-mix(in srgb,var(--link-internal) 12%,transparent);color:var(--link-internal);padding:6px 12px;font-size:.92rem;font-weight:650;line-height:1;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}.article-category:hover,.article-category:focus-visible{background:var(--link-internal);color:var(--surface);transform:translateY(-1px)}.article-category:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 28%,transparent);outline-offset:3px}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}.tag-list li{border-radius:999px;background:var(--bg-soft);color:var(--muted-strong);padding:5px 12px;font-size:.9rem;font-weight:600}.post-category-directory{margin-top:168px}.post-category-directory-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0 16px}.post-category-directory-header h2{min-width:0;margin:0;color:var(--muted-strong);font-size:1em;font-weight:650;letter-spacing:0;line-height:1.45}.post-category-directory-header h2 a{color:var(--link-internal);text-decoration:none}.post-category-directory-header h2 a:hover,.post-category-directory-header h2 a:focus-visible{text-decoration:underline;text-underline-offset:.2em}.post-category-directory-header h2 a:focus-visible,.post-category-directory-item-content:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 24%,transparent);outline-offset:3px}.post-category-directory-toggle{display:inline-flex;min-height:38px;flex:0 0 auto;align-items:center;gap:8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);color:var(--muted-strong);padding:8px 14px 8px 12px;font:inherit;font-size:.8rem;font-weight:620;line-height:1;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.post-category-directory-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .18s ease}.post-category-directory[data-expanded=true] .post-category-directory-toggle svg{transform:rotate(180deg)}.post-category-directory-toggle:hover{border-color:color-mix(in srgb,var(--muted-strong) 42%,var(--border-soft));background:var(--bg-soft);color:var(--text)}.post-category-directory-toggle:focus-visible{border-color:color-mix(in srgb,var(--muted-strong) 48%,var(--border-soft));background:var(--bg-soft);color:var(--text);outline:3px solid color-mix(in srgb,var(--muted-strong) 22%,transparent);outline-offset:3px}.post-category-directory-list{margin:0;padding:0 0 14px;list-style:none}.post-category-directory-item{display:grid;grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .18s ease,visibility 0s linear}.post-category-directory[data-expanded=false] .post-category-directory-item[data-preview=false]{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .14s ease,visibility 0s linear .3s}.post-category-directory-item-reveal{min-height:0;overflow:hidden}.post-category-directory-item-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:18px;border-top:1px solid color-mix(in srgb,var(--border-soft) 72%,transparent);border-radius:6px;color:var(--muted-strong);padding:12px 10px;font-size:.96rem;font-weight:560;line-height:1.45;text-decoration:none;transition:background-color .18s ease,color .18s ease}.post-category-directory[data-expanded=true] .post-category-directory-item:first-child .post-category-directory-item-content,.post-category-directory[data-expanded=false] .post-category-directory-item[data-preview-first=true] .post-category-directory-item-content{border-top-color:transparent}.post-category-directory-item-content:hover,.post-category-directory-item-content:focus-visible{background:color-mix(in srgb,var(--link-internal) 8%,var(--surface));color:var(--link-internal)}.post-category-directory-title{display:grid;grid-template-columns:16px minmax(0,1fr);min-width:0;align-items:baseline;gap:7px}.post-category-directory-title-text{min-width:0;overflow-wrap:anywhere}.post-category-status-icon{display:inline-flex;width:16px;height:16px;flex:0 0 auto;transform:translateY(2px);opacity:0;visibility:hidden;transition:opacity .16s ease}.post-category-current-icon,.post-category-visited-icon.is-visited{opacity:1;visibility:visible}.post-category-status-icon svg{width:100%;height:100%;color:var(--link-internal)}.post-category-current-icon svg{fill:currentColor}.post-visited-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.post-category-directory-meta{display:inline-flex;align-items:center;gap:.55em;color:var(--muted);font-size:.8rem;font-weight:400;line-height:1.45;white-space:nowrap}.post-adjacent-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:128px}.post-category-directory+.post-adjacent-nav{margin-top:108px}.post-adjacent-card{display:flex;min-width:0;min-height:118px;flex-direction:column;justify-content:center;gap:10px;border:1px solid var(--border-soft);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,var(--bg-soft));color:var(--text);padding:22px 24px;text-decoration:none;box-shadow:0 14px 38px color-mix(in srgb,var(--text) 7%,transparent)}.post-adjacent-card-next{grid-column:2;align-items:flex-end;text-align:right}.post-adjacent-label{display:inline-flex;align-items:center;gap:8px;color:var(--link-internal);font-size:.88rem;font-weight:680;line-height:1.2}.post-adjacent-title{display:-webkit-box;max-width:100%;overflow:hidden;color:var(--muted-strong);font-size:1.04rem;font-weight:680;letter-spacing:0;line-height:1.45;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.post-adjacent-card:hover,.post-adjacent-card:focus-visible{border-color:color-mix(in srgb,var(--link-internal) 38%,transparent);background:color-mix(in srgb,var(--link-internal) 8%,var(--surface))}.post-adjacent-card:hover .post-adjacent-title,.post-adjacent-card:focus-visible .post-adjacent-title{color:var(--text)}.post-adjacent-card:focus-visible{outline:3px solid color-mix(in srgb,var(--link-internal) 24%,transparent);outline-offset:3px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .post-adjacent-card{box-shadow:none}}html[data-theme=dark] .post-adjacent-card{box-shadow:none}@media(prefers-reduced-motion:reduce){.post-category-directory-item,.post-category-status-icon,.post-category-directory-toggle svg{transition:none}}.prose :where(h2,h3,h4,h5,h6){margin:max(1.95rem,1em) 0 1.95rem;color:var(--text);font-weight:720;line-height:1.25}.prose h1{margin:max(1.95rem,1em) 0 1.95rem;max-width:100%;color:var(--text);font-size:clamp(2rem,4vw,2.75rem);font-weight:760;letter-spacing:0;line-height:1.04;text-wrap:wrap}.prose h2{font-size:clamp(1.8rem,4vw,2.3rem)}.prose h3{font-size:clamp(1.35rem,3vw,1.65rem)}.prose h4{font-size:clamp(1.18rem,2.4vw,1.3rem)}.prose h5{font-size:clamp(1.08rem,2vw,1.16rem)}.prose h6{font-size:1rem}.prose p{margin-bottom:1.25em;line-height:1.95}.prose [id]{scroll-margin-top:33vh}.prose .is-anchor-highlight{border-radius:6px;animation:anchor-highlight 4s ease}@keyframes anchor-highlight{0%,54%{background:color-mix(in srgb,var(--link-internal) 16%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--link-internal) 12%,transparent)}to{background:transparent;box-shadow:0 0 0 0 transparent}}.prose a{color:var(--link-internal);text-decoration-color:color-mix(in srgb,var(--link-internal) 42%,transparent);text-decoration-thickness:.08em}.prose a[href^="http://"],.prose a[href^="https://"],.prose a[href^="//"],.prose a[href^="mailto:"],.prose a[href^="tel:"]{color:var(--link-external);text-decoration-color:color-mix(in srgb,var(--link-external) 46%,transparent)}.prose a.external-link-with-favicon{-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.prose .link-boundary-space{display:inline;text-decoration:none}.prose .link-boundary-space:before{content:" ";white-space:pre}.prose .external-link-favicon{display:inline-block;width:1em;height:1em;max-width:none;max-height:none;margin:0 .3em 0 0;border-radius:3px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:none;line-height:1;-o-object-fit:contain;object-fit:contain;vertical-align:-.12em}.prose :where(h2,h3,h4,h5,h6) .external-link-favicon{vertical-align:-.1em}html[data-external-link-icons=off] .prose .external-link-favicon,html[data-external-link-icons=off] .prose .external-link-leading-space,html[data-external-link-icons=off] .prose .external-link-trailing-space{display:none}.prose a.same-page-anchor-with-indicator{-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.prose .same-page-anchor-indicator{display:inline-flex;width:1.2em;height:1.2em;margin:0 .16em 0 -.02em;color:color-mix(in srgb,currentColor 92%,var(--text));line-height:1;opacity:.88;text-decoration:none;vertical-align:-.22em}.prose .same-page-anchor-icon{display:block;width:100%;height:100%;fill:currentColor;overflow:visible}.prose .same-page-anchor-turn-arrow{fill:currentColor;stroke:none}.prose :where(h2,h3,h4,h5,h6) .same-page-anchor-indicator{vertical-align:-.16em}.prose a[data-link-reading-state=read]{text-decoration-color:transparent}.prose a:hover,.prose a:focus-visible{text-decoration-color:currentColor}.prose :where(blockquote,table),.comment-context-quote{border-radius:var(--radius-md)}.prose :where(blockquote,.collapsible-quote-block),.comment-context-quote{--quote-corner-mark-size: 2rem;--quote-corner-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 92'%3E%3Cpath fill='black' d='M36 1C47 3 55 11 57 24C59 38 56 52 50 63C43 75 29 84.5 13.6 91.1C10.9 92.2 9.6 91.7 10.7 90.4C11.6 89.3 13.2 88.3 15.1 87.1C21.1 83.4 27.6 77.8 30.4 73.4C32.4 70.2 32.7 66.9 32 64C31.2 59.6 28.1 57.3 23 55.2C11.5 50.8 3.5 45.2 1.2 35.2C-1.1 25.2 1.4 15.8 8.4 9.4C14.6 3.7 22.6 1 31.5 1C33.2 1 34.6 .8 36 1ZM108 1C119 3 127 11 129 24C131 38 128 52 122 63C115 75 101 84.5 85.6 91.1C82.9 92.2 81.6 91.7 82.7 90.4C83.6 89.3 85.2 88.3 87.1 87.1C93.1 83.4 99.6 77.8 102.4 73.4C104.4 70.2 104.7 66.9 104 64C103.2 59.6 100.1 57.3 95 55.2C83.5 50.8 75.5 45.2 73.2 35.2C70.9 25.2 73.4 15.8 80.4 9.4C86.6 3.7 94.6 1 103.5 1C105.2 1 106.6 .8 108 1Z'/%3E%3C/svg%3E")}.prose blockquote,.comment-context-quote{position:relative;margin:1.35em 0;border:1px solid var(--border-soft);background:var(--quote-soft);padding:17px 18px 12px;color:var(--muted-strong)}.prose blockquote:not(.collapsible-block-content,.callout):before,.prose .collapsible-quote-block:before,.comment-context-quote:before{position:absolute;top:0;left:30px;z-index:1;width:var(--quote-corner-mark-size);aspect-ratio:130 / 92;background:var(--quote-accent);content:"";pointer-events:none;transform:translateY(-46%);-webkit-mask:var(--quote-corner-mark) center / contain no-repeat;mask:var(--quote-corner-mark) center / contain no-repeat}.comment-context-quote{overflow-wrap:anywhere;white-space:pre-wrap}.comment-context-quote .comment-quote-context{color:color-mix(in srgb,var(--muted) 34%,var(--quote-soft))}.comment-context-quote .comment-quote-selection{border-bottom:2px dashed var(--comment-accent);color:var(--text);-webkit-box-decoration-break:clone;box-decoration-break:clone}.prose blockquote.callout-note{border-color:color-mix(in srgb,var(--accent) 34%,var(--border-soft));border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));padding:14px 18px 14px 20px;color:var(--text)}.prose .callout-title{display:flex;align-items:center;gap:8px;margin:0 0 .72em;color:var(--accent-strong);font-weight:720;line-height:1.45}.prose .callout-title:before,.prose blockquote.callout-note.callout-icon-only:before{display:inline-grid;flex:0 0 auto;place-items:center;width:1.3em;height:1.3em;border:1px solid currentColor;border-radius:999px;background:color-mix(in srgb,var(--surface) 54%,transparent);content:"i";font-size:.78em;font-weight:800;line-height:1}.prose blockquote.callout-note.callout-icon-only:before{margin:0 0 .72em;color:var(--accent-strong)}.prose blockquote.callout-note>:last-child{margin-bottom:0}.prose blockquote p:last-child{margin-bottom:0}.prose :where(ul,ol){padding-left:1.4em;margin:0 0 1.35em}.prose ol{list-style-type:decimal}.prose ol ol{margin-top:.45em;margin-bottom:.65em;padding-left:1.25em;color:var(--muted-strong);list-style-type:lower-alpha}.prose ol ol ol{padding-left:1.15em;color:var(--muted);list-style-type:lower-roman}.prose li{margin:.35em 0}.prose table{display:table;width:100%;max-width:100%;table-layout:auto;border:1px solid var(--border-soft);border-spacing:0;background:var(--bg-soft);margin:2em 0}@media(max-width:720px){.prose table{display:block;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}}.prose :where(th,td){min-width:8rem;border-bottom:1px solid var(--border-soft);padding:12px 16px;text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:normal}.prose tr:last-child td{border-bottom:0}.prose hr{border:0;border-top:1px solid var(--border-soft);margin:2.8em 0}.prose img:not(.external-link-favicon){display:block;width:auto;height:auto;max-width:100%;max-height:288px;margin:1.6em auto;box-shadow:var(--shadow-soft);-o-object-fit:contain;object-fit:contain}.prose video[data-media-kind=video]{display:none}.post-video-loop{position:relative;display:block;width:calc(288px * var(--post-video-aspect-ratio, 1.5));max-width:100%;aspect-ratio:var(--post-video-aspect-ratio, 1.5);margin:1.6em auto;box-shadow:var(--shadow-soft);overflow:hidden;background:color-mix(in srgb,var(--surface) 72%,var(--bg))}.post-video-layer{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;opacity:0;-o-object-fit:contain;object-fit:contain;pointer-events:none;transition:opacity 1.2s ease}.post-video-layer.is-visible{opacity:1}.post-image-figure{display:grid;justify-items:center;gap:8px;max-width:100%;margin:1.6em auto 2em}.post-image-figure:has(.post-image-caption){margin-bottom:1.25em}.post-image-zoom{display:block;max-width:100%;margin:1.6em auto;border:0;background:transparent;padding:0;cursor:zoom-in;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.post-image-figure .post-image-zoom,.post-image-zoom img,.post-image-zoom .post-video-loop{margin:0 auto}.post-image-caption,.image-carousel-caption{max-width:min(720px,100%);margin:0;color:var(--muted);font-size:.92rem;line-height:1.55;text-align:center}.post-image-caption{margin-top:-2px;padding-inline:8px}.image-carousel{position:relative;display:grid;gap:6px;margin:1.8em 0 1.25em}.image-stack{display:grid;place-items:center;isolation:isolate}.image-stack-item{grid-area:1 / 1;opacity:0;pointer-events:none;transform:translateY(0) rotate(0) scale(.96);transform-origin:center;transition:opacity .18s ease,transform .22s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:opacity,transform}.image-stack-item.is-active{z-index:3;opacity:1;pointer-events:auto;transform:translateY(0) rotate(0) scale(1)}.image-stack-item.is-stacked-1{z-index:2;opacity:.28;transform:translate(var(--image-stack-next-x, 14px),var(--image-stack-next-y, 10px)) rotate(var(--image-stack-next-rotate, 2deg)) scale(.97)}.image-stack-item.is-stacked-2{z-index:1;opacity:.1;transform:translate(var(--image-stack-back-x, -14px),var(--image-stack-back-y, 18px)) rotate(var(--image-stack-back-rotate, -2.4deg)) scale(.94)}.image-carousel-viewport{position:relative;padding:0 44px}.image-carousel-slide{display:block;border:0;background:transparent;padding:0;cursor:zoom-in;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.image-carousel-slide img,.image-carousel-slide .post-video-loop{margin:0 auto}.is-lightbox-source-hidden{visibility:hidden}.image-carousel.is-turning-next .image-carousel-slide.is-active{animation:image-carousel-next .24s ease both;transition:none}.image-carousel.is-turning-prev .image-carousel-slide.is-active{animation:image-carousel-prev .24s ease both;transition:none}.image-carousel-nav{position:absolute;top:50%;display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);padding:0;cursor:pointer;box-shadow:var(--shadow-soft);transform:translateY(-50%);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.image-carousel-nav svg,.image-lightbox-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3}.image-carousel-nav:hover,.image-carousel-nav:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-soft));color:var(--accent-strong)}.image-carousel-prev{left:10px}.image-carousel-next{right:10px}.image-carousel-counter{justify-self:center;color:var(--muted);font-size:.88rem;font-weight:650;line-height:1}.image-carousel-caption{justify-self:center;margin-top:-2px;padding-inline:16px}.prose .image-carousel-caption{margin:-2px 0 0}.prose .image-carousel:has(.image-carousel-caption:not([hidden]))+:where(h2,h3,h4){margin-top:.65em}.image-lightbox{position:fixed;inset:0 auto auto 0;z-index:50;--image-lightbox-backdrop-open-duration: .26s;--image-lightbox-backdrop-close-duration: 90ms;--image-lightbox-caption-space: 0px;--image-lightbox-viewport-width: 100vw;--image-lightbox-viewport-height: 100vh;--image-lightbox-max-height: calc(var(--image-lightbox-viewport-height) - 96px - var(--image-lightbox-caption-space));--image-lightbox-max-width: calc(var(--image-lightbox-viewport-width) - 128px);display:grid;grid-template-rows:1fr;width:var(--image-lightbox-viewport-width);height:var(--image-lightbox-viewport-height);background:transparent;opacity:1;overflow:hidden;padding:14px}@supports (height: 100dvh){.image-lightbox{--image-lightbox-viewport-height: 100dvh}}.image-lightbox.has-caption{--image-lightbox-caption-space: 74px}.image-lightbox:before{content:"";position:absolute;inset:0;z-index:0;background:color-mix(in srgb,var(--bg) 90%,rgba(0,0,0,.82));opacity:0;transition:opacity var(--image-lightbox-backdrop-close-duration) ease}.image-lightbox.is-open:before{opacity:1;transition-duration:var(--image-lightbox-backdrop-open-duration);transition-timing-function:cubic-bezier(.22,1,.36,1)}.image-lightbox[hidden]{display:none}.image-lightbox.is-closing{pointer-events:none}.image-lightbox.is-closing:before{opacity:0}.image-lightbox-toolbar{position:absolute;top:12px;right:12px;left:12px;z-index:5;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;pointer-events:none}.image-lightbox-toolbar>*{pointer-events:auto}.image-lightbox-counter{justify-self:center;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 78%,transparent);padding:8px 12px;color:var(--muted-strong);font-size:.92rem;font-weight:650;line-height:1;text-align:center;opacity:0;transition:opacity var(--image-lightbox-backdrop-close-duration) ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.image-lightbox.is-open .image-lightbox-counter{opacity:1;transition-duration:var(--image-lightbox-backdrop-open-duration);transition-timing-function:cubic-bezier(.22,1,.36,1)}.image-lightbox-caption{position:absolute;right:50%;bottom:16px;z-index:5;width:-moz-max-content;width:max-content;max-width:min(720px,calc(100vw - 48px));margin:0;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--muted-strong);padding:8px 12px;font-size:.92rem;font-weight:650;line-height:1.35;text-align:center;opacity:0;pointer-events:auto;transform:translate(50%,4px);transition:opacity .16s ease,transform .16s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.image-lightbox.is-open .image-lightbox-caption:not([hidden]){opacity:1;transform:translate(50%)}.image-carousel-caption[hidden],.image-lightbox-caption[hidden]{display:none}.image-lightbox-stage{position:relative;z-index:1;display:grid;place-items:center;min-height:0}.image-lightbox-stack{--image-stack-next-x: 18px;--image-stack-next-y: 14px;--image-stack-next-rotate: 1.8deg;--image-stack-back-x: -18px;--image-stack-back-y: 26px;--image-stack-back-rotate: -2.2deg;width:100%;padding:0}.image-lightbox-motion,.image-lightbox-motion.is-active,.image-lightbox-motion.is-stacked-1,.image-lightbox-motion.is-stacked-2{display:grid;place-items:center;width:min(var(--image-lightbox-max-width),calc(var(--image-lightbox-max-height) * var(--image-lightbox-aspect-ratio, 1.5)));aspect-ratio:var(--image-lightbox-aspect-ratio, 1.5);max-width:var(--image-lightbox-max-width);max-height:var(--image-lightbox-max-height);transform:none;transition:opacity .18s ease}.image-lightbox-img{position:relative;display:block;width:100%;height:100%;box-shadow:var(--shadow-soft);overflow:hidden;background:color-mix(in srgb,var(--surface) 34%,transparent);transform:translateY(0) rotate(0) scale(.96);transform-origin:center;transition:transform .22s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform}.image-lightbox-motion.is-active .image-lightbox-img{transform:translateY(0) rotate(0) scale(1)}.image-lightbox-motion.is-stacked-1 .image-lightbox-img{transform:translate(var(--image-stack-next-x, 18px),var(--image-stack-next-y, 14px)) rotate(var(--image-stack-next-rotate, 1.8deg)) scale(.97)}.image-lightbox-motion.is-stacked-2 .image-lightbox-img{transform:translate(var(--image-stack-back-x, -18px),var(--image-stack-back-y, 26px)) rotate(var(--image-stack-back-rotate, -2.2deg)) scale(.94)}.image-lightbox-layer{display:block;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:contain;object-fit:contain}.image-lightbox-video{width:100%;height:100%;max-width:none;margin:0;box-shadow:none;background:transparent}.image-lightbox-full{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;opacity:0;transition:opacity .18s ease}.image-lightbox-full.is-loaded{opacity:1}.image-lightbox-button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--text);padding:0;cursor:pointer;opacity:0;transition:opacity var(--image-lightbox-backdrop-close-duration) ease,border-color .16s ease,color .16s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-tap-highlight-color:transparent;touch-action:manipulation;will-change:opacity}.image-carousel-nav[hidden],.image-lightbox-button[hidden]{display:none}.image-lightbox.is-open .image-lightbox-button:not([hidden]){opacity:1;transition-duration:var(--image-lightbox-backdrop-open-duration),.16s,.16s;transition-timing-function:cubic-bezier(.22,1,.36,1),ease,ease}.image-lightbox-close{justify-self:end}.image-lightbox-button:hover,.image-lightbox-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-soft));color:var(--accent-strong)}.image-lightbox-prev{position:absolute;top:50%;left:12px;z-index:4;transform:translateY(-50%)}.image-lightbox-next{position:absolute;top:50%;right:12px;z-index:4;transform:translateY(-50%)}.image-lightbox.is-turning-next .image-lightbox-motion.is-active .image-lightbox-img{animation:image-carousel-next .24s ease both;transition:none}.image-lightbox.is-turning-prev .image-lightbox-motion.is-active .image-lightbox-img{animation:image-carousel-prev .24s ease both;transition:none}@keyframes image-carousel-next{0%{transform:var( --image-turn-from-transform, translate(var(--image-stack-next-x, 14px), var(--image-stack-next-y, 10px)) rotate(var(--image-stack-next-rotate, 2deg)) scale(.97) )}to{transform:translate(0) rotate(0) scale(1)}}@keyframes image-carousel-prev{0%{transform:var( --image-turn-from-transform, translate(var(--image-stack-back-x, -14px), var(--image-stack-back-y, 18px)) rotate(var(--image-stack-back-rotate, -2.4deg)) scale(.94) )}to{transform:translate(0) rotate(0) scale(1)}}@media(hover:none)and (pointer:coarse){.image-carousel.is-turning-next .image-carousel-slide.is-active,.image-carousel.is-turning-prev .image-carousel-slide.is-active,.image-lightbox.is-turning-next .image-lightbox-motion.is-active .image-lightbox-img,.image-lightbox.is-turning-prev .image-lightbox-motion.is-active .image-lightbox-img{animation:none}}@media(prefers-reduced-motion:reduce){.post-video-layer{transition:none}}.download-card{display:grid;grid-template-columns:minmax(52px,auto) minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--border-soft);border-radius:8px;background:var(--bg-soft);color:var(--text);padding:14px;text-decoration:none}.download-card:hover,.download-card:focus-visible{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-soft))}.download-card:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.download-card-badge{display:inline-grid;min-width:52px;min-height:44px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border-soft));border-radius:8px;background:var(--surface);color:var(--accent-strong);font-size:.78rem;font-weight:760;letter-spacing:.04em;line-height:1;text-transform:uppercase}.download-card-body{min-width:0}.download-card-title,.download-card-meta{display:block;overflow-wrap:anywhere}.download-card-title{color:var(--accent-strong);font-size:1rem;font-weight:720;line-height:1.45}.download-card-meta{margin-top:3px;color:var(--muted);font-size:.88rem;line-height:1.45}.download-card-action{border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);padding:7px 12px;font-size:.9rem;font-weight:700;line-height:1;white-space:nowrap}.prose .download-card{margin:2em 0}@media(max-width:560px){.download-card{gap:12px}.download-card-badge{min-width:46px;min-height:40px}}.prose code{border-radius:8px;background:var(--code-soft);color:var(--inline-code-text);font-family:SF Mono,Menlo,Consolas,monospace;font-size:.92em;padding:.14em .38em}.prose code[data-copy-ready=true]{position:relative;cursor:copy;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.prose code[data-copy-ready=true]>.inline-code-copy__success-icon{position:absolute;top:50%;left:50%;width:17px;height:17px;fill:none;color:var(--code-accent);opacity:0;pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transform:translate(-50%,-50%) scale(.72);transition:opacity .18s ease,transform .18s ease}.prose code[data-copy-ready=true]:hover,.prose code[data-copy-ready=true]:focus-visible{background:color-mix(in srgb,var(--code-accent) 16%,var(--code-soft));box-shadow:0 0 0 2px color-mix(in srgb,var(--code-accent) 18%,transparent)}.prose code[data-copy-ready=true]:focus-visible{outline:2px solid color-mix(in srgb,var(--code-accent) 42%,transparent);outline-offset:2px}.prose code[data-copy-state=copied]{background:color-mix(in srgb,var(--code-accent) 20%,var(--code-soft));color:transparent}.prose code[data-copy-state=copied]>.inline-code-copy__success-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.prose code[data-copy-state=error]{color:#b42318}.code-block{position:relative;margin:2em 0}.code-block[data-code-language]:before{position:absolute;top:0;left:30px;z-index:2;border:1px solid color-mix(in srgb,var(--code-accent) 20%,var(--border-soft));border-radius:999px;background:var(--code-bg);color:var(--code-accent);content:attr(data-code-language);font-family:SF Mono,Menlo,Consolas,monospace;font-size:.92rem;font-weight:700;line-height:1;padding:.22em .62em;pointer-events:none;text-transform:none;transform:translateY(-50%)}.prose pre{overflow-x:auto;margin:0;border:1px solid color-mix(in srgb,var(--code-accent) 20%,var(--border-soft));border-radius:var(--radius-md);background:var(--code-bg)!important;color:var(--code-text);padding:24px 22px;line-height:1.75;scrollbar-color:color-mix(in srgb,var(--code-muted) 42%,transparent) transparent}.prose pre code{border-radius:0;background:transparent;color:inherit;font-size:.9rem;line-height:inherit;padding:0}.prose pre.astro-code,.prose pre.astro-code span{color:var(--shiki-light)!important}@media(prefers-color-scheme:dark){:root:not([data-theme]) .prose pre.astro-code,:root:not([data-theme]) .prose pre.astro-code span{color:var(--shiki-dark)!important}}html[data-theme=dark] .prose pre.astro-code,html[data-theme=dark] .prose pre.astro-code span{color:var(--shiki-dark)!important}html[data-theme=light] .prose pre.astro-code,html[data-theme=light] .prose pre.astro-code span{color:var(--shiki-light)!important}.code-copy-button{--copy-button-accent: var(--code-accent);--copy-button-soft: var(--code-soft);--copy-button-muted: var(--code-muted);position:absolute;top:12px;right:12px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--copy-button-muted) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 74%,transparent);color:var(--muted-strong);padding:0;cursor:pointer;box-shadow:0 8px 20px #0000000f;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.prose pre>.code-copy-button{position:relative;top:auto;right:auto;float:right;clear:right;margin:0 0 10px 14px}.code-copy-button svg{position:absolute;top:50%;left:50%;width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:opacity .18s ease,transform .18s ease}.code-copy-button__copy-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.code-copy-button__success-icon,.code-copy-button[data-state=copied] .code-copy-button__copy-icon{opacity:0;transform:translate(-50%,-50%) scale(.72)}.code-copy-button[data-state=copied] .code-copy-button__success-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.code-copy-button:hover,.code-copy-button:focus-visible{border-color:color-mix(in srgb,var(--copy-button-accent) 56%,var(--border-soft));background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--copy-button-accent)}.code-copy-button:focus-visible{outline:3px solid var(--copy-button-soft);outline-offset:2px}.code-copy-button[data-state=copied]{border-color:color-mix(in srgb,var(--copy-button-accent) 50%,var(--border-soft));background:color-mix(in srgb,var(--copy-button-soft) 82%,transparent);color:var(--copy-button-accent)}.code-copy-button[data-state=error]{color:#b42318}@media(prefers-reduced-motion:reduce){.prose code[data-copy-ready=true],.prose code[data-copy-ready=true]>.inline-code-copy__success-icon,.code-copy-button svg{transition:none}}.collapsible-block{position:relative}.collapsible-block-content{overflow:hidden;max-height:var(--collapsible-expanded-height);transition:max-height .26s ease}.collapsible-block.is-collapsed .collapsible-block-content{max-height:var(--collapsible-collapsed-height)}.collapsible-block:after{position:absolute;right:1px;bottom:1px;left:1px;height:148px;border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--surface) 60%,transparent) 28%,color-mix(in srgb,var(--surface) 90%,transparent) 78%,var(--surface) 100%);content:"";opacity:0;pointer-events:none;transition:opacity .18s ease}.collapsible-block.is-collapsed:after{opacity:1}.collapsible-block-toggle{--collapsible-button-accent: var(--code-accent);--collapsible-button-soft: var(--code-soft);--collapsible-button-muted: var(--code-muted);position:absolute;top:54px;right:12px;bottom:auto;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--collapsible-button-muted) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 74%,transparent);color:var(--muted-strong);padding:0;font:inherit;cursor:pointer;box-shadow:0 8px 20px #0000000f;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.collapsible-block-toggle span{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.collapsible-block-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .22s ease}.collapsible-block-toggle:hover,.collapsible-block-toggle:focus-visible{border-color:color-mix(in srgb,var(--collapsible-button-accent) 56%,var(--border-soft));background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--collapsible-button-accent)}.collapsible-block-toggle:focus-visible{outline:3px solid var(--collapsible-button-soft);outline-offset:2px}.collapsible-block:not(.is-collapsed) .collapsible-block-toggle svg{transform:rotate(180deg)}.collapsible-block-reveal{position:absolute;right:1px;bottom:1px;left:1px;z-index:1;display:block;height:148px;border:0;border-radius:0 0 var(--radius-md) var(--radius-md);background:transparent;padding:0;cursor:pointer}.collapsible-block-reveal:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:-5px}.collapsible-block:not(.is-collapsed) .collapsible-block-reveal{display:none}.collapsible-code-block:after{background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--code-bg) 60%,transparent) 28%,color-mix(in srgb,var(--code-bg) 90%,transparent) 78%,var(--code-bg) 100%)}.collapsible-code-block>pre>.collapsible-block-toggle{position:relative;top:auto;right:auto;float:right;clear:right;margin:0 0 10px 14px}.collapsible-quote-block{margin:1.35em 0}.collapsible-quote-block>blockquote{margin:0}.collapsible-quote-block .collapsible-block-toggle{--collapsible-button-accent: var(--quote-accent);--collapsible-button-soft: var(--quote-soft);--collapsible-button-muted: var(--muted);position:relative;top:auto;right:auto;float:right;margin:0 0 10px 14px}.collapsible-quote-block:after{background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--quote-soft) 60%,transparent) 28%,color-mix(in srgb,var(--quote-soft) 90%,transparent) 78%,var(--quote-soft) 100%)}@media(prefers-reduced-motion:reduce){.collapsible-block-content,.collapsible-block:after,.collapsible-block-reveal,.collapsible-block-toggle,.collapsible-block-toggle svg{transition:none}}.article-reading-shell{position:relative;isolation:isolate}.comment-system{position:absolute;inset:0;pointer-events:none}html[data-comments-display=off] .comment-system,html[data-comments-display=off] .comment-selection-button{display:none}.comment-system [hidden]{display:none!important}.comment-marker-layer{position:absolute;inset:0;overflow:clip visible;pointer-events:none}.comment-marker{position:absolute;display:inline-flex;align-items:center;justify-content:flex-start;gap:0;min-width:28px;width:28px;height:28px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;background:transparent;color:var(--comment-accent-strong);padding:5px;box-shadow:none;cursor:pointer;pointer-events:auto}.comment-marker:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent);outline-offset:2px}.comment-marker svg{flex:0 0 18px;width:18px;height:18px}.comment-marker-preview{display:none;flex:1 1 auto;min-width:0;overflow:hidden;color:var(--muted);font-size:.72rem;font-weight:520;line-height:1.2;text-align:left;text-overflow:ellipsis;white-space:nowrap}html[data-comment-side-preview=on] .comment-marker{gap:6px}html[data-comment-side-preview=on] .comment-marker-preview{display:block}.comment-marker [data-comment-marker-icon=outline]{display:inline}.comment-marker [data-comment-marker-icon=solid],.comment-marker[aria-expanded=true] [data-comment-marker-icon=outline]{display:none}.comment-marker[aria-expanded=true] [data-comment-marker-icon=solid]{display:inline}.comment-selection-button{position:absolute;z-index:9;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:78px;min-height:34px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);color:var(--muted-strong);padding:6px 13px;font:inherit;font-size:.82rem;font-weight:700;line-height:1;box-shadow:0 10px 30px color-mix(in srgb,var(--text) 12%,transparent);cursor:pointer;pointer-events:auto;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}.comment-selection-button[hidden]{display:none}.comment-selection-button:hover,.comment-selection-button:focus-visible{border-color:color-mix(in srgb,var(--text) 30%,var(--border-soft));background:var(--bg-soft);color:var(--text);box-shadow:0 12px 32px color-mix(in srgb,var(--text) 16%,transparent)}.comment-selection-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.comment-selection-button svg{display:block;flex:0 0 auto;width:15px;height:15px;color:var(--comment-accent-strong);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}@media(max-width:720px){.comment-selection-button{position:static;z-index:auto;display:inline-grid;place-items:center;flex:0 0 31px;width:31px;min-width:31px;height:31px;min-height:31px;gap:0;background:var(--surface);color:var(--muted-strong);padding:0;box-shadow:0 5px 16px color-mix(in srgb,var(--text) 10%,transparent)}.comment-selection-button:hover,.comment-selection-button:focus-visible{border-color:color-mix(in srgb,var(--text) 30%,var(--border-soft));background:var(--bg-soft);color:var(--text);box-shadow:0 7px 20px color-mix(in srgb,var(--text) 14%,transparent)}.comment-selection-button:active{transform:scale(.95)}.comment-selection-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.comment-selection-button svg{display:block;width:16px;height:16px}.comment-selection-label{display:none}}.comment-highlight-layer{position:absolute;inset:0;z-index:-1;pointer-events:none}.comment-highlight-segment{position:absolute;border-bottom:2px dashed var(--comment-accent);background:color-mix(in srgb,var(--comment-accent) 18%,transparent);border-radius:2px}.comment-bubble{--comment-bubble-pointer-x: 50%;position:absolute;z-index:3;width:min(340px,calc(100vw - 32px));border:1px solid var(--border-soft);border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,var(--bg-soft));color:var(--text);padding:14px 16px 13px;box-shadow:var(--floating-panel-shadow);opacity:0;pointer-events:none;transition:opacity .12s ease-out;-webkit-backdrop-filter:saturate(150%) blur(18px);backdrop-filter:saturate(150%) blur(18px)}.comment-bubble.is-visible{opacity:1;pointer-events:auto}.comment-bubble:after{content:"";position:absolute;bottom:-6px;left:calc(var(--comment-bubble-pointer-x) - 6px);width:12px;height:12px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:inherit;transform:rotate(45deg)}.comment-bubble[data-placement=below]:after{top:-6px;bottom:auto;border:0;border-top:1px solid var(--border-soft);border-left:1px solid var(--border-soft)}@media(prefers-reduced-motion:reduce){.comment-bubble{transition:none}}.comment-bubble-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--muted);font-size:.74rem;line-height:1.35}.comment-bubble-meta strong{display:inline-flex;align-items:center;gap:5px;color:var(--muted-strong);font-size:.82rem;font-weight:720}.comment-verification-badge{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:1em;height:1em;overflow:hidden;border-radius:999px;background:var(--link-internal);color:var(--bg);font-size:1em;font-weight:850;line-height:1;text-indent:-100vw;white-space:nowrap}.comment-verification-badge:before{position:absolute;top:50%;left:50%;width:.64em;height:.64em;background:var(--bg);content:"";transform:translate(-50%,-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath fill='black' d='M4.25 11.35.35 7.45l1.6-1.6 2.3 2.3 6.8-6.8 1.6 1.6Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath fill='black' d='M4.25 11.35.35 7.45l1.6-1.6 2.3 2.3 6.8-6.8 1.6 1.6Z'/%3E%3C/svg%3E") center / contain no-repeat}.comment-bubble>p{margin:0;color:var(--text);font-size:.94rem;line-height:1.62;overflow-wrap:anywhere;white-space:pre-wrap}.comment-bubble-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.comment-bubble-actions button{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--muted);padding:2px 0;font:inherit;font-size:.76rem;cursor:pointer}.comment-bubble-actions button:hover,.comment-bubble-actions button:focus-visible{color:var(--text)}.comment-bubble-actions [data-comment-verify-author]:hover,.comment-bubble-actions [data-comment-verify-author]:focus-visible{color:var(--link-internal)}.comment-bubble-actions [data-comment-delete]:hover,.comment-bubble-actions [data-comment-delete]:focus-visible{color:color-mix(in srgb,#c44a42 82%,var(--text))}.comment-composer-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:transparent;padding:20px;pointer-events:none}.comment-composer{width:min(520px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;border:0;border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,var(--bg-soft));color:var(--text);padding:20px;box-shadow:var(--floating-panel-shadow);pointer-events:auto;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.comment-composer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.comment-composer-header h2{margin:0;font-size:1.18rem;font-weight:740;line-height:1.3}.comment-composer-close{display:grid;place-items:center;width:32px;height:32px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;background:var(--bg-soft);color:var(--muted);padding:0 0 2px;font:inherit;font-size:1.35rem;line-height:1;cursor:pointer}.comment-composer-quote{margin:0 0 18px;font-size:.88rem;line-height:1.55}.comment-composer form{display:grid;gap:16px}.comment-field{display:grid;gap:7px}.comment-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted-strong);font-size:.8rem;font-weight:680;line-height:1.4}.comment-field output{color:var(--muted);font-size:.72rem;font-weight:560}.comment-field output.is-negative{color:#d93025;font-weight:760}.comment-field input,.comment-field textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--bg-softer);color:var(--text);padding:10px 12px;font:inherit;font-size:.94rem;line-height:1.55;outline:none;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.comment-field input:focus,.comment-field textarea:focus{border-color:color-mix(in srgb,var(--text) 50%,var(--border));background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 12%,transparent)}.comment-verified-author-picker{display:grid;justify-items:start;gap:8px}.comment-author-picker-toggle,.comment-verified-author-option{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-soft);color:var(--muted-strong);padding:6px 10px;font:inherit;font-size:.76rem;line-height:1.3;cursor:pointer}.comment-author-picker-toggle:hover,.comment-author-picker-toggle:focus-visible,.comment-verified-author-option:hover,.comment-verified-author-option:focus-visible{border-color:color-mix(in srgb,var(--text) 38%,var(--border-soft));color:var(--text)}.comment-author-picker-toggle:focus-visible,.comment-verified-author-option:focus-visible{outline:3px solid color-mix(in srgb,var(--text) 14%,transparent);outline-offset:2px}.comment-verified-author-options{display:flex;flex-wrap:wrap;gap:7px}.comment-verified-author-option{display:inline-flex;align-items:center;gap:6px;background:var(--surface)}.comment-verified-author-option[aria-pressed=true]{border-color:color-mix(in srgb,var(--text) 46%,var(--border-soft));color:var(--text)}.comment-form-message{margin:-4px 0 0;color:#c7352c;font-size:.8rem;line-height:1.5}.comment-form-actions{display:flex;justify-content:flex-end;gap:10px}.comment-form-actions button{min-height:38px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:999px;padding:8px 17px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.comment-secondary-button{border:1px solid var(--border-soft);background:var(--bg-soft);color:var(--muted-strong)}.comment-primary-button{border:1px solid var(--text);background:var(--text);color:var(--bg)}.comment-form-actions button:disabled{cursor:not-allowed;opacity:.42}.comment-toast{position:fixed;z-index:45;bottom:max(18px,env(safe-area-inset-bottom));left:50%;max-width:calc(100vw - 32px);margin:0;border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface) 94%,var(--bg-soft));color:var(--text);padding:9px 15px;font-size:.82rem;line-height:1.4;box-shadow:var(--shadow-soft);pointer-events:none;transform:translate(-50%)}@media(max-width:720px){.comment-marker{min-width:26px;width:26px;height:26px;padding:5px 0 5px 10px}.comment-marker svg{flex-basis:16px;width:16px;height:16px}.comment-composer-backdrop{align-items:start;padding:max(10px,env(safe-area-inset-top)) 10px 10px}.comment-composer{max-height:calc(100vh - 20px - env(safe-area-inset-top));border-radius:20px;padding:17px}}@media(prefers-reduced-motion:reduce){.comment-marker,.comment-field input,.comment-field textarea,.comments-admin-table-row,.comments-admin-row-disclosure{transition:none}}.comments-admin{--comments-admin-viewport-gutter: var(--content-gutter);width:min(calc(100vw - var(--comments-admin-viewport-gutter) - var(--comments-admin-viewport-gutter)),1480px);margin-inline:calc(50% - min(calc(50vw - var(--comments-admin-viewport-gutter)),740px));padding:72px 0 96px}.comments-admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}.comments-admin-header h1{margin-bottom:12px;font-size:clamp(2.2rem,6vw,4.4rem)}.comments-admin-header p{max-width:680px;margin:0;color:var(--muted)}.comments-admin-eyebrow{margin-bottom:8px!important;color:var(--link-internal)!important;font-size:.76rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.comments-admin-identity{flex:0 0 auto;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-soft);padding:7px 12px;font-size:.78rem}.comments-admin-verifications{display:grid;gap:15px;margin-bottom:24px;border:1px solid color-mix(in srgb,var(--link-internal) 22%,var(--border-soft));border-radius:20px;background:color-mix(in srgb,var(--link-internal) 4%,var(--surface));padding:20px}.comments-admin-verification-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.comments-admin-verification-heading h2{margin:0;font-size:1.34rem}.comments-admin-verification-heading>p{max-width:580px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.55}.comments-admin-verification-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px}.comments-admin-verification-form label{display:grid;gap:6px;color:var(--muted);font-size:.74rem;font-weight:680}.comments-admin-verification-form label>span{display:flex;justify-content:space-between;gap:10px}.comments-admin-verification-form output{color:var(--muted)}.comments-admin-verification-form output.is-negative{color:#c7352c;font-weight:760}.comments-admin-verification-form input,.comments-admin-verification-form textarea,.comments-admin-verification-form button{min-height:40px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:8px 11px;font:inherit;font-size:.84rem}.comments-admin-verification-notes{grid-column:1 / -1}.comments-admin-verification-form textarea{resize:vertical}.comments-admin-verification-form button{justify-self:end;border-color:var(--text);border-radius:999px;background:var(--text);color:var(--bg);padding-inline:18px;cursor:pointer;font-weight:700}.comments-admin-verification-form button:disabled{cursor:not-allowed;opacity:.45}.comments-admin-verification-note,.comments-admin-verification-message{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}.comments-admin-verification-message{border-radius:10px;background:color-mix(in srgb,#2e8b57 9%,var(--surface));color:#277649;padding:9px 11px}.comments-admin-verification-message[data-tone=error]{background:color-mix(in srgb,#d93025 9%,var(--surface));color:#c7352c}.comments-admin-verification-list{display:grid;gap:8px}.comments-admin-verification-item{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border-soft);padding-top:11px}.comments-admin-verification-copy{display:grid;gap:3px;min-width:0}.comments-admin-verification-copy strong{font-size:.9rem}.comments-admin-verification-copy span,.comments-admin-verification-copy code{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.comments-admin-filters{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) auto;align-items:end;gap:12px;border:1px solid var(--border-soft);border-radius:18px;background:var(--bg-softer);padding:16px}.comments-admin-filters label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:.74rem;font-weight:680}.comments-admin-filters select,.comments-admin-filters input,.comments-admin-filters button,.comments-admin-summary button,.comments-admin-pagination button{min-height:40px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:8px 11px;font:inherit;font-size:.84rem}.comments-admin-filters button,.comments-admin-summary button,.comments-admin-pagination button{cursor:pointer;font-weight:680}.comments-admin-filters button{border-color:var(--text);border-radius:999px;background:var(--text);color:var(--bg);padding-inline:18px}.comments-admin-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 12px}.comments-admin-summary p{margin:0;color:var(--muted);font-size:.84rem}.comments-admin-summary-copy{display:grid;gap:3px}.comments-admin-summary-copy p:last-child{font-size:.72rem}.comments-admin-summary-actions{display:flex;flex:0 0 auto;gap:8px}.comments-admin-summary button{min-height:34px;border-radius:999px;padding:5px 13px}.comments-admin-message{margin:14px 0;border-radius:12px;background:color-mix(in srgb,#d93025 9%,var(--surface));color:#c7352c;padding:11px 13px;font-size:.84rem}.comments-admin-list{min-width:0}.comments-admin-table-shell{overflow-x:auto;border:1px solid var(--border-soft);border-radius:18px;background:var(--surface);box-shadow:0 10px 34px color-mix(in srgb,var(--text) 5%,transparent);overscroll-behavior-inline:contain;scrollbar-gutter:stable}.comments-admin-table{width:max(100%,var(--comments-admin-table-width, 1380px));border-collapse:separate;border-spacing:0;table-layout:fixed;color:var(--text);font-size:.8rem}.comments-admin-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.comments-admin-table th{position:relative;overflow:visible;border-bottom:1px solid var(--border);background:var(--bg-softer);color:var(--muted-strong);padding:12px 14px;font-size:.72rem;font-weight:740;letter-spacing:.02em;text-align:left;white-space:nowrap;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.comments-admin-table th+th{border-left:1px solid var(--border-soft)}.comments-admin-table th:active{cursor:grabbing}.comments-admin-table th:focus-visible{z-index:2;outline:2px solid var(--link-internal);outline-offset:-3px}.comments-admin-table th.is-dragging{opacity:.45}.comments-admin-table th.is-drop-before:before,.comments-admin-table th.is-drop-after:after{position:absolute;z-index:3;top:5px;bottom:5px;width:3px;border-radius:999px;background:var(--link-internal);content:""}.comments-admin-table th.is-drop-before:before{left:-2px}.comments-admin-table th.is-drop-after:after{right:-2px}.comments-admin-column-label{display:block;overflow:hidden;text-overflow:ellipsis}.comments-admin-column-resizer{position:absolute;z-index:4;top:0;right:-5px;width:10px;height:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;cursor:col-resize;touch-action:none}.comments-admin-column-resizer:after{position:absolute;top:8px;bottom:8px;left:4px;width:2px;border-radius:999px;background:transparent;content:""}.comments-admin-column-resizer:hover:after,.comments-admin-column-resizer:focus-visible:after{background:var(--link-internal)}.comments-admin-column-resizer:focus-visible{outline:0}.comments-admin-table-row{background:var(--surface);cursor:pointer;transition:background-color .15s ease}.comments-admin-table-row:hover,.comments-admin-table-row:focus-visible,.comments-admin-table-row.is-expanded{background:color-mix(in srgb,var(--link-internal) 4%,var(--surface))}.comments-admin-table-row:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--link-internal)}.comments-admin-table-row td{height:49px;overflow:hidden;border-bottom:1px solid var(--border-soft);padding:10px 14px;vertical-align:middle}.comments-admin-table-row.is-expanded td{border-bottom-color:transparent}.comments-admin-cell-content{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comments-admin-status-cell,.comments-admin-post-cell{display:flex;align-items:center;gap:7px}.comments-admin-status-cell .comments-admin-badge,.comments-admin-post-cell .comments-admin-post-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comments-admin-row-disclosure{width:16px;height:16px;flex:0 0 auto;color:var(--muted);transition:transform .15s ease}.comments-admin-table-row.is-expanded .comments-admin-row-disclosure{transform:rotate(90deg)}.comments-admin-post-link{color:var(--text);font-weight:700;text-decoration:none}.comments-admin-post-link:hover,.comments-admin-post-link:focus-visible{color:var(--link-internal)}.comments-admin-post-id{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.comments-admin-expanded-row[hidden]{display:none}.comments-admin-expanded-row>td{overflow:visible;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--link-internal) 3%,var(--bg-softer));padding:0;white-space:normal}.comments-admin-expanded-panel{position:sticky;left:0;width:min(100%,calc(100vw - 30px));box-sizing:border-box;padding:20px 22px 22px}.comments-admin-expanded-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.comments-admin-expanded-heading{display:grid;gap:3px}.comments-admin-expanded-heading strong{font-size:.96rem}.comments-admin-expanded-heading span{color:var(--muted);font-size:.72rem}.comments-admin-expanded-copy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;margin-top:17px}.comments-admin-expanded-section{min-width:0}.comments-admin-expanded-section h3{margin:0 0 7px;color:var(--muted);font-size:.7rem;font-weight:720;letter-spacing:.04em}.comments-admin-expanded-post{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin-top:15px}.comments-admin-badges{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:7px}.comments-admin-badge{border-radius:999px;background:var(--bg-soft);color:var(--muted-strong);padding:4px 9px;font-size:.68rem;font-weight:720;line-height:1.3}.comments-admin-badge.is-published{background:color-mix(in srgb,#2e8b57 12%,var(--surface));color:#277649}.comments-admin-badge.is-verified{background:color-mix(in srgb,var(--link-internal) 13%,var(--surface));color:var(--link-internal)}.comments-admin-badge.is-pending,.comments-admin-badge.is-orphaned{background:color-mix(in srgb,#c57a19 13%,var(--surface));color:#9b5d0d}.comments-admin-badge.is-hidden,.comments-admin-badge.is-deleted,.comments-admin-badge.is-blocked{background:color-mix(in srgb,#d93025 10%,var(--surface));color:#b82b22}.comments-admin-quote{margin:0;border-left:3px solid color-mix(in srgb,var(--link-internal) 45%,transparent);background:var(--bg-softer);color:var(--muted-strong);padding:9px 11px;font-size:.82rem;line-height:1.55}.comments-admin-body{margin:0;font-size:.96rem;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.comments-admin-meta{margin:9px 0 0;color:var(--muted);font-size:.75rem}.comments-admin-commenter{margin-top:14px;border:1px solid color-mix(in srgb,var(--link-internal) 18%,var(--border-soft));border-radius:14px;background:color-mix(in srgb,var(--link-internal) 3%,var(--bg-softer));padding:11px 13px;color:var(--muted-strong);font-size:.76rem}.comments-admin-commenter>summary{cursor:pointer;font-weight:720}.comments-admin-commenter-overview{display:grid;gap:8px;margin-top:13px}.comments-admin-commenter-id{overflow-wrap:anywhere;color:var(--link-internal);font-size:.7rem}.comments-admin-commenter-facts{margin:0;color:var(--muted);line-height:1.5}.comments-admin-commenter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.comments-admin-commenter-form label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:.7rem;font-weight:680}.comments-admin-commenter-form input,.comments-admin-commenter-form select,.comments-admin-commenter-form textarea{width:100%;min-height:38px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:7px 9px;font:inherit;font-size:.8rem}.comments-admin-commenter-notes{grid-column:1 / -1}.comments-admin-commenter-form textarea{resize:vertical}.comments-admin-commenter-actions{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px}.comments-admin-latest-observation{display:grid;gap:6px;border-top:1px solid var(--border-soft);padding-top:9px}.comments-admin-observations{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.comments-admin-latest-observation .comments-admin-observations{margin-top:0}.comments-admin-observation{display:grid;gap:4px;border-radius:10px;background:var(--surface);padding:9px 10px}.comments-admin-observation span{color:var(--muted);line-height:1.5}.comments-admin-observation code{overflow-wrap:anywhere;color:var(--muted);font-size:.67rem;line-height:1.5;white-space:pre-wrap}.comments-admin-details{margin-top:13px;color:var(--muted);font-size:.74rem}.comments-admin-details summary{cursor:pointer}.comments-admin-details pre{overflow:auto;margin:9px 0 0;border-radius:10px;background:var(--code-bg);color:var(--code-text);padding:11px;font-size:.68rem;line-height:1.5}.comments-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.comments-admin-action{min-height:34px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:999px;background:var(--bg-soft);color:var(--muted-strong);padding:6px 12px;font:inherit;font-size:.76rem;font-weight:680;cursor:pointer}.comments-admin-action.is-primary{border-color:var(--link-internal);background:var(--link-internal);color:var(--bg)}.comments-admin-action.is-danger{border-color:color-mix(in srgb,#d93025 35%,var(--border));color:#c7352c}.comments-admin-action:disabled,.comments-admin-pagination button:disabled,.comments-admin-summary button:disabled{cursor:not-allowed;opacity:.45}.comments-admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px;color:var(--muted);font-size:.78rem}.comments-admin-pagination button{min-height:36px;border-radius:999px;padding:6px 14px}.comments-admin-empty{margin:48px 0;color:var(--muted);text-align:center}@media(max-width:720px){.comments-admin{--comments-admin-viewport-gutter: 14px;padding:48px 0 72px}.comments-admin-header,.comments-admin-verification-heading,.comments-admin-verification-item,.comments-admin-summary,.comments-admin-expanded-header{align-items:flex-start;flex-direction:column}.comments-admin-summary-actions{align-self:stretch}.comments-admin-summary-actions button{flex:1}.comments-admin-verification-form{grid-template-columns:1fr}.comments-admin-verification-notes,.comments-admin-commenter-notes,.comments-admin-commenter-actions{grid-column:auto}.comments-admin-commenter-form,.comments-admin-expanded-copy{grid-template-columns:1fr}.comments-admin-filters{grid-template-columns:1fr 1fr}.comments-admin-post-filter,.comments-admin-filters>button{grid-column:1 / -1}.comments-admin-badges{justify-content:flex-start}}.visitor-identity-page{width:min(100%,920px);margin-inline:auto;padding:76px 0 104px}.visitor-identity-page [hidden]{display:none!important}.visitor-identity-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title session" "copy copy";-moz-column-gap:24px;column-gap:24px;row-gap:18px;margin-bottom:46px}.visitor-identity-hero h1{grid-area:title;margin:0;font-size:clamp(2.7rem,8vw,4.8rem)}.visitor-identity-hero p{grid-area:copy;max-width:690px;margin:0;color:var(--muted-strong);font-size:clamp(1rem,2.1vw,1.18rem);line-height:1.75}.visitor-account-session{grid-area:session;display:flex;align-items:flex-end;flex-direction:column;gap:10px;padding-top:10px}.visitor-account-status:not([hidden]){animation:site-settings-identity-status-in .18s ease-out both}.visitor-account-logout{display:inline-grid;width:38px;height:38px;place-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);padding:0;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.visitor-account-logout svg{width:21px;height:21px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.visitor-account-logout:hover:not(:disabled),.visitor-account-logout:focus-visible:not(:disabled){border-color:var(--border-soft);background:var(--bg-soft);color:var(--text)}.visitor-account-logout:focus-visible{outline:3px solid color-mix(in srgb,var(--text) 16%,transparent);outline-offset:2px}.visitor-account-logout:disabled{cursor:wait;opacity:.45}.visitor-account-message{margin:0 0 14px;border:1px solid var(--border-soft);border-radius:13px;background:var(--bg-soft);color:var(--muted-strong);padding:10px 13px;font-size:.8rem;line-height:1.55}.visitor-account-message[data-tone=success]{border-color:color-mix(in srgb,#478660 30%,var(--border-soft));background:color-mix(in srgb,#478660 8%,var(--surface));color:color-mix(in srgb,#2f724c 76%,var(--text))}.visitor-account-message[data-tone=error]{border-color:color-mix(in srgb,#c44a42 32%,var(--border-soft));background:color-mix(in srgb,#c44a42 8%,var(--surface));color:color-mix(in srgb,#b43c35 76%,var(--text))}.visitor-identity-conflict{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;border:1px solid color-mix(in srgb,var(--link-internal) 30%,var(--border-soft));border-radius:18px;background:color-mix(in srgb,var(--link-internal) 6%,var(--surface));padding:18px 20px}.visitor-identity-conflict h2{margin:0 0 5px;font-size:1rem;font-weight:730;line-height:1.4}.visitor-identity-conflict p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.visitor-identity-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}.visitor-identity-panel{min-width:0;border:1px solid var(--border-soft);border-radius:24px;background:color-mix(in srgb,var(--surface) 97%,var(--bg-soft));padding:24px;box-shadow:0 14px 40px color-mix(in srgb,var(--text) 5%,transparent)}.visitor-identity-panel[data-expanded=false],html[data-page=visitor-identity][data-visitor-identity-panels=collapsed] .visitor-identity-panel{cursor:pointer}.visitor-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.visitor-panel-heading h2{margin:0;font-size:1.28rem;font-weight:740;line-height:1.35}.visitor-panel-status-icon{flex:0 0 auto;width:1em;height:1em;font-size:1rem}.visitor-passkey-status-icon{display:inline-grid;place-items:center;color:var(--text)}.visitor-passkey-status-icon svg{width:100%;height:100%}.visitor-panel-toggle{display:inline-flex;align-items:center;gap:7px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:8px;background:transparent;color:inherit;padding:2px 0;font:inherit;cursor:pointer}.visitor-panel-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--text) 15%,transparent);outline-offset:4px}.visitor-panel-toggle svg{width:14px;height:14px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;transform:rotate(180deg);transition:transform .26s cubic-bezier(.4,0,.2,1)}.visitor-panel-content{display:grid;grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .18s ease,visibility 0s linear}.visitor-panel-content-reveal{min-height:0;overflow:hidden}.visitor-panel-content-reveal>:first-child{margin-top:13px}.visitor-identity-panel[data-expanded=false] .visitor-panel-content,html[data-page=visitor-identity][data-visitor-identity-panels=collapsed] .visitor-identity-panel .visitor-panel-content{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .14s ease,visibility 0s linear .3s}.visitor-identity-panel[data-expanded=false] .visitor-panel-toggle svg,html[data-page=visitor-identity][data-visitor-identity-panels=collapsed] .visitor-identity-panel .visitor-panel-toggle svg{transform:rotate(0)}html[data-page=visitor-identity]:not([data-visitor-identity-panels-ready]) .visitor-panel-content,html[data-page=visitor-identity]:not([data-visitor-identity-panels-ready]) .visitor-panel-toggle svg{transition:none}.visitor-panel-copy{margin:0 0 18px;color:var(--muted);font-size:.8rem;line-height:1.65}.visitor-key-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.visitor-key-section-heading h2,.visitor-key-section-heading h3{margin:0}.visitor-key-state{flex:0 0 auto;color:var(--muted);font-size:.68rem;font-weight:650;line-height:1.45;text-align:right}.visitor-passkey-support{margin:-4px 0 16px;border-radius:11px;background:var(--bg-soft);color:var(--muted-strong);padding:9px 11px;font-size:.75rem;line-height:1.5}.visitor-panel-actions,.visitor-comment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.visitor-passkey-actions .visitor-button{flex:1 1 0;min-width:0}.visitor-key-actions{flex-wrap:nowrap}.visitor-key-actions .visitor-button{flex:1 1 0;min-width:0;padding-inline:8px}.visitor-button{min-height:38px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted-strong);padding:7px 14px;font:inherit;font-size:.78rem;font-weight:700;line-height:1.25;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.visitor-button:hover:not(:disabled),.visitor-button:focus-visible:not(:disabled){border-color:color-mix(in srgb,var(--text) 42%,var(--border));background:var(--bg-soft);color:var(--text)}.visitor-button:focus-visible{outline:3px solid color-mix(in srgb,var(--text) 16%,transparent);outline-offset:2px}.visitor-button.is-primary{border-color:var(--text);background:var(--text);color:var(--bg)}.visitor-button.is-primary:hover:not(:disabled),.visitor-button.is-primary:focus-visible:not(:disabled){border-color:color-mix(in srgb,var(--text) 86%,var(--surface));background:color-mix(in srgb,var(--text) 86%,var(--surface));color:var(--bg)}.visitor-button.is-secondary{background:var(--bg-soft)}.visitor-button.is-quiet{min-height:32px;border-color:transparent;background:transparent;padding-inline:8px}.visitor-button.is-danger{min-height:32px;border-color:transparent;background:transparent;color:color-mix(in srgb,#c44a42 78%,var(--text));padding-inline:8px}.visitor-button.is-danger:hover:not(:disabled),.visitor-button.is-danger:focus-visible:not(:disabled){border-color:color-mix(in srgb,#c44a42 28%,transparent);background:color-mix(in srgb,#c44a42 8%,var(--surface));color:color-mix(in srgb,#c44a42 86%,var(--text))}.visitor-button:disabled{cursor:not-allowed;opacity:.45}.visitor-passkey-account-name{display:block;margin-top:20px;border-top:1px solid var(--border-soft);padding-top:13px;color:var(--text);font-size:.84rem;font-weight:720;line-height:1.4;overflow-wrap:anywhere}.visitor-passkey-list{margin-top:7px}.visitor-passkey-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;-moz-column-gap:12px;column-gap:12px;row-gap:0;padding-block:8px}.visitor-passkey-item+.visitor-passkey-item{border-top:1px solid var(--border-soft)}.visitor-passkey-item-type{min-width:0;overflow-wrap:anywhere;font-size:.82rem;line-height:1.4}.visitor-passkey-item-meta,.visitor-inline-empty{margin:0;color:var(--muted);font-size:.71rem;line-height:1.5}.visitor-passkey-item-meta{grid-column:1;margin-top:-3px}.visitor-passkey-item>.visitor-button{grid-column:2;grid-row:1 / span 2;align-self:center;min-height:28px;padding:2px 9px;font-size:.72rem}.visitor-author-states{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:14px}.visitor-verified-authors,.visitor-pending-verifications{display:contents}.visitor-author-state-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0;padding:0;list-style:none}.visitor-author-state-item{display:flex;align-items:center;gap:.45em;width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--text);font-size:1rem;line-height:1.5}.visitor-author-state-name{overflow-wrap:anywhere}.visitor-verification-waiting-badge{display:inline-grid;flex:0 0 auto;place-items:center;width:1em;height:1em;overflow:hidden;border-radius:999px;background:var(--link-internal);color:var(--bg)}.visitor-verification-waiting-badge svg{width:.64em;height:.64em;overflow:hidden;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.visitor-verification-form{display:grid;gap:10px;margin-top:18px;border-top:1px solid var(--border-soft);padding-top:17px}.visitor-verification-field{display:grid;gap:7px;min-width:0;color:var(--muted-strong);font-size:.76rem;font-weight:680}.visitor-verification-form label{color:inherit;font:inherit}.visitor-verification-form label>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.visitor-verification-form output{color:var(--muted);font-size:.7rem}.visitor-verification-form output.is-negative{color:color-mix(in srgb,#c44a42 78%,var(--text));font-weight:760}.visitor-verification-input-shell{position:relative;min-width:0}.visitor-verification-form input{width:100%;min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--bg-softer);color:var(--text);padding:9px 11px;font:inherit;font-size:1rem;line-height:1.45;outline:none}.visitor-verification-form input{border-radius:999px;padding-inline-end:9rem}.visitor-verification-form input:focus{border-color:color-mix(in srgb,var(--link-internal) 54%,var(--border));background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--link-internal) 13%,transparent)}.visitor-verification-input-shell .visitor-button{position:absolute;top:5px;right:5px;bottom:5px;min-height:0;border-color:var(--border-soft);background:var(--surface);padding:4px 11px;font-size:.72rem}.visitor-verification-code{display:grid;gap:8px;margin-top:14px;border:1px solid color-mix(in srgb,var(--link-internal) 24%,var(--border-soft));border-radius:14px;background:color-mix(in srgb,var(--link-internal) 5%,var(--surface));padding:13px}.visitor-verification-code>p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.5}.visitor-verification-code>div{display:flex;align-items:center;gap:10px;min-width:0}.visitor-verification-code code{flex:1 1 auto;min-width:0;color:var(--text);font-size:.75rem;font-weight:680;line-height:1.45;overflow-wrap:anywhere}.visitor-one-time-key{display:grid;gap:9px;margin-top:14px;border:1px solid color-mix(in srgb,#478660 30%,var(--border-soft));border-radius:14px;background:color-mix(in srgb,#478660 7%,var(--surface));padding:13px}.visitor-one-time-key p{margin:0;color:var(--muted-strong);font-size:.72rem;line-height:1.55}.visitor-one-time-key p strong{color:var(--text)}.visitor-one-time-key>div{display:flex;align-items:center;gap:10px;min-width:0}.visitor-one-time-key code{flex:1 1 auto;min-width:0;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;font-weight:700;line-height:1.55;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.visitor-copy-icon-button{display:inline-grid;flex:0 0 auto;width:38px;height:38px;min-height:38px;place-items:center;padding:0}.visitor-copy-icon-button svg{width:19px;height:19px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.visitor-account-recovery{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;margin-top:18px;border:1px solid color-mix(in srgb,#c44a42 22%,var(--border-soft));border-radius:20px;background:color-mix(in srgb,#c44a42 3.5%,var(--surface));padding:20px 24px}.visitor-account-recovery[hidden]{display:none}.visitor-account-recovery-copy{min-width:0}.visitor-account-recovery h2{color:var(--text);font-size:1.08rem;font-weight:740;line-height:1.4}.visitor-account-recovery-copy>p{max-width:650px;margin:7px 0 0;color:var(--muted);font-size:.77rem;line-height:1.65}.visitor-recovery-actions{flex-wrap:nowrap;justify-content:flex-end}.visitor-recovery-key-output{grid-column:1 / -1;margin-top:0}.visitor-key-dialog{width:min(calc(100% - 32px),520px);max-height:min(calc(100dvh - 32px),680px);overflow:auto;border:1px solid var(--border-soft);border-radius:22px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 24px 80px color-mix(in srgb,#000 28%,transparent)}.visitor-key-dialog::backdrop{background:color-mix(in srgb,#000 44%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.visitor-key-dialog[open]{animation:visitor-key-dialog-in .18s ease-out}@keyframes visitor-key-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.visitor-key-dialog-form{display:grid;gap:18px;padding:24px}.visitor-key-dialog-form header h2{margin:0;font-size:1.25rem;font-weight:760;line-height:1.4}.visitor-key-dialog-form header p{margin:7px 0 0;color:var(--muted);font-size:.8rem;line-height:1.6}.visitor-key-dialog-field{display:grid;gap:7px;color:var(--muted-strong);font-size:.76rem;font-weight:700}.visitor-key-dialog-field input{width:100%;min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--bg-softer);color:var(--text);padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem;line-height:1.45;outline:none}.visitor-key-dialog-field input:focus{border-color:color-mix(in srgb,var(--link-internal) 54%,var(--border));background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--link-internal) 13%,transparent)}.visitor-key-dialog-confirm{display:flex;align-items:flex-start;gap:10px;border-radius:12px;background:color-mix(in srgb,#c44a42 7%,var(--surface));color:var(--muted-strong);padding:11px 12px;font-size:.75rem;line-height:1.55;cursor:pointer}.visitor-key-dialog-confirm input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:#b43c35}.visitor-key-dialog-error{margin:-4px 0 0;color:color-mix(in srgb,#c44a42 82%,var(--text));font-size:.74rem;line-height:1.55}.visitor-key-dialog-actions{display:flex;justify-content:flex-end;gap:9px}.visitor-history{margin-top:64px}.visitor-history-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border-soft)}.visitor-history-tablist{display:flex;align-items:flex-end;gap:24px;min-width:0}.visitor-history-tab{position:relative;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);padding:0 2px 11px;font:inherit;font-size:1.55rem;font-weight:620;line-height:1.35;opacity:.64;cursor:pointer;transform:none;transition:color .14s ease,opacity .14s ease}.visitor-history-tab:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:999px;background:transparent;content:""}.visitor-history-tab:hover:not([aria-selected=true]){color:var(--muted-strong);opacity:.88}.visitor-history-tab[aria-selected=true]{color:var(--text);font-weight:740;opacity:1}.visitor-history-tab[aria-selected=true]:after{background:var(--text)}.visitor-history-tab:focus-visible{color:var(--text);opacity:1;outline:none}.visitor-history-tab:focus-visible:after{height:3px;background:var(--link-internal)}.visitor-history-counts{flex:0 0 auto;padding-bottom:11px}.visitor-history-count{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.visitor-history-panel{min-height:0;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.visitor-history-panel:focus-visible{outline:2px solid color-mix(in srgb,var(--link-internal) 24%,transparent);outline-offset:2px}.visitor-comment-item{padding:22px 2px}.visitor-comment-item+.visitor-comment-item{border-top:1px solid var(--border-soft)}.visitor-comment-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:11px}.visitor-comment-item-heading{display:grid;gap:2px;min-width:0}.visitor-comment-item-heading a,.visitor-comment-item-heading strong{color:var(--text);font-size:.9rem;font-weight:720;line-height:1.45;overflow-wrap:anywhere;text-decoration:none}.visitor-comment-item-heading a:hover,.visitor-comment-item-heading a:focus-visible{color:var(--link-internal)}.visitor-comment-item-heading>span{color:var(--muted);font-size:.7rem;line-height:1.45}.visitor-comment-header-controls{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:7px}.visitor-comment-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.visitor-comment-status{flex:0 0 auto;border-radius:999px;background:var(--bg-soft);color:var(--muted-strong);padding:4px 8px;font-size:.67rem;font-weight:680;line-height:1.3}.visitor-comment-status[data-status=abnormal]{background:color-mix(in srgb,#c44a42 8%,var(--surface));color:color-mix(in srgb,#b43c35 72%,var(--text))}.visitor-comment-quote{margin:20px 0 10px;font-size:.76rem;line-height:1.55}.visitor-comment-body{margin:0;color:var(--text);font-size:.9rem;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.visitor-comment-actions{flex-wrap:nowrap;justify-content:flex-end;gap:2px;opacity:0;pointer-events:none;transition:opacity .14s ease}.visitor-comment-item:hover .visitor-comment-actions,.visitor-comment-item:focus-within .visitor-comment-actions{opacity:1;pointer-events:auto}.visitor-reading-item{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 2px}.visitor-reading-item+.visitor-reading-item{border-top:1px solid var(--border-soft)}.visitor-reading-item-heading{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;min-width:0}.visitor-reading-item-title{color:var(--text);font-size:.9rem;font-weight:720;line-height:1.5;overflow-wrap:anywhere;text-decoration:none}a.visitor-reading-item-title:hover,a.visitor-reading-item-title:focus-visible{color:var(--link-internal)}.visitor-reading-item-meta{display:inline-flex;flex:0 0 auto;align-items:center;gap:9px;color:var(--muted);font-size:.72rem;line-height:1.45;white-space:nowrap}.visitor-reading-status{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:var(--link-internal)}.visitor-reading-status svg{width:100%;height:100%;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.visitor-empty-state{margin:0;color:var(--muted);padding:34px 0;font-size:.82rem;line-height:1.6;text-align:center}@media(max-width:720px){.visitor-identity-page{padding:56px 0 78px}.visitor-identity-hero{margin-bottom:34px}.visitor-identity-hero h1{font-size:clamp(2.45rem,15vw,3.6rem)}.visitor-account-session{gap:7px;padding-top:5px}.visitor-account-logout{width:40px;height:40px}.visitor-identity-panels{grid-template-columns:1fr}.visitor-identity-conflict{align-items:flex-start;flex-direction:column}.visitor-identity-conflict .visitor-button,.visitor-panel-actions .visitor-button{min-height:44px}.visitor-identity-panel{border-radius:20px;padding:20px}.visitor-panel-actions{align-items:stretch;flex-direction:column}.visitor-panel-actions .visitor-button{width:100%}.visitor-passkey-actions,.visitor-key-actions{flex-flow:row nowrap}.visitor-passkey-actions .visitor-button,.visitor-key-actions .visitor-button{width:auto}.visitor-verification-code>div{align-items:stretch;flex-direction:column}.visitor-verification-code .visitor-button{align-self:flex-start;min-height:42px}.visitor-account-recovery{grid-template-columns:1fr;border-radius:18px;padding:18px}.visitor-recovery-actions{align-items:stretch;flex-direction:column}.visitor-recovery-actions .visitor-button,.visitor-key-dialog-actions .visitor-button{width:100%;min-height:44px}.visitor-recovery-key-output{grid-column:auto}.visitor-recovery-key-output>div{align-items:stretch;flex-direction:column}.visitor-recovery-key-output .visitor-button{align-self:flex-start;min-height:42px}.visitor-key-dialog-form{padding:20px}.visitor-key-dialog-actions{align-items:stretch;flex-direction:column-reverse}.visitor-history{margin-top:52px}.visitor-history-header{gap:12px}.visitor-history-tablist{gap:16px}.visitor-history-tab{min-width:0;padding:0 1px 9px;font-size:1.4rem;white-space:nowrap}.visitor-history-counts{padding-bottom:9px}.visitor-comment-item-header{gap:10px}.visitor-reading-item{padding-block:18px}.visitor-reading-item-heading{align-items:flex-start;flex-direction:column;gap:7px}.visitor-reading-item-meta{align-self:stretch;justify-content:space-between}}@media(hover:none){.visitor-comment-actions{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.visitor-button,.visitor-account-status,.visitor-account-logout,.visitor-history-tab,.visitor-comment-actions,.visitor-key-dialog[open],.visitor-panel-content,.visitor-identity-panel[data-expanded=false] .visitor-panel-content,html[data-page=visitor-identity][data-visitor-identity-panels=collapsed] .visitor-identity-panel .visitor-panel-content,html[data-page=visitor-identity][data-visitor-identity-panels=collapsed] .visitor-identity-panel .visitor-panel-toggle svg,.visitor-panel-toggle svg{animation:none;transition:none}.visitor-key-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(max-width:820px){.home-section-header{width:min(100%,calc(var(--home-post-card-max-width) * 2 + 18px));margin-inline:auto}.home-post-grid{grid-template-columns:repeat(2,minmax(0,min(calc((100% - 18px)/2),var(--home-post-card-max-width))));justify-content:center}.home-post-card-mobile-only{display:block}.home-post-body>p:not(.post-meta){display:-webkit-box;overflow:hidden;font-size:.88rem;line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-footer-inner{flex-direction:column;align-items:flex-start;gap:18px}.home-footer-nav{width:100%;flex-basis:auto}}@media(max-width:560px){:root{--site-edge-space: 14px;--site-header-height: 42px}html[data-page=blog-index]{--content-gutter: 24px}.site-shell{width:min(calc(100% - var(--content-gutter) - var(--content-gutter)),var(--content-width))}.site-header{padding:5px 0}.site-header-inner{gap:6px;padding-inline:var(--site-edge-space)}.site-nav{gap:0}.site-nav a{padding-inline:7px;font-size:.88rem}.site-header-actions{gap:6px}.settings-button{flex-basis:31px}.empty-page,.page-heading,.not-found{padding:58px 0 46px}.home-hero{padding:68px 0 54px}.home-section{padding-bottom:64px}.home-recent-posts{padding-bottom:48px}.home-footer{margin-top:92px;padding:34px 0 30px}.home-footer-inner{gap:18px;width:min(calc(100% - var(--content-gutter) - var(--content-gutter)),var(--content-width))}.home-footer-nav{gap:16px 14px}.home-footer-group-title{margin-bottom:7px;font-size:.72rem}.home-footer-group-links{gap:3px}.home-footer-link{gap:5px;min-height:30px}.home-footer-link-icon{width:22px;height:22px}.home-footer-link-label{font-size:.86rem}.home-footer-meta{flex-wrap:wrap;gap:6px 14px;white-space:normal}.home-section-header{align-items:flex-end;gap:12px}.home-post-grid{grid-template-columns:repeat(2,minmax(0,min(calc((100% - 18px)/2),var(--home-post-card-max-width))))}.home-post-body{padding:9px 10px}.archive-filter{margin-top:-42px;padding:14px 0 16px}.archive-filter-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr) clamp(84px,24vw,104px);gap:8px}.archive-filter-control-category{grid-column:1}.archive-filter-control-category .archive-filter-menu{width:min(224px,calc(100vw - 32px))}.archive-filter-control-year{grid-column:2}.archive-filter-button{min-height:44px;gap:6px;padding:0 10px 0 12px;font-size:.84rem}.archive-filter-arrow{width:14px}.archive-sort-button{grid-column:3;align-self:center;justify-self:stretch;width:100%;height:34px;gap:6px;font-size:.76rem}.archive-sort{justify-content:flex-start;margin-bottom:24px}.post-card-link{gap:14px;padding:24px 0}.post-card-link.has-cover{grid-template-columns:minmax(0,1fr) clamp(128px,40vw,160px)}.post-card h2{margin-bottom:6px;font-size:1.06rem;line-height:1.28}.post-card-title-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.post-card-visited-icon{--post-card-visited-icon-size: 10px;top:calc((1.28em - var(--post-card-visited-icon-size)) / 2);left:-16px}.post-card-body>p:not(.post-meta){display:-webkit-box;overflow:hidden;margin:2px 0 10px;font-size:.86rem;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.post-card-meta{font-size:.7rem;line-height:1.2}.post-card-footer{gap:8px}.post-card-comment-count{gap:3px;font-size:.7rem}.post-card-comment-count svg{width:13px;height:13px}.article-page{padding-top:40px}.article-header{margin-bottom:34px}.article-header.has-article-category{padding-right:0}.article-header.has-article-category .article-meta{max-width:calc(100% - 5.75rem);min-height:32px}.article-category{position:absolute;top:0;right:0;margin-bottom:0}.article-cover{margin:-8px 0 38px}.post-category-directory{margin-top:138px}.post-category-directory-header{gap:10px;padding-block:15px 13px}.post-category-directory-header h2{font-size:1em}.post-category-directory-toggle{min-height:36px;gap:7px;padding-inline:12px;font-size:.73rem}.post-category-directory-item-content{align-items:start;gap:10px;padding:11px 4px}.post-category-directory-title{font-size:.9rem}.post-category-directory-meta{gap:.42em;padding-top:.12em;font-size:.68rem}.post-adjacent-nav{gap:10px;margin-top:112px}.post-category-directory+.post-adjacent-nav{margin-top:84px}.post-adjacent-card{min-height:102px;padding:16px 14px}.article-header h1,.prose h1{font-size:clamp(1.75rem,10vw,2.25rem)}.prose blockquote,.comment-context-quote,.prose pre{border-radius:var(--radius-sm)}.prose blockquote,.comment-context-quote{padding:15px 16px 10px}.prose img:not(.external-link-favicon){max-height:220px}.post-video-loop{width:calc(220px * var(--post-video-aspect-ratio, 1.5))}.image-lightbox-video{width:100%}.image-carousel-nav{width:34px;height:34px;font-size:1.45rem}.image-carousel-viewport{padding-inline:34px}.image-carousel-prev{left:4px}.image-carousel-next{right:4px}.image-lightbox{--image-lightbox-max-height: calc(var(--image-lightbox-viewport-height) - 64px - var(--image-lightbox-caption-space));--image-lightbox-max-width: calc(var(--image-lightbox-viewport-width) - 32px);padding:8px}.image-lightbox.has-caption{--image-lightbox-caption-space: 84px}.image-lightbox-caption{bottom:10px;max-width:calc(var(--image-lightbox-viewport-width) - 24px);max-height:4.2em;overflow:auto;padding:8px 12px;font-size:.88rem}.image-lightbox-toolbar{grid-template-columns:38px 1fr 38px;top:8px;right:8px;left:8px}.image-lightbox-button{width:38px;height:38px;font-size:1.45rem}.image-lightbox-stack{padding:0}.image-lightbox-prev{left:8px}.image-lightbox-next{right:8px}.prose pre{padding:18px}}@media(max-width:360px){.brand{font-size:14px}.site-nav a{padding-inline:5px;font-size:.84rem}}
