@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Archivo:wght@400;600;700;800;900&family=Archivo+Black&family=JetBrains+Mono:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Dosis:wght@200..800&display=swap";@font-face{font-family:Fantasque Sans Mono;src:url(/assets/fonts/FantasqueSansMono-Bold.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Fantasque Sans Mono;src:url(/assets/fonts/FantasqueSansMono-Italic.otf) format("opentype");font-weight:400;font-style:italic}@font-face{font-family:Fantasque Sans Mono;src:url(/assets/fonts/FantasqueSansMono-Bold.otf) format("opentype");font-weight:700;font-style:normal}@font-face{font-family:Fantasque Sans Mono;src:url(/assets/fonts/FantasqueSansMono-BoldItalic.otf) format("opentype");font-weight:700;font-style:italic}.dosis-regular{font-family:Dosis,sans-serif;font-optical-sizing:auto;font-weight:600;font-style:normal}.dosis-bold{font-family:Dosis,sans-serif;font-optical-sizing:auto;font-weight:800;font-style:normal}.dosis-thin{font-family:Dosis,sans-serif;font-optical-sizing:auto;font-weight:200;font-style:normal}.dosis-italic{font-family:Dosis,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:italic}:root{--o1: #ff5f00;--o2: #ff8c00;--y1: #ffc300;--y2: #ffd400;--grad: linear-gradient( 95deg, var(--o1), var(--o2) 40%, var(--y1) 80%, var(--y2) );--font-body: "dosis", system-ui, sans-serif;--font-head: "Archivo Black", "Archivo", sans-serif;--font-mono: "Fantasque Sans Mono", "Cascadia Code", "JetBrains Mono", ui-monospace, monospace;--maxw: 1080px}:root,[data-theme=noir]{--bg: #140c02;--fg: #fff8ec;--panel: #1d1305;--hair: #3a2a10;--muted: #b89a68;--muted2: #8a6a38}[data-theme=light]{--bg: #fffcf5;--fg: #1a1206;--panel: #fff3dc;--hair: #e6d6b4;--muted: #7a5e2e;--muted2: #a98a52}[data-theme=azure]{--o1: #e87f24;--o2: #e5ba41;--y1: #d1855c;--y2: #94a378;--bg: #2d3c59;--fg: #f4f1e8;--panel: #26334d;--hair: #45567a;--muted: #aeb9cd;--muted2: #8290ab;--grad: linear-gradient(95deg, #e5ba41, #d1855c 55%, #e5ba41)}[data-theme=azure] :is(.ghead h1,.page h1,.article h1){color:#e5ba41}[data-theme=azure] :is(.ghead h1 em,.page h1 em){background:none;-webkit-text-fill-color:#e5ba41;color:#e5ba41}[data-theme=azure] .panel{background:#94a378;color:#233047;padding:26px 24px;border-radius:14px}[data-theme=azure] .panel .pt{color:#d1855c;font-weight:800}[data-theme=azure] .panel .ritem{border-bottom-color:#7e8c63}[data-theme=azure] .panel .ritem .rn{color:#2d3c59}[data-theme=azure] .panel .ritem h3{color:#1f2b40}[data-theme=azure] .panel .ritem .rd{color:#44502f}[data-theme=azure] .nav-right #navLinks.links.open{background:#1a87ba}[data-theme=dark-glass]{--o1: #ff5f00;--o2: #ff8c00;--y1: #ffc300;--y2: #ffd400;--bg: #140c02;--fg: #fff8ec;--panel: #1d1305;--hair: #3a2a10;--muted: #b89a68;--muted2: #8a6a38}[data-theme=dark-glass] .markdown-alert{background:color-mix(in srgb,var(--panel),#fff 20%)}[data-theme=dark-glass] .panel{background:#3018064d;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border:1px solid rgba(255,140,0,.18);border-radius:14px;padding:26px 24px}[data-theme=dark-glass] :is(.ghead h1,.page h1,.article h1),[data-theme=dark-glass] :is(.ghead h1 em,.page h1 em){background:linear-gradient(110deg,#ff5f00,#ff8c00 30%,#fffefb 47%,#ffe9c8 53%,#ff8c00 70%,#ffd400);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));animation:glass-shine 7s ease-in-out infinite}@keyframes glass-shine{0%{background-position:120% 0}to{background-position:-120% 0}}[data-theme=dark-glass] .nav-right #navLinks.links.open{background:#322901df;border-color:#655c31df}[data-theme=light-earth]{--o1: #9d6638;--o2: #9d6638;--y1: #9d6638;--y2: #b0ba99;--bg: #f7f1de;--fg: #4e220f;--panel: #ece2c4;--hair: #e0d4b2;--muted: #8a6a48;--muted2: #a8895f;--grad: linear-gradient(95deg, #9d6638, #b0ba99 60%, #9d6638)}[data-theme=light-earth] :is(.ghead h1,.page h1,.article h1){color:#9d6638}[data-theme=light-earth] :is(.ghead h1 em,.page h1 em){background:none;-webkit-text-fill-color:#9d6638;color:#9d6638}[data-theme=light-earth] .panel{background:#9d6638;color:#f7f1de;padding:26px 24px;border-radius:14px}[data-theme=light-earth] .panel .pt{color:#4e220f}[data-theme=light-earth] .panel .ritem{border-bottom-color:#b07f50}[data-theme=light-earth] .panel .ritem .rn{color:#4e220f}[data-theme=light-earth] .panel .ritem h3{color:#fbf6e8}[data-theme=light-earth] .panel .ritem .rd{color:#e6d4bf}[data-theme=light-earth] .nav-right #navLinks.links.open{background:#e8ddae}[data-theme=light-forest]{--o1: #ff0052;--o2: #ff0052;--y1: #ff0052;--y2: #1e527f99;--bg: #00c68d5c;--fg: #06241b;--panel: #c9f3e6;--hair: #00a87a;--muted: #0a3d2e;--muted2: #0d5a42;--grad: linear-gradient(95deg, #ff0052, #ffd400 50%, #0055da)}[data-theme=light-forest] :is(.ghead h1,.page h1,.article h1){color:#ff6c00f2}[data-theme=light-forest] :is(.ghead h1 em,.page h1 em){background:none;-webkit-text-fill-color:#ff0052;color:#ff0052}[data-theme=light-forest] .panel{background:#f0f331db;color:#0a2a22;padding:26px 24px;border-radius:14px}[data-theme=light-forest] .panel .pt{color:#0055da}[data-theme=light-forest] .panel .ritem{border-bottom-color:#ffe30085}[data-theme=light-forest] .panel .ritem .rn{color:#7a5b00}[data-theme=light-forest] .panel .ritem h3{color:#0055da}[data-theme=light-forest] .panel .ritem .rd{color:#6b5200}[data-theme=light-forest] #navLinks.open{background:#4effcc}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.3}a{color:inherit;font-style:normal;font-weight:700;text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:700}a:focus-visible,button:focus-visible{outline:2px solid var(--o2);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease}.site-header.scrolled{border-bottom-color:var(--hair)}.nav{display:flex;justify-content:space-between;align-items:center;padding:26px 0;flex-wrap:wrap;gap:16px}.nav .logo{font-family:var(--font-head);font-size:26px;letter-spacing:-.04em;text-decoration:none;display:inline-flex;align-items:center}.nav .logo .logo-img{height:44px;width:auto;display:block;transform-origin:center;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5))}.nav .logo:hover .logo-img{animation:logo-breathe 1s ease-in-out infinite}@keyframes logo-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}@media(prefers-reduced-motion:reduce){.nav .logo:hover .logo-img{animation:none}}.nav .logo b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav-right{display:flex;gap:16px;align-items:center}.nav .links{display:flex;gap:22px;align-items:center;white-space:nowrap}.nav-toggle{display:none;background:transparent;border:1px solid var(--hair);color:var(--muted);border-radius:999px;width:38px;height:38px;cursor:pointer;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease}.nav-toggle:hover{color:var(--fg);border-color:var(--muted)}.nav .links a{font-weight:600;font-size:14px;color:var(--muted);text-decoration:none}.nav .links a:hover,.nav .links a.active{color:var(--fg)}.scroll-top{background:transparent;border:1px solid var(--hair);color:var(--muted);border-radius:999px;width:34px;height:34px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,color .15s ease,border-color .15s ease}.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-top:hover{color:var(--fg);border-color:var(--muted)}.pf-search{--pf-background: var(--panel);--pf-text: var(--fg);--pf-text-secondary: var(--muted);--pf-text-muted: var(--muted2);--pf-border: var(--hair);--pf-border-focus: var(--o2);--pf-hover: color-mix(in srgb, var(--o2) 14%, transparent);--pf-mark: var(--o2);--pf-outline-focus: var(--o2);--pf-border-radius: 999px;--pf-input-height: 34px;--pf-input-font-size: 13px;--pf-searchbox-max-width: 200px;--pf-searchbox-dropdown-max-height: 60vh;font-family:var(--font-mono)}.pf-search [class*=result-title]{font-family:var(--font-head)}.pf-search .pf-searchbox-dropdown{width:360px!important;max-width:80vw!important;border-radius:10px 10px 0 0!important}.theme-select{appearance:none;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23998866' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 9px center;background-size:13px;border:1px solid var(--hair);color:var(--muted);border-radius:999px;height:34px;padding:0 28px 0 13px;font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.theme-select:hover{color:var(--fg);border-color:var(--muted)}.theme-select option{background:var(--panel);color:var(--fg)}.site-footer{border-top:1px solid var(--hair);margin-top:60px;padding:30px 0 50px;color:var(--muted2);font-size:13px}.site-footer .ft-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--fg)}.site-footer .mono{font-family:var(--font-mono)}.ghead{padding:18px 0 26px;border-bottom:1px solid var(--hair)}.ghead .eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--y1);text-transform:uppercase;letter-spacing:.12em}.ghead h1{font-family:var(--font-head);font-size:clamp(34px,6vw,68px);line-height:.92;letter-spacing:-.035em;margin-top:14px}.ghead h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ghead .sub{margin-top:16px;font-family:var(--font-mono);font-size:12px;color:var(--muted2)}.idx{padding:0 0 40px}.row{display:grid;grid-template-columns:74px 1fr;gap:24px;align-items:start;padding:26px 8px;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit;position:relative}.row:hover{text-decoration:none}.row .mid{display:flow-root}.row .mid .meta{display:flex;align-items:baseline;gap:12px}.row .num{font-family:var(--font-head);font-size:34px;line-height:1;color:var(--hair);transition:color .25s}.row .mid .cat{font-family:var(--font-mono);font-size:10px;color:var(--o2);text-transform:uppercase;letter-spacing:.05em}.row .mid h2{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(20px,2.6vw,27px);letter-spacing:-.015em;margin-top:6px;line-height:1.05;transition:transform .25s}.row .mid p{font-size:13.5px;color:var(--muted);margin-top:8px;max-width:64ch;line-height:1.5}.row .date{font-family:var(--font-mono);font-size:12px;color:var(--muted2);white-space:nowrap}.row .thumb{float:right;margin-left:20px;margin-bottom:8px;width:150px;aspect-ratio:5 / 4;overflow:hidden;border-radius:8px;border:1px solid var(--hair);background:var(--panel)}.row .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.row:hover .thumb img{transform:scale(1.05)}.row:hover .num{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.row:hover .mid h2{transform:translate(6px)}.post{display:grid;grid-template-columns:1fr 256px;gap:0;position:relative;transition:grid-template-columns .32s ease}.article{min-width:0;padding:34px 44px 50px 0;border-right:1px solid var(--hair)}.article .cat{font-family:var(--font-mono);font-size:12px;color:var(--o2);text-transform:uppercase;letter-spacing:.06em}.article h1{font-family:var(--font-head);font-size:clamp(30px,4.4vw,46px);line-height:.98;letter-spacing:-.03em;margin-top:12px}.article .byline{display:flex;align-items:center;gap:12px;margin-top:18px;padding-bottom:22px;border-bottom:1px solid var(--hair);font-family:var(--font-mono);font-size:12px;color:var(--muted2);flex-wrap:wrap}.article .byline .dot{width:4px;height:4px;border-radius:50%;background:var(--o2)}.article .hero-img{width:100%;margin:26px 0;border-radius:4px}.prose{font-size:17px;line-height:1.4}.prose>*+*{margin-top:18px}.prose p{max-width:64ch}.prose h2{font-family:Archivo,sans-serif;font-weight:800;font-size:24px;letter-spacing:-.01em;margin-top:32px}.prose h3{font-family:Archivo,sans-serif;font-weight:700;font-size:19px;margin-top:24px}.prose a{color:var(--o2);text-decoration:none;text-underline-offset:2px}.prose a:hover{text-decoration:underline}.prose ul,.prose ol{padding-left:22px}.prose li{margin-top:6px;max-width:62ch}.prose dt{font-weight:700;margin-top:12px}.prose dd{margin-left:30px}.prose img{max-width:100%;border-radius:4px;cursor:zoom-in}.prose blockquote{border-left:3px solid;border-image:var(--grad) 1;padding-left:18px;color:var(--muted);font-style:italic}.prose table{width:80%;margin:22px auto;border-collapse:collapse;font-size:14px;line-height:1.5}.prose th,.prose td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--hair);vertical-align:top}.prose thead th{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--o2);border-bottom:2px solid var(--hair)}.prose tbody tr:hover{background:color-mix(in srgb,var(--panel),transparent 35%)}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--panel);padding:2px 6px;border-radius:3px}.prose pre{border-radius:8px;padding:18px 20px;overflow-x:auto;font-family:var(--font-mono);font-size:13.5px;line-height:1.6;margin:22px 0}.prose pre code{background:none;padding:0;font-size:inherit}.article .tags{margin-top:30px;display:flex;gap:8px;flex-wrap:wrap}.article .tags a{font-family:var(--font-mono);font-size:11px;color:var(--muted);border:1px solid var(--hair);padding:4px 10px;border-radius:999px;text-decoration:none}.article .tags a:hover{color:var(--o2);border-color:var(--o2)}.panel{padding:34px 0 0 28px;position:sticky;top:110px;align-self:start;max-height:calc(100vh - 130px);overflow-y:auto;scrollbar-width:thin;transition:transform .32s ease,opacity .25s ease}.panel .pt{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:13px;color:var(--y1);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.panel .ritem{display:block;text-decoration:none;color:inherit;padding:16px 0;border-bottom:1px solid var(--hair)}.panel .ritem .rn{font-family:var(--font-mono);font-size:11px;color:var(--o2)}.panel .ritem h3{font-family:Archivo,sans-serif;font-weight:700;font-size:15px;line-height:1.15;margin-top:5px;transition:color .2s}.panel .ritem:hover h3{color:#fff}.panel .ritem .rd{font-family:var(--font-mono);font-size:10px;color:var(--muted2);margin-top:5px}.panel .allbtn{display:inline-block;margin-top:18px;font-family:var(--font-mono);font-size:12px;font-weight:700;text-decoration:none;border-bottom:2px solid;border-image:var(--grad) 1;padding-bottom:2px}.comments{grid-column:1 / -1;border-top:1px solid var(--hair);margin-top:10px;padding:34px 0 20px}.comments h2{font-family:var(--font-head);font-size:22px;letter-spacing:-.02em;margin-bottom:18px}.markdown-alert{border-left:4px solid var(--muted);border-radius:6px;padding:12px 16px;margin:24px 0;background:var(--panel);max-width:64ch}.markdown-alert>:first-child{margin-top:0}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert-title{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.markdown-alert-note{border-left-color:#2f81f7}.markdown-alert-note .markdown-alert-title{color:#2f81f7}.markdown-alert-tip{border-left-color:#3fb950}.markdown-alert-tip .markdown-alert-title{color:#3fb950}.markdown-alert-important{border-left-color:#a371f7}.markdown-alert-important .markdown-alert-title{color:#a371f7}.markdown-alert-warning{border-left-color:var(--o1)}.markdown-alert-warning .markdown-alert-title{color:var(--o1)}.markdown-alert-caution{border-left-color:#f85149}.markdown-alert-caution .markdown-alert-title{color:#f85149}.page{padding:20px 0 40px}.page .eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--y1);text-transform:uppercase;letter-spacing:.12em}.page h1{font-family:var(--font-head);font-size:clamp(32px,5vw,54px);line-height:.95;letter-spacing:-.03em;margin:12px 0 8px}.page h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.page .lead{font-size:18px;font-weight:600;color:var(--muted);max-width:60ch;margin-bottom:15px}.about-layout{display:grid;grid-template-columns:1fr 256px;gap:40px;align-items:start}.author-aside{position:sticky;top:110px;padding-top:40px}.author-aside img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--hair)}@media(max-width:550px){.nav .pf-search{display:none!important}}@media(max-width:760px){.about-layout{grid-template-columns:1fr}.author-aside{position:static;padding-top:0;max-width:320px}}.tag-cloud{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin-top:26px;line-height:1.5}.tag-cloud a{white-space:nowrap;font-family:var(--font-mono);font-weight:600;letter-spacing:-.01em;text-decoration:none;transition:color .15s ease}.tag-cloud a:hover{color:var(--o2)!important}.tag-cloud a .cnt{font-size:.6em;vertical-align:super;margin-left:.2em;color:var(--muted2)}.tag-cloud a:hover .cnt{color:var(--o1)}.talk{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:24px 8px;border-bottom:1px solid var(--hair)}.talk .yr{font-family:var(--font-head);font-size:20px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.talk-body{display:flow-root}.talk h3{font-family:Archivo,sans-serif;font-weight:800;font-size:20px;letter-spacing:-.01em}.talk p{font-size:13.5px;color:var(--muted);margin-top:6px}.talk-thumb{float:right;margin:2px 0 10px 22px;display:block;width:210px;aspect-ratio:16 / 10;overflow:hidden;border-radius:8px;border:1px solid var(--hair);background:var(--panel);cursor:pointer;position:relative}.talk-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.talk-thumb:hover img{transform:scale(1.04)}.talk-thumb:after{content:"⤢";position:absolute;right:8px;bottom:6px;font-size:15px;color:#fff;opacity:0;transition:opacity .25s;text-shadow:0 1px 3px rgba(0,0,0,.65)}.talk-thumb:hover:after{opacity:.95}.talk .pdf{display:inline-block;margin-top:12px;font-family:var(--font-mono);font-size:11px;color:var(--o2);text-decoration:none;white-space:nowrap}.talk .pdf:hover{text-decoration:underline}.pdf-modal{width:min(94vw,1080px);height:90vh;padding:0;border:1px solid var(--hair);border-radius:14px;background:var(--panel);color:var(--fg);overflow:hidden;flex-direction:column}.pdf-modal[open]{display:flex}.pdf-modal::backdrop{background:#000000b8;backdrop-filter:blur(2px)}.pdf-modal .pm-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--hair)}.pdf-modal .pm-head h2{font-family:var(--font-head);font-weight:400;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-modal .pm-actions{flex:0 0 auto;display:flex;align-items:center;gap:16px}.pdf-modal .pm-ext{font-family:var(--font-mono);font-size:11px;color:var(--o2);text-decoration:none;white-space:nowrap}.pdf-modal .pm-ext:hover{text-decoration:underline}.pdf-modal .pm-close{background:transparent;border:1px solid var(--hair);color:var(--muted);width:30px;height:30px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.pdf-modal .pm-close:hover{color:var(--fg);border-color:var(--muted)}.pdf-modal iframe{flex:1 1 auto;width:100%;border:0;display:block;background:#fff}.oss-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--hair)}.oss{padding:22px 24px;border-bottom:1px solid var(--hair)}.oss:nth-child(odd){border-right:1px solid var(--hair)}.oss .top{display:flex;justify-content:space-between;align-items:baseline}.oss h3{font-family:Archivo,sans-serif;font-weight:800;font-size:18px}.oss h3 a{text-decoration:none}.oss h3 a:hover{color:var(--o2)}.oss .stars{font-family:var(--font-mono);font-size:12px;color:var(--y1)}.oss .lang{font-family:var(--font-mono);font-size:10px;color:var(--muted2);text-transform:uppercase;margin-top:2px}.oss p{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}@media(max-width:1170px){.wrap{padding:0 18px}.prose{font-size:18px}.nav{position:relative;padding:18px 0}.nav-right{gap:10px}.nav-toggle{display:inline-flex}.nav .links{position:absolute;top:calc(100% + 8px);right:0;z-index:200;display:none;flex-direction:column;align-items:stretch;gap:2px;min-width:220px;padding:8px;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border:1px solid var(--hair);border-radius:12px;box-shadow:0 14px 34px #00000061}.nav .links.open{display:flex}.nav .links a{font-size:16px;padding:10px 14px;border-radius:8px}.nav .links a:hover,.nav .links a.active{background:var(--panel)}.nav .pf-search{margin-left:0;width:160px;padding:4px 6px 8px}.post{grid-template-columns:1fr}.article{border-right:0;padding-right:0}.panel{position:static;padding:30px 0 0;border-top:1px solid var(--hair);margin-top:30px;max-height:none;overflow:visible}.row{grid-template-columns:40px 1fr;gap:14px}.row .mid p{font-size:17.5px}.row .thumb{width:92px;margin-left:14px}.talk{grid-template-columns:48px 1fr;gap:14px}.talk-thumb{width:132px;margin-left:14px}.prose table{width:100%}.oss-grid{grid-template-columns:1fr}.oss:nth-child(odd){border-right:0}}@media(orientation:landscape)and (max-height:500px){.nav{justify-content:flex-end;padding:7px 0}.nav .logo{display:none}.nav .links a{white-space:nowrap}.nav .links{top:calc(100% + 6px)}}@media(max-width:760px){:root{zoom:1}}@media(min-width:761px){:root{zoom:1.2}}@media(min-width:761px)and (pointer:coarse){:root{zoom:1.4}}.panel-collapse{flex:0 0 auto;margin-left:10px;width:26px;height:26px;background:transparent;border:1px solid var(--hair);color:var(--muted);border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease}.panel-collapse:hover{color:var(--fg);border-color:var(--muted)}.panel-reopen{position:fixed;top:120px;right:0;z-index:90;display:none;align-items:center;gap:8px;padding:14px 7px;background:var(--panel);color:var(--muted);border:1px solid var(--hair);border-right:0;border-radius:10px 0 0 10px;box-shadow:0 6px 20px #00000047;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;writing-mode:vertical-rl;transition:color .15s ease,padding-right .15s ease}.panel-reopen:hover{color:var(--fg);padding-right:11px}.panel-reopen svg{writing-mode:horizontal-tb}html.sb-collapsed .post{grid-template-columns:1fr 0}html.sb-collapsed .article{border-right:0;padding-right:0}html.sb-collapsed .panel{position:absolute;top:0;right:0;width:256px;transform:translate(110%);opacity:0;pointer-events:none}html.sb-collapsed .panel-reopen{display:flex}@media(max-width:760px){.panel-collapse,.panel-reopen{display:none!important}html.sb-collapsed .post{grid-template-columns:1fr}html.sb-collapsed .panel{position:static;transform:none;opacity:1;pointer-events:auto}}@media print{.wrap,.page{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.prose,.prose p,.prose ul,.prose ol,.prose li,.prose h1,.prose h2,.prose h3,.prose h4,.prose blockquote,.prose table,.article,.page .lead,.ghead h1,.ghead .sub{max-width:none!important;width:auto!important}.about-layout{display:block!important}.author-aside{position:static!important;max-width:256px;padding-top:0}.site-header,.site-footer{display:none!important}}:root{--pf-text: #1a1a1a;--pf-text-secondary: #666;--pf-text-muted: #767676;--pf-background: #fff;--pf-border: #e0e0e0;--pf-border-focus: #999;--pf-skeleton: #eee;--pf-skeleton-shine: #f5f5f5;--pf-hover: #f5f5f5;--pf-mark: #1a1a1a;--pf-scroll-shadow: rgba(0, 0, 0, .08);--pf-shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--pf-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--pf-shadow-lg: 0 16px 48px rgba(0, 0, 0, .2);--pf-error-bg: #fef2f2;--pf-error-border: #fecaca;--pf-error-text: #dc2626;--pf-error-text-secondary: #b91c1c;--pf-outline-focus: #0969da;--pf-outline-width: 2px;--pf-outline-offset: 2px;--pf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--pf-input-height: 36px;--pf-input-font-size: 16px;--pf-summary-font-size: 12px;--pf-result-title-font-size: 14px;--pf-result-excerpt-font-size: 13px;--pf-modal-backdrop: rgba(0, 0, 0, .5);--pf-results-display: flex;--pf-results-flex-direction: column;--pf-results-flex-wrap: nowrap;--pf-results-columns: none;--pf-results-gap: 8px;--pf-border-radius: 6px;--pf-image-width: 64px;--pf-image-height: 48px;--pf-icon-search: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");--pf-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23000' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--pf-dropdown-z-index: 9999;--pf-modal-max-width: 560px;--pf-modal-max-height: min(80dvh, 800px);--pf-modal-top: 10dvh;--pf-searchbox-max-width: 480px;--pf-searchbox-dropdown-max-height: 320px;--pf-dropdown-max-height: 280px}[data-pf-theme=dark]{--pf-text: #e5e5e5;--pf-text-secondary: #a0a0a0;--pf-text-muted: #949494;--pf-background: #1a1a1a;--pf-border: #333;--pf-border-focus: #555;--pf-skeleton: #2a2a2a;--pf-skeleton-shine: #333;--pf-hover: #252525;--pf-mark: #e5e5e5;--pf-scroll-shadow: rgba(255, 255, 255, .1);--pf-outline-focus: #58a6ff;--pf-shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--pf-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--pf-shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--pf-error-bg: #2a1a1a;--pf-error-border: #5c2828;--pf-error-text: #f87171;--pf-error-text-secondary: #ef4444;--pf-modal-backdrop: rgba(0, 0, 0, .7)}pagefind-config,pagefind-filter-dropdown,pagefind-filter-pane,pagefind-input,pagefind-keyboard-hints,pagefind-modal,pagefind-modal-body,pagefind-modal-footer,pagefind-modal-header,pagefind-modal-trigger,pagefind-results,pagefind-searchbox,pagefind-summary{all:initial;display:block;box-sizing:border-box;font-family:var(--pf-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:16px;line-height:1.5;color:CanvasText;contain:layout style}pagefind-searchbox,pagefind-filter-dropdown{position:relative}pagefind-searchbox:has(.pf-searchbox.open),pagefind-filter-dropdown:has(.pf-dropdown-trigger.open){z-index:var(--pf-dropdown-z-index)}pagefind-config{display:none}pagefind-modal-trigger{display:inline-block}:is(*,#\#):is(*,#\#) :is([class^=pf-],[class*=" pf-"]):not(svg,svg *){all:revert;box-sizing:border-box}:is(*,#\#):is(*,#\#) :is([class^=pf-],[class*=" pf-"]):not(svg,svg *):before,:is(*,#\#):is(*,#\#) :is([class^=pf-],[class*=" pf-"]):not(svg,svg *):after{box-sizing:border-box}:is(*,#\#):is(*,#\#):is(*,#\#) [class^=pf-][hidden],:is(*,#\#):is(*,#\#):is(*,#\#) [class*=" pf-"][hidden]{display:none}[data-pf-hidden]{display:none!important}[data-pf-suppressed]{opacity:0!important;pointer-events:none!important}[data-pf-sr-hidden]{clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(100%)!important;clip-path:inset(100%)!important;height:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-clear:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-clear:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-link:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-link:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-link:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-link:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-checkbox-input:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-checkbox-input:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-btn:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-btn:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-close:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-close:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-options:focus,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-options:focus-visible{outline:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-clear:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-clear:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-btn:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-close:focus-visible{outline:var(--pf-outline-width) solid var(--pf-outline-focus);outline-offset:var(--pf-outline-offset)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-key,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-key,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-footer-key,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-keyboard-key,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-footer-key{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;background:var(--pf-hover);border:1px solid var(--pf-border);border-radius:3px;font-weight:500;color:var(--pf-text-secondary);font-family:var(--pf-font)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-key--sm,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-footer-key{min-width:16px;height:16px;font-size:9px;padding:0 3px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-wrapper{position:relative}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-wrapper:before,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input-wrapper:before{content:"";position:absolute;background-color:var(--pf-text-muted);width:14px;height:14px;top:calc((var(--pf-input-height) - 14px) / 2);inset-inline-start:10px;-webkit-mask-image:var(--pf-icon-search);mask-image:var(--pf-icon-search);-webkit-mask-size:100%;mask-size:100%;pointer-events:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input-wrapper:before{z-index:1}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input{width:100%;height:var(--pf-input-height);background-color:var(--pf-background);border:1px solid var(--pf-border);border-radius:var(--pf-border-radius);font-family:var(--pf-font, inherit);font-size:var(--pf-input-font-size);color:var(--pf-text);box-sizing:border-box}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input{padding:0;padding-inline-start:32px;padding-inline-end:36px;font-weight:400}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input:focus-visible{border-color:var(--pf-outline-focus);box-shadow:0 0 0 var(--pf-outline-width) var(--pf-outline-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input::placeholder,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input::placeholder{color:var(--pf-text-muted)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input::-webkit-search-decoration,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input::-webkit-search-cancel-button,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input::-webkit-search-results-button,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input::-webkit-search-results-decoration{display:none;appearance:none;-webkit-appearance:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-clear{position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);height:calc(100% - 4px);min-width:44px;padding:0 8px;background:none;border:none;font-size:12px;color:var(--pf-text-muted);cursor:pointer;border-radius:4px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-clear:hover{background:var(--pf-hover);color:var(--pf-text-secondary)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-clear[data-pf-suppressed]{display:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-summary{font-size:var(--pf-summary-font-size);color:var(--pf-text-muted)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-results{list-style:none;padding:0;margin:0;display:var(--pf-results-display);flex-direction:var(--pf-results-flex-direction);flex-wrap:var(--pf-results-flex-wrap);grid-template-columns:var(--pf-results-columns);gap:var(--pf-results-gap)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result{display:flex;flex-direction:column;gap:8px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-card{position:relative;display:flex;gap:12px;padding:12px;background:var(--pf-background);border:1px solid var(--pf-border);border-radius:var(--pf-border-radius);transition:border-color .15s,box-shadow .15s}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-card:hover{border-color:var(--pf-border-focus);box-shadow:var(--pf-shadow-sm)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-card:has(.pf-result-link:focus-visible){border-color:var(--pf-outline-focus);box-shadow:0 0 0 var(--pf-outline-width) var(--pf-outline-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-card:has([data-pf-selected]){border-color:var(--pf-border-focus);background:var(--pf-hover)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-image{width:var(--pf-image-width);height:var(--pf-image-height);border-radius:4px;object-fit:cover;background:var(--pf-skeleton);flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-content{flex:1;min-width:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-title{font-size:var(--pf-result-title-font-size);font-weight:500;margin:0;line-height:1.4}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-link{color:var(--pf-text);text-decoration:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-link:after{content:"";position:absolute;inset:0;border-radius:inherit}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-link:hover{text-decoration:underline}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-excerpt{font-size:var(--pf-result-excerpt-font-size);color:var(--pf-text-secondary);margin:4px 0 0;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-excerpt mark,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-excerpt mark,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result-excerpt mark{background:transparent;font-weight:500;color:var(--pf-mark)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-skeleton{background:var(--pf-skeleton);border-radius:4px}@media(prefers-reduced-motion:no-preference){:is(*,#\#):is(*,#\#):is(*,#\#) .pf-skeleton{background:linear-gradient(90deg,var(--pf-skeleton) 25%,var(--pf-skeleton-shine) 50%,var(--pf-skeleton) 75%);background-size:200% 100%;animation:pf-shimmer 1.5s infinite}@keyframes pf-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-skeleton-title{height:14px;width:60%;margin-bottom:8px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-skeleton-excerpt{height:13px;width:90%}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-skeleton-image{width:var(--pf-image-width);height:var(--pf-image-height);flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-empty{text-align:center;padding:32px 16px;color:var(--pf-text-muted)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-empty-icon{font-size:24px;margin-bottom:8px;opacity:.4}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-empty-text{font-size:14px;margin:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-error{padding:12px 16px;background:var(--pf-error-bg);border:1px solid var(--pf-error-border);border-radius:var(--pf-border-radius);color:var(--pf-error-text);font-size:13px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-error strong{font-weight:600}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-error small{display:block;margin-top:4px;color:var(--pf-error-text-secondary);font-size:12px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-chips{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;padding-inline-start:12px;list-style:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-chip{display:inline-flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--pf-background);border:1px solid var(--pf-border);border-radius:6px;font-size:12px;transition:border-color .15s,box-shadow .15s;position:relative}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-chip:hover{border-color:var(--pf-border-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-chip:has(.pf-heading-link:focus-visible){border-color:var(--pf-outline-focus);box-shadow:0 0 0 var(--pf-outline-width) var(--pf-outline-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-chip:has([data-pf-selected]){border-color:var(--pf-border-focus);background:var(--pf-hover)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-link{color:var(--pf-text);font-weight:500;text-decoration:none;line-height:1.3}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-link:before{content:"#";color:var(--pf-text-muted);margin-inline-end:4px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-link:after{content:"";position:absolute;inset:0;border-radius:inherit}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-link:hover{text-decoration:underline}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-excerpt{margin:0;font-size:12px;color:var(--pf-text-secondary);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-pane{display:flex;flex-direction:column;gap:20px;padding:16px;background:var(--pf-skeleton);border-radius:var(--pf-border-radius);border:1px solid var(--pf-border);overflow:hidden}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-group{display:flex;flex-direction:column;gap:8px;border:none;padding:0;margin:0}:is(*,#\#):is(*,#\#):is(*,#\#) details.pf-filter-group{display:block}:is(*,#\#):is(*,#\#):is(*,#\#) details.pf-filter-group>.pf-filter-options{margin-top:8px}:is(*,#\#):is(*,#\#):is(*,#\#) details.pf-filter-group>.pf-filter-fieldset{margin-top:8px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-fieldset{border:none;padding:0;margin:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-group-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--pf-text-muted);margin:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-group-name,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger-label,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:is(*,#\#):is(*,#\#):is(*,#\#) summary.pf-filter-group-title{cursor:pointer;list-style:none;display:flex;align-items:center;padding:4px 0;margin:-4px 0}:is(*,#\#):is(*,#\#):is(*,#\#) summary.pf-filter-group-title::-webkit-details-marker{display:none}:is(*,#\#):is(*,#\#):is(*,#\#) summary.pf-filter-group-title:after{content:"";width:10px;height:6px;flex-shrink:0;margin-inline-start:8px;background:var(--pf-text-muted);-webkit-mask-image:var(--pf-icon-arrow);mask-image:var(--pf-icon-arrow);-webkit-mask-size:100% 100%;mask-size:100% 100%;transition:transform .15s}:is(*,#\#):is(*,#\#):is(*,#\#) details.pf-filter-group:not([open])>summary.pf-filter-group-title:after{transform:rotate(-90deg)}:is(*,#\#):is(*,#\#):is(*,#\#) [dir=rtl] details.pf-filter-group:not([open])>summary.pf-filter-group-title:after{transform:rotate(90deg)}:is(*,#\#):is(*,#\#):is(*,#\#) summary.pf-filter-group-title:hover{color:var(--pf-text-secondary)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-group-count,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-selected-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--pf-text);color:var(--pf-background);font-size:11px;font-weight:500;height:18px;min-width:18px;padding:0 5px;border-radius:9px;flex-shrink:0;box-sizing:border-box;font-variant-numeric:tabular-nums}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-group-count{margin-inline-start:auto;text-transform:none}:is(*,#\#):is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-group-count[data-pf-hidden],:is(*,#\#):is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-selected-badge[data-pf-hidden]{display:inline-flex!important;visibility:hidden}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-options{display:flex;flex-direction:column;gap:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-checkbox{display:flex;align-items:center;gap:8px;min-height:30px;cursor:pointer;font-size:13px;color:var(--pf-text-secondary)}@media(pointer:coarse){:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-checkbox{min-height:44px}}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-checkbox:hover{color:var(--pf-text)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-checkbox-input{width:16px;height:16px;margin:0;accent-color:var(--pf-text);cursor:pointer;color-scheme:light}:is(*,#\#):is(*,#\#):is(*,#\#) [data-pf-theme=dark] .pf-checkbox-input{color-scheme:dark}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-checkbox:has(.pf-checkbox-input:focus-visible){outline:var(--pf-outline-width) solid var(--pf-outline-focus);outline-offset:var(--pf-outline-offset);border-radius:4px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-checkbox-count{margin-inline-start:auto;font-size:11px;color:var(--pf-text-muted)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-wrapper{position:relative;display:inline-flex;align-items:center}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger{display:inline-flex;align-items:center;gap:8px;height:var(--pf-input-height);padding:0 12px;background:var(--pf-background);border:1px solid var(--pf-border);border-radius:var(--pf-border-radius);font-size:13px;color:var(--pf-text-secondary);cursor:pointer;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger:hover{border-color:var(--pf-border-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger.open{border-color:var(--pf-border-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger.wrap{height:auto;min-height:var(--pf-input-height);padding-top:6px;padding-bottom:6px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger-label.wrap,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option-label.wrap{white-space:normal;line-height:1.3}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-arrow{width:10px;height:6px;flex-shrink:0;background:var(--pf-text-muted);-webkit-mask-image:var(--pf-icon-arrow);mask-image:var(--pf-icon-arrow);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger.open .pf-dropdown-arrow{transform:rotate(180deg)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-menu{position:absolute;top:calc(100% + 4px);inset-inline-start:0;min-width:180px;max-height:var(--pf-dropdown-max-height);overflow-y:auto;border:1px solid var(--pf-border);border-radius:var(--pf-border-radius);box-shadow:var(--pf-shadow-md);padding:4px;z-index:100;background:linear-gradient(var(--pf-background) 30%,transparent) center top,linear-gradient(transparent,var(--pf-background) 70%) center bottom,linear-gradient(var(--pf-scroll-shadow),transparent) center top,linear-gradient(transparent,var(--pf-scroll-shadow)) center bottom,var(--pf-background);background-size:100% 40px,100% 40px,100% 14px,100% 14px,100% 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll,scroll}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option{display:flex;align-items:center;gap:8px;padding:12px 10px;min-height:44px;font-size:13px;color:var(--pf-text-secondary);border-radius:4px;cursor:pointer;box-sizing:border-box}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option:hover{background:var(--pf-hover)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option.pf-dropdown-option-focused{outline:var(--pf-outline-width) solid var(--pf-outline-focus);outline-offset:-2px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option.wrap{align-items:flex-start}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-checkbox{width:16px;height:16px;flex-shrink:0;border:1px solid var(--pf-border);border-radius:3px;background:var(--pf-background);position:relative}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option.wrap .pf-dropdown-checkbox{margin-top:2px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option[aria-selected=true] .pf-dropdown-checkbox{background:var(--pf-text);border-color:var(--pf-text)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option[aria-selected=true] .pf-dropdown-checkbox:after{content:"";position:absolute;inset-inline-start:5px;top:2px;width:4px;height:8px;border:solid var(--pf-background);border-width:0 2px 2px 0;transform:rotate(45deg)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option-label{flex:1}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option-count{margin-inline-start:auto;font-size:11px;color:var(--pf-text-muted);flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option.wrap .pf-dropdown-option-count{margin-top:2px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option-loading{pointer-events:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option-loading .pf-dropdown-checkbox{width:16px;height:16px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option-loading .pf-dropdown-option-label{height:13px;border-radius:4px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-error{padding:12px 10px;font-size:13px;color:var(--pf-error-text)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-clear{display:inline-flex;align-items:center;height:44px;padding:0 10px;margin-inline-start:4px;background:transparent;border:1px solid transparent;border-radius:var(--pf-border-radius);font-size:12px;color:var(--pf-text-secondary);cursor:pointer}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-clear:hover:not([aria-disabled=true]){background:var(--pf-hover);border-color:var(--pf-border);color:var(--pf-text)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-clear[aria-disabled=true]{color:var(--pf-text-muted);cursor:default;opacity:.4}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-options{max-height:var(--pf-dropdown-max-height);overflow-y:auto}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-btn{display:inline-flex;align-items:center;gap:8px;width:100%;height:var(--pf-input-height);padding:0 14px;background:var(--pf-background);border:1px solid var(--pf-border);border-radius:var(--pf-border-radius);font-size:14px;color:var(--pf-text-muted);cursor:pointer;transition:border-color .15s,box-shadow .15s}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-btn:hover{border-color:var(--pf-border-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-icon{width:14px;height:14px;background:var(--pf-text-muted);-webkit-mask-image:var(--pf-icon-search);mask-image:var(--pf-icon-search);-webkit-mask-size:100%;mask-size:100%;flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-text{flex:1;text-align:start;color:var(--pf-text-muted)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-shortcut{display:inline-flex;align-items:center;gap:2px;margin-inline-start:8px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-key{min-width:20px;height:18px;font-size:11px;border-radius:4px}:is(*,#\#):is(*,#\#):is(*,#\#) dialog.pf-modal{position:fixed;width:100%;max-width:var(--pf-modal-max-width);max-height:var(--pf-modal-max-height);margin:var(--pf-modal-top) auto;padding:0;background:var(--pf-background);border:none;border-radius:12px;box-shadow:var(--pf-shadow-lg);flex-direction:column;overflow:hidden;overscroll-behavior:contain}:is(*,#\#):is(*,#\#):is(*,#\#) dialog.pf-modal::backdrop{background:var(--pf-modal-backdrop);overflow:hidden;overscroll-behavior:contain}:is(*,#\#):is(*,#\#):is(*,#\#) dialog.pf-modal[open]{display:flex}@media(prefers-reduced-motion:no-preference){:is(*,#\#):is(*,#\#):is(*,#\#) dialog.pf-modal[open]{animation:pf-modal-appear .15s ease-out}@keyframes pf-modal-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}}@media(max-width:640px){:is(*,#\#):is(*,#\#):is(*,#\#) dialog.pf-modal[open]{top:0;left:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border-radius:0;animation:none}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-header,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-header{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-body,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-body{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-footer,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-footer{padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-header,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-header{display:flex;align-items:center;gap:8px;padding:16px;border-bottom:1px solid var(--pf-border);flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-header-content{flex:1;min-width:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-close{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:8px;color:var(--pf-text-secondary);cursor:pointer;flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-close:hover{background:var(--pf-hover);color:var(--pf-text)}@media(max-width:640px){:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-close{display:flex}}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-header .pf-input-wrapper:before,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-header .pf-input-wrapper:before{top:50%;transform:translateY(-50%)}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-header .pf-input,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-header .pf-input{border:none;background:transparent;font-size:var(--pf-input-font-size);height:40px}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-body,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:8px 16px 16px}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-body .pf-summary,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-body .pf-summary{margin-bottom:8px}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-body .pf-result-card:has([data-pf-selected]),:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-body .pf-result-card:has([data-pf-selected]){background:var(--pf-skeleton)}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-modal-footer,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-footer{padding:10px 16px;border-top:1px solid var(--pf-border);display:flex;align-items:center;gap:16px;font-size:12px;color:var(--pf-text-muted);flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-footer-hint,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-keyboard-hint{display:flex;align-items:center;gap:6px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-footer-key,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-keyboard-key{min-width:18px;height:18px;font-size:10px}:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-keyboard-hints,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-keyboard-hints{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;color:var(--pf-text-muted);min-height:20px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox{position:relative;display:inline-block;width:100%;max-width:var(--pf-searchbox-max-width)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input-wrapper{position:relative}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input-wrapper .pf-trigger-shortcut{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);pointer-events:none;margin-inline-start:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input{padding:0;padding-inline-start:32px;padding-inline-end:12px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input-wrapper:has(.pf-trigger-shortcut) .pf-searchbox-input{padding-inline-end:72px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input:focus~.pf-trigger-shortcut{display:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input:focus{padding-inline-end:12px;border-color:var(--pf-border-focus)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox.open .pf-searchbox-input{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:var(--pf-border)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-dropdown{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--pf-background);border:1px solid var(--pf-border);border-top:none;border-radius:0 0 var(--pf-border-radius) var(--pf-border-radius);box-shadow:var(--pf-shadow-md);max-height:var(--pf-searchbox-dropdown-max-height);z-index:100}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox.open .pf-searchbox-dropdown{display:flex}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-results{list-style:none;padding:4px;margin:0;flex:1;overflow-y:auto}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result{display:block;padding:12px 10px;min-height:44px;border-radius:4px;cursor:pointer;text-decoration:none;color:inherit;box-sizing:border-box}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result:hover{background:var(--pf-hover)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-placeholder{cursor:default;pointer-events:none}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-placeholder:hover{background:transparent}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result[data-pf-selected]{background:var(--pf-hover);outline:var(--pf-outline-width) solid var(--pf-outline-focus);outline-offset:-2px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result-title{font-size:13px;font-weight:500;color:var(--pf-text);margin:0;line-height:1.3}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result-excerpt{font-size:12px;color:var(--pf-text-secondary);margin:2px 0 0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-subresult{padding-inline-start:20px;border-inline-start:2px solid var(--pf-border);margin-inline-start:10px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result-meta{display:flex;align-items:center;gap:6px;margin-top:4px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-footer{padding:8px 10px;border-top:1px solid var(--pf-border);display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:11px;color:var(--pf-text-muted);flex-shrink:0}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-footer-hint{display:flex;align-items:center;gap:4px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-empty{padding:20px 10px;text-align:center;color:var(--pf-text-muted);font-size:13px}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-loading{padding:16px 10px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--pf-text-muted);font-size:13px}@media(forced-colors:active){:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-input:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-input-clear:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-trigger-btn:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-close:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-trigger:focus-visible,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-result-card:has(.pf-result-link:focus-visible),:is(*,#\#):is(*,#\#):is(*,#\#) .pf-heading-chip:has(.pf-heading-link:focus-visible),:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-checkbox:has(.pf-checkbox-input:focus-visible),:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-option.pf-dropdown-option-focused,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-result[data-pf-selected]{outline:2px solid CanvasText;outline-offset:2px}}@media(hover:none){:is(*,#\#):is(*,#\#):is(*,#\#) pagefind-keyboard-hints,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-keyboard-hints,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-footer,:is(*,#\#):is(*,#\#):is(*,#\#) .pf-modal-footer-hint{display:none}}@media(max-width:640px){:is(*,#\#):is(*,#\#):is(*,#\#) .pf-dropdown-menu{min-width:unset;width:max(180px,calc(100vw - 32px));max-width:calc(100vw - 32px);inset-inline-start:unset;left:50%;transform:translate(-50%);max-height:min(var(--pf-dropdown-max-height),50vh)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-searchbox-dropdown{max-height:min(var(--pf-searchbox-dropdown-max-height),60vh)}:is(*,#\#):is(*,#\#):is(*,#\#) .pf-filter-pane{padding:12px;gap:16px}}
