:root{--bg: #0a0a0a;--bg-2: #0f0f10;--surface: rgba(255, 255, 255, .025);--surface-2: rgba(255, 255, 255, .05);--surface-3: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--ink: #ededed;--ink-2: #d4d4d4;--ink-muted: #8a8a8a;--ink-soft: #6b6b6b;--ink-faint: #4a4a4a;--accent: #4dd3bf;--accent-ink: #07221f;--accent-soft: rgba(77, 211, 191, .12);--accent-hover: #7eebd7;--danger: #ff6b6b;--hot: #ff5f8a;--hot-2: #ffb86b;--hot-soft: rgba(255, 95, 138, .18);--hot-glow: rgba(255, 95, 138, .45);--grad-spike: linear-gradient(135deg, #ff5f8a 0%, #ffb86b 50%, #ffd76b 100%);--grad-cool: linear-gradient(135deg, #4dd3bf 0%, #7c8cff 100%);--grad-text: linear-gradient(120deg, #ff5f8a 0%, #b86bff 55%, #4dd3bf 100%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--space-40: 160px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-pill: 999px;--font-sans: "Inter", "SF Pro Text", "Segoe UI Variable", "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Geist Mono", "Fira Code", "SF Mono", "Cascadia Code", "Consolas", "Roboto Mono", monospace;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-32: 32px;--fs-48: 48px;--fs-display: clamp(48px, 8vw, 112px);--fs-headline: clamp(28px, 3.4vw, 44px);--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--t-fast: .12s cubic-bezier(.2, 0, 0, 1);--t: .2s cubic-bezier(.2, 0, 0, 1);--t-slow: .32s cubic-bezier(.2, 0, 0, 1);--z-nav: 30;--z-toast: 100;--elev-1: 0 1px 0 0 rgba(255, 255, 255, .04) inset, 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px -2px rgba(0, 0, 0, .35);--elev-2: 0 1px 0 0 rgba(255, 255, 255, .05) inset, 0 2px 4px rgba(0, 0, 0, .4), 0 8px 20px -6px rgba(0, 0, 0, .45);--elev-3: 0 1px 0 0 rgba(255, 255, 255, .06) inset, 0 4px 8px rgba(0, 0, 0, .4), 0 16px 40px -10px rgba(0, 0, 0, .55);--hairline-top: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .06) 20%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .06) 80%, transparent 100%);--surface-grad: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .015) 100%);--surface-grad-hover: linear-gradient(180deg, rgba(255, 255, 255, .065) 0%, rgba(255, 255, 255, .025) 100%);--noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");color:var(--ink);background:var(--bg);font-family:var(--font-sans);font-size:var(--fs-16);font-weight:var(--fw-regular);line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f5f6f8;--bg-2: #ffffff;--surface: rgba(0, 0, 0, .025);--surface-2: rgba(0, 0, 0, .05);--surface-3: rgba(0, 0, 0, .075);--line: rgba(15, 23, 42, .1);--line-strong: rgba(15, 23, 42, .18);--ink: #0a0a0a;--ink-2: #1a1a1a;--ink-muted: #4a4a4a;--ink-soft: #6b6b6b;--ink-faint: #a3a3a3;--accent: #0a8275;--accent-ink: #ffffff;--accent-soft: rgba(10, 130, 117, .14);--accent-hover: #086b61;--hot: #d23866;--hot-2: #e07a2c;--hot-soft: rgba(210, 56, 102, .16);--hot-glow: rgba(210, 56, 102, .4);--grad-spike: linear-gradient(135deg, #d23866 0%, #e07a2c 50%, #d4a017 100%);--grad-cool: linear-gradient(135deg, #0a8275 0%, #4f5fd1 100%);--grad-text: linear-gradient(120deg, #d23866 0%, #8a3dd1 55%, #0a8275 100%);--elev-1: 0 1px 0 0 rgba(255, 255, 255, .9) inset, 0 1px 2px rgba(15, 20, 30, .06), 0 2px 8px -2px rgba(15, 20, 30, .07);--elev-2: 0 1px 0 0 rgba(255, 255, 255, .9) inset, 0 2px 4px rgba(15, 20, 30, .08), 0 8px 20px -6px rgba(15, 20, 30, .1);--elev-3: 0 1px 0 0 rgba(255, 255, 255, 1) inset, 0 4px 8px rgba(15, 20, 30, .08), 0 16px 40px -10px rgba(15, 20, 30, .14);--hairline-top: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .8) 30%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, .8) 70%, transparent 100%);--surface-grad: linear-gradient(180deg, rgba(255, 255, 255, .6) 0%, rgba(255, 255, 255, .3) 100%);--surface-grad-hover: linear-gradient(180deg, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, .5) 100%);color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden;background:radial-gradient(1100px 620px at 14% -8%,var(--accent-soft),transparent 60%),radial-gradient(820px 520px at 92% -14%,rgba(184,107,255,.09),transparent 55%),radial-gradient(720px 460px at 50% 118%,rgba(77,211,191,.06),transparent 60%),radial-gradient(560px 360px at 80% 60%,rgba(255,95,138,.05),transparent 65%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 50%,var(--bg) 100%);background-attachment:fixed;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 90%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:var(--noise);background-size:160px 160px;opacity:.045;mix-blend-mode:overlay}@media(prefers-color-scheme:light){body{background:radial-gradient(1100px 620px at 14% -8%,rgba(10,130,117,.16),transparent 60%),radial-gradient(820px 520px at 92% -14%,rgba(140,87,229,.16),transparent 55%),radial-gradient(720px 460px at 50% 118%,rgba(10,170,150,.12),transparent 60%),radial-gradient(560px 360px at 80% 60%,rgba(210,56,102,.1),transparent 65%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 50%,var(--bg) 100%);background-attachment:fixed}body:before{background-image:linear-gradient(to right,rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.045) 1px,transparent 1px)}body:after{opacity:.06;mix-blend-mode:multiply}}#app{position:relative;z-index:1}a{color:inherit;text-decoration:none}button,summary{font:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{text-wrap:balance;font-feature-settings:"ss01","cv11"}p{text-wrap:pretty}ul{margin:0;padding:0;list-style:none}::selection{background:var(--accent);color:var(--accent-ink)}section[id],header[id]{scroll-margin-top:96px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn:focus-visible,.nav-links a:focus-visible,.lang-toggle:focus-visible,.topbar .brand:focus-visible,.toast:focus-visible,[class*=pill]:focus-visible{border-radius:var(--radius-pill)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.mono{font-family:var(--font-mono);font-feature-settings:"ss01","cv02","tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.grad-divider{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--line-strong) 30%,var(--line-strong) 70%,transparent)}#app{min-height:100vh}.site-shell{width:min(1080px,calc(100% - var(--space-10)));margin:0 auto;padding:var(--space-5) 0 var(--space-20)}.state{min-height:72vh;display:grid;place-items:center;color:var(--ink-muted);font-size:var(--fs-14)}.state-error{color:var(--danger)}.skeleton{min-height:72vh;display:grid;gap:var(--space-6);padding-top:var(--space-20)}.skeleton .sk-bar{height:16px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface),var(--surface-2) 50%,var(--surface));background-size:200% 100%;animation:sk-shimmer 1.6s ease-in-out infinite}.skeleton .sk-bar.lg{height:48px}.skeleton .sk-bar.md{height:28px}.skeleton .sk-bar.w-30{width:30%}.skeleton .sk-bar.w-50{width:50%}.skeleton .sk-bar.w-70{width:70%}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.topbar{position:sticky;top:var(--space-4);z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:52px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-2) 78%,transparent),color-mix(in srgb,var(--bg-2) 62%,transparent));backdrop-filter:saturate(200%) blur(24px);-webkit-backdrop-filter:saturate(200%) blur(24px);box-shadow:0 1px #ffffff14 inset,0 -1px #00000040 inset,0 0 0 1px #ffffff04 inset,0 12px 36px -16px #0009,0 4px 12px -6px #00000059}.brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-14);font-weight:var(--fw-medium);letter-spacing:-.01em}.brand .dot{position:relative;width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 0 12px var(--accent)}.brand .dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--radius-pill);border:1px solid var(--accent);opacity:.6;animation:brand-breath 3s ease-out infinite}@keyframes brand-breath{0%{transform:scale(.9);opacity:.6}to{transform:scale(2.2);opacity:0}}.brand small{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-12)}.nav-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-1)}.nav-links a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--ink-muted);font-size:var(--fs-13);font-weight:var(--fw-medium);transition:color var(--t),background var(--t)}.nav-links a .num{color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-12)}.nav-links a:hover{color:var(--ink);background:var(--surface-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--fs-14);font-weight:var(--fw-medium);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t),transform var(--t-fast)}.btn .arrow{display:inline-block;transition:transform var(--t-fast)}.btn:hover .arrow{transform:translate(2px,-2px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{color:var(--accent-ink);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 85%,#fff) 0%,var(--accent) 100%);border-color:var(--accent);box-shadow:0 1px #ffffff40 inset,0 6px 16px -4px color-mix(in srgb,var(--accent) 40%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.btn-primary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-hover) 85%,#fff) 0%,var(--accent-hover) 100%);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 1px #ffffff4d inset,0 10px 24px -6px color-mix(in srgb,var(--accent) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.btn-primary:active{transform:translateY(0)}.btn-ghost{color:var(--ink);background:var(--surface-grad),var(--bg-2);border-color:var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--elev-1)}.btn-ghost:hover{background:var(--surface-grad-hover),var(--bg-2);border-color:color-mix(in srgb,var(--accent) 40%,var(--line-strong));color:var(--accent);transform:translateY(-1px);box-shadow:var(--elev-2)}.btn-sm{min-height:36px;padding:0 var(--space-4);font-size:var(--fs-13)}.section-block{margin-top:var(--space-32)}.section-heading{position:relative;display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-12);padding-bottom:var(--space-5);border-bottom:1px solid transparent;background-image:linear-gradient(90deg,var(--accent) 0,var(--line-strong) 80px,var(--line) 60%,transparent 100%);background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px}.section-heading .index{font-family:var(--font-mono);color:var(--accent);font-size:var(--fs-13);font-weight:var(--fw-medium);letter-spacing:.04em}.section-heading h2{color:var(--ink);font-size:clamp(28px,3vw,36px);font-weight:var(--fw-semibold);letter-spacing:-.025em;line-height:1.15}.section-heading .meta{margin-left:auto;font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-12);letter-spacing:.04em}.hero{position:relative;display:grid;gap:var(--space-8);padding:var(--space-32) 0 var(--space-12);isolation:isolate}.hero:before,.hero:after{content:"";position:absolute;pointer-events:none;z-index:-1}.hero:before{top:-10%;right:-20%;bottom:0;left:-20%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px,48px 48px;mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000 0%,transparent 75%);opacity:.6}.hero:after{top:-8%;right:-10%;width:520px;height:520px;background:radial-gradient(circle,var(--hot-glow) 0%,transparent 65%);filter:blur(40px);opacity:.55}@media(prefers-color-scheme:light){.hero:after{opacity:.32}}.hero-avatar{position:relative;display:inline-flex;margin:0 0 var(--space-2);width:96px;height:96px;border-radius:var(--radius-pill);padding:3px;background:linear-gradient(135deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 30%,var(--line-strong)) 60%,var(--line) 100%);box-shadow:0 0 0 1px var(--line) inset,0 12px 32px -8px color-mix(in srgb,var(--accent) 30%,transparent),0 4px 12px -4px #00000080;transition:transform var(--t-slow),box-shadow var(--t-slow)}.hero-avatar:hover{transform:translateY(-2px) rotate(-2deg);box-shadow:0 0 0 1px var(--line) inset,0 16px 40px -8px color-mix(in srgb,var(--accent) 45%,transparent),0 6px 16px -4px #0009}.hero-avatar img{width:100%;height:100%;border-radius:var(--radius-pill);object-fit:cover;background:var(--bg-2);display:block}.hero-avatar .status-dot{position:absolute;right:4px;bottom:4px;width:14px;height:14px;border-radius:var(--radius-pill);background:var(--accent);box-shadow:0 0 0 3px var(--bg),0 0 12px color-mix(in srgb,var(--accent) 70%,transparent)}.hero-avatar .status-dot:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--radius-pill);border:1px solid var(--accent);opacity:.5;animation:brand-breath 2.4s ease-out infinite}.hero .eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);color:var(--ink-muted);font-size:var(--fs-13);letter-spacing:.02em}.hero .eyebrow:before{content:"";width:28px;height:1px;background:var(--accent)}.hero .eyebrow .pulse{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--accent)}.hero .eyebrow .pulse-link{padding:4px var(--space-3);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--radius-pill);background:var(--accent-soft);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.02em;transition:background var(--t),border-color var(--t),transform var(--t-fast)}.hero .eyebrow .pulse-link .arrow{color:var(--accent);transition:transform var(--t-fast)}.hero .eyebrow .pulse-link:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);transform:translateY(-1px)}.hero .eyebrow .pulse-link:hover .arrow{transform:translateY(2px)}.hero .eyebrow .pulse-dot{position:relative;width:6px;height:6px;border-radius:var(--radius-pill);background:var(--accent)}.hero .eyebrow .pulse-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--radius-pill);background:var(--accent);opacity:.3;animation:pulse 2s ease-out infinite}@keyframes pulse{0%{transform:scale(.8);opacity:.35}to{transform:scale(2.4);opacity:0}}h1{max-width:920px;color:var(--ink);font-size:var(--fs-display);font-weight:var(--fw-semibold);line-height:1;letter-spacing:-.04em;background:linear-gradient(180deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 80%,transparent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}h1 .accent{background:var(--grad-text);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 28px var(--hot-glow));animation:gradShift 8s ease-in-out infinite}@keyframes gradShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){h1 .accent{animation:none}}.hero .summary{max-width:620px;color:var(--ink-muted);font-size:var(--fs-18);line-height:1.65}.hero .summary .ink{color:var(--ink-2)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-8);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid transparent;background-image:linear-gradient(90deg,var(--accent) 0,var(--line-strong) 120px,var(--line) 60%,transparent 100%);background-repeat:no-repeat;background-position:0 0;background-size:100% 1px;font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-13)}.hero-meta .item{display:inline-flex;align-items:center;gap:var(--space-2)}.hero-meta .label{color:var(--ink-faint)}.hero-meta .value{color:var(--ink-2)}.about-list{display:grid;gap:0}.about-row{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--space-8);padding:var(--space-8) 0 var(--space-8) var(--space-4);border-bottom:1px solid var(--line);border-radius:var(--radius-sm);transition:background var(--t)}.about-row:before{content:"";position:absolute;left:0;top:50%;width:2px;height:0;background:var(--accent);border-radius:2px;transform:translateY(-50%);transition:height var(--t)}.about-row:last-child{border-bottom:0}.about-row:hover{background:linear-gradient(90deg,var(--surface-2),var(--surface) 50%,transparent 90%)}.about-row:hover:before{height:60%}.about-row:hover .index strong{color:var(--accent);transition:color var(--t)}.about-row .index{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-13);letter-spacing:.04em}.about-row .focus-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface-grad),var(--bg-2);color:var(--ink-2);box-shadow:var(--elev-1);transition:color var(--t),border-color var(--t),background var(--t),transform var(--t),box-shadow var(--t)}.about-row .focus-icon svg{width:18px;height:18px}.about-row:hover .focus-icon{color:var(--hot);border-color:color-mix(in srgb,var(--hot) 55%,transparent);background:var(--bg);box-shadow:0 0 18px var(--hot-glow);transform:translateY(-2px)}.about-row .focus-num{display:inline-block;background:var(--grad-spike);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-size:var(--fs-15);font-weight:var(--fw-bold);letter-spacing:.04em}.about-row .index strong{display:block;margin-top:var(--space-1);color:var(--ink);font-size:var(--fs-15);font-weight:var(--fw-medium)}.about-row .body p{max-width:720px;color:var(--ink-muted);font-size:var(--fs-15);line-height:1.75}.about-row .body .stack{display:inline-block;margin-top:var(--space-4);font-family:var(--font-mono);color:var(--ink-2);font-size:var(--fs-13);letter-spacing:-.005em}.about-row .body .tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.about-row .body .tags span{display:inline-flex;align-items:center;min-height:26px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-muted);background:var(--surface);font-family:var(--font-mono);font-size:var(--fs-12)}.work-list{display:grid;gap:0}.work-item{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:var(--space-6);padding:var(--space-8) 0;border-bottom:1px solid var(--line);transition:background var(--t);position:relative}.work-item:last-child{border-bottom:0}.work-item:hover{background:linear-gradient(90deg,transparent,var(--surface) 50%,transparent)}.work-item .thumb{position:relative;margin:0;width:180px;height:112px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--t),transform var(--t)}.work-item .thumb img{width:100%;height:100%;object-fit:cover}.work-item .thumb.is-placeholder{display:grid;place-items:center;background:radial-gradient(110% 90% at 0% 0%,var(--accent-soft) 0%,transparent 55%),radial-gradient(80% 80% at 100% 100%,var(--hot-soft) 0%,transparent 60%),linear-gradient(135deg,var(--surface-2) 0%,var(--surface-3) 100%);position:relative}.work-item .thumb.is-placeholder:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);pointer-events:none}.work-item .thumb .placeholder-label{position:relative;font-family:var(--font-mono);color:var(--ink-2);font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase}.work-item:hover .thumb{border-color:var(--ink-faint);transform:translateY(-1px)}.work-item .info{min-width:0;display:grid;gap:var(--space-3)}.work-item .title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3)}.work-item .title-row .num{font-family:var(--font-mono);color:var(--ink-faint);font-size:var(--fs-13);letter-spacing:.04em}.work-item h3{color:var(--ink);font-size:var(--fs-24);font-weight:var(--fw-semibold);letter-spacing:-.015em;overflow-wrap:anywhere}.work-item .category{font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-12);letter-spacing:.04em}.work-item p{max-width:680px;color:var(--ink-muted);font-size:var(--fs-15);line-height:1.7}.work-item .tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.work-item .tags span{font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-12)}.work-item .tags span:not(:last-child):after{content:" /";color:var(--ink-faint);margin-left:var(--space-2)}.work-item .side{display:grid;gap:var(--space-3);justify-items:end;align-content:start;padding-top:var(--space-1)}.work-item .stats{display:flex;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-13)}.work-item .stats .stat{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-grad),var(--bg-2);color:var(--ink);font-weight:var(--fw-medium);line-height:1;box-shadow:var(--elev-1);transition:border-color var(--t),background var(--t),transform var(--t-fast),box-shadow var(--t)}.work-item .stats .stat svg{width:15px;height:15px;fill:currentColor;flex:0 0 auto}.work-item .stats .stat-star svg{color:#e3a72f}.work-item .stats .stat-fork svg{color:#9aa3ad}@media(prefers-color-scheme:light){.work-item .stats .stat-fork svg{color:#57606a}}.work-item:hover .stats .stat{border-color:var(--ink-faint);background:var(--surface-2)}.work-item:hover .stats .stat-star{border-color:#e3a72f}.work-item .link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-13);transition:color var(--t)}.work-item .link:after{content:"↗";transition:transform var(--t-fast)}.work-item:hover .link{color:var(--accent)}.work-item:hover .link:after{transform:translate(2px,-2px)}.featured-project{padding:var(--space-12) 0;border-bottom:1px solid var(--line)}.featured-project .header{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.featured-project .header .label{font-family:var(--font-mono);color:var(--accent);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase}.featured-project h3{color:var(--ink);font-size:var(--fs-32);font-weight:var(--fw-semibold);letter-spacing:-.02em}.featured-project p{max-width:720px;margin-top:var(--space-3);color:var(--ink-muted);font-size:var(--fs-16);line-height:1.7}.featured-project .meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);margin-top:var(--space-5);font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-13)}.featured-project .meta svg{width:12px;height:12px;fill:currentColor;margin-right:4px;vertical-align:-1px}.featured-project .meta .link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent);transition:color var(--t)}.featured-project .meta .link:after{content:"↗";transition:transform var(--t-fast)}.featured-project .meta .link:hover:after{transform:translate(2px,-2px)}.gallery-wall{display:grid;grid-template-columns:1.1fr .9fr;grid-auto-rows:140px;gap:var(--space-2);margin-top:var(--space-8);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.gallery-wall figure{margin:0;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-2);transition:transform var(--t)}.gallery-wall figure:hover{transform:scale(1.01)}.gallery-wall img{width:100%;height:100%;object-fit:cover}.gallery-wall .shot-1,.gallery-wall .shot-2{grid-row:span 2}.timeline{position:relative;display:grid;gap:0}.timeline:before{content:"";position:absolute;left:195px;top:var(--space-8);bottom:var(--space-8);width:1px;background:linear-gradient(180deg,transparent,var(--line-strong) 8%,var(--line-strong) 92%,transparent);pointer-events:none}.timeline-row{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--space-8);padding:var(--space-8) 0;border-bottom:1px solid var(--line)}.timeline-row:before{content:"";position:absolute;left:190px;top:calc(var(--space-8) + 6px);width:11px;height:11px;border-radius:var(--radius-pill);background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 4px var(--bg),0 0 14px color-mix(in srgb,var(--accent) 60%,transparent);z-index:1}.timeline-row:first-child:before{background:var(--accent)}.timeline-row:last-child{border-bottom:0}.timeline-row .period{font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-13);letter-spacing:.02em;padding-top:var(--space-1)}.timeline-row .timeline-meta{display:flex;flex-direction:column;gap:var(--space-5)}.timeline-row .company-logo{display:flex;align-items:center;justify-content:center;width:160px;height:160px;border-radius:var(--radius);background:var(--surface-grad),var(--bg-2);border:1px solid var(--line);overflow:hidden;padding:var(--space-4);box-shadow:var(--elev-1);transition:box-shadow var(--t),transform var(--t)}.timeline-row:hover .company-logo{box-shadow:var(--elev-2);transform:translateY(-2px)}.timeline-row .company-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}@media(max-width:720px){.timeline-row .timeline-meta{flex-direction:row;align-items:center;gap:var(--space-4)}.timeline-row .company-logo{width:72px;height:72px;padding:var(--space-2)}}.timeline-row .body h3{color:var(--ink);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:-.015em}.timeline-row .body .role{display:block;margin-top:var(--space-2);color:var(--ink-2);font-size:var(--fs-15);font-weight:var(--fw-medium)}.timeline-row .body .location{margin-top:var(--space-1);color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.04em}.timeline-row .body ul{display:grid;gap:var(--space-3);margin-top:var(--space-5);max-width:760px}.timeline-row .body li{position:relative;padding-left:var(--space-5);color:var(--ink-muted);font-size:var(--fs-14);line-height:1.75}.timeline-row .body li:before{content:"";position:absolute;left:0;top:.7em;width:8px;height:1px;background:var(--accent)}.contact-block{margin-top:var(--space-32);padding:var(--space-16) 0;text-align:center}.contact-block .eyebrow{display:inline-block;margin-bottom:var(--space-5);font-family:var(--font-mono);color:var(--accent);font-size:var(--fs-13);letter-spacing:.08em;text-transform:uppercase}.contact-block h2{color:var(--ink);font-size:clamp(40px,6vw,80px);font-weight:var(--fw-semibold);letter-spacing:-.03em;line-height:1.05}.contact-block .lead{max-width:560px;margin:var(--space-5) auto 0;color:var(--ink-muted);font-size:var(--fs-16);line-height:1.7}.contact-block .cta{display:inline-flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.contact-block .channels{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4) var(--space-6);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-13)}.contact-block .channel{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink-muted);transition:color var(--t);cursor:pointer;background:none;border:0;padding:0;font:inherit}.contact-block .channel:hover{color:var(--ink)}.contact-block .channel .key{color:var(--ink-faint)}.contact-block .channel .arrow{color:var(--ink-faint);transition:transform var(--t-fast),color var(--t)}.contact-block .channel:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-20);padding-top:var(--space-6);border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-soft);font-size:var(--fs-12);letter-spacing:.02em}.site-footer .left,.site-footer .right{display:inline-flex;align-items:center;gap:var(--space-3)}.site-footer strong{color:var(--ink-2);font-weight:var(--fw-medium)}.toast{position:fixed;left:50%;bottom:var(--space-12);z-index:var(--z-toast);transform:translate(-50%);padding:var(--space-3) var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-2) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-13);animation:toast-in var(--t-slow)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.page-enter-active,.page-leave-active{transition:opacity .28s ease,transform .28s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}.nav-links a.router-link-active,.nav-links a.router-link-exact-active{position:relative;color:var(--ink);background:linear-gradient(135deg,var(--hot-soft) 0%,var(--accent-soft) 100%);box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px color-mix(in srgb,var(--hot) 45%,transparent),0 4px 12px -4px var(--hot-glow),0 0 16px var(--hot-glow)}.nav-links a.router-link-active .num,.nav-links a.router-link-exact-active .num{color:var(--hot);font-weight:var(--fw-bold)}.home-intro{display:grid;gap:var(--space-5);max-width:720px;margin-top:var(--space-16);padding-top:var(--space-10);border-top:1px solid var(--line)}.home-intro p{color:var(--ink-2);font-size:var(--fs-16);line-height:1.85}.entry-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-24)}.entry-card{position:relative;display:grid;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-grad),var(--bg-2);color:var(--ink);overflow:hidden;isolation:isolate;box-shadow:var(--elev-1);transition:border-color var(--t),background var(--t),transform var(--t-fast),box-shadow var(--t)}.entry-card:before{content:attr(data-num);position:absolute;right:-8px;bottom:-34px;z-index:-1;font-family:var(--font-mono);font-size:140px;font-weight:var(--fw-bold);line-height:1;letter-spacing:-.08em;color:var(--ink);opacity:.04;pointer-events:none;transition:opacity var(--t),color var(--t),transform var(--t)}.entry-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 60%,transparent),transparent 50%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--t)}.entry-card:hover{border-color:transparent;background:var(--surface-grad-hover),var(--bg-2);transform:translateY(-3px);box-shadow:var(--elev-3),0 0 40px -8px var(--accent-soft)}.entry-card:hover:before{opacity:.09;color:var(--accent);transform:translate(-4px,-4px)}.entry-card:hover:after{opacity:1}.entry-card .num{background:var(--grad-spike);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-bold);letter-spacing:.06em}.entry-card h2{color:var(--ink);font-size:var(--fs-24);font-weight:var(--fw-semibold);letter-spacing:-.015em}.entry-card p{color:var(--ink-muted);font-size:var(--fs-14);line-height:1.65}.entry-card .enter{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-13);transition:color var(--t)}.entry-card:hover .enter{color:var(--accent)}.entry-card .enter .arrow{transition:transform var(--t-fast)}.entry-card:hover .enter .arrow{transform:translate(2px,-2px)}.page-header{padding:var(--space-24) 0 var(--space-12);border-bottom:1px solid var(--line)}.page-header .index{display:inline-block;margin-bottom:var(--space-3);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:.06em}.page-header h1{font-size:clamp(40px,6vw,72px);font-weight:var(--fw-semibold);line-height:1.05;letter-spacing:-.03em;color:var(--ink)}.page-header .lead{max-width:640px;margin-top:var(--space-4);color:var(--ink-muted);font-size:var(--fs-16);line-height:1.7}.page-header .lead .ink{color:var(--ink-2)}.page-header .lead .mono{display:inline-block;margin-left:var(--space-2);color:var(--ink-soft);font-size:var(--fs-13)}.page-section{margin-top:var(--space-16)}.page-sub-heading{margin-bottom:var(--space-8)}.page-sub-heading .index{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:.04em}.about-intro{display:grid;gap:var(--space-5);max-width:720px;margin-top:var(--space-10)}.about-intro p{color:var(--ink-2);font-size:var(--fs-16);line-height:1.85}.beliefs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.belief{display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--space-3);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-grad),var(--bg-2);box-shadow:var(--elev-1);transition:border-color var(--t),box-shadow var(--t),transform var(--t-fast)}.belief:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line-strong));box-shadow:var(--elev-2);transform:translateY(-1px)}.belief .num{color:var(--accent);font-size:var(--fs-13);letter-spacing:.04em;padding-top:4px}.belief h3{color:var(--ink);font-size:var(--fs-16);font-weight:var(--fw-semibold);letter-spacing:-.01em}.belief p{margin-top:var(--space-2);color:var(--ink-muted);font-size:var(--fs-14);line-height:1.7}.page-empty{display:grid;gap:var(--space-4);max-width:640px;margin:var(--space-16) auto 0;padding:var(--space-12) var(--space-8);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-grad),var(--bg-2);box-shadow:var(--elev-1);text-align:center}.page-empty .index{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:.04em}.page-empty h2{color:var(--ink);font-size:var(--fs-24);font-weight:var(--fw-semibold);letter-spacing:-.015em}.page-empty p{color:var(--ink-muted);font-size:var(--fs-14);line-height:1.7}.page-empty .actions{display:flex;justify-content:center;margin-top:var(--space-4)}.timeline,.work-list,.work-projects{margin-top:var(--space-12)}.work-projects{display:grid;gap:var(--space-8)}.work-project{display:grid;gap:var(--space-4);padding:var(--space-8) 0;border-top:1px solid var(--line)}.work-project:first-child{border-top:0;padding-top:var(--space-4)}.work-project .wp-head{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:var(--space-4)}.work-project .wp-head .num{background:var(--grad-spike);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-family:var(--font-mono);font-size:var(--fs-18);font-weight:var(--fw-bold);letter-spacing:.04em;padding-top:4px}.work-project .title-block h2{color:var(--ink);font-size:clamp(22px,2.6vw,30px);font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:-.02em}.work-project .title-block .sub{margin-top:var(--space-1);color:var(--ink-muted);font-size:var(--fs-14);line-height:1.6}.work-project .meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);padding:var(--space-4) 0;border-top:1px dashed var(--line-soft, var(--line));border-bottom:1px dashed var(--line-soft, var(--line))}.work-project .meta>div{display:grid;gap:2px}.work-project .meta dt{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em}.work-project .meta dd{color:var(--ink-2);font-size:var(--fs-13);line-height:1.5}.work-project .description{color:var(--ink-2);font-size:var(--fs-15);line-height:1.8;max-width:760px}.work-project .highlights{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-5);color:var(--ink-2);font-size:var(--fs-14);line-height:1.75}.work-project .highlights li{list-style:disc}.work-project .stack{display:flex;flex-wrap:wrap;gap:var(--space-2)}.work-project .stack span{padding:2px 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.02em}@media(max-width:720px){.work-project .meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.timeline-row .body .exp-projects{margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px dashed var(--line);display:grid;gap:var(--space-6)}.timeline-row .body .exp-projects-head{display:grid;gap:var(--space-1)}.timeline-row .body .exp-projects-eyebrow{color:var(--accent);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase}.timeline-row .body .exp-projects h4{color:var(--ink);font-size:var(--fs-18);font-weight:var(--fw-semibold);letter-spacing:-.01em}.timeline-row .body .exp-projects .work-project{padding:var(--space-6) 0}.timeline-row .body .exp-projects .work-project .meta{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-row .body .exp-projects .work-project .title-block h2{font-size:clamp(18px,1.8vw,22px)}.timeline-row .body .exp-projects .work-project ul.highlights{max-width:760px}@media(max-width:720px){.timeline-row .body .exp-projects .work-project .meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-10)}.contact-cta .arrow{display:inline-block;transition:transform var(--t-fast)}.contact-cta .btn:hover .arrow{transform:translate(2px,-2px)}.channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-12);padding:0;border:0;font-family:var(--font-sans);font-size:var(--fs-14)}.channels .channel{position:relative;display:grid;grid-template-columns:28px 72px minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-grad),var(--bg-2);box-shadow:var(--elev-1);color:var(--ink);text-align:left;cursor:pointer;overflow:hidden;transition:border-color var(--t),background var(--t),transform var(--t-fast),box-shadow var(--t);font:inherit}.channels .channel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:center;transition:transform var(--t)}.channels .channel:hover:before{transform:scaleY(1)}.channels .channel .ch-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto}.channels .channel .ch-icon img{width:22px;height:22px;object-fit:contain;transition:transform var(--t-fast)}.channels .channel:hover .ch-icon img{transform:scale(1.06)}.channels .channel:hover{border-color:var(--ink-faint);background:var(--surface-grad-hover),var(--bg-2);box-shadow:var(--elev-2);transform:translateY(-1px)}.channels .channel .key{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.04em}.channels .channel .value{color:var(--ink-2);font-size:var(--fs-14);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channels .channel .arrow{color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--fs-12);transition:transform var(--t-fast),color var(--t)}.channels .channel:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.page-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-20);padding-top:var(--space-6);border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-13)}.page-pager a{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--ink-muted);transition:color var(--t),background var(--t)}.page-pager a:hover{color:var(--ink);background:var(--surface-2)}.page-pager .back{margin-right:auto}.page-pager .next{margin-left:auto;color:var(--accent)}@media(max-width:900px){.site-shell{width:calc(100% - var(--space-6));padding:var(--space-3) 0 var(--space-16)}section[id],header[id]{scroll-margin-top:80px}.section-block{margin-top:var(--space-20)}.hero{padding:var(--space-20) 0 var(--space-8)}.hero-meta{gap:var(--space-3) var(--space-5)}.about-row{grid-template-columns:1fr;gap:var(--space-3)}.work-item{grid-template-columns:1fr;gap:var(--space-4)}.work-item .thumb{width:100%;height:180px}.work-item .side{justify-items:start}.entry-cards{grid-template-columns:1fr;margin-top:var(--space-16)}.beliefs,.channels{grid-template-columns:1fr}.page-header{padding-top:var(--space-16)}.page-header h1{font-size:clamp(36px,9vw,56px)}.page-empty{padding:var(--space-8)}.channels .channel{grid-template-columns:24px 64px minmax(0,1fr) auto;gap:var(--space-3)}.channels .channel .ch-icon{width:24px;height:24px}.channels .channel .ch-icon img{width:20px;height:20px}.timeline:before{display:none}.timeline-row:before{display:none}.timeline-row{grid-template-columns:1fr;gap:var(--space-3)}.gallery-wall{grid-template-columns:1fr;grid-auto-rows:160px}.gallery-wall .shot-1,.gallery-wall .shot-2{grid-row:span 1}.featured-project h3{font-size:var(--fs-24)}.section-heading{flex-wrap:wrap;gap:var(--space-3)}.section-heading .meta{margin-left:0;flex-basis:100%}.topbar{top:var(--space-3);border-radius:var(--radius-lg)}.nav-links a{padding:0 var(--space-3)}}.home-block{position:relative;margin-top:var(--space-20);padding-top:var(--space-10);border-top:1px solid transparent;background-image:linear-gradient(90deg,transparent 0%,var(--line) 12%,var(--line-strong) 50%,var(--line) 88%,transparent 100%);background-repeat:no-repeat;background-position:0 0;background-size:100% 1px;scroll-margin-top:var(--space-20)}.home-section-heading{position:relative;display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);padding-bottom:var(--space-5);color:var(--ink);background-image:linear-gradient(90deg,var(--accent) 0,color-mix(in srgb,var(--accent) 30%,transparent) 80px,var(--line) 200px,transparent 100%);background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px}.home-section-heading .icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:12px;background:linear-gradient(135deg,var(--accent-soft) 0%,transparent 70%),var(--surface-grad),var(--bg-2);color:var(--accent);flex:0 0 auto;box-shadow:0 1px #ffffff0f inset,0 0 0 1px #ffffff05 inset,0 8px 20px -8px color-mix(in srgb,var(--accent) 40%,transparent),var(--elev-1);transition:border-color var(--t),color var(--t),transform var(--t)}.home-section-heading:hover .icon{transform:rotate(-3deg) scale(1.05)}.home-section-heading .icon svg{width:20px;height:20px}.home-section-heading h2{margin:0;font-size:clamp(22px,2.2vw,28px);font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:-.015em}.home-section-heading .index{display:inline-flex;align-items:center;padding:2px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-grad),var(--bg-2);color:var(--ink-soft);font-size:var(--fs-12);letter-spacing:.06em;margin-left:auto;box-shadow:var(--elev-1)}.home-block-lead{max-width:720px;margin:0 0 var(--space-6);color:var(--ink-2);font-size:var(--fs-16);line-height:1.85}.home-block .home-intro,.home-block .entry-cards{margin-top:0;padding-top:0;border-top:none}.home-block .entry-cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){.home-section-heading{flex-wrap:wrap;gap:var(--space-2)}.home-section-heading .index{flex-basis:100%;margin-left:0}.home-block .entry-cards{grid-template-columns:1fr}}.rt-num{position:relative;display:inline-block;color:var(--hot);font-family:var(--font-mono);font-feature-settings:"ss01","tnum";font-variant-numeric:tabular-nums;font-weight:800;font-size:1.12em;letter-spacing:-.01em;padding:0 4px;margin:0 1px;background:linear-gradient(180deg,transparent 0%,transparent 55%,var(--hot-soft) 55%,var(--hot-soft) 92%,transparent 92%);border-radius:2px;text-shadow:0 0 12px var(--hot-glow);transition:text-shadow var(--t),transform var(--t)}.rt-num:hover{transform:translateY(-1px);text-shadow:0 0 18px var(--hot-glow)}@media(prefers-reduced-motion:reduce){.rt-num,.rt-num:hover{transition:none;transform:none}}.rt-link{color:inherit;text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--hot) 55%,transparent);transition:border-color var(--t),color var(--t)}.rt-link:hover{color:var(--hot);border-bottom-color:var(--hot)}.rt-link[target=_blank]:after{content:"↗";margin-left:2px;font-size:.85em;color:var(--hot)}.nuget-view .lead code{padding:0 6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink-2);font-size:.9em}.nuget-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-top:var(--space-8)}.nuget-stats .stat-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5) var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-grad),var(--bg-2);box-shadow:var(--elev-1)}.nuget-stats .stat-card .label{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase}.nuget-stats .stat-card .value{color:var(--ink);font-size:var(--fs-32);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.1}.nuget-stats .stat-card .value.accent{background:var(--grad-spike);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 16px var(--hot-glow))}.nuget-stats .stat-card .value.small{font-size:var(--fs-15);font-weight:var(--fw-medium);letter-spacing:0}.nuget-stats .stat-card .sub{margin-top:var(--space-1);color:var(--ink-muted);font-size:var(--fs-13)}.nuget-view .page-header h1{display:inline-flex;align-items:center;gap:var(--space-3)}.header-refresh{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-muted);font-size:var(--fs-16);line-height:1;cursor:pointer;transition:color var(--t),border-color var(--t),background var(--t),transform var(--t)}.header-refresh:hover{color:var(--hot);border-color:color-mix(in srgb,var(--hot) 50%,transparent);background:var(--hot-soft);transform:rotate(-30deg)}.header-refresh:disabled{opacity:.5;cursor:not-allowed;transform:none}.header-refresh .spin{display:inline-block;animation:nuget-spin .9s linear infinite}@keyframes nuget-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.header-refresh:hover{transform:none}.header-refresh .spin{animation:none}}.nuget-state{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-14)}.nuget-state .dot{display:inline-block;width:8px;height:8px;margin-right:var(--space-2);border-radius:50%;background:var(--accent);animation:nuget-pulse 1.2s ease-in-out infinite}@keyframes nuget-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.nuget-state.error{border-color:color-mix(in srgb,var(--danger) 50%,transparent);color:var(--danger)}.nuget-list{display:grid;gap:var(--space-4);margin-top:var(--space-10)}.nuget-item{display:grid;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-grad),var(--bg-2);color:inherit;text-decoration:none;box-shadow:var(--elev-1);transition:border-color var(--t),transform var(--t),background var(--t),box-shadow var(--t)}.nuget-item:hover{border-color:color-mix(in srgb,var(--hot) 45%,transparent);background:var(--surface-grad-hover),var(--bg-2);transform:translateY(-2px);box-shadow:var(--elev-2),0 12px 32px -16px var(--hot-glow)}.nuget-item .head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3)}.nuget-item .head .num{background:var(--grad-spike);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-size:var(--fs-18);font-weight:var(--fw-bold);letter-spacing:.04em}.nuget-item .head h3{margin:0;color:var(--ink);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:-.01em}.nuget-item .head .version{padding:2px 8px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink-2);font-size:var(--fs-12)}.nuget-item .desc{color:var(--ink-muted);font-size:var(--fs-15);line-height:1.7}.nuget-item .tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.nuget-item .tags span{padding:2px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-muted);background:var(--surface);font-family:var(--font-mono);font-size:var(--fs-12)}.nuget-item .metrics{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);padding-top:var(--space-3);border-top:1px dashed var(--line)}.nuget-item .metric{display:flex;flex-direction:column;gap:2px}.nuget-item .m-label{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase}.nuget-item .m-value{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--fs-15)}.nuget-item .metric.primary .m-value{background:var(--grad-spike);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-size:var(--fs-24);font-weight:var(--fw-bold)}.nuget-item .badge{display:block;height:20px}.lang-toggle{display:inline-flex;align-items:center;gap:2px;margin-left:var(--space-2);padding:3px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-grad),var(--bg-2);box-shadow:var(--elev-1);cursor:pointer;font:inherit;color:inherit;transition:border-color var(--t),box-shadow var(--t)}.lang-toggle:hover{border-color:var(--line-strong);box-shadow:var(--elev-2)}.lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-toggle .lang-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-medium);letter-spacing:.02em;transition:color var(--t),background var(--t)}.lang-toggle .lang-pill.active{color:var(--accent-ink);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff) 0%,var(--accent) 100%);box-shadow:inset 0 1px #ffffff4d,0 4px 10px -4px color-mix(in srgb,var(--accent) 45%,transparent)}@media(max-width:900px){.lang-toggle{margin-left:0}.lang-toggle .lang-pill{min-width:24px;height:24px}}button:not(:disabled),[role=button],a[href]{cursor:pointer}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);z-index:var(--z-toast);display:block;max-width:280px;width:max-content;padding:6px var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-2) 92%,transparent),color-mix(in srgb,var(--bg) 92%,transparent));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px #ffffff0d inset,0 8px 20px -6px #0000008c,0 2px 6px #00000059;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-12);font-weight:var(--fw-medium);line-height:1.4;letter-spacing:-.005em;white-space:normal;pointer-events:none;opacity:0;transition:opacity .14s ease,transform .14s cubic-bezier(.2,0,0,1)}[data-tooltip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%,4px) rotate(45deg);z-index:var(--z-toast);width:8px;height:8px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg) 92%,transparent);pointer-events:none;opacity:0;transition:opacity .14s ease,transform .14s cubic-bezier(.2,0,0,1)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,[data-tooltip]:hover:before,[data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%) rotate(0)}[data-tooltip]:hover:before,[data-tooltip]:focus-visible:before{transform:translate(-50%) rotate(45deg)}[data-tooltip-place=bottom]:after{top:calc(100% + 10px);bottom:auto}[data-tooltip-place=bottom]:before{top:calc(100% + 4px);bottom:auto;border:0;border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong)}@media(prefers-reduced-motion:reduce){[data-tooltip]:after,[data-tooltip]:before{transition:opacity 80ms linear}}@media(hover:none){[data-tooltip]:after,[data-tooltip]:before{display:none}}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:var(--z-toast);display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--bg-2);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-medium);text-decoration:none;transform:translateY(-200%);transition:transform var(--t);box-shadow:var(--elev-2)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:none;box-shadow:var(--elev-2),0 0 0 3px var(--accent-soft)}.page-pager a{position:relative;overflow:hidden}.page-pager a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,var(--accent-soft),transparent 60%);opacity:0;transition:opacity var(--t);pointer-events:none}.page-pager a:hover:before{opacity:1}.page-pager .back{padding-left:var(--space-2);transition:color var(--t),padding var(--t),background var(--t)}.page-pager .next{padding-right:var(--space-2);transition:color var(--t),padding var(--t),background var(--t)}.page-pager .back:hover{padding-left:0;padding-right:var(--space-4)}.page-pager .next:hover{padding-right:0;padding-left:var(--space-4)}@keyframes hero-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero>*{animation:hero-rise .52s cubic-bezier(.2,0,0,1) both}.hero>.hero-avatar{animation-delay:0ms}.hero>.eyebrow{animation-delay:60ms}.hero>h1{animation-delay:.12s}.hero>.summary{animation-delay:.2s}.hero>.hero-actions{animation-delay:.26s}.hero>.hero-meta{animation-delay:.32s}.page-header>*{animation:hero-rise .48s cubic-bezier(.2,0,0,1) both}.page-header>.index{animation-delay:0ms}.page-header>h1{animation-delay:60ms}.page-header>.lead{animation-delay:.14s}.page-header>.nuget-stats,.page-header>.nuget-state{animation-delay:.2s}@media(prefers-reduced-motion:reduce){.hero>*,.page-header>*{animation:none}}@media(max-width:720px){.topbar{flex-wrap:wrap;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.brand{flex:0 0 auto}.nav-links{flex:1 1 100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0;mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex:0 0 auto;padding:0 var(--space-3);min-height:32px}.nav-links a .num{display:none}.lang-toggle{flex:0 0 auto;margin-left:auto}}:root{--ink-faint: #6b6b6b}@media(prefers-color-scheme:light){:root{--ink-faint: #8a8a8a}}@media(prefers-color-scheme:light){.timeline-row .company-logo{background:linear-gradient(135deg,#1a1d24,#0f1320);border-color:#0f172a2e;box-shadow:0 1px #ffffff0f inset,0 1px 2px #0f172a14,0 4px 10px -2px #0f172a1f}}@media(prefers-color-scheme:light){.entry-card,.belief,.channels .channel,.nuget-stats .stat-card,.nuget-item,.work-item .stats .stat{background:linear-gradient(180deg,#fff,#fafbfc);border-color:#0f172a1f;box-shadow:0 1px #fff inset,0 1px 2px #0f172a0f,0 4px 12px -2px #0f172a14}.entry-card:hover,.belief:hover,.channels .channel:hover,.nuget-item:hover{box-shadow:0 1px #fff inset,0 2px 4px #0f172a14,0 12px 24px -6px #0f172a24}.home-block{background-image:linear-gradient(90deg,transparent 0%,rgba(15,23,42,.1) 12%,rgba(15,23,42,.2) 50%,rgba(15,23,42,.1) 88%,transparent 100%)}.section-heading,.home-section-heading{background-image:linear-gradient(90deg,var(--accent) 0,rgba(15,23,42,.18) 120px,rgba(15,23,42,.1) 60%,transparent 100%)}}@media(prefers-reduced-motion:reduce){.brand .dot:after,.hero .eyebrow .pulse-dot:after,.hero-avatar .status-dot:after,.nuget-state .dot,.skeleton .sk-bar{animation:none!important}}
