:root{color-scheme:light;--bg:#f8f8f8;--bg-2:#f2f2f2;--surface:#fffffff2;--text:#121212;--text-2:#525252;--text-3:#a4a4a4;--border:#e4e4e4;--border-2:#d1d1d1;--accent:#006e9b;--accent-hover:#004e6e;--accent-soft:#006e9b1a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--radius-card:12px;--radius-btn:6px}html.dark{color-scheme:dark;--bg:#030303;--bg-2:#121212;--surface:#121212f2;--text:#f8f8f8;--text-2:#a4a4a4;--text-3:#7a7a7a;--border:#242424;--border-2:#3d3d3d;--accent:#00addc;--accent-hover:#4ac9ec;--accent-soft:#00addc1f;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}section[id]{scroll-margin-top:76px}.nav{z-index:50;background:var(--surface);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;height:60px;display:flex}.brand{letter-spacing:-.01em;align-items:baseline;gap:9px;font-size:17px;font-weight:700;display:flex}.brand-slogan{white-space:nowrap}.brand-sub{color:var(--text-3);white-space:nowrap;font-size:12.5px;font-weight:400}.nav nav{align-items:center;gap:24px;font-size:14px;display:flex}.nav nav a{color:var(--text-2);transition:color .15s}.nav nav a:hover{color:var(--text)}.theme-btn{border:1px solid var(--border-2);border-radius:var(--radius-btn);width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s;display:inline-flex}.theme-btn:hover{border-color:var(--text-3);color:var(--text)}.theme-btn svg{width:15px;height:15px}.theme-btn .icon-sun,html.dark .theme-btn .icon-moon{display:none}html.dark .theme-btn .icon-sun{display:block}.btn{border-radius:var(--radius-btn);cursor:pointer;border:none;padding:12px 22px;font-family:inherit;font-size:15px;transition:background-color .15s,border-color .15s;display:inline-block}.fill{background:var(--accent);color:#fff}.fill:hover{background:var(--accent-hover)}.sec{padding-top:60px}.sec-k{color:var(--accent);letter-spacing:.06em;margin-bottom:8px;font-size:13px}.sec-h{letter-spacing:-.02em;margin-bottom:22px;font-size:26px}.sec-d{color:var(--text-2);max-width:660px;margin-bottom:22px;font-size:14px;line-height:1.8}.stat,.exp,.arts,.contact,.prose{box-shadow:var(--shadow-sm)}.rail-sec{padding-top:44px}.rail-k{color:var(--accent);letter-spacing:.06em;margin-bottom:20px;font-size:13px}.rail-scroll{scrollbar-width:none;overflow-x:auto}.rail-scroll::-webkit-scrollbar{display:none}.rail{grid-template-columns:repeat(5,1fr);gap:20px;min-width:860px;display:grid}.rail-node{padding-top:26px;position:relative}.rail-node:before{content:"";border:1.5px solid var(--accent);background:var(--bg);border-radius:50%;width:9px;height:9px;position:absolute;top:0;left:0}.rail-node:after{content:"";background:var(--border-2);width:calc(100% + 8px);height:1px;position:absolute;top:4px;left:12px}.rail-node:last-child:after{display:none}.rail-node.current:before{background:var(--accent)}.rail-name{letter-spacing:-.01em;margin-bottom:8px;font-size:18px;font-weight:700}.rail-cap{color:var(--text-2);font-size:12.5px;line-height:1.7}.rail-note{color:var(--text-3);margin-top:18px;font-size:12.5px}.hero{padding-top:52px}.hero-grid{grid-template-columns:1.35fr .65fr;align-items:center;gap:36px;display:grid}.eyebrow{color:var(--accent);margin-bottom:14px;font-size:14px}.hero h1{letter-spacing:-.02em;margin-bottom:12px;font-size:52px}.tagline{color:var(--text);margin-bottom:14px;font-size:20px}.intro{color:var(--text-2);max-width:560px;margin-bottom:26px;font-size:15.5px;line-height:1.9}.ctas{flex-wrap:wrap;gap:12px;display:flex}.stats{gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);align-items:baseline;gap:12px;padding:14px 18px;display:flex}.stat b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:28px}.stat span{color:var(--text-2);font-size:13px}.skills{grid-template-columns:1fr 1fr;gap:16px;display:grid}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px 20px}.skill-card h3{color:var(--text-2);margin-bottom:12px;font-size:14px;font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{background:var(--bg-2);color:var(--text-2);border-radius:999px;padding:6px 14px;font-size:13px}.exp{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:4px 24px}.exp-item{border-bottom:1px solid var(--border);grid-template-columns:150px 1fr;gap:20px;padding:20px 0;display:grid}.exp-item:last-child{border-bottom:none}.period{color:var(--text-3);padding-top:3px;font-size:13px}.exp-item h3{margin-bottom:3px;font-size:15.5px}.exp-item h3 span{color:var(--text-2);font-weight:400}.role-note{color:var(--text-3);margin-bottom:10px;font-size:13px}.bullets{list-style:none}.bullets li{color:var(--text-2);margin-bottom:4px;padding-left:16px;font-size:13.5px;line-height:1.85;position:relative}.bullets li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:0}.edu-note{color:var(--text-2);font-size:14px;line-height:1.85}.arts{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:4px 24px}.art-row{border-bottom:1px solid var(--border);align-items:baseline;gap:18px;padding:16px 0;display:flex}.art-row:last-child{border-bottom:none}.art-date{color:var(--text-3);font-variant-numeric:tabular-nums;min-width:64px;font-size:13px}.art-row .t{color:var(--text);flex:1;font-size:15.5px}.art-row .t small{color:var(--text-2);margin-top:4px;font-size:13px;font-weight:400;display:block}.art-row:hover .t{color:var(--accent)}.art-tag{color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:12px}.art-row .a{color:var(--accent);font-size:14px}.contact{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);text-align:center;padding:36px 28px}.contact h2{letter-spacing:-.01em;margin-bottom:10px;font-size:24px}.contact .lead{color:var(--text-2);max-width:560px;margin:0 auto 16px;font-size:14px;line-height:1.9}.contact-mail{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:16px;font-size:16px;display:flex}.contact-mail span{color:var(--text-3);font-size:12.5px}.btn-copy{border-radius:var(--radius-btn);border:1px solid var(--border-2);color:var(--text);cursor:pointer;background:0 0;padding:8px 16px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.btn-copy:hover{border-color:var(--text-3)}.links{flex-wrap:wrap;justify-content:center;gap:18px;font-size:13.5px;display:flex}.links a{color:var(--accent)}footer{border-top:1px solid var(--border);color:var(--text-3);text-align:center;margin-top:64px;padding:26px 0 40px;font-size:12.5px}.page-head{padding-top:48px}.page-k{color:var(--accent);letter-spacing:.06em;margin-bottom:10px;font-size:13px}.page-head h1{letter-spacing:-.02em;max-width:780px;margin-bottom:14px;font-size:34px;line-height:1.3}.page-meta{color:var(--text-3);align-items:center;gap:14px;font-size:13px;display:flex}.prose{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);max-width:860px;margin-top:26px;padding:34px 40px}.prose h2{margin:30px 0 12px;font-size:21px}.prose h2:first-child{margin-top:0}.prose h3{margin:24px 0 10px;font-size:17px}.prose p{color:var(--text-2);margin-bottom:16px;font-size:15px;line-height:1.95}.prose ul,.prose ol{margin:0 0 16px 22px}.prose li{color:var(--text-2);margin-bottom:6px;font-size:15px;line-height:1.95}.prose h4{margin:20px 0 8px;font-size:15.5px}.prose img{border:1px solid var(--border);border-radius:8px;max-width:100%;height:auto;margin:10px 0 18px;display:block}.prose table{border-collapse:collapse;width:100%;margin-bottom:18px;font-size:14px}.prose th,.prose td{border:1px solid var(--border);text-align:left;color:var(--text-2);padding:8px 12px}.prose th{background:var(--bg-2);color:var(--text);font-weight:600}.prose hr{border:none;border-top:1px solid var(--border);margin:26px 0}.prose .mermaid{background:var(--bg-2);border:1px solid var(--border);text-align:center;border-radius:10px;margin-bottom:18px;padding:16px;overflow-x:auto}.prose .mermaid svg{max-width:100%;height:auto}.prose code{background:var(--bg-2);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px}.prose pre{border:1px solid var(--border);border-radius:10px;margin-bottom:18px;padding:18px 20px;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}html.dark .astro-code,html.dark .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-2);margin-bottom:16px;padding:2px 0 2px 16px}.prose blockquote p{color:inherit;margin-bottom:0}.prose a{color:var(--accent)}.back-link{color:var(--accent);margin-top:30px;font-size:13.5px;display:inline-block}.all-link{color:var(--accent);margin-top:14px;font-size:13.5px;display:inline-block}.all-link:hover{color:var(--accent-hover)}.articles-index{margin-top:26px}.scroll-nav{z-index:40;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:26px;right:22px}.scroll-btn{background:var(--surface);border:1px solid var(--border-2);width:38px;height:38px;color:var(--text-2);cursor:pointer;box-shadow:var(--shadow-md);border-radius:10px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s;display:flex}.scroll-btn:hover{color:var(--accent);border-color:var(--accent)}.scroll-btn svg{width:16px;height:16px}@media (width<=920px){.hero-grid{grid-template-columns:1fr;gap:24px}.hero h1{font-size:40px}.skills{grid-template-columns:1fr}.exp-item{grid-template-columns:1fr;gap:8px}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:12px;display:block}.stat b{margin-bottom:2px;font-size:22px;display:block}.stat span{font-size:11.5px}.prose{padding:26px 24px}}@media (width<=640px){.nav nav{gap:14px;font-size:13px}.brand-sub{display:none}.hero h1{font-size:34px}.sec-h{font-size:22px}.page-head h1{font-size:26px}.art-row{flex-wrap:wrap}.art-date{min-width:0}}@media print{:root,html.dark{--bg:#fff;--bg-2:#f5f5f5;--surface:#fff;--text:#121212;--text-2:#525252;--text-3:#a4a4a4;--border:#e4e4e4;--border-2:#d1d1d1;--accent:#006e9b;--accent-soft:#e8f2f6}.nav,footer,button{display:none}body{background:#fff}.sec,.hero{padding-top:20px}}
