*,*:before,*:after{box-sizing:border-box}:root{--bg: oklch(.975 .008 60);--bg-card: oklch(.995 .004 55);--bg-soft: oklch(.965 .01 58);--bg-2: var(--bg-soft);--border: oklch(.88 .012 60);--border-light: oklch(.93 .008 60);--border-strong: oklch(.81 .016 58);--text: oklch(.18 .018 50);--text-muted: oklch(.52 .014 55);--text-faint: oklch(.72 .01 55);--accent: oklch(.58 .16 38);--accent-soft: oklch(.95 .04 38);--accent-light: var(--accent-soft);--accent-teal: oklch(.55 .13 195);--accent-teal-soft: oklch(.94 .04 195);--accent-teal-light: var(--accent-teal-soft);--accent-purple: oklch(.55 .14 290);--accent-purple-soft: oklch(.95 .04 290);--accent-purple-light: var(--accent-purple-soft);--teal: var(--accent-teal);--purple: var(--accent-purple);--green: oklch(.55 .15 145);--green-soft: oklch(.94 .05 145);--yellow: oklch(.65 .15 85);--yellow-soft: oklch(.96 .04 85);--red: oklch(.55 .18 20);--red-soft: oklch(.95 .05 20);--blue: oklch(.55 .14 240);--blue-soft: oklch(.94 .04 240);--shadow-sm: 0 1px 3px oklch(.18 .018 50 / .07), 0 1px 2px oklch(.18 .018 50 / .04);--shadow-md: 0 10px 28px oklch(.18 .018 50 / .09);--shadow-lg: 0 20px 60px oklch(.18 .018 50 / .12);--glass-hero-border: color-mix(in oklch, white 30%, var(--border-light));--glass-hero-highlight: color-mix(in oklch, white 38%, transparent);--glass-hero-shadow: 0 10px 28px color-mix(in oklch, var(--text) 6%, transparent);--glass-hero-shadow-strong: 0 12px 32px color-mix(in oklch, var(--text) 7%, transparent);--hero-pointer-core: oklch(.68 .16 38 / .18);--hero-pointer-mid: oklch(.66 .12 45 / .1);--hero-pointer-tail: oklch(.58 .08 195 / .05);--hero-pointer-opacity: .88;--glass: oklch(.975 .008 60 / .88);--bg-glass: var(--glass);--radius: 16px;--radius-sm: 10px;--r: var(--radius);--r-sm: var(--radius-sm);--map-bg: #e8f0f7;--map-graticule: #ccd8e4;--map-land: #dce8d4;--map-land-online: #72bf8a;--map-border: #b4c8ac;--ai-heatmap-0: var(--border-light);--ai-heatmap-1: oklch(.91 .035 82);--ai-heatmap-2: oklch(.83 .08 74);--ai-heatmap-3: oklch(.73 .12 58);--ai-heatmap-4: oklch(.61 .16 42)}html[data-theme=dark]{--bg: oklch(.14 .012 245);--bg-card: oklch(.18 .011 240);--bg-soft: oklch(.16 .012 242);--bg-2: var(--bg-soft);--border: oklch(.3 .014 240);--border-light: oklch(.24 .011 241);--border-strong: oklch(.38 .016 240);--text: oklch(.92 .008 60);--text-muted: oklch(.62 .01 58);--text-faint: oklch(.42 .008 58);--accent: oklch(.72 .15 38);--accent-soft: oklch(.22 .055 38);--accent-light: var(--accent-soft);--accent-teal: oklch(.68 .12 195);--accent-teal-soft: oklch(.2 .048 195);--accent-teal-light: var(--accent-teal-soft);--accent-purple: oklch(.68 .12 290);--accent-purple-soft: oklch(.21 .048 290);--accent-purple-light: var(--accent-purple-soft);--teal: var(--accent-teal);--purple: var(--accent-purple);--green: oklch(.68 .14 145);--green-soft: oklch(.21 .055 145);--yellow: oklch(.78 .13 85);--yellow-soft: oklch(.22 .055 85);--red: oklch(.68 .15 20);--red-soft: oklch(.22 .058 20);--blue: oklch(.68 .13 240);--blue-soft: oklch(.22 .05 240);--glass: oklch(.14 .012 245 / .9);--bg-glass: var(--glass);--shadow-sm: 0 1px 4px oklch(.05 .01 240 / .4);--shadow-md: 0 10px 30px oklch(.05 .01 240 / .45);--shadow-lg: 0 20px 70px oklch(.05 .01 240 / .6);--glass-hero-border: color-mix(in oklch, white 12%, var(--border-light));--glass-hero-highlight: color-mix(in oklch, white 14%, transparent);--glass-hero-shadow: 0 6px 18px color-mix(in oklch, black 18%, transparent);--glass-hero-shadow-strong: 0 8px 22px color-mix(in oklch, black 22%, transparent);--hero-pointer-core: oklch(.74 .1 230 / .2);--hero-pointer-mid: oklch(.66 .09 205 / .12);--hero-pointer-tail: oklch(.56 .07 220 / .06);--hero-pointer-opacity: .72;--r: var(--radius);--r-sm: var(--radius-sm);--map-bg: oklch(.18 .015 245);--map-graticule: oklch(.25 .015 245);--map-land: oklch(.25 .01 145);--map-land-online: var(--green);--map-border: oklch(.35 .01 145);--ai-heatmap-0: oklch(.22 .012 242);--ai-heatmap-1: oklch(.28 .055 82);--ai-heatmap-2: oklch(.38 .085 76);--ai-heatmap-3: oklch(.5 .12 62);--ai-heatmap-4: oklch(.67 .16 48)}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(oklch(.58 .16 38 / .03) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:-1}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes ping{0%{transform:scale(1);opacity:.7}to{transform:scale(2.8);opacity:0}}a{color:inherit}img{max-width:100%;display:block}code,pre{font-family:JetBrains Mono,monospace}.container{width:min(1200px,calc(100% - 32px));margin:0 auto}.shell{padding-bottom:80px}.site-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(18px) saturate(1.4);background:var(--glass);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:16px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand__mark{width:34px;height:34px;display:block;object-fit:contain}.brand__name{font-family:"DM Serif Display",serif;font-size:1.1rem}.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav a{text-decoration:none;font-size:.87rem;color:var(--text-muted);padding:7px 11px;border-radius:999px;transition:.15s ease}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:var(--bg-soft)}.header-actions{display:flex;align-items:center;gap:10px}.nav-divider{width:1px;height:20px;background:var(--border)}.auth-link-form{margin:0;display:inline-flex}.auth-link{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font:inherit;font-size:.82rem;cursor:pointer;padding:6px 12px;border-radius:999px;text-decoration:none;transition:.15s ease}.auth-link:hover{color:var(--text);border-color:var(--text-muted)}.locked-inline{color:var(--text-muted);font-style:italic;opacity:.85}.locked-block{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;padding:14px;border-radius:12px;border:1px dashed var(--border);background:var(--bg-soft);color:var(--text-muted);font-size:.85rem;text-align:center}.locked-block a{color:var(--accent);text-decoration:none;font-weight:500}.locked-block a:hover{text-decoration:underline}.subs-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.subs-stat-card{padding:18px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.subs-stat-card small{display:block;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.subs-stat-card strong{display:block;font-family:"DM Serif Display",serif;font-size:1.6rem;font-weight:500;color:var(--text)}.subs-stat-card__suffix{font-family:inherit;font-size:.95rem;color:var(--text-muted);font-weight:400}.subs-cat-breakdown{padding:18px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.subs-cat-breakdown .eyebrow{margin-bottom:12px}.subs-cat-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 24px}.subs-cat-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--border);font-size:.9rem}.subs-cat-label{color:var(--text-muted)}.subs-cat-value{color:var(--text);font-family:JetBrains Mono,monospace}.pill{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.76rem}.pill__dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.hero{padding:42px 0 24px}.hero__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.hero-card{padding:28px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;inset:auto -8% -40% 30%;height:220px;background:radial-gradient(circle,oklch(.58 .16 38 / .16),transparent 62%);pointer-events:none}.eyebrow{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:700}.hero-title,.section-title,.page-title,.article-title{font-family:"DM Serif Display",serif;letter-spacing:-.02em}.hero-title{font-size:clamp(2rem,5vw,3.9rem);line-height:1.05;margin:14px 0;max-width:11ch}.hero-copy{margin:0 0 20px;max-width:56ch;color:var(--text-muted);line-height:1.75;font-size:.98rem}.hero-actions,.meta-row,.tag-row,.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button,.button--ghost{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;font-size:.9rem;font-weight:600;text-decoration:none;transition:.18s ease}.button{background:var(--accent);color:#fff;border:1px solid transparent}.button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.button--ghost{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.button--ghost:hover{border-color:var(--border-strong);color:var(--text)}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{padding:18px}.metric-card strong{display:block;font-family:"DM Serif Display",serif;font-size:1.7rem;margin:10px 0 4px}.metric-card p{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.6}.page-section{padding:18px 0 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title,.page-title{margin:6px 0 0}.section-title{font-size:clamp(1.5rem,3vw,2.2rem)}.section-copy,.page-copy{margin:10px 0 0;color:var(--text-muted);line-height:1.7;max-width:68ch}.post-grid,.panel-grid,.mini-grid{display:grid;gap:16px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.post-card,.panel-card,.mini-card{height:100%}.post-card a,.panel-card a,.mini-card a{text-decoration:none}.post-card__inner,.panel-card__inner,.mini-card__inner{height:100%;padding:20px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);transition:.18s ease}.post-card__inner:hover,.panel-card__inner:hover,.mini-card__inner:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.post-card__cover{aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--bg-soft);border:1px solid var(--border)}.post-card__cover img{width:100%;height:100%;object-fit:cover}.post-card__cover--placeholder{background:repeating-linear-gradient(45deg,var(--border) 0,var(--border) 1px,transparent 1px,transparent 9px);color:var(--text-faint);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-family:JetBrains Mono,monospace}.category-badge,.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.card-title{font-family:"DM Serif Display",serif;font-size:1.45rem;line-height:1.25;margin:12px 0 10px}.card-title--post{font-size:1rem;margin-bottom:6px}.card-copy,.meta-note{color:var(--text-muted);line-height:1.7;font-size:.92rem}.meta-note{font-size:.82rem}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.stack{display:flex;flex-direction:column;gap:12px}.panel-card__stats,.mini-card__stats{display:grid;gap:8px;margin-top:14px}.panel-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-card__stats{grid-template-columns:1fr}.stat{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-soft)}.stat small{display:block;color:var(--text-faint);margin-bottom:4px;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.stat strong{display:block;font-size:.92rem;word-break:break-all}.callout{padding:18px 20px;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg,var(--bg-card),var(--bg-soft))}.callout strong{display:block;margin-bottom:6px}.page-header{padding:40px 0 20px}.article-archive{--aa-radius: 14px;--aa-radius-sm: 10px;padding-top:8px}.article-archive .accent-orange{--aa-accent: var(--accent);--aa-accent-soft: var(--accent-soft)}.article-archive .accent-teal{--aa-accent: var(--accent-teal);--aa-accent-soft: var(--accent-teal-soft)}.article-archive .accent-purple{--aa-accent: var(--accent-purple);--aa-accent-soft: var(--accent-purple-soft)}.article-archive .accent-green{--aa-accent: var(--green);--aa-accent-soft: var(--green-soft)}.article-archive .accent-blue{--aa-accent: var(--blue);--aa-accent-soft: var(--blue-soft)}.article-archive-header{margin:8px 0 36px}.article-archive-header__eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent);font-family:JetBrains Mono,monospace}.article-archive-header__line{width:22px;height:2px;border-radius:999px;background:var(--accent)}.article-archive-header__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin:0 0 14px;font-family:"DM Serif Display",serif;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:400;letter-spacing:-.03em;line-height:1.1}.article-archive-header__title span{color:var(--text-faint);font-size:1.15rem;font-style:italic;font-family:"DM Serif Display",serif}.article-archive-header__copy{max-width:60ch;margin:0;color:var(--text-muted);line-height:1.75;font-size:.95rem}.article-archive-header__stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:22px}.article-archive-header__stats>div{display:flex;flex-direction:column;gap:2px;--stat-color: var(--accent)}.article-archive-header__stats>.accent-orange{--stat-color: var(--accent)}.article-archive-header__stats>.accent-teal{--stat-color: var(--accent-teal)}.article-archive-header__stats>.accent-purple{--stat-color: var(--accent-purple)}.article-archive-header__stats>.accent-green{--stat-color: var(--green)}.article-archive-header__stats>.accent-blue{--stat-color: var(--blue)}.article-archive-header__stats strong{font-family:"DM Serif Display",serif;font-size:1.55rem;color:var(--stat-color);font-weight:600;line-height:1}.article-archive-header__stats span{font-size:.72rem;color:var(--text-faint);letter-spacing:.02em}.article-archive-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.article-archive-controls__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.article-archive-controls__spacer{flex:1}.article-archive-search{position:relative;flex:1 1 240px;max-width:360px}.article-archive-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:.95rem;pointer-events:none}.article-archive-search input,.article-archive-controls select{width:100%;border-radius:var(--aa-radius-sm);border:1px solid var(--border-light);background:var(--bg-card);color:var(--text);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.article-archive-search input{min-height:40px;padding:0 34px}.article-archive-search input:focus,.article-archive-controls select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.article-archive-search button{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--text-faint);cursor:pointer}.article-archive-filters{display:flex;gap:4px;flex-wrap:wrap}.article-archive-filters button,.article-archive-controls__summary button,.article-archive-empty button{font:inherit}.article-archive-filters button{padding:6px 14px;border-radius:999px;border:1px solid var(--border-light);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease;font-size:.78rem}.article-archive-filters button:hover{border-color:var(--border-strong);color:var(--text)}.article-archive-filters button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.article-archive-controls select{appearance:none;min-height:40px;padding:0 36px 0 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;font-size:.85rem;cursor:pointer}.article-archive-controls__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:.85rem}.article-archive-controls__summary strong{color:var(--text)}.article-archive-controls__summary button,.article-archive-empty button{border:0;background:transparent;color:var(--accent);cursor:pointer;text-decoration:underline;font-size:.78rem}.mono{font-family:JetBrains Mono,monospace}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;background:var(--pill-bg);color:var(--pill-color)}.status-pill--orange{--pill-bg: var(--accent-soft);--pill-color: var(--accent)}.status-pill--teal{--pill-bg: var(--accent-teal-soft);--pill-color: var(--accent-teal)}.status-pill--purple{--pill-bg: var(--accent-purple-soft);--pill-color: var(--accent-purple)}.status-pill--green{--pill-bg: var(--green-soft);--pill-color: var(--green)}.status-pill--blue{--pill-bg: var(--blue-soft);--pill-color: var(--blue)}.article-archive-cat-tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;background:color-mix(in oklch,var(--aa-accent, var(--accent)) 14%,transparent);color:var(--aa-accent, var(--accent));white-space:nowrap}.stack-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.7rem;background:var(--bg-soft);border:1px solid var(--border-light);color:var(--text-muted)}.article-archive-stack-row{display:flex;flex-wrap:wrap;gap:5px}.article-archive-timeline{display:flex;flex-direction:column}.article-archive-timeline-item{display:block}.article-archive-timeline-item__year{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-faint);letter-spacing:.06em;margin:18px 0 10px 42px}.article-archive-timeline-item:first-child .article-archive-timeline-item__year{margin-top:0}.article-archive-timeline-item__row{display:grid;grid-template-columns:28px 1fr;gap:14px}.article-archive-timeline-item__rail{position:relative}.article-archive-timeline-item__rail:after{content:"";position:absolute;top:22px;bottom:-22px;left:13px;width:1px;background:var(--border-light)}.article-archive-timeline-item.is-last .article-archive-timeline-item__rail:after{display:none}.article-archive-timeline-item__dot{position:absolute;top:18px;left:7px;width:13px;height:13px;border-radius:50%;background:var(--aa-accent, var(--accent));box-shadow:0 0 0 3px color-mix(in oklch,var(--aa-accent) 28%,transparent);border:2px solid var(--bg-card)}.article-archive-timeline-item__card{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:24px;padding:18px 22px;margin-bottom:14px;border-radius:var(--aa-radius);border:1px solid var(--border-light);background:var(--bg-card);text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.article-archive-timeline-item__card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--aa-accent, var(--accent));opacity:.55;transition:opacity .18s ease}.article-archive-timeline-item__card:hover{border-color:color-mix(in oklch,var(--aa-accent) 50%,var(--border-light));box-shadow:var(--shadow-md);transform:translateY(-2px)}.article-archive-timeline-item__card:hover:before{opacity:1}.article-archive-timeline-item__main{display:flex;flex-direction:column;gap:10px;min-width:0}.article-archive-timeline-item__head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.article-archive-timeline-item__title{margin:0;font-family:"DM Serif Display",serif;font-size:1.25rem;font-weight:400;letter-spacing:-.015em;line-height:1.3;color:var(--text);transition:color .15s ease}.article-archive-timeline-item__card:hover .article-archive-timeline-item__title{color:var(--aa-accent)}.article-archive-timeline-item__subtitle{margin:-2px 0 0;color:var(--text-muted);font-size:.88rem;font-style:italic;line-height:1.6}.article-archive-timeline-item__excerpt{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.75}.article-archive-timeline-item__meta{display:flex;flex-direction:column;gap:8px;padding-left:22px;border-left:1px solid var(--border-light);align-self:stretch;font-size:.78rem;color:var(--text-muted)}.article-archive-timeline-item__meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.article-archive-timeline-item__meta-label{font-family:JetBrains Mono,monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.article-archive-timeline-item__cta{margin-top:auto;padding-top:10px;border-top:1px dashed var(--border-light);text-align:right;font-size:.82rem;font-weight:600;color:var(--aa-accent, var(--accent));opacity:.8;transition:opacity .15s ease,transform .15s ease}.article-archive-timeline-item__card:hover .article-archive-timeline-item__cta{opacity:1;transform:translate(2px)}@media(max-width:720px){.article-archive-timeline-item__card{grid-template-columns:1fr;gap:14px;padding:16px 18px}.article-archive-timeline-item__meta{flex-direction:row;flex-wrap:wrap;padding-left:0;padding-top:12px;border-left:0;border-top:1px solid var(--border-light);gap:8px 16px}.article-archive-timeline-item__cta{width:100%;border-top:0;padding-top:0;text-align:left}}.article-archive-empty{padding:64px 0;text-align:center;color:var(--text-muted)}.article-archive-empty div{font-size:2.2rem;margin-bottom:10px;color:var(--text-faint)}.article-archive-empty p{margin:0 0 14px}.home-header{margin-bottom:32px;padding-top:36px}.home-greeting{font-size:12px;color:var(--text-faint);margin-bottom:8px;font-weight:500}.home-title{font-family:"DM Serif Display",serif;font-size:36px;font-weight:400;line-height:1.15;margin:0 0 10px}.home-title__accent{font-style:italic;color:var(--accent)}.home-copy{max-width:460px;color:var(--text-muted);line-height:1.7;font-size:14px;margin:0}.home-widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:48px}.home-widget{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);text-decoration:none;display:flex;flex-direction:column;gap:12px;transition:.18s ease}.home-widget:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.home-widget__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.home-widget__label{font-size:10px;font-weight:700;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.home-widget__value{font-size:26px;font-weight:600;font-family:"DM Serif Display",serif;letter-spacing:-.02em}.home-widget__value span{font-size:12px;font-weight:400;color:var(--text-muted);margin-left:2px}.home-widget__stack{display:flex;flex-direction:column;gap:6px}.home-widget__row{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:8px;background:var(--bg-soft);border:1px solid var(--border);font-size:11px;color:var(--text-muted)}.home-server-dots{display:flex;gap:6px;flex-wrap:wrap}.home-server-dots__item{display:flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-soft);border-radius:6px;border:1px solid var(--border);font-size:10px;font-family:JetBrains Mono,monospace;color:var(--text-muted)}.home-server-dots__status,.server-sidebar__dot{width:6px;height:6px;border-radius:50%;display:inline-block}.home-server-dots__status--online,.server-sidebar__dot--online{background:var(--green)}.home-server-dots__status--warning,.server-sidebar__dot--warning{background:var(--yellow)}.home-server-dots__status--offline,.server-sidebar__dot--offline{background:var(--red)}.home-server-dots__status--placeholder,.server-sidebar__dot--placeholder{background:var(--text-faint)}.home-ip{display:flex;gap:12px;align-items:flex-start}.home-ip__flag{width:44px;height:44px;border-radius:12px;background:var(--accent-teal-soft);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.home-ip__address{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:500;letter-spacing:.03em}.home-ip__chips{display:flex;gap:4px;flex-wrap:wrap}.home-ip__chips span{padding:2px 7px;border-radius:5px;font-size:11px;background:var(--green-soft);color:var(--green);font-weight:500}.home-section-divider{display:flex;align-items:center;gap:16px;margin-bottom:16px}.home-section-divider span{font-size:10px;font-weight:700;color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase}.home-section-divider__line{height:1px;flex:1;background:var(--border)}.home-search{position:relative;margin-bottom:20px;max-width:480px}.home-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:15px;pointer-events:none}.home-search__input{width:100%;padding:9px 36px 9px 34px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font:inherit;outline:none}.home-search__input:focus{border-color:var(--accent)}.home-search__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--text-faint);cursor:pointer}.home-empty{text-align:center;padding:40px 0;color:var(--text-muted);font-size:14px}.home-more{text-align:center;margin-top:16px}.about-page{padding-top:18px}.about-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr);gap:clamp(28px,5vw,60px);align-items:stretch;margin-bottom:54px;padding:clamp(26px,5vw,52px) 0;border-bottom:1px solid var(--border-light);isolation:isolate}.about-field{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;background-image:linear-gradient(color-mix(in oklch,var(--border) 50%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--border) 50%,transparent) 1px,transparent 1px);background-size:56px 56px;background-position:0 0;mask-image:radial-gradient(circle at 78% 36%,black,transparent 70%);opacity:.22}.about-hero__copy{display:flex;flex-direction:column;justify-content:center;min-width:0;animation:aboutFadeUp .7s cubic-bezier(.4,0,.2,1) both}.about-hero__title{margin:0 0 18px;font-family:"DM Serif Display",serif;font-size:clamp(3.1rem,8vw,6.4rem);font-weight:400;line-height:.95;color:var(--text);text-shadow:0 18px 42px color-mix(in oklch,var(--accent) 10%,transparent)}.about-hero__title-accent{background-image:linear-gradient(118deg,var(--accent-teal) 0%,var(--accent) 94%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}.about-hero__lead{max-width:720px;margin:0;color:var(--text-muted);font-size:clamp(1rem,2vw,1.16rem);line-height:1.88}.about-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.about-link{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);text-decoration:none;font-size:.86rem;font-weight:600;transition:color .16s ease,border-color .16s ease,transform .16s ease}.about-link:hover{color:var(--text);border-color:var(--text-muted);transform:translateY(-1px)}.about-link--primary{color:var(--accent);border-color:color-mix(in oklch,var(--accent) 38%,var(--border));background:var(--accent-soft)}.about-identity{position:relative;display:flex;flex-direction:column;gap:26px;min-width:0;padding:clamp(22px,3vw,30px);border:1px solid var(--border-light);border-radius:18px;background:var(--bg-card);box-shadow:var(--shadow-sm);animation:aboutCardEnter .7s cubic-bezier(.4,0,.2,1) .12s both}.about-identity__head{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--border-light)}.about-identity__mark{--about-avatar-pad: 6px;position:relative;flex-shrink:0;width:58px;height:58px;overflow:hidden;border-radius:16px;border:1px solid color-mix(in oklch,var(--accent) 28%,var(--border-light));background:linear-gradient(145deg,var(--accent-soft),color-mix(in oklch,var(--accent-teal-soft) 62%,var(--accent-soft)))}.about-identity__mark:after{content:"";position:absolute;inset:var(--about-avatar-pad);background-color:var(--text);mask-image:url(/uploads/husky_notion_avatar_traced_transparent.svg);mask-position:center;mask-repeat:no-repeat;mask-size:contain;mask-mode:alpha;-webkit-mask-image:url(/uploads/husky_notion_avatar_traced_transparent.svg);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.about-identity__meta{display:flex;flex-direction:column;gap:4px;min-width:0}.about-identity__role{font-family:JetBrains Mono,monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700}.about-identity__org{color:var(--text);font-size:.96rem;font-weight:600;line-height:1.4}.about-identity__list{display:grid;gap:14px;margin:0}.about-identity__list div{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:baseline;gap:14px}.about-identity__list dt{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.about-identity__list dd{margin:0;color:var(--text);font-size:.92rem;line-height:1.55}.about-section{display:grid;gap:26px;margin-bottom:64px}.about-section--split{grid-template-columns:minmax(0,.82fr) minmax(280px,1fr);gap:clamp(24px,5vw,54px);align-items:start}.about-section__head{display:grid;gap:10px;max-width:780px}.about-section__head .eyebrow{display:inline-flex;align-items:center;gap:10px}.about-section__head .eyebrow:before{content:"";display:inline-block;width:22px;height:1px;background:var(--accent)}.about-section__title{margin:0;font-family:"DM Serif Display",serif;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:400;line-height:1.2;color:var(--text);letter-spacing:-.01em}.about-section__copy{max-width:620px;margin:6px 0 0;color:var(--text-muted);line-height:1.85}.about-research-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.about-research-card{position:relative;min-width:0;padding:18px;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-card);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.about-research-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 8%,transparent),transparent 42%);opacity:0;transition:opacity .18s ease}.about-research-card:hover{transform:translateY(-3px);border-color:color-mix(in oklch,var(--accent) 42%,var(--border-light));box-shadow:var(--shadow-md)}.about-research-card:hover:before{opacity:1}.about-research-card span{position:relative;display:block;margin-bottom:10px;color:var(--accent);font-size:.86rem;font-weight:700}.about-research-card p{position:relative;margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.75}.about-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:16px;overflow:hidden}.about-stack__group{position:relative;padding:clamp(22px,2.6vw,30px);background:var(--bg-card);display:grid;gap:18px;align-content:start;transition:background .22s ease}.about-stack__group:hover{background:color-mix(in oklch,var(--accent-soft) 38%,var(--bg-card))}.about-stack__group:hover .about-stack__code{color:var(--accent)}.about-stack__group:hover .about-stack__list li{border-color:color-mix(in oklch,var(--accent) 28%,var(--border-light))}.about-stack__head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:16px;row-gap:4px}.about-stack__code{font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--text-faint);transition:color .22s ease}.about-stack__title{margin:0;font-family:"DM Serif Display",serif;font-size:1.32rem;font-weight:400;color:var(--text);letter-spacing:-.005em}.about-stack__caption{grid-column:2;margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.55}.about-stack__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.about-stack__list li{display:inline-flex;align-items:center;min-height:30px;padding:0;border-radius:8px;border:1px solid var(--border-light);background:color-mix(in oklch,var(--bg) 50%,var(--bg-card));color:var(--text);font-family:JetBrains Mono,monospace;font-size:.76rem;letter-spacing:.01em;transition:border-color .18s ease,transform .18s ease,color .18s ease}.about-stack__list li a{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;color:inherit;text-decoration:none}.about-stack__list li:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent)}.about-reveal{opacity:0;transform:translateY(18px);transition:opacity .62s cubic-bezier(.4,0,.2,1),transform .62s cubic-bezier(.4,0,.2,1);transition-delay:var(--about-delay, 0ms)}.about-reveal.is-visible{opacity:1;transform:translateY(0)}.page-title{font-size:clamp(2rem,5vw,3.2rem)}.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:56px;max-width:1060px;margin:0 auto;padding-top:8px}.article-nav{position:sticky;top:0;z-index:100;backdrop-filter:blur(20px) saturate(1.5);background:var(--glass);border-bottom:1px solid var(--border)}.article-nav__inner{max-width:1200px;margin:0 auto;padding:0 32px;height:54px;display:flex;align-items:center;justify-content:space-between}.article-nav__left,.article-nav__right,.article-nav__brand{display:flex;align-items:center;gap:12px}.article-nav__back,.article-nav__share,.article-nav__theme{text-decoration:none;color:var(--text-muted);font-size:13px;font-weight:500;background:transparent;border:0}.article-nav__share,.article-nav__theme{padding:5px 14px;border-radius:7px;border:1px solid var(--border);cursor:pointer;transition:.15s ease}.article-nav__theme{min-width:38px;padding-inline:0}.article-nav__share:hover,.article-nav__theme:hover{border-color:var(--accent);color:var(--accent)}.article-nav__sep,.article-nav__crumb{color:var(--border-strong)}.article-nav__mark{width:24px;height:24px;display:block;object-fit:contain}.article-nav__brand span{font-size:14px;font-weight:600;font-family:"DM Serif Display",serif}.article-nav__read{font-size:12px;color:var(--text-faint)}.article-nav__divider{height:28px;width:1px;background:var(--border)}.article-main{padding-bottom:80px}.article-header{max-width:740px;margin:48px auto 0;padding:0 0 8px}.article-title{font-family:"DM Serif Display",serif;font-size:clamp(2rem,4.2vw,38px);font-weight:400;line-height:1.2;margin:12px 0;letter-spacing:-.02em;text-wrap:pretty}.article-subtitle{margin:0 0 24px;color:var(--text-muted);font-size:16px;line-height:1.65;max-width:60ch}.article-tag{display:inline-flex;align-items:center;text-decoration:none;padding:5px 12px;border-radius:20px;font-size:12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:.15s ease}.article-tag:hover{border-color:var(--accent);color:var(--accent)}.article-tag--ghost{padding:3px 8px;border-radius:6px;font-size:11px;border-color:var(--border-light);background:var(--bg-soft)}.article-meta-strip{display:flex;gap:18px;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--border)}.article-meta-strip__author{min-width:0}.article-meta-strip__author .avatar{width:36px;height:36px;font-size:14px}.article-meta-strip__author>div:last-child>div:first-child{font-size:13px;font-weight:600}.article-meta-strip__author .meta-note{font-size:11px}.article-meta-strip__stats{margin-left:auto;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.article-meta-stat{text-align:center}.article-meta-stat__label{font-size:10px;color:var(--text-faint);letter-spacing:.04em}.article-meta-stat__value{margin-top:1px;font-size:12px;font-weight:500;color:var(--text-muted)}.author{display:flex;align-items:center;gap:12px}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,var(--accent),oklch(.58 .16 55));color:#fff;flex-shrink:0}.article-cover{margin:28px 0 32px;aspect-ratio:1200 / 630;overflow:hidden;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-md)}.article-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--cover-position, center center)}.article-cover--placeholder{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,var(--border-light) 0 1px,transparent 1px 10px);color:var(--text-faint);font-size:13px;font-family:JetBrains Mono,monospace;box-shadow:none}.article-body{min-width:0}.article-prose{font-size:1rem;line-height:1.88;color:var(--text)}.article-prose h2,.article-prose h3{font-family:"DM Serif Display",serif;letter-spacing:-.02em;line-height:1.2;scroll-margin-top:92px}.article-prose h2{font-size:26px;font-weight:400;margin:44px 0 14px}.article-prose h3{font-size:20px;font-weight:400;margin:32px 0 10px}.article-prose p,.article-prose ul,.article-prose ol,.article-prose blockquote{margin:0 0 18px;text-wrap:pretty}.article-prose ul,.article-prose ol{padding-left:1.35rem}.article-prose li+li{margin-top:.45rem}.article-prose blockquote{margin:1.75rem 0;margin-left:0;padding:18px 24px;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text-muted);border-radius:0 10px 10px 0}.article-prose pre{overflow-x:auto;margin:1.6rem 0;padding:18px 20px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in oklch,var(--bg-soft) 92%,black 8%),var(--bg-soft));box-shadow:var(--shadow-sm)}.article-prose pre code{display:block;font-size:13px;line-height:1.75}.article-prose code:not(pre code){padding:.15rem .45rem;border-radius:6px;background:var(--bg-soft);border:1px solid var(--border);font-size:.92em;font-family:JetBrains Mono,monospace}.mdx-callout,.mdx-codeblock,.mdx-figure,.mdx-quote,.mdx-stat-grid,.mdx-steps{margin:24px 0 28px}.mdx-callout{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:10px;border-left:3px solid var(--accent);background:var(--accent-soft)}.mdx-callout--info{background:color-mix(in oklch,var(--accent-teal) 12%,var(--bg-card) 88%);border-left-color:var(--accent-teal)}.mdx-callout--tip{background:var(--green-soft);border-left-color:var(--green)}.mdx-callout--warning{background:var(--yellow-soft);border-left-color:var(--yellow)}.mdx-callout--resource{background:var(--accent-soft);border-left-color:var(--accent)}.mdx-callout__icon{margin-top:1px;font-size:14px;font-weight:700;color:currentColor;flex-shrink:0}.mdx-callout--info .mdx-callout__icon,.mdx-callout--info .mdx-callout__label{color:var(--accent-teal)}.mdx-callout--tip .mdx-callout__icon,.mdx-callout--tip .mdx-callout__label{color:var(--green)}.mdx-callout--warning .mdx-callout__icon,.mdx-callout--warning .mdx-callout__label{color:var(--yellow)}.mdx-callout--resource .mdx-callout__icon,.mdx-callout--resource .mdx-callout__label{color:var(--accent)}.mdx-callout__label{margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mdx-callout__title{margin-bottom:4px;font-size:14px;font-weight:600;color:var(--text)}.mdx-callout__copy{font-size:13px;line-height:1.7;color:var(--text)}.mdx-callout__copy>:first-child{margin-top:0}.mdx-callout__copy>:last-child{margin-bottom:0}.mdx-codeblock{overflow:hidden;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.mdx-codeblock__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#1c1410;border-bottom:1px solid oklch(.28 .015 50)}.mdx-codeblock__lights{display:flex;gap:6px}.mdx-codeblock__lights span{width:10px;height:10px;border-radius:50%}.mdx-codeblock__lights span:nth-child(1){background:#e05252}.mdx-codeblock__lights span:nth-child(2){background:#e0a652}.mdx-codeblock__lights span:nth-child(3){background:#52c07a}.mdx-codeblock__label,.mdx-codeblock__copy{font-size:11px;font-family:JetBrains Mono,monospace}.mdx-codeblock__label{margin-left:auto;color:#958e8a;letter-spacing:.04em}.mdx-codeblock__copy{border:0;background:transparent;color:#857f7b;cursor:pointer;transition:color .15s ease}.mdx-codeblock__copy:hover{color:#fff}.mdx-codeblock__body{overflow-x:auto;padding:20px;background:#0e0705}.mdx-codeblock__body pre{margin:0;padding:0;background:transparent;border:0;box-shadow:none}.mdx-codeblock__body code{display:block;color:#e3ddd8;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.75;white-space:pre}.mdx-figure{margin:28px 0 34px}.mdx-figure img{display:block;width:100%;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.mdx-figure figcaption{margin-top:10px;font-size:12px;line-height:1.6;color:var(--text-faint);text-align:center}.mdx-quote{margin:28px 0;padding:18px 24px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0}.mdx-quote__copy{font-family:"DM Serif Display",serif;font-size:16px;line-height:1.75;font-style:italic;color:var(--text)}.mdx-quote__copy>:first-child{margin-top:0}.mdx-quote__copy>:last-child{margin-bottom:0}.mdx-quote__cite{margin-top:10px;font-size:11px;color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase}.mdx-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mdx-stat-card{padding:16px 18px 14px;border-radius:14px;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm)}.mdx-stat-card__label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.04em}.mdx-stat-card__value{margin:8px 0 4px;font-family:"DM Serif Display",serif;font-size:30px;line-height:1;color:var(--text)}.mdx-stat-card__note{font-size:11px;color:var(--text-faint);font-family:JetBrains Mono,monospace}.mdx-steps{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:mdx-steps}.mdx-steps li{position:relative;padding:14px 16px 14px 48px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);line-height:1.7}.mdx-steps li:before{counter-increment:mdx-steps;content:counter(mdx-steps);position:absolute;left:14px;top:14px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.toc-card{position:sticky;top:80px;max-height:calc(100vh - 110px);overflow:auto;scrollbar-gutter:stable;padding:0;background:transparent;border:0;box-shadow:none}.toc-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1px}.toc-card a{text-decoration:none;color:var(--text-muted);font-size:12px;line-height:1.4;display:block;padding:5px 8px;border-left:2px solid transparent;border-radius:0 5px 5px 0;transition:.15s ease;font-weight:400}.toc-card a[data-depth="3"]{padding-left:20px}.toc-card a.active,.toc-card a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.toc-card a:hover:not(.active){color:var(--text);background:var(--bg-soft);border-color:transparent;font-weight:400}.toc-card a.active:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.article-footer{margin-top:44px;padding-top:28px;border-top:1px solid var(--border)}.article-author-card{margin-top:36px;padding:24px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border);display:flex;gap:16px;align-items:flex-start}.article-author-card__avatar{width:48px;height:48px;font-size:18px}.article-author-card__title{font-size:14px;font-weight:600;margin-bottom:4px}.article-author-card__links{margin-top:10px}.article-author-card__link{font-size:12px;color:var(--text-muted);text-decoration:none;padding:4px 10px;border-radius:6px;border:1px solid var(--border);transition:.15s ease}.article-author-card__link:hover{color:var(--accent);border-color:var(--accent)}.article-related{max-width:1060px;margin:56px auto 0;padding-top:36px;border-top:1px solid var(--border)}.article-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.article-related__card{padding:16px 18px;border-radius:12px;border:1px solid var(--border-light);background:transparent;text-decoration:none;transition:.18s ease}.article-related__card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border);background:var(--bg-card)}.article-related__cat{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:.06em;margin-bottom:6px}.article-related__title{font-size:14px;font-weight:600;font-family:"DM Serif Display",serif;line-height:1.4;margin-bottom:6px;color:var(--text);transition:color .15s ease}.article-related__card:hover .article-related__title{color:var(--accent)}.article-related__meta{font-size:11px;color:var(--text-faint)}.article-backtop{text-align:center;margin-top:48px}.article-backtop__button{padding:9px 22px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:.15s ease}.article-backtop__button:hover{color:var(--text);box-shadow:var(--shadow-sm)}.article-fade{animation:fadeUp .55s ease both}.article-fade--0{animation-delay:0s}.article-fade--1{animation-delay:.08s}.article-fade--2{animation-delay:.16s}.progress-bar{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--accent),oklch(.58 .16 55));z-index:120}.server-page{height:100vh;display:flex;flex-direction:column;overflow:hidden}.server-nav{height:54px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;flex-shrink:0;background:var(--glass);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}.server-nav__left,.server-nav__right,.server-nav__title{display:flex;align-items:center;gap:14px}.server-nav__back{text-decoration:none;color:var(--text-muted);font-size:13px;font-weight:500}.server-nav__sep,.server-nav__crumb{color:var(--border-strong)}.server-nav__mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--accent),oklch(.58 .16 55));display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}.server-nav__title span{font-size:14px;font-weight:600;font-family:"DM Serif Display",serif}.server-nav__current,.server-nav__right{font-size:11px;color:var(--text-faint);font-family:JetBrains Mono,monospace}.server-frame{flex:1;display:flex;overflow:hidden}.server-sidebar{width:230px;border-right:1px solid var(--border);background:var(--bg-card);display:flex;flex-direction:column}.server-sidebar__list{padding:14px 10px;display:flex;flex-direction:column;gap:8px}.server-sidebar__item{padding:12px 12px 10px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}.server-sidebar__item--active{background:var(--bg-soft)}.server-sidebar__item-row,.server-sidebar__meta,.server-sidebar__footer{display:flex;justify-content:space-between;gap:8px}.server-sidebar__item-row{align-items:center;padding-left:2px}.server-sidebar__name{font-size:12px;font-family:JetBrains Mono,monospace;font-weight:500;color:var(--text);flex:1}.server-sidebar__meta{margin-top:6px;padding-left:16px;font-size:10px;color:var(--text-faint)}.server-sidebar__footer{margin-top:auto;padding:10px 16px;border-top:1px solid var(--border);font-size:10px;color:var(--text-faint)}.server-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.server-main__toolbar{padding:10px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--bg-card)}.server-main__tabs,.server-main__ranges{display:flex;gap:2px;align-items:center}.server-main__tabs{background:var(--bg-soft);border-radius:9px;padding:3px;border:1px solid var(--border)}.server-main__tab,.server-main__range{border:0;background:transparent;color:var(--text-muted);cursor:pointer}.server-main__tab{padding:5px 18px;border-radius:7px;font-size:12px;font-weight:600}.server-main__tab--active{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-sm)}.server-main__range{padding:4px 12px;border-radius:7px;font-size:11px;font-weight:600}.server-main__range--active{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent)}.server-main__content{flex:1;overflow-y:auto;padding:18px 20px 28px}.server-pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.server-pill{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);font-size:11px;color:var(--text-muted)}.server-hero-card,.server-metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}.server-hero-card{padding:18px 20px 12px}.server-hero-card__head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:20px}.server-hero-card__label,.server-metric-card__label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.04em}.server-hero-card__values{display:flex;gap:20px;margin-top:4px;font-size:20px;font-family:"DM Serif Display",serif}.server-hero-card__side,.server-metric-card__sub{font-size:11px;color:var(--text-faint);font-family:JetBrains Mono,monospace}.server-chart-placeholder,.server-spark-placeholder{border-radius:10px;border:1px solid var(--border);background:linear-gradient(180deg,transparent,transparent),repeating-linear-gradient(90deg,transparent 0 22px,var(--border) 22px 23px),linear-gradient(180deg,var(--bg-soft),var(--bg-soft))}.server-chart-placeholder{height:90px}.server-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.server-metric-card{padding:18px 18px 12px}.server-metric-card__value{font-size:32px;font-weight:600;font-family:"DM Serif Display",serif;margin:6px 0 4px}.server-spark-placeholder{height:64px;margin-top:10px}.footer{padding:40px 0 60px}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:24px;border-top:1px solid var(--border);color:var(--text-faint);font-size:.84rem}@media(max-width:960px){.hero__grid,.article-archive-hero-grid,.article-shell,.panel-grid,.mini-grid,.post-grid,.home-widgets,.about-hero,.about-section--split,.server-metric-grid,.mdx-stat-grid{grid-template-columns:1fr}.article-shell{gap:24px}.toc-card{position:static;max-height:none}.article-related__grid{grid-template-columns:1fr}.server-frame{flex-direction:column}.article-archive-hero,.article-archive-grid{grid-template-columns:1fr}.server-sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border)}.about-research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-stack{grid-template-columns:1fr}}@media(max-width:720px){.site-header__inner,.footer__inner,.article-meta-strip,.article-nav__inner,.server-nav,.server-main__toolbar,.article-archive-controls__summary{flex-direction:column;align-items:flex-start}.article-meta-strip__stats{margin-left:0;width:100%;justify-content:flex-start}.container{width:min(100% - 20px,1200px)}.about-hero{padding-top:22px;margin-bottom:38px}.about-hero__actions{flex-direction:column;align-items:stretch}.about-link{justify-content:center}.about-identity{border-radius:14px}.about-research-grid{grid-template-columns:1fr}.hero-card,.post-card__inner,.panel-card__inner,.mini-card__inner{padding:18px}.article-archive-drawer__panel{width:100%}.article-archive-header__title{flex-direction:column;align-items:flex-start;gap:6px}.article-archive-drawer__stats{grid-template-columns:1fr}.article-archive-controls__row{align-items:stretch}.article-archive-search,.article-archive-controls select{max-width:none;width:100%}.article-archive-layout-toggle{align-self:flex-start}.metrics{grid-template-columns:1fr}.mdx-steps li{padding-left:44px}}@media(prefers-reduced-motion:reduce){.about-hero__copy,.about-identity,.about-reveal{animation:none!important;transition:none!important}.about-reveal{opacity:1;transform:none}}@keyframes aboutFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes aboutCardEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes heroLineTrace{0%{stroke-dashoffset:1}28%,72%{stroke-dashoffset:0}to{stroke-dashoffset:-1}}@keyframes heroLineBreath{0%,to{opacity:.12}50%{opacity:.42}}@keyframes heroStarTwinkle{0%,to{opacity:.48;transform:scale(.86)}42%{opacity:1;transform:scale(1.16)}58%{opacity:.72;transform:scale(.98)}}@keyframes heroStarHaloTwinkle{0%,to{opacity:.06;transform:scale(.82)}45%{opacity:.2;transform:scale(1.2)}70%{opacity:.1;transform:scale(.96)}}@keyframes heroBrightStar{0%,to{opacity:.14;transform:scale(.9)}44%{opacity:.38;transform:scale(1.28)}62%{opacity:.2;transform:scale(1.02)}}@keyframes heroSpikeBreath{0%,to{opacity:.16;transform:scale(.82)}45%{opacity:.68;transform:scale(1.12)}64%{opacity:.34;transform:scale(.96)}}@keyframes heroMeteor{0%{transform:translate(0);opacity:0}6%{opacity:.85}70%{opacity:.85}to{transform:translate(-260px,200px);opacity:0}}@keyframes heroNebulaPulse{0%,to{opacity:.55}50%{opacity:.85}}@keyframes heroConstellationDrift{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(4px,-3px,0) rotate(.45deg)}}@keyframes heroOrbitSpin{to{transform:rotate(360deg)}}@keyframes heroOrbitReverse{to{transform:rotate(-360deg)}}@keyframes home-loading-bar{0%{transform:translate(-110%)}to{transform:translate(260%)}}.home-dynamic-hero{position:relative;min-height:392px;margin:0 0 36px;padding:22px 0 34px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr);gap:42px;align-items:center;overflow:hidden;isolation:isolate;border-radius:30px}.home-dynamic-hero:before{content:"";position:absolute;inset:-28px -18px;pointer-events:none;background:radial-gradient(circle at 10% 20%,color-mix(in oklch,var(--accent-teal) 8%,transparent),transparent 32%),radial-gradient(circle at 86% 76%,color-mix(in oklch,var(--accent-purple) 10%,transparent),transparent 34%),linear-gradient(110deg,color-mix(in oklch,var(--accent-teal) 6%,transparent),transparent 34%,color-mix(in oklch,var(--accent-purple) 7%,transparent));opacity:.58;filter:blur(20px);z-index:0}.home-dynamic-hero:after{content:none}.home-dynamic-hero__frame{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,color-mix(in oklch,var(--bg-card) 90%,transparent),color-mix(in oklch,var(--bg) 78%,transparent)),radial-gradient(circle at 18% 18%,color-mix(in oklch,var(--accent-teal) 5%,transparent),transparent 26%),radial-gradient(circle at 82% 74%,color-mix(in oklch,var(--accent-purple) 6%,transparent),transparent 28%);box-shadow:0 18px 48px color-mix(in oklch,var(--text) 4%,transparent);z-index:0}.home-dynamic-hero__frame:before{content:"";position:absolute;inset:-30px;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 70% at 50% 0%,color-mix(in oklch,var(--bg) 58%,transparent),transparent 68%),radial-gradient(120% 72% at 50% 100%,color-mix(in oklch,var(--bg) 62%,transparent),transparent 70%),radial-gradient(72% 120% at 0% 50%,color-mix(in oklch,var(--bg) 54%,transparent),transparent 68%),radial-gradient(72% 120% at 100% 50%,color-mix(in oklch,var(--bg) 54%,transparent),transparent 68%);filter:blur(16px);opacity:.98}.home-dynamic-hero__frame:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,color-mix(in oklch,var(--bg-card) 8%,transparent),transparent 14%,transparent 86%,color-mix(in oklch,var(--bg) 16%,transparent)),linear-gradient(90deg,color-mix(in oklch,var(--bg) 20%,transparent),transparent 10%,transparent 90%,color-mix(in oklch,var(--bg) 20%,transparent));opacity:.82}.home-dynamic-hero__pointerGlow{position:absolute;inset:-24px;pointer-events:none;opacity:0;transition:opacity .22s ease;z-index:2;will-change:opacity,background}.home-dynamic-hero__copy,.home-dynamic-hero__visual{position:relative;z-index:3}.home-dynamic-hero__copy{padding-left:32px}.home-dynamic-hero--animate .home-dynamic-hero__eyebrow,.home-dynamic-hero--animate .home-dynamic-hero__title,.home-dynamic-hero--animate .home-dynamic-hero__copyText,.home-dynamic-hero--animate .home-dynamic-hero__stats,.home-dynamic-hero--animate .home-dynamic-hero__latest,.home-dynamic-hero--animate .home-dynamic-hero__visual{animation:heroFadeUp .7s cubic-bezier(.4,0,.2,1) both}.home-dynamic-hero--animate .home-dynamic-hero__title{animation-delay:70ms}.home-dynamic-hero--animate .home-dynamic-hero__copyText{animation-delay:.13s}.home-dynamic-hero--animate .home-dynamic-hero__stats{animation-delay:.19s}.home-dynamic-hero--animate .home-dynamic-hero__latest{animation-delay:.25s}.home-dynamic-hero--animate .home-dynamic-hero__visual{animation-delay:.12s}.home-dynamic-hero__pisces-line{stroke-dasharray:1;stroke-dashoffset:1}.home-dynamic-hero__pisces-svg{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.home-dynamic-hero__constellation{animation:heroConstellationDrift 18s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.home-dynamic-hero__orbit{transform-box:fill-box;transform-origin:center}.home-dynamic-hero__orbit--one{animation:heroOrbitSpin 42s linear infinite}.home-dynamic-hero__orbit--two{animation:heroOrbitReverse 58s linear infinite}.home-dynamic-hero__meteor{animation:heroMeteor 14s ease-in-out 4s infinite}.home-dynamic-hero__field-star,.home-dynamic-hero__star-core,.home-dynamic-hero__star-halo,.home-dynamic-hero__star-spikes{transform-box:fill-box;transform-origin:center;will-change:opacity,transform}@media(prefers-reduced-motion:reduce){.home-dynamic-hero__constellation,.home-dynamic-hero__orbit,.home-dynamic-hero__pisces-line,.home-dynamic-hero__pisces-svg circle,.home-dynamic-hero__meteor{animation:none!important}.home-dynamic-hero__pisces-line{stroke-dashoffset:0;opacity:.3!important}}@media(max-width:860px){.home-dynamic-hero{min-height:auto;grid-template-columns:1fr;gap:24px;padding:14px 0 24px;border-radius:24px}.home-dynamic-hero__copy{padding-left:0}.home-dynamic-hero__title{font-size:38px!important}}.projects-page{padding-top:12px;padding-bottom:80px}.projects-header{position:relative;margin:28px 0 30px;max-width:860px;padding:clamp(22px,4vw,34px);border:1px solid var(--border-light);border-radius:28px;background:radial-gradient(90% 120% at 100% 0%,color-mix(in oklch,var(--accent-teal) 10%,transparent),transparent 62%),linear-gradient(135deg,color-mix(in oklch,var(--bg-card) 92%,white),var(--bg-soft));box-shadow:var(--shadow-sm);overflow:hidden;isolation:isolate}.projects-header:after{content:"";position:absolute;right:-90px;top:-120px;width:280px;height:280px;border-radius:50%;border:1px solid color-mix(in oklch,var(--accent) 18%,transparent);background:radial-gradient(circle,color-mix(in oklch,var(--accent) 11%,transparent),transparent 66%);pointer-events:none;z-index:-1}.projects-header__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin:12px 0 14px;font-family:"DM Serif Display",serif;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:400;letter-spacing:-.03em;line-height:1.1}.projects-header__title span{color:var(--text-faint);font-size:1.05rem;font-style:italic;font-family:"DM Serif Display",serif;letter-spacing:0}.projects-header__copy{max-width:60ch;margin:0;color:var(--text-muted);line-height:1.75;font-size:.95rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:20px;align-items:stretch}.project-card{--p-accent: var(--accent);--p-accent-soft: var(--accent-soft);position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;isolation:isolate;min-height:430px;background:linear-gradient(180deg,color-mix(in oklch,var(--p-accent) 5%,var(--bg-card)),var(--bg-card) 58%),var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),border-color .32s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px color-mix(in oklch,var(--p-accent) 16%,transparent);border-color:color-mix(in oklch,var(--p-accent) 35%,var(--border))}.project-card.is-accent-orange{--p-accent: var(--accent);--p-accent-soft: var(--accent-soft)}.project-card.is-accent-teal{--p-accent: var(--accent-teal);--p-accent-soft: var(--accent-teal-soft)}.project-card.is-accent-purple{--p-accent: var(--accent-purple);--p-accent-soft: var(--accent-purple-soft)}.project-card.is-accent-green{--p-accent: var(--green);--p-accent-soft: var(--green-soft)}.project-card.is-accent-yellow{--p-accent: var(--yellow);--p-accent-soft: var(--yellow-soft)}.project-card.is-accent-red{--p-accent: var(--red);--p-accent-soft: var(--red-soft)}.project-card.is-accent-blue{--p-accent: var(--blue);--p-accent-soft: var(--blue-soft)}.project-card__media{position:relative;z-index:0;flex:0 0 auto;aspect-ratio:16 / 10.5;margin:12px 12px 0;border-radius:18px;background:radial-gradient(120% 80% at 100% 0%,color-mix(in oklch,var(--p-accent) 38%,transparent),transparent 60%),linear-gradient(150deg,color-mix(in oklch,var(--p-accent) 18%,var(--bg-card)) 0%,color-mix(in oklch,var(--p-accent) 6%,var(--bg-card)) 60%,var(--bg-card) 100%);overflow:hidden;border:1px solid color-mix(in oklch,var(--p-accent) 18%,var(--border-light))}.project-card__media:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px color-mix(in oklch,white 38%,transparent);pointer-events:none}.project-visual{--pv-bg-a: color-mix(in oklch, var(--p-accent) 20%, var(--bg-card));--pv-bg-b: color-mix(in oklch, var(--p-accent) 9%, var(--bg-soft));--pv-bg-c: var(--bg-card);--pv-glow-a: color-mix(in oklch, var(--p-accent) 78%, white);--pv-glow-b: var(--p-accent);--pv-pattern: color-mix(in oklch, var(--p-accent) 36%, transparent);--pv-line: color-mix(in oklch, var(--p-accent) 74%, var(--text));--pv-line-muted: color-mix(in oklch, var(--p-accent) 28%, var(--text-muted));--pv-fill: color-mix(in oklch, var(--p-accent) 13%, var(--bg-card));display:block;width:100%;height:100%;transform-origin:center;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .3s ease}html[data-theme=dark] .project-visual{--pv-bg-a: color-mix(in oklch, var(--p-accent) 16%, var(--bg-soft));--pv-bg-b: color-mix(in oklch, var(--p-accent) 8%, var(--bg-card));--pv-bg-c: color-mix(in oklch, black 10%, var(--bg-card));--pv-glow-a: color-mix(in oklch, var(--p-accent) 70%, white);--pv-pattern: color-mix(in oklch, var(--p-accent) 30%, transparent);--pv-line: color-mix(in oklch, var(--p-accent) 82%, white);--pv-line-muted: color-mix(in oklch, var(--p-accent) 42%, var(--text-muted));--pv-fill: color-mix(in oklch, var(--p-accent) 11%, transparent)}.project-card:is(:hover,:focus-visible,:active) .project-visual,.project-detail__cover:is(:hover,:active) .project-visual{transform:scale(1.035);filter:saturate(1.05)}.project-card:active .project-visual,.project-detail__cover:active .project-visual{transform:scale(1.015)}.project-visual__pattern{opacity:.28}.project-visual__pattern-dots,.project-visual--pattern-dots .project-visual__pattern-grid,.project-visual--pattern-rings .project-visual__pattern-grid,.project-visual--pattern-topo .project-visual__pattern-grid{display:none}.project-visual--pattern-dots .project-visual__pattern-dots,.project-visual--pattern-rings .project-visual__pattern-dots,.project-visual--pattern-topo .project-visual__pattern-dots{display:block}.project-visual__sweep{fill:color-mix(in oklch,var(--p-accent) 14%,var(--bg-card));opacity:.8}.project-visual__orb{fill:none;stroke:color-mix(in oklch,var(--p-accent) 35%,transparent);stroke-width:1.2}.project-visual__orb-b{stroke-dasharray:10 12;opacity:.65}.project-visual__motif{fill:none;stroke:var(--pv-line);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 16px 26px color-mix(in oklch,var(--p-accent) 18%,transparent))}.project-visual__motif,.project-visual__motif *,.project-visual__sweep,.project-visual__orb,.project-visual__label,.project-visual__mark{transform-box:fill-box;transform-origin:center}.project-visual__motif circle,.project-visual__motif rect{fill:var(--pv-fill)}.project-visual__motif-tooling rect:first-child,.project-visual__motif-coding rect,.project-visual__motif-porous path:first-child,.project-visual__motif-default rect{fill:color-mix(in oklch,var(--p-accent) 10%,var(--bg-card));stroke:color-mix(in oklch,var(--p-accent) 52%,var(--border))}.project-visual__motif path{stroke:var(--pv-line)}.project-visual__motif-tooling path,.project-visual__motif-lattice path:first-child,.project-visual__motif-network path,.project-visual__motif-reaction path{stroke:var(--pv-line-muted)}.project-visual__label{font-family:"DM Serif Display",serif;font-size:58px;font-style:italic;letter-spacing:-.05em;fill:color-mix(in oklch,var(--p-accent) 82%,var(--text))}.project-visual__mark{font-family:JetBrains Mono,monospace;font-size:15px;letter-spacing:.12em;text-transform:uppercase;fill:color-mix(in oklch,var(--p-accent) 52%,var(--text-muted));opacity:.74}.project-card:is(:hover,:focus-visible,:active) .project-visual__pattern,.project-detail__cover:is(:hover,:active) .project-visual__pattern{animation:pvPatternDrift 5s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__orb-a,.project-detail__cover:is(:hover,:active) .project-visual__orb-a{animation:pvOrbPulse 2.2s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__orb-b,.project-detail__cover:is(:hover,:active) .project-visual__orb-b{animation:pvOrbRotate 6s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__label,.project-detail__cover:is(:hover,:active) .project-visual__label{animation:pvLabelLift .7s cubic-bezier(.22,1,.36,1) both}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-molecules .project-visual__bond,.project-detail__cover:is(:hover,:active) .project-visual__motif-molecules .project-visual__bond{stroke-dasharray:18 14;animation:pvDashFlow 1.6s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-molecules .project-visual__node,.project-detail__cover:is(:hover,:active) .project-visual__motif-molecules .project-visual__node{animation:pvNodePulse 1.8s ease-in-out infinite}.project-visual__motif-molecules .project-visual__node-b{animation-delay:.12s}.project-visual__motif-molecules .project-visual__node-c{animation-delay:.24s}.project-visual__motif-molecules .project-visual__node-d{animation-delay:.36s}.project-visual__motif-molecules .project-visual__node-e{animation-delay:.48s}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-tooling .project-visual__panel,.project-detail__cover:is(:hover,:active) .project-visual__motif-tooling .project-visual__panel{animation:pvPanelLift 1.2s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-tooling .project-visual__code-lines,.project-detail__cover:is(:hover,:active) .project-visual__motif-tooling .project-visual__code-lines{stroke-dasharray:74 22;animation:pvDashFlow 1.1s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-tooling .project-visual__chip,.project-detail__cover:is(:hover,:active) .project-visual__motif-tooling .project-visual__chip{animation:pvChipBlink 1.5s ease-in-out infinite}.project-visual__motif-tooling .project-visual__chip-b{animation-delay:.18s}.project-visual__motif-tooling .project-visual__chip-c{animation-delay:.36s}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-tooling .project-visual__spark,.project-detail__cover:is(:hover,:active) .project-visual__motif-tooling .project-visual__spark{animation:pvSparkTwist 1.8s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-reaction .project-visual__reaction-line,.project-detail__cover:is(:hover,:active) .project-visual__motif-reaction .project-visual__reaction-line{stroke-dasharray:42 20;animation:pvDashFlow .9s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-reaction .project-visual__reaction-arrow,.project-detail__cover:is(:hover,:active) .project-visual__motif-reaction .project-visual__reaction-arrow{animation:pvArrowPush 1.15s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-reaction .project-visual__reactant-a,.project-detail__cover:is(:hover,:active) .project-visual__motif-reaction .project-visual__reactant-a{animation:pvReactantA 1.4s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-reaction .project-visual__reactant-b,.project-detail__cover:is(:hover,:active) .project-visual__motif-reaction .project-visual__reactant-b{animation:pvReactantB 1.4s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-reaction .project-visual__product,.project-detail__cover:is(:hover,:active) .project-visual__motif-reaction .project-visual__product{animation:pvProductPulse 1.4s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-porous .project-visual__pore-shell,.project-detail__cover:is(:hover,:active) .project-visual__motif-porous .project-visual__pore-shell{animation:pvPoreWobble 2.4s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-porous .project-visual__pore,.project-detail__cover:is(:hover,:active) .project-visual__motif-porous .project-visual__pore{animation:pvPoreBreath 2s ease-in-out infinite}.project-visual__motif-porous .project-visual__pore-b{animation-delay:.2s}.project-visual__motif-porous .project-visual__pore-c{animation-delay:.4s}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-porous .project-visual__channel,.project-detail__cover:is(:hover,:active) .project-visual__motif-porous .project-visual__channel{stroke-dasharray:36 18;animation:pvDashFlow 1.25s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-lattice .project-visual__lattice-grid,.project-detail__cover:is(:hover,:active) .project-visual__motif-lattice .project-visual__lattice-grid{animation:pvGridWave 1.9s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-lattice .project-visual__lattice-flow,.project-detail__cover:is(:hover,:active) .project-visual__motif-lattice .project-visual__lattice-flow{stroke-dasharray:34 18;animation:pvDashFlow .95s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-lattice .project-visual__lattice-node,.project-detail__cover:is(:hover,:active) .project-visual__motif-lattice .project-visual__lattice-node{animation:pvLatticeNode 1.5s ease-in-out infinite}.project-visual__motif-lattice .project-visual__lattice-node-b{animation-delay:.12s}.project-visual__motif-lattice .project-visual__lattice-node-c{animation-delay:.24s}.project-visual__motif-lattice .project-visual__lattice-node-d{animation-delay:.36s}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-network .project-visual__network-link,.project-detail__cover:is(:hover,:active) .project-visual__motif-network .project-visual__network-link{stroke-dasharray:26 18 8 18;animation:pvDashFlow 1.05s linear infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-network .project-visual__network-node,.project-detail__cover:is(:hover,:active) .project-visual__motif-network .project-visual__network-node{animation:pvNetworkPing 1.6s ease-in-out infinite}.project-visual__motif-network .project-visual__network-node-b{animation-delay:.12s}.project-visual__motif-network .project-visual__network-node-c{animation-delay:.24s}.project-visual__motif-network .project-visual__network-node-d{animation-delay:.36s}.project-visual__motif-network .project-visual__network-node-e{animation-delay:.48s}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-coding .project-visual__code-window,.project-detail__cover:is(:hover,:active) .project-visual__motif-coding .project-visual__code-window{animation:pvPanelLift 1.3s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-coding .project-visual__bracket-left,.project-detail__cover:is(:hover,:active) .project-visual__motif-coding .project-visual__bracket-left{animation:pvBracketLeft 1.1s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-coding .project-visual__bracket-right,.project-detail__cover:is(:hover,:active) .project-visual__motif-coding .project-visual__bracket-right{animation:pvBracketRight 1.1s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-coding .project-visual__slash,.project-detail__cover:is(:hover,:active) .project-visual__motif-coding .project-visual__slash{animation:pvSlashCut 1.1s ease-in-out infinite}.project-card:is(:hover,:focus-visible,:active) .project-visual__motif-default,.project-detail__cover:is(:hover,:active) .project-visual__motif-default{animation:pvNodePulse 1.5s ease-in-out infinite}@keyframes pvPatternDrift{0%{transform:translateZ(0)}to{transform:translate3d(28px,18px,0)}}@keyframes pvOrbPulse{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}@keyframes pvOrbRotate{to{transform:rotate(360deg)}}@keyframes pvLabelLift{0%{opacity:.72;transform:translateY(0)}to{opacity:1;transform:translateY(-4px)}}@keyframes pvDashFlow{to{stroke-dashoffset:-96}}@keyframes pvNodePulse{0%,to{transform:scale(1)}50%{transform:scale(1.13)}}@keyframes pvPanelLift{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pvChipBlink{0%,to{opacity:.52;transform:scale(.92)}50%{opacity:1;transform:scale(1.2)}}@keyframes pvSparkTwist{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(18deg) scale(1.12)}}@keyframes pvArrowPush{0%,to{transform:translate(0)}50%{transform:translate(16px)}}@keyframes pvReactantA{0%,to{transform:translate(0) scale(1)}50%{transform:translate(12px,10px) scale(.94)}}@keyframes pvReactantB{0%,to{transform:translate(0) scale(1)}50%{transform:translate(12px,-10px) scale(.94)}}@keyframes pvProductPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.16);opacity:1}}@keyframes pvPoreWobble{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-1.8deg) scale(1.03)}}@keyframes pvPoreBreath{0%,to{transform:scale(1)}50%{transform:scale(.86)}}@keyframes pvGridWave{0%,to{transform:translateY(0);opacity:.72}50%{transform:translateY(-7px);opacity:1}}@keyframes pvLatticeNode{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}@keyframes pvNetworkPing{0%,to{transform:scale(1);opacity:.82}50%{transform:scale(1.22);opacity:1}}@keyframes pvBracketLeft{0%,to{transform:translate(0)}50%{transform:translate(-14px)}}@keyframes pvBracketRight{0%,to{transform:translate(0)}50%{transform:translate(14px)}}@keyframes pvSlashCut{0%,to{transform:rotate(0) scaleY(1)}50%{transform:rotate(4deg) scaleY(1.08)}}@media(prefers-reduced-motion:reduce){.project-visual,.project-visual *,.project-card:is(:hover,:focus-visible,:active) .project-visual,.project-detail__cover:is(:hover,:active) .project-visual{animation:none!important;transition:none!important;transform:none!important}}.project-card__chrome{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;flex:1;width:100%;padding:18px 20px 20px;gap:24px}.project-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card__eyebrow{font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklch,var(--p-accent) 65%,var(--text-muted));font-weight:700}.project-card__status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em;background:color-mix(in oklch,var(--bg-card) 65%,transparent);border:1px solid color-mix(in oklch,var(--p-accent) 28%,var(--border));color:var(--text-muted);backdrop-filter:blur(6px)}.project-card__status-dot{width:7px;height:7px;border-radius:50%;background:var(--p-accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--p-accent) 18%,transparent)}.project-card__status.status-paused .project-card__status-dot,.project-card__status.status-archived .project-card__status-dot{background:var(--text-faint);box-shadow:none}.project-card__status.status-experimental .project-card__status-dot{animation:pulse 2.4s ease-in-out infinite}.project-card__bottom{display:flex;flex-direction:column;gap:10px}.project-card__title{margin:0;font-family:"DM Serif Display",serif;font-weight:400;letter-spacing:-.02em;font-size:clamp(1.25rem,1.7vw,1.6rem);line-height:1.15;color:var(--text)}.project-card__summary{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.68;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card:focus-visible{outline:2px solid var(--p-accent);outline-offset:3px}@media(max-width:820px){.project-grid{gap:16px}.projects-header{border-radius:22px}.project-card{min-height:410px}}@media(max-width:520px){.project-card{min-height:390px}.project-card__top{align-items:flex-start;flex-direction:column}.project-card__media{aspect-ratio:16 / 11.5}}.project-detail{--p-accent: var(--accent);--p-accent-soft: var(--accent-soft);padding-top:16px;padding-bottom:80px}.project-detail.is-accent-orange{--p-accent: var(--accent);--p-accent-soft: var(--accent-soft)}.project-detail.is-accent-teal{--p-accent: var(--accent-teal);--p-accent-soft: var(--accent-teal-soft)}.project-detail.is-accent-purple{--p-accent: var(--accent-purple);--p-accent-soft: var(--accent-purple-soft)}.project-detail.is-accent-green{--p-accent: var(--green);--p-accent-soft: var(--green-soft)}.project-detail.is-accent-yellow{--p-accent: var(--yellow);--p-accent-soft: var(--yellow-soft)}.project-detail.is-accent-red{--p-accent: var(--red);--p-accent-soft: var(--red-soft)}.project-detail.is-accent-blue{--p-accent: var(--blue);--p-accent-soft: var(--blue-soft)}.project-detail__back{display:inline-block;margin:8px 0 18px;font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:color .16s ease}.project-detail__back:hover{color:var(--p-accent)}.project-detail__hero{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:stretch;margin-bottom:48px}.project-detail__cover{position:relative;border-radius:24px;overflow:hidden;isolation:isolate;aspect-ratio:16 / 11;border:1px solid var(--border-light);background:radial-gradient(120% 80% at 100% 0%,color-mix(in oklch,var(--p-accent) 42%,transparent),transparent 60%),linear-gradient(150deg,color-mix(in oklch,var(--p-accent) 22%,var(--bg-card)) 0%,color-mix(in oklch,var(--p-accent) 6%,var(--bg-card)) 60%,var(--bg-card) 100%);box-shadow:var(--shadow-md)}.project-detail__cover .project-visual{height:100%}.project-detail__cover:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px color-mix(in oklch,white 28%,transparent);pointer-events:none}.project-detail__heading{display:flex;flex-direction:column;justify-content:center;gap:18px}.project-detail__title{margin:0;font-family:"DM Serif Display",serif;font-weight:400;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.03em;color:var(--text)}.project-detail__summary{margin:0;color:var(--text-muted);font-size:1.02rem;line-height:1.85;max-width:56ch}.project-detail__body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(24px,4vw,56px);align-items:start}.project-detail__content{min-width:0;color:var(--text);line-height:1.85}.project-detail__content h2{margin:28px 0 12px;font-family:"DM Serif Display",serif;font-weight:400;font-size:1.55rem;letter-spacing:-.02em}.project-detail__content h3{margin:22px 0 10px;font-size:1.18rem}.project-detail__content p{margin:0 0 14px;color:var(--text)}.project-detail__content ul,.project-detail__content ol{margin:0 0 16px;padding-left:22px;color:var(--text)}.project-detail__content li{margin-bottom:6px}.project-detail__content blockquote{margin:18px 0;padding:14px 18px;border-left:3px solid color-mix(in oklch,var(--p-accent) 50%,var(--border));background:color-mix(in oklch,var(--p-accent) 5%,var(--bg-soft));border-radius:0 12px 12px 0;color:var(--text-muted);font-style:italic}.project-detail__content code{font-family:JetBrains Mono,monospace;font-size:.88em;padding:1px 6px;border-radius:6px;background:var(--bg-soft);border:1px solid var(--border-light)}.project-detail__content a{color:var(--p-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.project-detail__meta{position:sticky;top:24px;display:flex;flex-direction:column;gap:22px;padding:22px;border:1px solid var(--border-light);border-radius:18px;background:var(--bg-card);box-shadow:var(--shadow-sm)}.project-detail__meta-block{display:flex;flex-direction:column;gap:8px}.project-detail__meta-block strong{font-family:DM Sans,sans-serif;font-weight:600;color:var(--text)}.project-detail__meta-faint{font-size:.84rem;color:var(--text-muted)}.project-detail__tags{display:flex;flex-wrap:wrap;gap:6px}.project-detail__tag{font-family:JetBrains Mono,monospace;font-size:.72rem;padding:3px 9px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border-light);color:var(--text-muted)}.project-detail__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.project-detail__links a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-light);background:var(--bg-soft);color:var(--text);text-decoration:none;font-size:.88rem;transition:.16s ease}.project-detail__links a:hover{border-color:color-mix(in oklch,var(--p-accent) 35%,var(--border));color:var(--p-accent);transform:translateY(-1px)}.project-detail__link-type{font-family:JetBrains Mono,monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);flex-shrink:0}.project-detail__link-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:960px){.project-detail__hero{grid-template-columns:1fr}.project-detail__cover{aspect-ratio:16 / 10}.project-detail__body{grid-template-columns:1fr}.project-detail__meta{position:static}}
