:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh}main{display:block}img,svg,video,canvas{display:block;max-width:100%}img{height:auto}button,input,textarea,select{font:inherit}a{text-underline-offset:.14em}ul,ol{margin:0}p{margin:0}figure{margin:0}.main{width:100%;min-height:calc(100vh - 140px);margin:0 auto}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:.78rem}.breadcrumbs a{text-decoration:none}.breadcrumbs span[aria-hidden=true]{opacity:.5}.entry-cover{overflow:hidden;margin-top:22px;border-radius:18px}.entry-cover img{width:100%}.toc{margin-top:22px;padding:18px 20px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface-strong) 72%,transparent);box-shadow:var(--shadow-soft)}.toc summary{cursor:pointer;font-weight:700}.toc nav{margin-top:12px}.toc ul{padding-left:18px}.anchor{margin-left:.4rem;text-decoration:none;opacity:0;transition:opacity .2s ease}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{opacity:.45}.pagination,.paginav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.pagination a,.paginav a{text-decoration:none}.search-shell{margin-top:28px;padding:22px 24px;border:1px solid var(--border);border-radius:24px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent);box-shadow:var(--shadow-soft)}.search-shell p{line-height:1.7}@media(max-width:720px){.entry-cover,.toc,.search-shell{border-radius:16px}}:root{--gap:32px;--content-gap:24px;--header-height:72px;--main-width:1040px;--post-width:760px;--radius:16px;--radius-sm:10px;--font-body:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-reading:"Source Serif 4", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", "SF Mono", SFMono-Regular, ui-monospace, monospace;--theme:#edf1f4;--entry:rgba(255, 255, 255, 0.82);--surface-strong:rgba(255, 255, 255, 0.92);--surface-muted:rgba(255, 255, 255, 0.58);--primary:#17212c;--secondary:#617285;--tertiary:rgba(23, 33, 44, 0.08);--content:#415062;--border:rgba(23, 33, 44, 0.11);--code-bg:rgba(23, 33, 44, 0.08);--code-block-bg:#16212d;--accent:#e15b34;--accent-strong:#be4b29;--accent-cool:#15727e;--shadow-soft:0 10px 30px rgba(17, 27, 38, 0.08);--shadow-strong:0 20px 46px rgba(17, 27, 38, 0.12);--line-subtle:rgba(23, 33, 44, 0.08);--line-strong:rgba(23, 33, 44, 0.1);--body-background:linear-gradient(180deg, #edf1f4 0%, #f4efe8 100%);--body-overlay-primary:linear-gradient(135deg, rgba(21, 114, 126, 0.12), transparent 36%);--body-overlay-secondary:radial-gradient(circle at top right, rgba(225, 91, 52, 0.14), transparent 24%);--body-overlay-tertiary:radial-gradient(circle at 65% 12%, rgba(255, 255, 255, 0.65), transparent 22%);--grid-line:rgba(23, 33, 44, 0.05);--nav-background:linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(238, 243, 247, 0.92));--panel-background:linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.68));--card-background:linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.54));--chip-background:rgba(26, 39, 53, 0.06);--chip-background-quiet:rgba(26, 39, 53, 0.04);--hero-gradient:linear-gradient(135deg, #16212d 0%, #1f3445 58%, #214e64 100%);--hero-overlay:linear-gradient(140deg, rgba(255, 255, 255, 0.12), transparent 34%), radial-gradient(circle at top right, rgba(225, 91, 52, 0.24), transparent 24%);--hero-shadow:0 26px 52px rgba(16, 25, 36, 0.18);--hero-text-strong:#f7f4ef;--hero-text:rgba(247, 244, 239, 0.82);--hero-text-muted:rgba(247, 244, 239, 0.68);--hero-text-subtle:rgba(244, 238, 228, 0.62);--hero-eyebrow:rgba(244, 238, 228, 0.78);--hero-surface:rgba(255, 255, 255, 0.06);--hero-surface-border:rgba(255, 255, 255, 0.16);--hero-surface-border-strong:rgba(255, 255, 255, 0.14);--hero-rule:rgba(255, 255, 255, 0.12);--hero-accent-gradient:linear-gradient(135deg, #f2d1b8, #79d2d9);--heatmap-panel-border:rgba(255, 255, 255, 0.08);--heatmap-panel-background:linear-gradient(180deg, rgba(7, 14, 22, 0.24), rgba(255, 255, 255, 0.03)), radial-gradient(circle at top right, rgba(124, 242, 154, 0.08), transparent 34%);--heatmap-empty:rgba(255, 255, 255, 0.05);--heatmap-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.06);--commit-panel-background:linear-gradient(180deg, rgba(18, 28, 39, 0.94), rgba(24, 37, 50, 0.9)), radial-gradient(circle at top right, rgba(126, 208, 243, 0.14), transparent 30%);--commit-panel-overlay:linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent 22%), radial-gradient(circle at top left, rgba(207, 107, 54, 0.14), transparent 28%);--commit-panel-shadow:0 22px 46px rgba(11, 18, 26, 0.18);--commit-line:rgba(255, 255, 255, 0.08);--commit-track:linear-gradient(180deg, rgba(126, 208, 243, 0.66), rgba(255, 255, 255, 0.06));--commit-chip-background:rgba(255, 255, 255, 0.08);--commit-chip-text:#f5f8fb;--commit-hash-background:rgba(126, 208, 243, 0.14);--commit-hash-text:#c3eeff;--commit-meta:rgba(232, 240, 248, 0.6);--commit-meta-quiet:rgba(232, 240, 248, 0.44);--demo-background:linear-gradient(180deg, color-mix(in srgb, var(--entry) 92%, white) 0%, var(--theme) 100%);--demo-frame-background:#ffffff;--demo-frame-inset:rgba(15, 23, 42, 0.08);--chat-launcher-background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 92%, white), color-mix(in srgb, var(--theme) 78%, white)),
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent-cool) 12%, transparent), transparent 36%);--chat-launcher-background-hover:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 96%, white), color-mix(in srgb, var(--theme) 84%, white)),
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent-cool) 16%, transparent), transparent 36%);--chat-launcher-border:color-mix(in srgb, var(--accent-cool) 12%, var(--border));--chat-launcher-border-hover:color-mix(in srgb, var(--accent-cool) 24%, var(--border));--chat-launcher-text:var(--primary);--chat-launcher-placeholder:color-mix(in srgb, var(--secondary) 90%, var(--primary));--chat-launcher-icon-background:color-mix(in srgb, var(--accent-cool) 12%, white);--chat-launcher-icon-color:color-mix(in srgb, var(--accent-cool) 84%, var(--primary));--chat-launcher-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.54),
    0 10px 24px rgba(11, 16, 22, 0.08);--chat-launcher-shadow-hover:inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 14px 28px rgba(11, 16, 22, 0.12);--chat-backdrop:rgba(14, 22, 31, 0.42);--chat-shell-background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 94%, white), color-mix(in srgb, var(--theme) 82%, white));--chat-shell-overlay:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-cool) 10%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.32), transparent 16%);--chat-shell-border:color-mix(in srgb, var(--accent-cool) 10%, var(--border));--chat-shell-shadow:0 28px 80px rgba(5, 11, 16, 0.18),
    0 2px 0 rgba(255, 255, 255, 0.52) inset;--chat-header-background:color-mix(in srgb, var(--surface-strong) 92%, white);--chat-stream-background:color-mix(in srgb, var(--surface-strong) 96%, white);--chat-section-border:color-mix(in srgb, var(--border) 96%, transparent);--chat-control-background:color-mix(in srgb, var(--surface-strong) 96%, white);--chat-control-background-muted:color-mix(in srgb, var(--theme) 34%, white);--chat-control-border:color-mix(in srgb, var(--border) 96%, transparent);--chat-control-border-strong:color-mix(in srgb, var(--accent-cool) 28%, var(--border));--chat-control-shadow:0 1px 2px rgba(17, 24, 32, 0.04);--chat-focus-outline:color-mix(in srgb, var(--accent-cool) 58%, white);--chat-focus-glow:0 0 0 4px color-mix(in srgb, var(--accent-cool) 18%, transparent);--chat-text:var(--primary);--chat-text-muted:var(--secondary);--chat-text-subtle:color-mix(in srgb, var(--secondary) 88%, transparent);--chat-user-message-background:color-mix(in srgb, var(--theme) 42%, white);--chat-user-message-border:color-mix(in srgb, var(--accent-cool) 10%, var(--border));--chat-user-message-shadow:0 10px 26px rgba(17, 28, 38, 0.05);--chat-code-background:color-mix(in srgb, var(--accent-cool) 6%, var(--code-bg));--chat-code-block-background:color-mix(in srgb, var(--theme) 28%, white);--chat-code-block-border:color-mix(in srgb, var(--border) 96%, transparent);--chat-blockquote-border:color-mix(in srgb, var(--accent-cool) 12%, var(--border));--chat-link:var(--accent-cool);--chat-avatar-background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 94%, black), color-mix(in srgb, var(--accent-cool) 28%, var(--primary)));--chat-avatar-system-background:linear-gradient(135deg, color-mix(in srgb, var(--secondary) 84%, var(--primary)), color-mix(in srgb, var(--secondary) 92%, var(--theme)));--chat-avatar-color:color-mix(in srgb, var(--surface-strong) 96%, white);--chat-send-background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 94%, #31404e), color-mix(in srgb, var(--primary) 94%, black));--chat-send-border:color-mix(in srgb, var(--primary) 82%, black);--chat-send-shadow:0 12px 28px rgba(12, 20, 28, 0.14);--chat-send-color:color-mix(in srgb, var(--surface-strong) 94%, white)}:root[data-theme=dark]{--theme:#0e1722;--entry:rgba(18, 28, 41, 0.84);--surface-strong:rgba(19, 30, 44, 0.92);--surface-muted:rgba(22, 34, 48, 0.74);--primary:#edf3f8;--secondary:#95a7ba;--tertiary:rgba(226, 236, 246, 0.08);--content:#c8d4df;--border:rgba(152, 173, 193, 0.16);--code-bg:rgba(189, 206, 223, 0.12);--code-block-bg:#09111a;--accent:#f19367;--accent-strong:#ffc09e;--accent-cool:#67c2cf;--shadow-soft:0 14px 34px rgba(0, 0, 0, 0.24);--shadow-strong:0 24px 52px rgba(0, 0, 0, 0.38);--line-subtle:rgba(226, 236, 246, 0.1);--line-strong:rgba(226, 236, 246, 0.12);--body-background:linear-gradient(180deg, #0e1722 0%, #0b121a 100%);--body-overlay-primary:linear-gradient(135deg, rgba(103, 194, 207, 0.14), transparent 36%);--body-overlay-secondary:radial-gradient(circle at top right, rgba(241, 147, 103, 0.16), transparent 24%);--body-overlay-tertiary:radial-gradient(circle at 65% 12%, rgba(255, 255, 255, 0.04), transparent 22%);--grid-line:rgba(236, 243, 249, 0.04);--nav-background:linear-gradient(180deg, rgba(17, 27, 40, 0.96), rgba(12, 20, 31, 0.92));--panel-background:linear-gradient(180deg, rgba(19, 29, 42, 0.84), rgba(12, 19, 30, 0.72));--card-background:linear-gradient(180deg, rgba(18, 28, 41, 0.82), rgba(12, 20, 31, 0.7));--chip-background:rgba(170, 194, 217, 0.08);--chip-background-quiet:rgba(170, 194, 217, 0.05);--hero-gradient:linear-gradient(135deg, #122030 0%, #183247 56%, #1d4d63 100%);--hero-overlay:linear-gradient(140deg, rgba(255, 255, 255, 0.06), transparent 34%), radial-gradient(circle at top right, rgba(241, 147, 103, 0.18), transparent 24%);--hero-shadow:0 24px 50px rgba(0, 0, 0, 0.34);--hero-text-strong:#f4f1eb;--hero-text:rgba(244, 241, 235, 0.84);--hero-text-muted:rgba(223, 232, 241, 0.68);--hero-text-subtle:rgba(223, 232, 241, 0.6);--hero-eyebrow:rgba(223, 232, 241, 0.78);--hero-surface:rgba(255, 255, 255, 0.05);--hero-surface-border:rgba(255, 255, 255, 0.14);--hero-surface-border-strong:rgba(255, 255, 255, 0.12);--hero-rule:rgba(255, 255, 255, 0.08);--hero-accent-gradient:linear-gradient(135deg, #ffd0b1, #79d2d9);--heatmap-panel-border:rgba(255, 255, 255, 0.08);--heatmap-panel-background:linear-gradient(180deg, rgba(5, 10, 16, 0.26), rgba(255, 255, 255, 0.02)), radial-gradient(circle at top right, rgba(103, 194, 207, 0.08), transparent 34%);--heatmap-empty:rgba(255, 255, 255, 0.05);--heatmap-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.05);--commit-panel-background:linear-gradient(180deg, rgba(9, 17, 26, 0.94), rgba(14, 24, 37, 0.92)), radial-gradient(circle at top right, rgba(103, 194, 207, 0.16), transparent 30%);--commit-panel-overlay:linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent 22%), radial-gradient(circle at top left, rgba(241, 147, 103, 0.14), transparent 28%);--commit-panel-shadow:0 22px 46px rgba(0, 0, 0, 0.28);--commit-line:rgba(255, 255, 255, 0.08);--commit-track:linear-gradient(180deg, rgba(103, 194, 207, 0.66), rgba(255, 255, 255, 0.06));--commit-chip-background:rgba(255, 255, 255, 0.08);--commit-chip-text:#f5f8fb;--commit-hash-background:rgba(103, 194, 207, 0.14);--commit-hash-text:#c5f1ff;--commit-meta:rgba(223, 232, 241, 0.62);--commit-meta-quiet:rgba(223, 232, 241, 0.46);--demo-background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 88%, transparent) 0%, color-mix(in srgb, var(--theme) 92%, transparent) 100%);--demo-frame-background:#0c1520;--demo-frame-inset:rgba(214, 228, 241, 0.1);--chat-launcher-background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 86%, #101822), color-mix(in srgb, var(--theme) 92%, #09111a)),
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent-cool) 16%, transparent), transparent 34%);--chat-launcher-background-hover:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 90%, #121b25), color-mix(in srgb, var(--theme) 88%, #0b121a)),
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent-cool) 20%, transparent), transparent 34%);--chat-launcher-border:color-mix(in srgb, var(--accent-cool) 18%, var(--border));--chat-launcher-border-hover:color-mix(in srgb, var(--accent-cool) 32%, var(--border));--chat-launcher-text:color-mix(in srgb, var(--primary) 96%, white);--chat-launcher-placeholder:color-mix(in srgb, var(--secondary) 82%, var(--primary));--chat-launcher-icon-background:color-mix(in srgb, var(--chip-background) 90%, transparent);--chat-launcher-icon-color:color-mix(in srgb, var(--primary) 96%, white);--chat-launcher-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 10px 24px rgba(0, 0, 0, 0.22);--chat-launcher-shadow-hover:inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 14px 28px rgba(0, 0, 0, 0.28);--chat-backdrop:rgba(4, 8, 12, 0.68);--chat-shell-background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 92%, #101821), color-mix(in srgb, var(--theme) 90%, #081018));--chat-shell-overlay:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-cool) 14%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 16%);--chat-shell-border:color-mix(in srgb, var(--accent-cool) 14%, var(--border));--chat-shell-shadow:0 28px 80px rgba(0, 0, 0, 0.4),
    0 2px 0 rgba(255, 255, 255, 0.06) inset;--chat-header-background:color-mix(in srgb, var(--surface-strong) 96%, #0e1722);--chat-stream-background:color-mix(in srgb, var(--theme) 92%, #09111a);--chat-section-border:color-mix(in srgb, var(--border) 92%, transparent);--chat-control-background:color-mix(in srgb, var(--surface-strong) 96%, #0f1720);--chat-control-background-muted:color-mix(in srgb, var(--theme) 82%, var(--surface-strong));--chat-control-border:color-mix(in srgb, var(--border) 96%, transparent);--chat-control-border-strong:color-mix(in srgb, var(--accent-cool) 32%, var(--border));--chat-control-shadow:0 1px 2px rgba(0, 0, 0, 0.22);--chat-focus-outline:color-mix(in srgb, var(--accent-cool) 64%, white);--chat-focus-glow:0 0 0 4px color-mix(in srgb, var(--accent-cool) 22%, transparent);--chat-text:var(--primary);--chat-text-muted:var(--secondary);--chat-text-subtle:color-mix(in srgb, var(--secondary) 84%, transparent);--chat-user-message-background:color-mix(in srgb, var(--surface-strong) 82%, var(--theme));--chat-user-message-border:color-mix(in srgb, var(--accent-cool) 14%, var(--border));--chat-user-message-shadow:0 10px 26px rgba(0, 0, 0, 0.2);--chat-code-background:color-mix(in srgb, var(--accent-cool) 8%, var(--code-bg));--chat-code-block-background:color-mix(in srgb, var(--theme) 82%, var(--surface-strong));--chat-code-block-border:color-mix(in srgb, var(--border) 92%, transparent);--chat-blockquote-border:color-mix(in srgb, var(--accent-cool) 18%, var(--border));--chat-link:color-mix(in srgb, var(--accent-cool) 88%, white);--chat-avatar-background:linear-gradient(135deg, color-mix(in srgb, var(--accent-cool) 18%, #0a1118), color-mix(in srgb, var(--primary) 28%, #101821));--chat-avatar-system-background:linear-gradient(135deg, color-mix(in srgb, var(--secondary) 54%, #0f1822), color-mix(in srgb, var(--secondary) 30%, #243342));--chat-avatar-color:color-mix(in srgb, var(--primary) 96%, white);--chat-send-background:linear-gradient(180deg, color-mix(in srgb, var(--accent-cool) 18%, #1a2430), #0f1620);--chat-send-border:color-mix(in srgb, var(--accent-cool) 18%, #1c2632);--chat-send-shadow:0 12px 28px rgba(0, 0, 0, 0.26);--chat-send-color:#fff}html{scroll-behavior:smooth}body{position:relative;font-family:var(--font-body);font-size:16px;letter-spacing:-.01em;background:var(--theme);color:var(--content);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body::before,body::after{content:"";position:fixed;inset:0;pointer-events:none}body::before{z-index:0;background:radial-gradient(circle at top left,rgba(207,107,54,.18),transparent 34%),radial-gradient(circle at 78% 18%,rgba(15,109,156,.16),transparent 28%),radial-gradient(circle at bottom right,rgba(255,255,255,.26),transparent 36%)}body::after{z-index:0;opacity:.26;background-image:linear-gradient(rgba(31,39,52,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(31,39,52,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at center,rgba(0,0,0,.42),transparent 80%)}.header,.main,.footer{position:relative;z-index:1}a{color:inherit}.main{max-width:min(var(--main-width),calc(100vw - 24px));padding:clamp(20px,3vw,36px)}.header{position:sticky;top:0;z-index:30}.nav{gap:18px;justify-content:flex-start;align-items:center;isolation:isolate;margin-top:12px;max-width:min(1030px,calc(100vw - 40px));padding:10px 14px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface-strong) 88%,transparent);box-shadow:var(--shadow-soft);line-height:normal;backdrop-filter:blur(20px)saturate(160%);-webkit-backdrop-filter:blur(20px)saturate(160%)}.logo,#menu{margin:0}.logo{flex:none}.logo a{font-family:var(--font-display);font-size:1.18rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--primary)}#menu{margin-left:auto;gap:4px;padding:3px;border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface-muted) 92%,transparent)}#menu li+li{margin-inline-start:0}#menu a{display:flex;align-items:center;padding:0;color:inherit;transition:color .2s ease,transform .2s ease}#menu a span{display:inline-flex;align-items:center;justify-content:center;position:relative;min-height:34px;padding:0 15px;border-radius:11px;color:var(--secondary);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}#menu a:hover span,#menu a span.active{background:var(--primary);color:var(--surface-strong);border-bottom:0;box-shadow:none}@media(min-width:541px){#menu a span{min-width:96px}}#menu .active{border-bottom:0;font-weight:inherit}#menu a:hover span{transform:translateY(-1px)}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--accent) 92%,white);color:#fffaf4;box-shadow:0 8px 20px rgba(207,107,54,.16);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.buttons .button+.button{background:color-mix(in srgb,var(--surface-strong) 88%,transparent);color:var(--primary);border-color:var(--border);box-shadow:none}.button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(207,107,54,.24)}.buttons .button+.button:hover{box-shadow:var(--shadow-soft)}.button-inner{display:inline-flex;align-items:center;gap:8px}.social-icons a{margin-top:18px;padding:10px;border-radius:999px;color:var(--secondary);background:var(--surface-muted);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);transition:transform .2s ease,color .2s ease,border-color .2s ease}.social-icons a:hover{transform:translateY(-2px);color:var(--primary);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.reveal{animation:rise-in .65s cubic-bezier(.22,1,.36,1)both}.reveal--late{animation-delay:.12s}.reveal--latest{animation-delay:.18s}@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.home-hero{display:grid;grid-template-columns:minmax(0,1.12fr)minmax(320px,.88fr);gap:24px;margin-top:28px;align-items:stretch}.home-hero__content,.home-section,.page-header,.post-shell,.post-footer{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,var(--surface-strong) 84%,transparent);box-shadow:var(--shadow-soft)}.home-hero__content{padding:clamp(30px,4vw,52px)}.home-hero__content::before,.home-section::before,.page-header::before,.post-shell::before,.post-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(207,107,54,9%),transparent 30%),radial-gradient(circle at bottom left,rgba(15,109,156,8%),transparent 26%);pointer-events:none}.home-eyebrow,.section-heading__eyebrow,.page-header__eyebrow,.home-feature__label,.post-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--secondary);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.home-eyebrow::before,.section-heading__eyebrow::before,.page-header__eyebrow::before,.home-feature__label::before,.post-hero__eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-cool))}.home-hero__title{margin:14px 0 18px;max-width:8ch;font-family:var(--font-display);font-size:clamp(3.2rem,7vw,5.7rem);font-weight:700;line-height:.92;letter-spacing:-.058em;color:var(--primary);text-wrap:balance}.home-hero__lede{position:relative;z-index:1;max-width:40rem;margin:0;font-size:1.08rem;line-height:1.82;color:var(--content)}.home-hero .social-icons{margin-top:18px}.home-hero__notes{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}.home-note{padding:16px 18px 18px;border-radius:20px;background:var(--surface-muted);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.home-note span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}.home-note p{margin:10px 0 0;font-size:.94rem;line-height:1.65;color:var(--primary)}.home-hero__feature{display:flex;flex-direction:column;gap:12px}.home-timeline{position:relative;overflow:hidden;height:100%;padding:30px 30px 32px;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,var(--surface-strong) 84%,transparent);box-shadow:var(--shadow-soft)}.home-timeline::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(207,107,54,9%),transparent 30%),radial-gradient(circle at bottom left,rgba(15,109,156,8%),transparent 26%);pointer-events:none}.home-timeline__title,.project-card__title,.focus-card h3{font-family:var(--font-display);letter-spacing:-.045em;color:var(--primary)}.home-timeline__title{position:relative;z-index:1;margin:10px 0 22px;max-width:12ch;font-size:clamp(2rem,4vw,2.8rem);line-height:.98;text-wrap:balance}.home-timeline__items{position:relative;z-index:1;display:grid;gap:14px}.home-timeline__item{position:relative;padding:16px 18px 18px 24px;border-radius:22px;background:color-mix(in srgb,var(--surface-muted) 92%,transparent);border:1px solid color-mix(in srgb,var(--border) 82%,transparent)}.home-timeline__item::before{content:"";position:absolute;top:16px;bottom:16px;left:12px;width:2px;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-cool));opacity:.72}.home-timeline__date{margin:0;color:var(--secondary);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.home-timeline__item h3{margin:8px 0;font-family:var(--font-display);font-size:1.38rem;line-height:1;letter-spacing:-.04em;color:var(--primary)}.home-timeline__item p:last-child{margin:0;font-size:.94rem;line-height:1.64;color:var(--content)}.home-timeline__link{margin-top:18px}.home-hero__feature .magazine-card{height:100%}.home-section{margin-top:26px;padding:30px 32px 34px}.section-heading{position:relative;z-index:1;margin-bottom:22px}.section-heading--split{display:flex;align-items:end;justify-content:space-between;gap:18px}.section-heading h2,.page-header h1{margin:10px 0 0;font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.048em;color:var(--primary);text-wrap:balance}.section-heading h2{max-width:14ch;font-size:clamp(2rem,4vw,2.9rem)}.section-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}.section-link::after{content:"->"}.project-grid,.focus-grid{position:relative;z-index:1;display:grid;gap:18px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{position:relative;overflow:hidden;display:grid;border:1px solid var(--border);border-radius:28px;background:color-mix(in srgb,var(--surface-strong) 88%,transparent);box-shadow:var(--shadow-soft);transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,border-color .32s ease}.project-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:var(--shadow-strong)}.project-card--featured{grid-column:1/-1;grid-template-columns:minmax(0,.92fr)minmax(0,1.08fr)}.project-card__visual{position:relative;min-height:200px;padding:22px 22px 24px;color:#fffaf4}.project-card__visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.26),transparent 32%),linear-gradient(180deg,rgba(12,18,27,8%),rgba(12,18,27,.56))}.project-card__meta,.project-card__title,.project-card__icon{position:relative;z-index:1}.project-card__meta{display:flex;flex-wrap:wrap;gap:8px 10px;color:rgba(255,250,244,.84);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.project-card__status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}.project-card__icon{position:absolute;right:22px;bottom:22px;color:rgba(255,248,240,.72)}.project-card__title{margin:74px 0 0;max-width:11ch;color:#fffaf4;font-size:clamp(1.9rem,3vw,2.7rem);line-height:.94;text-wrap:balance}.project-card__body{display:grid;align-content:start;gap:15px;padding:22px 24px 24px}.project-card__summary,.project-card__impact,.focus-card p{margin:0;line-height:1.68}.project-card__summary{color:var(--primary);font-size:1rem}.project-card__impact{color:var(--content);font-size:.94rem}.project-card__stack{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.project-card__stack li{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--tertiary);color:var(--secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.project-card__links{display:flex;flex-wrap:wrap;gap:10px}.project-card__links a{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}.project-card__links a::after{content:"->"}.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-card{padding:22px 22px 24px;border-radius:24px;background:color-mix(in srgb,var(--surface-strong) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 82%,transparent)}.focus-card h3{margin:0 0 10px;font-size:1.45rem;line-height:1}.topic-cloud{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.topic-chip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:20px;text-decoration:none;background:color-mix(in srgb,var(--surface-strong) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 82%,transparent);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.topic-chip:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 34%,var(--border));box-shadow:var(--shadow-soft)}.topic-chip span{color:var(--primary);font-size:1rem;font-weight:700;letter-spacing:-.02em}.topic-chip strong{font-family:var(--font-mono);font-size:.76rem;font-weight:500;color:var(--secondary)}.page-header{display:grid;gap:6px;margin:20px 0 18px;padding:22px 28px 24px}.page-header h1{display:flex;align-items:end;gap:10px;flex-wrap:wrap;font-size:clamp(2.2rem,5vw,3.4rem)}.page-header h1 svg{flex:none;width:.84em;height:.84em}.page-header__intro,.post-description{position:relative;z-index:1;max-width:38rem;margin:8px 0 0;font-size:.98rem;line-height:1.72;color:var(--content)}.post-content>.anchor{box-shadow:none}.magazine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.magazine-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:color-mix(in srgb,var(--surface-strong) 88%,transparent);box-shadow:var(--shadow-soft);transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,border-color .32s ease;animation:rise-in .6s cubic-bezier(.22,1,.36,1)both}.magazine-card:nth-child(2){animation-delay:.06s}.magazine-card:nth-child(3){animation-delay:.12s}.magazine-card:nth-child(4){animation-delay:.18s}.magazine-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:var(--shadow-strong)}.magazine-card--featured{grid-column:1/-1}.magazine-card__link{display:block;height:100%;color:inherit;text-decoration:none}.magazine-card__visual{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:188px;padding:22px}.magazine-card__visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.26),transparent 34%),linear-gradient(180deg,rgba(12,18,27,6%),rgba(12,18,27,.42))}.magazine-card__visual::after{content:"";position:absolute;inset:16px;border:1px solid var(--hero-surface-border-strong);border-radius:22px}.magazine-card__icon{position:absolute;top:24px;right:24px;z-index:2;color:var(--hero-text-muted)}.magazine-card__pullquote{position:relative;z-index:2;max-width:12ch;margin:0;font-family:var(--font-display);font-size:1.05rem;line-height:1.08;letter-spacing:-.04em;color:var(--hero-text-strong);text-wrap:balance}.magazine-card__body{position:relative;z-index:1;padding:18px 22px 20px}.magazine-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.magazine-card__tag{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--tertiary);color:var(--secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.magazine-card__title{margin:0 0 10px;font-family:var(--font-display);font-size:clamp(1.32rem,2.3vw,1.74rem);font-weight:700;line-height:.98;letter-spacing:-.05em;color:var(--primary);text-wrap:balance}.main>.magazine-grid .magazine-card--featured .magazine-card__visual{min-height:228px}.home-hero__feature .magazine-card--featured .magazine-card__visual{min-height:268px}.magazine-card--featured .magazine-card__title{max-width:15ch;font-size:clamp(1.7rem,3vw,2.18rem)}.magazine-card--featured .magazine-card__pullquote{max-width:16ch;font-size:1.22rem}.magazine-card__summary{margin:0 0 14px;font-size:.94rem;line-height:1.64;color:var(--content);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.magazine-card__meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--secondary);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.magazine-card__meta span{display:inline-flex;align-items:center;gap:8px}.magazine-card__meta span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:color-mix(in srgb,var(--secondary) 55%,transparent)}.post-entry{border:1px solid var(--border);border-radius:22px;background:color-mix(in srgb,var(--surface-strong) 86%,transparent);box-shadow:var(--shadow-soft)}#searchInput{width:100%;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 84%,transparent);padding:14px 20px;font-family:var(--font-body);font-size:1rem;color:var(--primary);box-shadow:var(--shadow-soft);transition:border-color .2s ease,box-shadow .2s ease}#searchInput:focus{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}#searchResults .post-entry{border-radius:22px}.pagination{margin-top:22px;gap:12px}.pagination a{border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 86%,transparent);color:var(--primary);box-shadow:var(--shadow-soft);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.post-single--editorial{margin-top:28px}.post-hero{position:relative;overflow:hidden;padding:clamp(30px,4vw,50px);border-radius:36px;background:var(--post-gradient);box-shadow:var(--shadow-strong);color:#fffaf4}.post-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.24),transparent 28%),linear-gradient(140deg,rgba(11,16,24,.14),rgba(11,16,24,.58))}.post-hero__rail,.post-hero__body,.post-hero__pullquote{position:relative;z-index:1}.post-hero__rail{display:flex;align-items:center;justify-content:space-between;gap:16px}.post-hero__back{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border-radius:14px;border:1px solid rgba(255,255,255,.18);color:rgba(255,250,244,.88);text-decoration:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.post-hero__back::before{content:none}.post-hero__back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.post-hero__icon{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;color:rgba(255,248,240,.82);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.post-hero__body{display:grid;gap:16px;margin-top:clamp(30px,4vw,52px);max-width:41rem}.post-hero__tags{display:flex;flex-wrap:wrap;gap:8px}.post-hero__tags a{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);color:rgba(255,250,244,.88);text-decoration:none;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.post-title{margin:0;font-family:var(--font-display);font-size:clamp(3rem,7vw,5.2rem);font-weight:700;line-height:.94;letter-spacing:-.058em;color:#fffaf4;text-wrap:balance}.post-hero__summary{max-width:37rem;margin:0;color:rgba(255,250,244,.84);font-size:1.08rem;line-height:1.82}.post-hero__meta,.post-hero__utility{color:rgba(255,250,244,.74)}.post-hero__meta,.post-hero__meta span{font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.post-hero__meta a,.post-hero__utility a{color:inherit}.post-hero__pullquote{max-width:25rem;margin:28px 0 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.12;letter-spacing:-.04em;color:#fff7ef}.post-shell{margin-top:24px;padding:clamp(26px,4vw,42px)}.post-meta,.breadcrumbs{color:var(--secondary)}.post-content{position:relative;z-index:1;margin:0;color:var(--content);font-size:1.04rem;line-height:1.92}.post-content h1,.post-content h2,.post-content h3,.post-content h4{color:var(--primary);font-family:var(--font-display);letter-spacing:-.045em}.post-content h1{margin-top:2.8em;margin-bottom:.7em;font-size:2.5rem;line-height:.98}.post-content h2{margin-top:2.4em;margin-bottom:.7em;font-size:2rem;line-height:1}.post-content h3{margin-top:2em;margin-bottom:.55em;font-size:1.55rem;line-height:1.08}.post-content h4{margin-top:1.8em;margin-bottom:.5em;font-size:1.2rem}.post-content p,.post-content ul,.post-content ol,.post-content figure,.post-content table{margin-bottom:1.45em}.post-content strong{color:var(--primary)}.post-content a{color:var(--accent-strong);text-decoration:none;box-shadow:inset 0 -1px color-mix(in srgb,var(--accent-strong) 40%,transparent);transition:color .2s ease,box-shadow .2s ease}.post-content a:hover{color:var(--accent-cool);box-shadow:inset 0 -1px color-mix(in srgb,var(--accent-cool) 55%,transparent)}.post-content ul,.post-content ol{padding-inline-start:1.2em}.post-content li{margin-top:.45em}.post-content blockquote{position:relative;margin:1.9em 0;padding:20px 24px 20px 72px;border:1px solid color-mix(in srgb,var(--accent-cool) 14%,var(--border));border-radius:24px;background:linear-gradient( 135deg,color-mix(in srgb,var(--surface-strong) 94%,transparent),color-mix(in srgb,var(--accent-cool) 10%,transparent) );box-shadow:0 18px 38px rgba(14,19,28,8%);overflow:hidden;color:var(--primary)}.post-content blockquote::before{content:"“";position:absolute;top:18px;left:20px;display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:color-mix(in srgb,var(--accent-cool) 14%,var(--surface-strong));color:var(--accent-cool);font-family:var(--font-display);font-size:1.7rem;font-weight:700;line-height:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-cool) 18%,transparent)}.post-content code{margin:0 3px;padding:4px 7px;border-radius:8px;background:var(--code-bg);font-family:var(--font-mono);font-size:.82em;letter-spacing:-.02em}.post-content pre{border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 28px rgba(14,19,28,.12);overflow-x:auto;padding:18px 20px}.post-content pre code{display:block;min-width:max-content;margin:0;padding:0;border-radius:0;background:0 0 !important;overflow:visible;white-space:pre;word-break:normal;overflow-wrap:normal}.highlight pre{border-radius:20px !important}.post-content hr{border:0;border-top:1px solid var(--border);margin:2.8em 0}.post-footer{margin-top:22px;padding:22px 24px 24px}.post-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.post-tags li{margin:0}.post-tags a{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 82%,transparent);color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}.paginav{position:relative;z-index:1;gap:14px;margin-top:22px}.paginav a{border-radius:24px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 82%,transparent);box-shadow:var(--shadow-soft);transition:transform .22s ease,border-color .22s ease}.paginav a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 34%,var(--border))}.footer{padding-top:26px;padding-bottom:12px;border-top:none;color:var(--secondary);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9}.footer a{color:var(--primary)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--secondary) 72%,transparent);border-radius:999px}::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}.top-link{z-index:25;right:22px;bottom:22px;width:44px;height:44px;border-radius:999px !important;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 82%,transparent);box-shadow:var(--shadow-soft);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.resume-home{display:grid;gap:18px;margin-top:28px}.resume-hero,.resume-panel{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb,var(--surface-strong) 90%,transparent);box-shadow:var(--shadow-soft)}.resume-hero::before,.resume-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(207,107,54,8%),transparent 28%),radial-gradient(circle at bottom left,rgba(15,109,156,7%),transparent 24%);pointer-events:none}.resume-hero{display:grid;grid-template-columns:minmax(0,1.35fr)minmax(280px,.9fr);gap:24px;padding:28px 30px}.resume-hero__main,.resume-hero__facts,.resume-panel>*{position:relative;z-index:1}.resume-hero__title{margin:12px 0 14px;max-width:10ch;font-family:var(--font-display);font-size:clamp(3rem,6vw,4.6rem);font-weight:700;line-height:.94;letter-spacing:-.055em;color:var(--primary);text-wrap:balance}.resume-hero__lede{max-width:41rem;margin:0;font-size:1.02rem;line-height:1.76;color:var(--content)}.resume-hero__actions{margin-top:20px}.resume-hero__facts{display:grid;gap:14px;align-content:start;padding-left:24px;border-left:1px solid color-mix(in srgb,var(--border) 88%,transparent)}.resume-fact{display:grid;gap:6px}.resume-fact span,.resume-project__meta span,.resume-writing__date,.resume-writing__cta,.resume-timeline__date,.resume-profile span{color:var(--secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.resume-fact p{margin:0;color:var(--primary);font-size:.95rem;line-height:1.6}.resume-home__grid{display:grid;grid-template-columns:minmax(0,1.55fr)minmax(280px,.92fr);gap:18px;align-items:start}.resume-home__main,.resume-home__rail{display:grid;gap:18px}.resume-home__rail{position:sticky;top:94px}.resume-panel{padding:22px 24px 24px}.resume-panel__header{margin-bottom:18px}.resume-panel__header--split{display:flex;align-items:end;justify-content:space-between;gap:16px}.resume-panel__header h2{margin:10px 0 0;max-width:17ch;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;line-height:.98;letter-spacing:-.045em;color:var(--primary);text-wrap:balance}.resume-projects,.resume-writing,.resume-timeline,.resume-focus,.resume-profiles{display:grid}.resume-project{display:grid;gap:12px;padding:18px 0 0;border-top:1px solid color-mix(in srgb,var(--border) 88%,transparent)}.resume-project:first-child,.resume-writing__item:first-child,.resume-timeline__item:first-child,.resume-focus__item:first-child,.resume-profile:first-child{padding-top:0;border-top:0}.resume-project__top{display:flex;align-items:start;justify-content:space-between;gap:16px}.resume-project__title,.resume-timeline__item h3,.resume-focus__item h3{margin:0;font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.04em;color:var(--primary)}.resume-project__title{font-size:clamp(1.45rem,2.5vw,1.9rem)}.resume-project__summary,.resume-project__impact,.resume-writing__body small,.resume-timeline__item p,.resume-focus__item p{margin:0;color:var(--content);line-height:1.66}.resume-project__summary{margin-top:8px;color:var(--primary);font-size:.98rem}.resume-project__impact{font-size:.94rem}.resume-project__meta{display:flex;flex-wrap:wrap;justify-content:end;gap:8px;text-align:right}.resume-project__stack{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.resume-project__stack li{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--tertiary);color:var(--secondary);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.resume-project__links{display:flex;flex-wrap:wrap;gap:10px 14px}.resume-project__links a,.resume-profile a{color:var(--primary);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.resume-project__links a::after{content:"->";margin-left:8px}.resume-writing__item,.resume-profile{display:grid;grid-template-columns:108px minmax(0,1fr)auto;gap:14px;align-items:start;padding:14px 0 0;border-top:1px solid color-mix(in srgb,var(--border) 88%,transparent);text-decoration:none}.resume-writing__body{display:grid;gap:4px}.resume-writing__body strong{color:var(--primary);font-size:1rem;font-weight:700;letter-spacing:-.02em}.resume-writing__cta{color:var(--primary)}.resume-writing__item:hover .resume-writing__body strong{color:var(--accent-strong)}.resume-timeline__item,.resume-focus__item{display:grid;gap:8px;padding:14px 0 0;border-top:1px solid color-mix(in srgb,var(--border) 88%,transparent)}.resume-timeline__item h3,.resume-focus__item h3{font-size:1.22rem}.resume-profiles{gap:0}.resume-profile{grid-template-columns:84px minmax(0,1fr)}.resume-profile strong{color:var(--primary);font-size:.95rem;font-weight:600}@media(max-width:1024px){.home-hero{grid-template-columns:1fr}.project-card--featured{grid-template-columns:1fr}.resume-hero,.resume-home__grid{grid-template-columns:1fr}.resume-home__projects,.resume-home__rail,.resume-home__writing{grid-column:auto}.resume-home__rail{position:static}.topic-cloud{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero__title{max-width:none}.resume-hero__title,.resume-panel__header h2{max-width:none}}@media(max-width:720px){:root{--gap:22px;--radius:24px}.main{max-width:calc(100vw - 12px);padding:18px 14px 28px}.nav{margin-top:10px;padding:9px 12px;border-radius:24px}.logo a{font-size:.98rem}#menu{gap:6px}#menu a span{min-height:38px;padding:0 12px;font-size:.68rem}.home-hero__content,.home-section,.page-header,.post-shell,.post-footer,.post-hero,.home-timeline{border-radius:26px}.resume-hero,.resume-panel{border-radius:24px}.home-hero__content,.home-section,.page-header,.post-shell{padding-left:22px;padding-right:22px}.resume-hero,.resume-panel{padding-left:22px;padding-right:22px}.home-hero__notes,.topic-cloud,.magazine-grid,.project-grid,.focus-grid{grid-template-columns:1fr}.section-heading--split{align-items:start;flex-direction:column}.resume-panel__header--split,.resume-project__top{align-items:start;flex-direction:column}.section-heading h2{max-width:none}.magazine-card--featured .magazine-card__visual,.magazine-card__visual{min-height:198px}.project-card__title{max-width:none}.resume-hero__facts{padding-left:0;padding-top:18px;border-left:0;border-top:1px solid color-mix(in srgb,var(--border) 88%,transparent)}.resume-writing__item,.resume-profile{grid-template-columns:1fr;gap:6px}.post-hero__rail{align-items:start}.post-title{font-size:clamp(2.6rem,15vw,4rem)}.post-content{font-size:1rem}.post-content h2{font-size:1.8rem}.post-content h3{font-size:1.4rem}}@media(max-width:540px){.main{max-width:100vw;padding:14px 10px 24px}.nav{flex-wrap:nowrap;gap:8px;margin-top:8px;padding:8px 10px;border-radius:20px}.logo{flex:none}.logo a{position:relative;display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border-radius:999px;background:var(--primary);color:transparent;box-shadow:0 8px 20px rgba(20,28,39,.14);white-space:nowrap}.logo a::before{content:"SM";color:var(--surface-strong);font-family:var(--font-body);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}#menu{width:auto;margin-left:auto;gap:4px;overflow:visible;flex-wrap:nowrap}#menu li{flex:none;min-width:0}#menu a{width:auto}#menu a span{min-height:32px;padding:0 11px;font-size:.58rem;letter-spacing:.14em;white-space:nowrap}.home-hero{gap:16px}.home-hero__content,.home-section,.page-header,.post-shell,.home-timeline{padding-left:18px;padding-right:18px}.resume-hero,.resume-panel{padding-left:18px;padding-right:18px}.home-section{padding-top:22px;padding-bottom:24px}.resume-home{gap:14px;margin-top:18px}.resume-hero{gap:18px;padding-top:20px;padding-bottom:20px}.page-header{gap:4px;margin:16px 0 14px;padding:18px 18px 20px}.page-header h1{gap:8px;font-size:clamp(2rem,13vw,2.8rem)}.page-header__intro,.post-description,.home-hero__lede{font-size:.95rem;line-height:1.62}.resume-hero__title{max-width:none;font-size:clamp(2.5rem,14vw,3.5rem)}.resume-hero__lede{font-size:.95rem;line-height:1.64}.home-hero__notes{gap:10px;margin-top:22px}.home-note{padding:14px 15px 15px}.magazine-grid,.project-grid,.focus-grid{gap:14px}.resume-home__main,.resume-home__rail{gap:14px}.magazine-card,.project-card,.focus-card{border-radius:22px}.magazine-card__visual,.main>.magazine-grid .magazine-card--featured .magazine-card__visual,.home-hero__feature .magazine-card--featured .magazine-card__visual{min-height:170px;padding:18px}.magazine-card__visual::after{inset:12px}.magazine-card__icon{top:18px;right:18px}.magazine-card__icon svg{width:24px;height:24px}.magazine-card__pullquote,.magazine-card--featured .magazine-card__pullquote{max-width:12ch;font-size:1rem}.magazine-card__body{padding:16px 18px 18px}.magazine-card__title,.magazine-card--featured .magazine-card__title{max-width:none;font-size:clamp(1.3rem,7vw,1.7rem)}.magazine-card__summary{margin-bottom:12px;font-size:.92rem;line-height:1.58}.magazine-card__meta{gap:8px 10px;font-size:.68rem}.home-timeline{padding-top:22px;padding-bottom:24px}.resume-panel{padding-top:18px;padding-bottom:18px}.resume-panel__header{margin-bottom:14px}.resume-project{gap:10px;padding-top:14px}.resume-project__title{font-size:1.35rem}.resume-project__summary,.resume-project__impact,.resume-writing__body small,.resume-timeline__item p,.resume-focus__item p,.resume-profile strong,.resume-fact p{font-size:.92rem;line-height:1.56}.resume-writing__body strong{font-size:.96rem}.resume-timeline__item h3,.resume-focus__item h3{font-size:1.12rem}.resume-project__links a,.resume-profile a{font-size:.68rem}.home-timeline__title{max-width:none;font-size:clamp(1.8rem,9vw,2.4rem)}.home-timeline__item{padding:14px 14px 16px 20px}.home-timeline__item h3,.focus-card h3{font-size:1.25rem}.project-card__visual{min-height:170px;padding:18px}.project-card__icon{right:18px;bottom:18px}.project-card__icon svg{width:24px;height:24px}.project-card__title{margin-top:62px;font-size:clamp(1.55rem,8vw,2.1rem)}.project-card__body,.focus-card{padding:16px 18px 18px}.project-card__summary,.project-card__impact,.focus-card p{font-size:.92rem;line-height:1.58}.project-card__links{gap:8px 10px}.project-card__links a{font-size:.68rem}.button{width:100%}.buttons .button+.button{width:auto;flex:auto}.post-hero{padding:22px 18px;border-radius:20px}.post-hero__rail{align-items:center}.post-hero__back{width:34px;height:34px;border-radius:10px}.post-hero__icon{width:40px;height:40px;border-radius:12px}.post-hero__icon svg{width:20px;height:20px}.post-hero__body{gap:10px;margin-top:18px}.post-hero--with-pullquote{display:block}.post-hero--with-pullquote .post-hero__body{margin-top:18px}.post-title{font-size:clamp(2.15rem,11vw,3rem)}.post-hero__summary{font-size:.92rem;line-height:1.56}.post-hero__pullquote{max-width:none;margin-top:14px;padding-top:14px;font-size:1.02rem}.post-hero--with-pullquote .post-hero__pullquote{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.post-shell{padding:18px 16px}.post-content{font-size:1.02rem;line-height:1.66}.post-content h2{font-size:1.72rem}.post-content h3{font-size:1.4rem}#searchInput{padding:13px 16px;font-size:.95rem}.top-link{right:14px;bottom:14px;width:40px;height:40px}}@media(max-width:390px){.nav{gap:6px;padding:9px}.logo a{width:34px;height:34px}.logo a::before{font-size:.6rem;letter-spacing:.06em}#menu{gap:2px}#menu a span{min-height:32px;padding:0 9px;font-size:.54rem;letter-spacing:.12em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}body{background:var(--body-background)}body::before{background:var(--body-overlay-primary),var(--body-overlay-secondary),var(--body-overlay-tertiary)}body::after{opacity:.12;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:28px 28px;mask-image:none}#menu,#menu li,.post-tags,.resume-project__stack,.magazine-card__tags{list-style:none;padding-left:0}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:100%;margin:12px auto 0;padding:10px 18px;border-radius:16px;border-top:0;background:var(--nav-background);box-shadow:var(--shadow-soft)}body.list .nav{width:min( calc(var(--main-width) - (clamp(20px,3vw,36px) * 2)),calc(100vw - 24px - (clamp(20px,3vw,36px) * 2)) )}body:not(.list) .nav{width:min( calc(var(--main-width) - (clamp(20px,3vw,36px) * 2)),calc(100vw - 24px - (clamp(20px,3vw,36px) * 2)) )}.logo a{font-size:1.12rem;font-weight:700;letter-spacing:-.035em;text-decoration:none}#menu{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;margin-bottom:0;padding:0;border:0;border-radius:0;background:0 0}#menu a span{min-height:auto;padding:8px 8px 6px;border-radius:0;border-bottom:2px solid transparent;color:var(--secondary);font-size:.68rem;font-weight:700;letter-spacing:.18em;box-shadow:none}#menu a:hover span,#menu a span.active{background:0 0;color:var(--primary);border-bottom-color:var(--accent)}.button{border-radius:999px;background:var(--primary);border-color:transparent;box-shadow:none}.buttons .button+.button{background:0 0;border-color:var(--border)}.button:hover,.buttons .button+.button:hover{transform:translateY(-1px);box-shadow:none}.page-header,.post-shell,.post-footer,.resume-panel{border-radius:18px;border:1px solid var(--border);background:var(--panel-background);box-shadow:none}.page-header::before,.post-shell::before,.post-footer::before,.resume-panel::before{background:linear-gradient(90deg,var(--accent),var(--accent-cool))0 0/96px 2px no-repeat}.page-header{padding:26px 28px 28px}.page-header h1,.resume-panel__header h2{letter-spacing:-.025em}.page-header h1{font-size:clamp(3rem,7vw,4.8rem)}.resume-home{margin-top:0}.main>.resume-home{margin-top:-10px}.resume-hero{grid-template-columns:minmax(0,1.25fr)minmax(280px,.75fr);padding:30px 32px;border-radius:24px;border:0;background:var(--hero-gradient);box-shadow:var(--hero-shadow);isolation:isolate}.resume-hero__main{display:grid;align-content:center;gap:18px;z-index:1}.resume-hero::before{background:var(--hero-overlay)}.resume-hero__activity{position:absolute;inset:20px 24px 18px;display:flex;align-items:end;justify-content:end;pointer-events:none;z-index:0}.resume-heatmap{display:grid;gap:10px;width:min(100%,420px);padding:14px 16px 12px;border:1px solid var(--heatmap-panel-border);border-radius:20px;background:var(--heatmap-panel-background);box-shadow:var(--heatmap-shadow);opacity:.9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);mask-image:linear-gradient(118deg,transparent 0%,rgba(0,0,0,.26) 20%,rgba(0,0,0,.96) 46%)}.resume-heatmap__months{display:grid;grid-template-columns:repeat(var(--heatmap-columns),minmax(0,1fr));column-gap:5px;color:var(--hero-text-subtle);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.resume-heatmap__months span{white-space:nowrap}.resume-heatmap__grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:5px;justify-content:start}.resume-heatmap__week{display:grid;gap:5px}.resume-heatmap__cell{width:12px;height:12px;border-radius:3px;background:var(--heatmap-empty);box-shadow:var(--heatmap-shadow)}.resume-heatmap__cell--void{background:0 0;box-shadow:none}.resume-heatmap__cell--level-1{background:rgba(78,204,115,.3)}.resume-heatmap__cell--level-2{background:rgba(78,204,115,.5)}.resume-heatmap__cell--level-3{background:rgba(78,204,115,.74)}.resume-heatmap__cell--level-4{background:#7cf29a}.resume-heatmap__caption{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--hero-text-subtle);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.resume-heatmap__caption strong{color:var(--hero-text);font-weight:800}.resume-hero .home-eyebrow{color:var(--hero-eyebrow)}.resume-hero .home-eyebrow::before{background:var(--hero-accent-gradient)}.resume-hero__title{margin:0;color:var(--hero-text-strong);max-width:none;font-size:clamp(3.3rem,7vw,5.4rem);letter-spacing:-.045em}.resume-hero__lede{color:var(--hero-text);max-width:33rem}.resume-hero__actions{margin-top:0}.resume-hero__actions .button{background:var(--accent);color:var(--hero-text-strong)}.resume-hero__actions .button+.button{background:var(--hero-surface);color:var(--hero-text-strong);border-color:var(--hero-surface-border)}.resume-hero__facts{gap:12px;padding-left:20px;border-left:1px solid var(--hero-rule);z-index:1}.resume-fact{padding:14px 0;border-top:1px solid var(--hero-rule)}.resume-fact:first-child{padding-top:0;border-top:0}.resume-fact span{color:var(--hero-text-subtle)}.resume-fact p{color:var(--hero-text-strong)}.resume-fact__value{color:var(--hero-text-strong);font-size:1rem;font-weight:600;line-height:1.58;text-decoration:none}.resume-fact__value:hover{color:color-mix(in srgb,var(--hero-text-strong) 88%,white)}.resume-home__grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}.resume-home__chat,.resume-home__chat-entry{display:grid;gap:0}.resume-home__projects{grid-column:1/-1}.resume-projects{display:grid;gap:14px}.resume-home__writing{grid-column:1/-1}.resume-panel{padding:22px 22px 20px}.resume-panel__header--compact{margin-bottom:14px}.resume-panel__header--compact h2{display:none}.resume-home__commits{border:0;background:var(--commit-panel-background);box-shadow:var(--commit-panel-shadow)}.resume-home__commits::before{background:var(--commit-panel-overlay)}.resume-home__commits .section-heading__eyebrow{color:var(--commit-meta)}.resume-runtime{overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-cool) 16%,var(--line-strong));background:radial-gradient(circle at top right,rgba(21,114,126,.12),transparent 28%),radial-gradient(circle at 12% 0%,rgba(225,91,52,.14),transparent 24%),linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 94%,transparent),color-mix(in srgb,var(--card-background) 96%,transparent))}.resume-runtime::before{background:linear-gradient(115deg,rgba(255,255,255,7%),transparent 28%),radial-gradient(circle at top right,rgba(21,114,126,.16),transparent 26%)}.resume-runtime__header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.resume-runtime__heading{display:grid;gap:0}.resume-runtime__heading h2{margin:0}.resume-runtime__dashboard{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent-cool) 18%,var(--line-strong));border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 74%,transparent);color:var(--primary);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.resume-runtime__dashboard:hover{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 24%,var(--accent-cool) 16%);background:color-mix(in srgb,var(--surface-strong) 88%,transparent)}.resume-runtime__intro{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:18px}.resume-runtime__lede{margin:0;max-width:54rem;color:var(--content);font-size:1rem;line-height:1.62}.resume-runtime__lede code{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent-cool) 9%,var(--code-bg));color:var(--primary);font-family:var(--font-mono);font-size:.9em}.resume-runtime__status{margin:0;color:var(--secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.has-llm-chat-open{overflow:hidden}.resume-runtime__chat-entry{display:grid;gap:0;margin-bottom:18px}.resume-runtime__chat-entry--article{width:fit-content;max-width:100%;margin-bottom:0}.resume-runtime__chat-trigger{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:0 16px;border:1px solid var(--chat-launcher-border);border-radius:18px;background:var(--chat-launcher-background);color:var(--chat-launcher-text);text-align:left;box-shadow:var(--chat-launcher-shadow);transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease,background 180ms ease}.resume-runtime__chat-trigger:hover{border-color:var(--chat-launcher-border-hover);background:var(--chat-launcher-background-hover);box-shadow:var(--chat-launcher-shadow-hover);transform:translateY(-1px)}.resume-runtime__chat-trigger--article{width:auto;max-width:100%;padding:0 18px;border-color:var(--hero-surface-border);background:color-mix(in srgb,var(--hero-surface) 92%,transparent);color:var(--hero-text-strong);box-shadow:inset 0 1px 0 var(--hero-surface-border),0 18px 44px rgba(7,16,32,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.resume-runtime__chat-trigger--article:hover{border-color:var(--hero-surface-border-strong);background:color-mix(in srgb,var(--hero-surface) 98%,transparent);box-shadow:inset 0 1px 0 var(--hero-surface-border),0 22px 48px rgba(7,16,32,.24)}.resume-runtime__chat-trigger:focus-visible,.resume-runtime__chat-close:focus-visible,.resume-runtime__chat-retry:focus-visible,.resume-runtime__chat-stop:focus-visible,.resume-runtime__chat-send:focus-visible{outline:2px solid var(--chat-focus-outline);outline-offset:3px}.resume-runtime__chat-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border-radius:999px;background:var(--chat-launcher-icon-background);color:var(--chat-launcher-icon-color);box-shadow:inset 0 1px color-mix(in srgb,var(--chat-avatar-color) 16%,transparent)}.resume-runtime__chat-trigger-placeholder{min-width:0;color:var(--chat-launcher-placeholder);font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.2}.resume-runtime__chat-trigger--article .resume-runtime__chat-trigger-placeholder{color:var(--hero-text-strong)}.resume-runtime__chat-trigger--article .resume-runtime__chat-trigger-icon{background:color-mix(in srgb,var(--accent) 24%,var(--hero-surface));color:var(--hero-text-strong);box-shadow:inset 0 1px 0 var(--hero-surface-border)}.resume-runtime__chat-trigger-hint{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--line-subtle) 96%,transparent);border-radius:999px;background:var(--chip-background);color:var(--secondary);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.resume-runtime__chat-note{margin:0;color:var(--secondary);font-size:.76rem;line-height:1.55}.resume-runtime__chat-overlay[hidden]{display:none}.resume-runtime__chat-overlay{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:24px}.resume-runtime__chat-backdrop{position:absolute;inset:0;border:0;background:var(--chat-backdrop);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform:translateZ(0);backface-visibility:hidden}.resume-runtime__chat-shell{position:relative;z-index:1;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr)auto auto;gap:0;width:min(100%,980px);max-height:min(88vh,860px);border:1px solid var(--chat-shell-border);border-radius:30px;background:var(--chat-shell-background);box-shadow:var(--chat-shell-shadow);overflow:hidden;transform:translateZ(0);backface-visibility:hidden}.resume-runtime__chat-shell::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--chat-shell-overlay)}.resume-runtime__chat-shell>*{position:relative;z-index:1}.resume-runtime__chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:18px 22px 14px;border-bottom:1px solid var(--chat-section-border);background:var(--chat-header-background)}.resume-runtime__chat-bar{display:flex;align-items:center;gap:12px;min-width:0}.resume-runtime__chat-model{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 14px;border:1px solid var(--chat-control-border);border-radius:14px;background:var(--chat-control-background);color:var(--chat-text);font-size:1rem;font-weight:700;letter-spacing:-.01em;box-shadow:var(--chat-control-shadow)}.resume-runtime__chat-model::after{content:"";width:8px;height:8px;border-right:1.5px solid;border-bottom:1.5px solid;opacity:.48;transform:rotate(45deg)translateY(-1px)}.resume-runtime__chat-meta{color:var(--chat-text-muted);font-size:.78rem;line-height:1.45;white-space:nowrap}.resume-runtime__chat-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--chat-control-border);border-radius:999px;background:var(--chat-control-background);color:var(--chat-text-muted);box-shadow:var(--chat-control-shadow)}.resume-runtime__chat-close:hover{color:var(--chat-text);border-color:var(--chat-control-border-strong);background:var(--chat-control-background-muted)}.resume-runtime__chat-thinking{display:grid;gap:8px;margin-left:46px;width:min(100%,640px)}.resume-runtime__chat-thinking-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:44px;padding:0 14px;border:1px solid var(--chat-control-border);border-radius:14px;background:var(--chat-control-background);color:var(--chat-text);box-shadow:var(--chat-control-shadow);text-align:left}.resume-runtime__chat-thinking-panel{padding:14px 16px;border:1px solid var(--chat-control-border);border-radius:14px;background:var(--chat-control-background-muted)}.resume-runtime__chat-thinking-head{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--chat-text-muted);font-size:.8rem;font-weight:800;letter-spacing:.04em}.resume-runtime__chat-thinking-pulse{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-cool) 88%,var(--primary)),color-mix(in srgb,var(--accent-cool) 52%,white));box-shadow:0 0 color-mix(in srgb,var(--accent-cool) 24%,transparent)}.resume-runtime__chat-thinking[data-state=live] .resume-runtime__chat-thinking-pulse{animation:chat-thinking-pulse 1.4s ease-out infinite}.resume-runtime__chat-thinking[data-state=done] .resume-runtime__chat-thinking-pulse{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 86%,var(--primary)),color-mix(in srgb,var(--accent-cool) 34%,var(--accent)))}.resume-runtime__chat-thinking-label{white-space:nowrap}.resume-runtime__chat-thinking-chevron{width:10px;height:10px;flex:0 0 10px;border-right:1.5px solid;border-bottom:1.5px solid;color:var(--chat-text-subtle);transform:rotate(45deg);transition:transform 160ms ease}.resume-runtime__chat-thinking-toggle[aria-expanded=true] .resume-runtime__chat-thinking-chevron{transform:rotate(225deg)translate(-1px,-1px)}.resume-runtime__chat-thinking-copy{margin:0;color:var(--chat-text-muted);font-size:.95rem;line-height:1.62;white-space:pre-wrap;overflow-wrap:anywhere}.resume-runtime__chat-stream{display:flex;flex-direction:column;gap:24px;min-height:360px;padding:24px 28px 18px;background:var(--chat-stream-background);overflow:auto;overscroll-behavior:contain}.resume-runtime__chat-message{display:grid;gap:10px;width:min(100%,760px);padding:0;border:0;border-radius:0;background:0 0}.resume-runtime__chat-message--assistant,.resume-runtime__chat-message--system{margin-right:auto;padding-right:min(10%,40px)}.resume-runtime__chat-message--user{margin-left:auto;width:auto;max-width:min(100%,640px);padding:14px 18px;border:1px solid var(--chat-user-message-border);border-radius:22px;background:var(--chat-user-message-background);box-shadow:var(--chat-user-message-shadow)}.resume-runtime__chat-message--system{width:100%}.resume-runtime__chat-message--welcome{max-width:min(100%,680px)}.resume-runtime__chat-message--pending{opacity:.74}.resume-runtime__chat-message--error{color:var(--accent-strong)}.resume-runtime__chat-message-role{margin:0;color:var(--chat-text);font-size:1rem;font-weight:700;letter-spacing:-.01em}.resume-runtime__chat-message--user .resume-runtime__chat-message-role{display:none}.resume-runtime__chat-message-head{display:flex;align-items:center;gap:12px}.resume-runtime__chat-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:999px;background:var(--chat-avatar-background);color:var(--chat-avatar-color);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.resume-runtime__chat-message--system .resume-runtime__chat-avatar{background:var(--chat-avatar-system-background)}.resume-runtime__chat-meta-stack{display:grid;gap:2px}.resume-runtime__chat-message-stamp{margin:0;color:var(--chat-text-subtle);font-size:.8rem;line-height:1.4}.resume-runtime__chat-message-copy{margin:0;color:var(--chat-text);font-size:1rem;line-height:1.7;overflow-wrap:anywhere}.resume-runtime__chat-message-copy>:first-child{margin-top:0}.resume-runtime__chat-message-copy>:last-child{margin-bottom:0}.resume-runtime__chat-message-copy p,.resume-runtime__chat-message-copy ul,.resume-runtime__chat-message-copy ol,.resume-runtime__chat-message-copy pre,.resume-runtime__chat-message-copy blockquote,.resume-runtime__chat-message-copy h1,.resume-runtime__chat-message-copy h2,.resume-runtime__chat-message-copy h3,.resume-runtime__chat-message-copy h4{margin:0 0 .95em}.resume-runtime__chat-message-copy h1,.resume-runtime__chat-message-copy h2,.resume-runtime__chat-message-copy h3,.resume-runtime__chat-message-copy h4{color:var(--chat-text);line-height:1.28;letter-spacing:-.02em}.resume-runtime__chat-message-copy h1{font-size:1.4rem}.resume-runtime__chat-message-copy h2{font-size:1.28rem}.resume-runtime__chat-message-copy h3{font-size:1.14rem}.resume-runtime__chat-message-copy h4{font-size:1.04rem}.resume-runtime__chat-message-copy ul,.resume-runtime__chat-message-copy ol{padding-left:1.3em}.resume-runtime__chat-message-copy li+li{margin-top:.42em}.resume-runtime__chat-message-copy code{padding:.12em .4em;border-radius:8px;background:var(--chat-code-background);color:var(--chat-text);font-family:var(--font-mono);font-size:.9em}.resume-runtime__chat-message-copy pre{overflow:auto;padding:14px 16px;border:1px solid var(--chat-code-block-border);border-radius:16px;background:var(--chat-code-block-background)}.resume-runtime__chat-message-copy pre code{padding:0;background:0 0;font-size:.92rem;line-height:1.65}.resume-runtime__chat-message-copy a{color:var(--chat-link);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.14em}.resume-runtime__chat-message-copy blockquote{padding-left:14px;border-left:3px solid var(--chat-blockquote-border);color:var(--chat-text-muted)}.resume-runtime__chat-message--assistant .resume-runtime__chat-message-copy,.resume-runtime__chat-message--system .resume-runtime__chat-message-copy,.resume-runtime__chat-message--assistant .resume-runtime__chat-message-tools,.resume-runtime__chat-message--system .resume-runtime__chat-message-tools{margin-left:46px}.resume-runtime__chat-message--user .resume-runtime__chat-message-copy{color:var(--chat-text);white-space:pre-wrap}.resume-runtime__chat-message-tools{display:flex;align-items:center;gap:8px;margin-top:2px}.resume-runtime__chat-tool{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid var(--chat-control-border);border-radius:999px;background:var(--chat-control-background);color:var(--chat-text-muted);font-size:.76rem;font-weight:700;letter-spacing:.02em;box-shadow:var(--chat-control-shadow)}.resume-runtime__chat-tool:hover{color:var(--chat-text);border-color:var(--chat-control-border-strong);background:var(--chat-control-background-muted)}.resume-runtime__chat-feedback-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:20px;padding:4px 24px 0;background:var(--chat-header-background)}.resume-runtime__chat-feedback{margin:0;color:var(--chat-text-subtle);font-size:.8rem;line-height:1.45}.resume-runtime__chat-feedback[data-tone=error]{color:var(--accent-strong)}.resume-runtime__chat-feedback[data-tone=muted]{color:var(--chat-text-muted)}.resume-runtime__chat-retry{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border:1px solid var(--chat-control-border);border-radius:999px;background:var(--chat-control-background);color:var(--chat-text);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--chat-control-shadow)}.resume-runtime__chat-form{display:grid;gap:10px;padding:12px 16px 14px;border-top:1px solid var(--chat-section-border);background:var(--chat-header-background)}.resume-runtime__chat-compose{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:end;gap:10px;padding:8px 10px 8px 14px;border:1px solid var(--chat-control-border);border-radius:24px;background:var(--chat-control-background);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--chat-text) 10%,transparent)}.resume-runtime__chat-input{width:100%;min-height:24px;max-height:168px;padding:7px 4px;border:0;border-radius:0;background:0 0;color:var(--chat-text);font:inherit;line-height:1.5;resize:none;overflow-y:hidden;box-shadow:none}.resume-runtime__chat-input::placeholder{color:var(--chat-text-subtle)}.resume-runtime__chat-input:focus-visible{outline:0}.resume-runtime__chat-input:disabled{opacity:.72}.resume-runtime__chat-compose:focus-within{border-color:var(--chat-control-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--chat-text) 10%,transparent),var(--chat-focus-glow)}.resume-runtime__chat-actions{display:flex;align-items:center;gap:10px;min-height:0}.resume-runtime__chat-turnstile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-height:24px;max-width:320px;padding:0}.resume-runtime__chat-turnstile-status{margin:0;font-size:.78rem;line-height:1.35;color:var(--chat-text-muted)}.resume-runtime__chat-turnstile-status[data-tone=error]{color:var(--chat-feedback-error)}.resume-runtime__chat-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.resume-runtime__chat-stop,.resume-runtime__chat-send{display:inline-flex;align-items:center;justify-content:center;min-width:84px;min-height:38px;padding:8px 14px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.resume-runtime__chat-stop{border:1px solid var(--chat-control-border);background:var(--chat-control-background);color:var(--chat-text-muted);box-shadow:var(--chat-control-shadow)}.resume-runtime__chat-send{border:1px solid var(--chat-send-border);background:var(--chat-send-background);color:var(--chat-send-color);box-shadow:var(--chat-send-shadow)}.resume-runtime__chat-send:disabled{cursor:not-allowed;opacity:.54;box-shadow:none}.resume-runtime__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.resume-runtime__card,.resume-runtime__graph{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 90%,transparent),color-mix(in srgb,var(--card-background) 92%,transparent)),radial-gradient(circle at top right,rgba(255,255,255,.26),transparent 32%);box-shadow:inset 0 1px rgba(255,255,255,.16)}.resume-runtime__card::before,.resume-runtime__graph::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,rgba(255,255,255,8%),transparent 32%)}.resume-runtime__card{display:flex;flex-direction:column;gap:10px;min-height:136px;padding:18px 18px 14px}.resume-runtime__card-label,.resume-runtime__graph-label{margin:0;color:var(--secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.resume-runtime__card-value{position:relative;z-index:1;margin:0;min-height:1.15em;color:var(--primary);font-family:var(--font-mono);font-size:clamp(1.7rem,2.7vw,2.4rem);font-weight:700;letter-spacing:-.05em;line-height:.96}.resume-runtime__card[data-llm-card=lastActivityAt] .resume-runtime__card-value{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.02}.resume-runtime__card-meta{margin:auto 0 0;color:var(--secondary);font-size:.76rem;line-height:1.3}.resume-runtime__graphs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resume-runtime__graph{display:grid;gap:14px;padding:18px 18px 16px}.resume-runtime__graph-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.resume-runtime__graph h3{margin:4px 0 0;color:var(--primary);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.resume-runtime__legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.resume-runtime__legend-item{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border-radius:999px;background:var(--chip-background);color:var(--secondary);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.resume-runtime__legend-item--generation,.resume-runtime__line--generation,.resume-runtime__dot--generation{color:var(--accent-cool);stroke:var(--accent-cool);fill:var(--accent-cool)}.resume-runtime__legend-item--prompt,.resume-runtime__line--prompt,.resume-runtime__dot--prompt,.resume-runtime__legend-item--waiting,.resume-runtime__line--waiting,.resume-runtime__dot--waiting{color:var(--accent);stroke:var(--accent);fill:var(--accent)}.resume-runtime__legend-item--running,.resume-runtime__line--running,.resume-runtime__dot--running{color:var(--primary);stroke:var(--primary);fill:var(--primary)}.resume-runtime__chart-shell{position:relative;min-height:180px;border:1px solid color-mix(in srgb,var(--line-subtle) 92%,transparent);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme) 18%,transparent),transparent 56%),linear-gradient(135deg,rgba(255,255,255,5%),transparent 34%);overflow:hidden}.resume-runtime__chart{display:block;width:100%;height:180px}.resume-runtime__grid-line{stroke:color-mix(in srgb,var(--line-subtle) 96%,transparent);stroke-width:1}.resume-runtime__area{stroke:none}.resume-runtime__area--generation{fill:color-mix(in srgb,var(--accent-cool) 18%,transparent)}.resume-runtime__area--running{fill:color-mix(in srgb,var(--primary) 12%,transparent)}.resume-runtime__line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.resume-runtime__dot{stroke:color-mix(in srgb,var(--surface-strong) 92%,white);stroke-width:2}.resume-runtime__graph-caption{margin:0;color:var(--secondary);font-size:.72rem;line-height:1.5}.resume-runtime[data-runtime-state=loading] .resume-runtime__card-value{color:transparent}.resume-runtime[data-runtime-state=loading] .resume-runtime__card-value::after{content:"";position:absolute;inset:10% 0 12%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--chip-background) 90%,transparent),color-mix(in srgb,var(--surface-strong) 98%,transparent),color-mix(in srgb,var(--chip-background) 90%,transparent));background-size:200% 100%;animation:runtime-shimmer 1.4s linear infinite}.resume-runtime[data-runtime-state=loading] .resume-runtime__chart-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-100%);animation:runtime-sweep 1.6s linear infinite}.resume-runtime[data-runtime-state=error] .resume-runtime__status{color:var(--accent-strong)}@keyframes runtime-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes runtime-sweep{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes chat-thinking-pulse{0%{transform:scale(.95);box-shadow:0 0 rgba(95,166,177,.24)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(95,166,177,0)}100%{transform:scale(.95);box-shadow:0 0 rgba(95,166,177,0)}}.resume-commit-list{display:grid;gap:0}.resume-commit{display:grid;grid-template-columns:20px minmax(0,1fr)auto;gap:14px;align-items:start;padding-top:14px;border-top:1px solid var(--commit-line);color:inherit;text-decoration:none}.resume-commit:first-child{padding-top:0;border-top:0}.resume-commit__graph{position:relative;display:block;min-height:48px}.resume-commit__graph::before{content:"";position:absolute;left:8px;top:0;bottom:-14px;width:1px;background:var(--commit-track)}.resume-commit:last-child .resume-commit__graph::before{bottom:8px}.resume-commit__graph::after{content:"";position:absolute;top:10px;left:4px;width:9px;height:9px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#f1d28f);box-shadow:0 0 0 4px rgba(244,157,98,.12)}.resume-commit__body{display:grid;gap:6px;min-width:0}.resume-commit__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0;color:var(--commit-meta);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.resume-commit__repo{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:var(--commit-chip-background);color:var(--commit-chip-text)}.resume-commit__hash{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:var(--commit-hash-background);color:var(--commit-hash-text);font-family:var(--font-mono);font-size:.72rem;font-weight:500}.resume-commit__refs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--commit-meta-quiet)}.resume-commit__message{color:var(--hero-text-strong);font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.36}.resume-commit__when{padding-top:4px;color:var(--commit-meta);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.resume-commit:hover .resume-commit__message{color:color-mix(in srgb,var(--accent-strong) 72%,white)}.resume-commit:hover .resume-commit__hash{background:color-mix(in srgb,var(--accent) 22%,transparent);color:color-mix(in srgb,var(--hero-text-strong) 86%,var(--accent) 14%)}.resume-project{display:grid;position:relative;gap:16px;padding:20px 20px 18px 24px;border:1px solid var(--line-strong);border-radius:18px;background:var(--card-background)}.resume-project::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-cool))}.resume-project:first-child{padding-top:20px;border-top:1px solid var(--line-strong)}.resume-project__header{display:grid;gap:12px}.resume-project__intro{display:grid;gap:10px}.resume-project__topline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.resume-project__title a{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.resume-project__title svg{width:18px;height:18px;fill:currentColor;opacity:.7}.resume-project__title a:hover{color:var(--accent-strong)}.resume-panel__header h2{max-width:22ch;font-family:var(--font-body);font-size:clamp(1.45rem,2.2vw,1.95rem);font-weight:600;line-height:1.12}.resume-project__title{margin:0;flex:1 1 220px;font-size:clamp(1.7rem,2.35vw,2.1rem);line-height:1.04}.resume-project__summary{margin:0;max-width:54rem;font-size:1rem;line-height:1.56}.resume-project__posts{display:grid;gap:10px;margin-top:10px;padding-top:12px;border-top:1px solid var(--border)}.resume-project__post-link{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent-cool) 14%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface-strong) 72%,transparent);color:var(--primary);text-decoration:none;box-shadow:0 10px 22px rgba(12,20,31,4%);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.resume-project__post-link:hover{color:var(--primary);border-color:color-mix(in srgb,var(--accent) 22%,var(--accent-cool) 18%);background:color-mix(in srgb,var(--surface-strong) 88%,transparent);box-shadow:0 14px 28px rgba(12,20,31,8%);transform:translateY(-1px)}.resume-project__post-copy{display:grid;gap:4px;min-width:0}.resume-project__post-kicker{color:var(--secondary);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.resume-project__post-title{font-size:.96rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}.resume-project__post-date{color:var(--secondary);font-size:.78rem;white-space:nowrap}.resume-project__post-link:hover .resume-project__post-kicker,.resume-project__post-link:hover .resume-project__post-title,.resume-project__post-link:hover .resume-project__post-date{color:var(--accent-strong)}.resume-project__stamp,.resume-project__section{color:var(--secondary);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.resume-project__stamp{margin-left:auto;padding-top:0;white-space:nowrap}.resume-project__section{margin:0}.resume-project__metrics{display:flex;flex:initial;flex-wrap:wrap;gap:6px;align-items:center}.resume-project__metric{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border-radius:999px;background:var(--chip-background);color:var(--secondary);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.resume-project__metric--placeholder,.resume-project__metric--quiet{background:var(--chip-background-quiet);color:var(--secondary)}.resume-project__writing{display:grid;gap:8px;padding-top:2px}.resume-project__articles{display:grid;gap:0;border-top:1px solid var(--line-subtle)}.resume-project__article{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line-subtle);text-decoration:none}.resume-project__article:first-child{border-top:0}.resume-project__article-date{color:var(--secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.resume-project__article-title{color:var(--primary);font-size:.98rem;font-weight:700;letter-spacing:-.01em;line-height:1.34}.resume-project__article:hover .resume-project__article-title{color:var(--accent-strong)}.section-link{color:var(--accent-strong)}.github-activity__list{display:grid;gap:0}.github-activity .resume-panel__header{margin-bottom:12px}.github-activity__status{margin:0;color:var(--content);line-height:1.6}.github-activity__status--error{color:var(--secondary)}.github-activity__item{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line-subtle)}.github-activity__item:first-child{padding-top:0;border-top:0}.github-activity__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.github-activity__title,.github-activity__profile{color:var(--primary);text-decoration:none}.github-activity__title{font-family:var(--font-body);font-size:1.02rem;font-weight:700;letter-spacing:-.01em}.github-activity__stamp{color:var(--secondary);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.github-activity__summary{margin:0;color:var(--content);font-size:.94rem;line-height:1.58}.github-activity__metrics{display:flex;flex-wrap:wrap;gap:8px}.github-activity__metric{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;background:var(--chip-background);color:var(--secondary);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.github-activity__metric--link{color:var(--accent-strong);text-decoration:none}.github-activity__profile{display:inline-flex;margin-top:14px;font-size:.82rem;font-weight:700;letter-spacing:.04em}.resume-writing__item,.resume-profile,.resume-timeline__item,.resume-focus__item{padding-top:16px}.resume-writing__item{grid-template-columns:112px minmax(0,1fr)56px}.resume-writing__item,.resume-project,.resume-profile,.resume-timeline__item,.resume-focus__item{border-top-color:var(--line-subtle)}.resume-writing__cta{justify-self:end;color:var(--accent-strong)}.post-strip-list{display:grid;gap:14px}.articles-archive{display:grid;gap:14px}.main>.articles-archive{margin-top:-10px}.articles-archive>.page-header{margin:0}.articles-archive>.article-index{margin-top:0}.article-index{position:relative;overflow:hidden;margin-top:18px;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,var(--surface-strong) 84%,transparent);box-shadow:var(--shadow-soft)}.article-index::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(207,107,54,9%),transparent 30%),radial-gradient(circle at bottom left,rgba(15,109,156,8%),transparent 26%);pointer-events:none}.article-index__list{position:relative;z-index:1;display:grid}.article-index__item+.article-index__item{border-top:1px solid var(--line-subtle)}.article-index__link{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:18px;align-items:center;padding:20px 28px;color:inherit;text-decoration:none;transition:background .18s ease,color .18s ease}.article-index__link:hover{background:color-mix(in srgb,var(--surface-muted) 72%,transparent)}.article-index__body{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;min-width:0}.article-index__title{margin:0;color:var(--primary);font-family:var(--font-body);font-size:1.08rem;font-weight:650;letter-spacing:-.02em;line-height:1.25}.article-index__projects{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.article-index__project{display:inline-flex;align-items:center;min-height:28px;padding:6px 11px;border-radius:999px;background:var(--chip-background);color:var(--secondary);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:-.01em;line-height:1;white-space:nowrap}.article-index__date{color:var(--secondary);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.article-index__link:hover .article-index__title{color:var(--accent-strong)}.article-index__link:hover .article-index__project{background:color-mix(in srgb,var(--accent-cool) 12%,var(--chip-background));color:var(--primary)}.post-strip{border:1px solid var(--border);border-radius:18px;background:var(--panel-background);box-shadow:none;overflow:hidden}.post-strip__link{display:grid;grid-template-columns:132px minmax(0,1fr)52px;gap:18px;align-items:start;padding:18px 20px;color:inherit;text-decoration:none}.post-strip__rail{display:grid;gap:8px}.post-strip__date,.post-strip__read,.post-strip__tags span{color:var(--secondary);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.post-strip__tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.post-strip__body h2{margin:0 0 8px;font-family:var(--font-body);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--primary)}.post-strip__body p{max-width:52rem;margin:0;font-size:.98rem;line-height:1.66;color:var(--content)}.post-strip__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-cool));color:var(--hero-text-strong)}.post-strip__icon svg{width:24px;height:24px}.post-strip:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.post-strip:hover .post-strip__body h2{color:var(--accent-strong)}.post-single--editorial{margin-top:0}.main>.post-single--editorial{margin-top:-10px}.post-hero{border:0;border-radius:24px;padding:30px 32px;background:var(--hero-gradient);box-shadow:var(--hero-shadow);color:var(--hero-text-strong);isolation:isolate}.post-hero::before{background:var(--hero-overlay)}.post-hero::after{content:"";position:absolute;inset:0;background:var(--post-gradient);opacity:.22;pointer-events:none}.post-hero__rail{gap:14px}.post-hero__back{width:40px;height:40px;border-radius:12px;border:1px solid var(--hero-surface-border);background:var(--hero-surface);color:var(--hero-text);box-shadow:inset 0 1px 0 var(--hero-surface-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.post-hero__back svg{width:16px;height:16px}.post-hero__icon{width:46px;height:46px;border-radius:14px;background:var(--post-gradient);border:1px solid var(--hero-surface-border-strong);box-shadow:inset 0 1px 0 var(--hero-surface-border);color:var(--hero-text-strong)}.post-hero__icon svg{width:22px;height:22px}.post-hero__body{gap:14px;margin-top:22px;max-width:40rem}.post-hero--with-pullquote{display:grid;grid-template-columns:minmax(0,1fr)minmax(240px,.44fr);gap:22px 34px;align-items:start}.post-hero--with-pullquote .post-hero__rail{grid-column:1/-1}.post-hero--with-pullquote .post-hero__body{margin-top:0;max-width:none}.post-title{color:var(--hero-text-strong);font-family:var(--font-body);font-size:clamp(2.7rem,6vw,4.4rem);font-weight:800;letter-spacing:-.045em;line-height:.94}.post-hero__summary{color:var(--hero-text);font-family:var(--font-body);max-width:34rem;font-size:1rem;line-height:1.66}.post-hero__chat{margin-top:6px;max-width:min(100%,32rem)}.post-hero__meta,.post-hero__meta span,.post-hero__meta a,.post-hero__utility,.post-hero__utility a{color:var(--hero-text-muted)}.post-hero__tags a{background:color-mix(in srgb,var(--surface-strong) 18%,transparent);border:1px solid var(--border);color:var(--secondary)}.post-hero__pullquote{max-width:24rem;margin-top:18px;padding-top:18px;border-top:1px solid var(--hero-rule);color:var(--hero-text-strong);font-family:var(--font-body);font-weight:700;letter-spacing:-.03em;font-size:clamp(1.1rem,2.3vw,1.45rem);line-height:1.18}.post-hero--with-pullquote .post-hero__pullquote{align-self:center;max-width:none;margin-top:0;padding-top:0;padding-left:24px;border-top:0;border-left:1px solid var(--hero-rule)}.post-shell,.post-footer{box-shadow:none}.post-shell{padding:clamp(22px,3vw,30px)}.post-content{font-family:var(--font-reading);font-size:1.08rem;line-height:1.7;letter-spacing:0;font-feature-settings:"liga" 1,"kern" 1;text-rendering:optimizeLegibility}.post-content img{display:block;margin:1rem auto}.post-content h1,.post-content h2,.post-content h3,.post-content h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.045em;color:var(--primary)}.post-content h1{margin-top:1.25em;margin-bottom:.42em;font-size:2.4rem;line-height:.98}.post-content h2{margin-top:1.38em;margin-bottom:.42em;font-size:2.05rem;line-height:1.02}.post-content h3{margin-top:1.18em;margin-bottom:.38em;font-size:1.56rem;line-height:1.08}.post-content h4{margin-top:1.05em;margin-bottom:.34em;font-size:1.22rem;line-height:1.14}.post-content>:first-child{margin-top:0}.post-content p,.post-content ul,.post-content ol,.post-content figure,.post-content table{margin-bottom:1.2em}.post-content p,.post-content li,.post-content figcaption,.post-content figure>figcaption>p{font-family:var(--font-reading)}.post-content strong{font-weight:600;color:var(--primary)}.post-content blockquote{font-family:var(--font-body);font-style:normal;font-weight:600;font-size:clamp(1.02rem,.95rem + .45vw,1.16rem);letter-spacing:-.026em;line-height:1.55;text-wrap:balance}.post-content blockquote p{margin:0}.post-content blockquote p+p{margin-top:.75em}.post-content blockquote em{font-style:inherit}.post-content ul,.post-content ol{padding-inline-start:1.1em}.post-content li{margin-top:.3em}.post-content figure>figcaption,.post-content figure>figcaption>p{color:var(--secondary);font-size:.92rem;line-height:1.55}.post-content code,.post-content pre code{font-family:var(--font-mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;letter-spacing:0}.post-content code{padding:.22em .45em;border-radius:6px;font-size:.86em;font-weight:500}.post-content pre{padding:16px 18px}.post-content pre code{font-size:.92rem;line-height:1.72}.paginav a,.pagination a{background:0 0;box-shadow:none}.footer{padding-top:20px;font-size:.68rem;letter-spacing:.16em}@media(max-width:900px){.resume-hero,.resume-home__grid,.post-strip__link{grid-template-columns:1fr}.resume-hero{gap:20px}.resume-hero__activity{inset:auto 18px 18px 18px;justify-content:start}.resume-heatmap{width:min(100%,100%);mask-image:linear-gradient(180deg,rgba(0,0,0,.72),#000)}.resume-hero__facts{padding-left:0;padding-top:18px;border-left:0;border-top:1px solid var(--hero-rule)}.resume-runtime__header,.resume-runtime__graph-header{flex-direction:column;align-items:flex-start}.resume-runtime__dashboard{white-space:normal}.resume-runtime__chat-shell{width:min(100%,100%);max-height:min(88vh,720px)}.resume-runtime__chat-message{width:100%}.resume-runtime__chat-stream{padding:22px 20px 16px}.resume-runtime__chat-feedback-row{padding:6px 20px 0}.resume-runtime__chat-form{padding:16px 20px 20px}.resume-runtime__chat-actions{align-items:stretch}.resume-runtime__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-runtime__graphs{grid-template-columns:1fr}.resume-runtime__legend{justify-content:flex-start}.post-strip__link{gap:12px}.post-strip__icon{width:44px;height:44px}.article-index__link{padding:18px 22px}}@media(max-width:540px){.nav{width:calc(100vw - 20px);gap:10px;margin:8px auto 0;padding:8px 12px;border-radius:16px}.logo a{width:auto;height:auto;background:0 0;color:var(--primary);box-shadow:none}.logo a::before{content:none}#menu a span{padding:8px 8px 6px;font-size:.58rem}.resume-panel__header h2{font-size:1.3rem}.resume-project__title{font-size:1.5rem}.resume-project__header{gap:8px}.resume-project__topline{align-items:flex-start}.resume-project__metrics{width:auto}.main>.resume-home{margin-top:-4px}.main>.articles-archive{margin-top:-4px}.main>.post-single--editorial{margin-top:-4px}.resume-project__stamp{margin-left:0;padding-top:0}.resume-project__post-link{grid-template-columns:1fr;gap:8px}.resume-project__post-date{white-space:normal}.resume-project__article{grid-template-columns:78px minmax(0,1fr);gap:10px}.article-index__link{grid-template-columns:1fr;gap:8px}.article-index__date{justify-self:start}.resume-runtime__stats{grid-template-columns:1fr}.resume-runtime__chat-trigger{min-height:48px;padding:0 14px}.post-hero__chat{max-width:none}.resume-runtime__chat-entry--article{width:100%}.resume-runtime__chat-trigger--article{width:100%}.resume-runtime__chat-overlay{padding:0}.resume-runtime__chat-shell{width:100%;min-height:100dvh;max-height:100dvh;padding:0;border-radius:0}.resume-runtime__chat-header{min-height:60px;padding:14px 16px 12px}.resume-runtime__chat-stream{padding:18px 16px 12px}.resume-runtime__chat-stream{min-height:0}.resume-runtime__chat-message{width:100%}.resume-runtime__chat-message--assistant .resume-runtime__chat-message-copy,.resume-runtime__chat-message--system .resume-runtime__chat-message-copy,.resume-runtime__chat-message--assistant .resume-runtime__chat-message-tools,.resume-runtime__chat-message--system .resume-runtime__chat-message-tools{margin-left:0}.resume-runtime__chat-thinking{margin-left:0;max-width:100%}.resume-runtime__chat-feedback-row{padding:4px 14px 0}.resume-runtime__chat-form{padding:10px 14px 12px}.resume-runtime__chat-compose{gap:8px;padding:8px 8px 8px 12px}.resume-runtime__chat-input{min-height:24px;max-height:156px;padding:6px 2px}.resume-runtime__chat-feedback-row,.resume-runtime__chat-actions,.resume-runtime__chat-compose{width:100%}.resume-runtime__chat-feedback-row,.resume-runtime__chat-actions{align-items:stretch;flex-direction:column}.resume-runtime__chat-turnstile{margin-left:0}.resume-runtime__chat-buttons{gap:6px;margin-left:auto}.resume-runtime__chat-stop,.resume-runtime__chat-send{min-width:76px;min-height:36px;padding:8px 12px}.resume-runtime__card,.resume-runtime__graph{border-radius:16px}.resume-runtime__graph{padding:16px}.resume-runtime__chart-shell,.resume-runtime__chart{min-height:164px;height:164px}.resume-commit{grid-template-columns:20px minmax(0,1fr)}.resume-commit__when{grid-column:2;justify-self:start;padding-top:0}.github-activity__top{align-items:start;flex-direction:column;gap:4px}.resume-hero,.article-index,.page-header,.post-hero,.post-shell,.post-footer,.resume-panel,.post-strip{border-radius:16px}.resume-hero{padding:22px 18px}.resume-hero__activity{position:relative;inset:auto;justify-content:stretch;padding-top:8px;order:3;z-index:1}.resume-heatmap{width:100%;padding:12px;opacity:1;mask-image:none}.resume-heatmap__months,.resume-heatmap__caption{font-size:.58rem}.resume-heatmap__cell{width:10px;height:10px}.resume-hero__title,.post-title,.page-header h1{font-size:clamp(2.5rem,15vw,3.4rem)}.post-hero{padding:20px 16px}.post-title{font-size:clamp(2rem,12vw,2.8rem);text-wrap:balance}.post-hero--with-pullquote{display:block}.post-hero--with-pullquote .post-hero__body{margin-top:16px}.post-hero__pullquote{margin-top:14px;padding-top:14px;font-size:.98rem}.post-hero--with-pullquote .post-hero__pullquote{align-self:auto;padding-left:0;border-left:0;border-top:1px solid var(--hero-rule)}.resume-panel,.page-header,.post-shell,.post-footer{padding-left:18px;padding-right:18px}.resume-writing__item{grid-template-columns:1fr}.resume-commit__meta{gap:6px}.resume-commit__repo,.resume-commit__hash{min-height:22px;padding:3px 7px}.post-strip__body h2{font-size:1.35rem}.article-index__title{font-size:1rem}.post-strip__body p,.resume-hero__lede,.resume-project__summary,.resume-project__impact{font-size:.92rem;line-height:1.56}.post-content blockquote{padding:18px 18px 18px 60px;border-radius:20px}.post-content blockquote::before{top:16px;left:16px;width:34px;height:34px;font-size:1.55rem}}.demo-embed{margin:2rem 0;padding:14px;border-radius:18px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);background:var(--demo-background);box-shadow:0 22px 50px -38px rgba(15,23,42,.55)}.demo-embed__chrome{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.demo-embed__label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}.demo-embed__open{font-size:.9rem;font-weight:600}.demo-embed__frame{display:block;width:100%;border:0;border-radius:14px;background:var(--demo-frame-background);box-shadow:inset 0 0 0 1px var(--demo-frame-inset)}@media(max-width:700px){.demo-embed{padding:10px}.demo-embed__chrome{align-items:flex-start;flex-direction:column}}