:root{--color-bg: #101217;--color-bg-deep: #090b10;--color-bg-elevated: #161922;--color-border: #2a2f3a;--color-border-soft: rgba(202, 204, 214, .18);--color-text: #c9cbd3;--color-heading: #eceef4;--color-muted: #868b98;--color-dim: #555b68;--color-accent: #d7d9e0;--color-warm: #c9a7ff;--color-link: #bfc5ff;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, ui-monospace, monospace}*{box-sizing:border-box}html{min-height:100%}body{min-height:100%;margin:0;background:radial-gradient(circle at 50% -12rem,rgba(201,167,255,.075),transparent 34rem),var(--color-bg-deep);color:var(--color-text);font-family:var(--font-sans);letter-spacing:0}a{color:inherit}button,input{font:inherit}button{cursor:pointer}.site-frame{position:relative;min-height:100vh;overflow-x:hidden}.site-frame:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 18rem)}main{width:min(100% - 28px,1440px);margin:0 auto}.breadcrumb-rail{width:min(100% - 28px,1440px);display:flex;flex-wrap:wrap;gap:8px;margin:22px auto 0;padding:0 10px;color:var(--color-muted);font-family:var(--font-mono);font-size:14px;text-transform:uppercase}.breadcrumb-rail a{display:inline-flex;align-items:center;gap:7px;min-width:0;color:inherit;text-decoration:none;overflow-wrap:anywhere}.breadcrumb-rail a:hover,.breadcrumb-rail a:focus-visible,.breadcrumb-rail a.current{color:var(--color-heading);outline:0}.breadcrumb-rail span{color:var(--color-muted)}.shortcut-trigger{position:fixed;right:18px;bottom:18px;z-index:30;display:inline-flex;align-items:center;justify-content:flex-start;gap:0;min-height:38px;width:40px;padding:7px;border:1px solid var(--color-border);border-radius:7px;background:#101217c7;color:var(--color-muted);font-family:var(--font-mono);font-size:13px;backdrop-filter:blur(14px);overflow:hidden;transition:width .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.shortcut-trigger:hover,.shortcut-trigger:focus-visible{border-color:#c9a7ff57;color:var(--color-heading);outline:0}.shortcut-trigger:hover,.shortcut-trigger:focus-visible{width:126px}.shortcut-trigger span{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width .16s ease,opacity .12s ease,margin-left .16s ease}.shortcut-trigger:hover span,.shortcut-trigger:focus-visible span{max-width:78px;margin-left:9px;opacity:1}.shortcut-trigger kbd,.shortcut-row kbd,.key-group kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border:1px solid var(--color-border);border-radius:5px;background:linear-gradient(180deg,#ffffff0e,#ffffff05);box-shadow:inset 0 -1px #00000061;color:var(--color-heading);font-family:var(--font-mono);font-size:12px;font-weight:700;text-transform:uppercase}.shortcut-panel{position:fixed;right:18px;bottom:66px;z-index:45;display:grid;width:min(360px,calc(100vw - 36px));overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:#101217f5;box-shadow:0 24px 90px #0000007a;backdrop-filter:blur(18px);animation:shortcut-rise .18s ease both}.shortcut-backdrop{position:fixed;z-index:40;inset:0;background:#00000057}.shortcut-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-mono);font-size:13px}.shortcut-header button{border:1px solid var(--color-border);border-radius:4px;background:#161922e6;color:var(--color-muted);font-family:var(--font-mono)}.shortcut-list{display:grid;gap:6px;padding:10px}.shortcut-row{--shortcut-index: 0;display:grid;grid-template-columns:minmax(38px,auto) 1fr;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--color-text);text-align:left;animation:shortcut-row-rise .16s ease both;animation-delay:calc(var(--shortcut-index) * 28ms)}.shortcut-row:hover,.shortcut-row:focus-visible{border-color:#c9a7ff57;background:#c9a7ff14;color:var(--color-heading);outline:0}.shortcut-row span{font-size:14px;font-weight:650}.shortcut-row-static{grid-template-columns:auto 1fr}.key-group{display:inline-flex;gap:4px}.shortcut-keys{display:inline-flex;align-items:center;gap:5px}.key-plus{color:var(--color-dim);font-family:var(--font-mono);font-size:11px}@keyframes shortcut-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shortcut-row-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.shell-section{border-left:1px solid rgba(42,47,58,.72);border-right:1px solid rgba(42,47,58,.72)}.hero{position:relative;min-height:48vh;padding:8px 10px 40px}.eyebrow,.row-meta{margin:0;color:var(--color-muted);font-family:var(--font-mono);font-size:13px;text-transform:uppercase}.hero h1{margin:16px 0 0;color:var(--color-heading);font-size:clamp(56px,8vw,118px);font-weight:600;line-height:.86;letter-spacing:0}.page-heading h1,.detail-header h1{margin:16px 0 0;color:var(--color-heading);font-size:clamp(70px,16vw,210px);font-weight:600;line-height:.82;letter-spacing:0}.hero-copy{max-width:780px;margin:34px 0 0;color:var(--color-muted);font-size:clamp(28px,4vw,52px);font-weight:500;line-height:.98}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-actions a,.back-link,.shell-section>a:not(.feature-panel){display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 18px;border:1px solid var(--color-accent);border-radius:999px;color:var(--color-accent);font-weight:700;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.hero-actions a:hover,.hero-actions a:focus-visible,.back-link:hover,.back-link:focus-visible,.shell-section>a:not(.feature-panel):hover,.shell-section>a:not(.feature-panel):focus-visible{border-color:#c9a7ff7a;background:#c9a7ff14;color:var(--color-heading);box-shadow:0 12px 34px #c9a7ff14;transform:translateY(-1px);outline:0}.hero-actions a.github-link{gap:10px;width:42px;padding:8px;overflow:hidden;justify-content:flex-start;color:var(--color-muted);border-color:var(--color-border);transition:width .16s ease,border-color .16s ease,color .16s ease}.hero-actions a.github-link:hover,.hero-actions a.github-link:focus-visible{width:114px;color:var(--color-heading);border-color:#c9a7ff57;outline:0}.github-link svg{flex:0 0 auto;width:24px;height:24px;fill:currentColor}.github-link span{display:inline-block;max-width:0;overflow:hidden;opacity:0;line-height:1;white-space:nowrap;transition:max-width .16s ease,opacity .12s ease}.github-link:hover span,.github-link:focus-visible span{max-width:72px;opacity:1}.featured-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.feature-panel{display:block;min-height:250px;padding:32px;border-right:1px solid var(--color-border);color:inherit;text-decoration:none;transition:background .16s ease,box-shadow .16s ease}.feature-panel:last-child{border-right:0}.feature-panel h2{max-width:760px;margin:34px 0 12px;color:var(--color-heading);font-size:clamp(32px,4vw,54px);line-height:.96}.feature-panel p:not(.eyebrow){max-width:760px;color:var(--color-muted);font-size:20px;line-height:1.1}.feature-panel:hover,.feature-panel:focus-visible{background:#c9a7ff0b;box-shadow:inset 0 1px #c9a7ff1f;outline:0}.feature-panel:hover h2,.feature-panel:focus-visible h2{color:var(--color-accent)}.accent-panel h2{color:var(--color-warm)}.accent-panel:hover h2,.accent-panel:focus-visible h2{color:var(--color-heading)}.empty-panel{pointer-events:none}.stats-strip{display:flex;gap:28px;overflow-x:auto;padding:18px 8px;border-bottom:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-mono);font-size:14px;white-space:nowrap}.stats-strip strong{padding:2px 8px;border:1px dotted rgba(201,167,255,.56);border-radius:3px;color:var(--color-warm)}.index-layout{display:grid;grid-template-columns:280px 1fr;gap:56px;padding:42px 20px 80px}.filter-rail{position:sticky;top:82px;align-self:start;display:grid;gap:8px}.filter-toggle{display:none}.filter-options{display:grid;gap:8px}.section-header{color:var(--color-muted);font-family:var(--font-mono);font-size:14px;text-transform:uppercase}.filter-rail .eyebrow,.filter-toggle{padding-bottom:12px;border-bottom:1px solid var(--color-border)}.filter-rail button,.filter-rail span{display:block;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-muted);font-size:15px;text-align:left}.filter-rail button:hover,.filter-rail button.active{border-color:var(--color-border-soft);background:#c9a7ff14;color:var(--color-accent)}.page-heading{padding-bottom:38px;border-bottom:1px solid var(--color-border)}.page-heading h1{margin-top:0;font-size:clamp(62px,11vw,146px)}.page-heading span{color:var(--color-warm);font-size:.18em;vertical-align:top}.page-heading p{max-width:780px;margin:30px 0 0;color:var(--color-muted);font-size:22px;line-height:1.25}.project-row{display:grid;grid-template-columns:1fr;gap:24px;padding:22px 14px;border-bottom:1px solid var(--color-border);color:inherit;text-decoration:none;outline:0}.writing-row{grid-template-columns:140px 1fr}.row-date{color:var(--color-link);font-family:var(--font-mono)}.project-row h2{margin:6px 0 8px;color:var(--color-heading);font-size:clamp(28px,3vw,42px);line-height:1}.project-row p:not(.row-meta){max-width:920px;margin:0;color:var(--color-muted);font-size:18px;line-height:1.14}.project-row:hover h2,.project-row.active h2,.project-row:focus-visible h2{color:var(--color-accent)}.project-row.active,.project-row:focus-visible{background:linear-gradient(90deg,rgba(201,167,255,.08),transparent 68%)}.empty-state{display:grid;gap:12px;padding:34px 14px;border-bottom:1px solid var(--color-border)}.empty-state h2{margin:0;color:var(--color-heading);font-size:clamp(28px,3vw,42px);line-height:1}.empty-state p:not(.eyebrow){max-width:680px;margin:0;color:var(--color-muted);font-size:18px;line-height:1.25}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tag-row span{padding:3px 7px;border:1px dotted rgba(201,167,255,.56);border-radius:3px;color:var(--color-warm);font-family:var(--font-mono);font-size:12px;text-transform:uppercase}.detail-page{width:100%;padding:34px clamp(10px,3vw,42px) 90px}.detail-header{max-width:none;padding:46px 0 34px;border-bottom:1px solid var(--color-border)}.detail-header h1{font-size:clamp(48px,10vw,128px)}.detail-header p:not(.eyebrow){max-width:840px;margin:22px 0 0;color:var(--color-muted);font-size:28px;line-height:1.04}.detail-content{display:grid;grid-template-columns:240px minmax(0,1040px);gap:clamp(28px,5vw,72px);align-items:start}.section-nav{position:sticky;top:24px;display:grid;gap:4px;padding-top:34px;outline:0}.section-nav .eyebrow{margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.section-nav a{padding:7px 0;color:var(--color-muted);font-size:14px;text-decoration:none}.section-nav a:hover,.section-nav a:focus-visible,.section-nav a.active{color:var(--color-heading);outline:0}.section-nav:focus,.section-nav:focus-visible,.section-nav:focus-within{outline:0}.section-nav a.active{padding-left:10px;border-left:2px solid var(--color-warm);color:var(--color-heading)}.markdown-body{width:min(100%,1040px);padding-top:34px}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--color-heading);line-height:1.05}.markdown-body h1{display:none}.markdown-body h2{margin:48px 0 14px;padding-top:18px;border-top:1px solid var(--color-border);font-size:32px;scroll-margin-top:28px}.markdown-body h3{margin:24px 0 10px;font-size:20px}.markdown-body p,.markdown-body li{color:var(--color-text);font-size:18px;line-height:1.62}.markdown-body p{margin:14px 0}.markdown-body ul,.markdown-body ol{margin:12px 0;padding-left:24px}.markdown-body pre{overflow-x:auto;padding:20px;border:1px solid #2f3549;border-radius:6px;background:#111421}.markdown-body code{font-family:var(--font-mono)}.markdown-body :not(pre)>code{padding:2px 5px;border:1px solid rgba(86,95,137,.5);border-radius:4px;background:#111421db;color:#7dcfff;font-size:.88em}.markdown-body pre code{color:#c0caf5}.muted{color:var(--color-muted)}.palette-backdrop{position:fixed;z-index:40;inset:0;background:#00000070}.palette-panel{position:fixed;z-index:50;top:82px;left:50%;width:min(720px,calc(100% - 28px));transform:translate(-50%);border:1px solid rgba(201,167,255,.34);border-radius:8px;background:#090b10f5;box-shadow:0 24px 100px #00000080;overflow:hidden}.palette-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-mono)}.palette-header button{border:1px solid var(--color-border);border-radius:4px;background:#161922e6;color:var(--color-accent);font-family:var(--font-mono)}.palette-input{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-warm);font-family:var(--font-mono)}.palette-input input{width:100%;border:0;outline:0;background:transparent;color:var(--color-heading);font-family:var(--font-mono)}.palette-results{max-height:420px;overflow-y:auto;padding:8px}.palette-result{display:grid;width:100%;gap:4px;padding:12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-heading);text-align:left}.palette-result:hover,.palette-result:focus-visible,.palette-result.active{border-color:var(--color-border-soft);background:#c9a7ff14;outline:0}.palette-result small{grid-column:1;color:var(--color-muted)}@media(max-width:900px){.featured-grid,.index-layout{grid-template-columns:1fr}.feature-panel{border-right:0;border-bottom:1px solid var(--color-border)}.filter-rail{display:none}.writing-row{grid-template-columns:1fr}.row-date{grid-column:1 / -1}.detail-content{grid-template-columns:1fr}.section-nav{display:none}}@media(max-width:560px){.breadcrumb-rail{width:min(100% - 24px,1440px);gap:5px 8px;margin-top:12px;padding:0 20px;font-size:11px;line-height:1.25}.breadcrumb-rail a.current{flex-basis:100%;max-width:100%;padding-left:18px}main{width:min(100% - 24px,1440px)}.hero{min-height:0;padding-top:8px}.hero h1{font-size:58px}.page-heading h1,.detail-header h1{font-size:clamp(40px,14vw,58px);line-height:.9}.hero-copy{font-size:28px;line-height:1.08}.page-heading p,.detail-header p:not(.eyebrow){font-size:20px;line-height:1.25}.hero-actions{gap:8px}.hero-actions a{min-height:38px;padding:7px 14px}.back-link{min-height:32px;padding:5px 12px;font-size:13px;border-color:var(--color-border-soft)}.feature-panel,.index-layout,.detail-page{padding-left:20px;padding-right:20px}.feature-panel,.index-layout{padding-left:10px;padding-right:10px}.filter-rail{display:none}.project-row{gap:10px}.detail-header,.markdown-body{min-width:0}.detail-header{padding-top:22px;padding-bottom:22px}.detail-content{gap:0}.markdown-body{padding-top:0}.markdown-body h2:first-child{margin-top:24px;padding-top:0;border-top:0}.detail-header p:not(.eyebrow),.markdown-body p,.markdown-body li{overflow-wrap:anywhere}.palette-panel{top:18px;width:calc(100% - 18px);max-height:calc(100vh - 36px)}.palette-results{max-height:calc(100vh - 150px)}.shortcut-panel{right:9px;bottom:60px;width:calc(100vw - 18px)}.shortcut-trigger{display:none}.markdown-body p,.markdown-body li{font-size:16px}.markdown-body h2{font-size:28px}.markdown-body :not(pre)>code{padding:1px 4px;font-size:.86em}.markdown-body pre{padding:14px}.markdown-body pre code{font-size:13px;line-height:1.45}}@media(max-width:900px){.detail-content>.section-nav{display:none!important}}
