.pd{--bg:#0B0E18;--panel-1:#0F1324;--panel-2:#161B30;--text:#E8EEFF;--muted:rgba(232,238,255,.75);--ring:rgba(255,255,255,.12);--blue:#5E74FF;--lav:#9AA5FF;--outline:1px solid rgba(255,255,255,.10);--shadow:0 12px 48px rgba(8,12,26,.48),inset 0 1px 0 rgba(255,255,255,.06);--radius:22px;--focus:0 0 0 3px rgba(94,116,255,.55);--spot-x:50vw;--spot-y:40vh;--maxw:min(1100px,94vw);position:relative;color:var(--text);background:var(--bg)}[data-theme=light] .pd{--bg:#f7f8ff;--panel-1:#fff;--panel-2:#fbfbff;--text:#0B0E18;--muted:rgba(11,14,24,.70);--ring:rgba(11,14,24,.12);--outline:1px solid rgba(11,14,24,.10);--shadow:0 12px 48px rgba(0,0,0,.08),inset 0 1px 0 rgba(0,0,0,.06);--focus:0 0 0 3px rgba(94,116,255,.35)}.pd a{color:inherit;text-decoration:none}.pd .glass,.pd .pd-glass{border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in oklab,var(--panel-1),transparent 10%) 0,color-mix(in oklab,var(--panel-2),transparent 4%) 100%);border:var(--outline);box-shadow:var(--shadow);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);position:relative;overflow:hidden;isolation:isolate}.pd .pd-bgfx{inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(1200px 900px at 20% 10%,#101632 0,#0b0e18 45%,#070a12 100%) fixed}.pd .pd-bgfx::before{content:"";position:absolute;inset:-20%;background:radial-gradient(520px 520px at 14% 35%,rgba(94,116,255,.25),transparent 60%),radial-gradient(600px 560px at 84% 22%,rgba(154,165,255,.18),transparent 65%),radial-gradient(520px 520px at 72% 78%,rgba(94,116,255,.14),transparent 70%),radial-gradient(420px 420px at 28% 80%,rgba(154,165,255,.16),transparent 70%);animation:28s ease-in-out infinite alternate mesh;filter:saturate(120%)}.pd .pd-twinkle{position:absolute;inset:-100px;opacity:.22;mix-blend-mode:screen;background-image:radial-gradient(2px 2px at 20px 40px,rgba(232,238,255,.9) 45%,transparent 50%),radial-gradient(1.5px 1.5px at 140px 120px,rgba(232,238,255,.8) 45%,transparent 50%),radial-gradient(1.5px 1.5px at 260px 80px,rgba(232,238,255,.7) 45%,transparent 50%),radial-gradient(1.5px 1.5px at 360px 200px,rgba(232,238,255,.9) 45%,transparent 50%);background-size:600px 300px;animation:60s linear infinite tw}.pd .pd-gridfx{position:absolute;inset:0;opacity:.1;background:linear-gradient(transparent 31px,rgba(255,255,255,.06) 32px),linear-gradient(90deg,transparent 31px,rgba(255,255,255,.06) 32px);background-size:32px 32px;animation:40s linear infinite grid;mask:radial-gradient(800px 520px at 75% 15%,black,transparent 70%);-webkit-mask:radial-gradient(800px 520px at 75% 15%,black,transparent 70%)}@keyframes mesh{0%{transform:translate3d(-2%,-1%,0)}50%{transform:translate3d(1%,2%,0)}100%{transform:translate3d(3%,-2%,0)}}@keyframes tw{to{transform:translate3d(-600px,-300px,0)}}@keyframes grid{to{background-position:64px 64px,64px 64px}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.pd .pd-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:5;background:linear-gradient(90deg,var(--blue),var(--lav));width:0%;box-shadow:0 0 16px rgba(94,116,255,.5);transition:width .1s linear}.site-header-spacer{height:var(--site-header-h,64px)}@media (max-width:640px){.site-header-spacer{height:var(--site-header-h,56px)}}.pd .pd-wrap{position:relative;z-index:1;padding:clamp(16px,3vw,32px) 0 64px}.pd .pd-container{width:var(--maxw);margin:0 auto;padding:0 clamp(12px,3vw,24px)}.pd .pd-topbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-bottom:20px}.pd .pd-crumbs{--ink:var(--text, #E8EEFF);--muted:var(--muted, rgba(232,238,255,.75));--ring:var(--ring, rgba(255,255,255,.12));display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:8px 12px;border-radius:12px;border:1px solid var(--ring);background:color-mix(in oklab,var(--panel-1,#0f1324),transparent 14%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);overflow:auto;scrollbar-width:none;-ms-overflow-style:none;min-width:220px;max-width:100%}.pd .pd-crumbs::-webkit-scrollbar{display:none}.pd .pd-crumbs a{color:var(--ink);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;opacity:.92}.pd .pd-crumbs .home-icn{display:grid;place-items:center;width:18px;height:18px;opacity:.95}.pd .pd-crumbs .sep{color:rgba(232,238,255,.35);margin:0 .6ch;user-select:none}.pd .pd-crumbs .current{font-weight:800;color:var(--ink);white-space:nowrap;opacity:1}#crumb-current{max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd .pd-toolbar{display:flex;align-items:center;justify-self:end;gap:10px;margin-top:0}@media (max-width:900px){.pd .pd-top{grid-template-columns:1fr}.pd .pd-toolbar{justify-self:end}}@media (max-width:560px){.pd .pd-toolbar{width:100%;justify-content:flex-end}.pd .pd-toolbar .pd-tool{flex:1 1 0;min-width:0}}.pd .pd-chip,.pd .pd-tool{align-items:center;color:var(--muted)}.pd .pd-tool{height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--ring);background:color-mix(in oklab,var(--panel-1),transparent 10%);font-weight:700;font-size:13px;display:inline-flex;justify-content:center;white-space:nowrap;transition:transform .16s,background .16s,border-color .16s,filter .16s}.pd .pd-tool:hover{filter:saturate(110%)}.pd .dock-btn:active,.pd .pd-tool:active{transform:translateY(0) scale(.98)}.pd .pd-tool[aria-pressed=true]{color:var(--text);background:linear-gradient(180deg,color-mix(in oklab,var(--blue),transparent 14%),color-mix(in oklab,var(--lav),transparent 28%));border-color:color-mix(in oklab,var(--blue),transparent 40%)}.pd .pd-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(12px,2.2vw,28px);align-items:stretch}@media (max-width:1120px){.pd .pd-hero{grid-template-columns:1fr}}.pd .pd-pad{padding:clamp(16px,3vw,36px)}.pd .pd-grain::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.04;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160" viewBox="0 0 160 160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>')}.pd .pd-title{margin:8px 0;line-height:1.15;font-weight:900;letter-spacing:.3px;font-size:clamp(24px,4.4vw,48px);text-wrap:balance}.pd .pd-excerpt{color:var(--muted);margin:8px 0 0;max-width:70ch}.pd .pd-meta{margin-top:10px;color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;gap:10px}.pd .pd-chip{display:inline-flex;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--ring);background:rgba(255,255,255,.06);font-size:12px}.pd .pd-dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(180deg,var(--lav),var(--blue))}.pd .pd-cover{position:relative;min-height:clamp(200px,36vh,520px)}.pd .pd-cover figure{position:absolute;inset:0;margin:0;overflow:hidden}.pd .pd-cover img{width:100%;height:100%;object-fit:cover;display:block}.pd .pd-gridmask{position:absolute;inset:0;pointer-events:none;opacity:.14;background:linear-gradient(transparent 31px,rgba(255,255,255,.1) 32px),linear-gradient(90deg,transparent 31px,rgba(255,255,255,.1) 32px);background-size:32px 32px;mask:radial-gradient(700px 420px at 75% 15%,black,transparent 70%);-webkit-mask:radial-gradient(700px 420px at 75% 15%,black,transparent 70%)}.pd .pd-content{margin-top:clamp(12px,2.2vw,28px)}.pd .pd-post{max-width:var(--maxw);margin:0 auto}.pd .pd-typography{--c:var(--text);--m:var(--muted);color:var(--c)}.pd .pd-typography :is(h2,h3,h4){line-height:1.28;margin:1.2em 0 .5em;letter-spacing:.2px}.pd .pd-typography h2{font-size:clamp(20px, 3.2vw, 32px)}.pd .pd-typography h3{font-size:clamp(18px, 2.4vw, 24px)}.pd .pd-typography p{margin:.65em 0}.pd .pd-typography ul{margin:.6em 0 .6em 1.2em;padding-left:1rem;list-style:disc}.pd .pd-typography ol{margin:.6em 0 .6em 1.2em;padding-left:1rem;list-style:decimal}.pd .pd-typography li{margin:.3em 0}.pd .pd-typography a{color:#c7d2ff;text-decoration:underline dotted;text-underline-offset:3px}.pd .pd-typography code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:.92em;background:rgba(255,255,255,.06);border:1px solid var(--ring);border-radius:8px;padding:.15em .4em}.pd .pd-typography pre{background:rgba(0,0,0,.35);border:1px solid var(--ring);border-radius:14px;padding:14px 16px;overflow:auto}.pd .pd-typography blockquote{margin:1em 0;padding:14px 16px;border-left:3px solid var(--blue);background:color-mix(in oklab,var(--panel-1),transparent 8%);border-radius:12px;color:var(--m)}.pd .pd-skeleton{position:relative;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.06);height:180px}.pd .pd-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.08) 45%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.08) 55%,transparent 100%);background-size:400% 100%;animation:1.6s linear infinite shimmer;transform:translateZ(0)}.pd .pd-foot{color:var(--muted);font-size:12px;margin-top:10px}.pd :focus-visible{outline:var(--focus);outline-offset:3px}.pd .glassDock{padding:8px 10px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 34px rgba(8,12,26,.45);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}.pd .dock-row{display:flex;align-items:center;gap:10px;margin:0;padding:0;list-style:none}.pd .dock-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#e8eeff;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.1);transition:transform .16s,background .16s,border-color .16s,box-shadow .16s}.pd .dock-btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.06))}.pd .dock-btn.is-active,.pd .dock-btn[aria-current=page]{background:linear-gradient(180deg,rgba(15,19,36,.96),rgba(22,27,48,.96));border-color:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 8px 18px rgba(255,255,255,.04)}@media (prefers-reduced-motion:reduce){.pd .pd-bgfx::before,.pd .pd-gridfx,.pd .pd-shimmer,.pd .pd-twinkle{animation:none!important}}