@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}}@layer theme{:root{color-scheme:dark;--bg:#191821;--panel:#22212c;--panel-soft:#2b2936;--text:#efebf3;--muted:#bdb6c9;--accent:#cfbee7;--accent-text:#282132;--line:#45404f;--hero:#201e2b;--serif:"Noto Serif SC","Noto Serif CJK SC","Songti SC","STSong",serif;--sans:"Noto Sans SC","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif}:root[data-theme=light]{color-scheme:light;--bg:#f5f3f8;--panel:#fdfbff;--panel-soft:#eae5f0;--text:#302b3c;--muted:#675d74;--accent:#645078;--accent-text:#fff;--line:#d9d1e1;--hero:#eae4f0}body{font-family:var(--sans);color:var(--text);background:var(--bg);font-size:15px;line-height:1.8}::selection{background:var(--accent);color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3{font-weight:500;line-height:1.35}h1,h2{font-family:var(--serif)}p{color:var(--muted)}}@layer layout{.wrap{width:min(1200px,100% - 96px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;position:relative}.header-inner{align-items:center;gap:28px;min-height:94px;display:flex}.brand{flex-shrink:0;margin-right:auto;display:block}.brand-mark{font-family:var(--serif);letter-spacing:.08em;font-size:26px;line-height:1.5;display:block}.brand small{color:var(--muted);letter-spacing:.12em;font-size:10px;display:block}#site-nav{align-items:center;gap:30px;font-size:14px;display:flex}#site-nav a{white-space:nowrap;padding-block:10px;position:relative}#site-nav a[aria-current=page]:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:2px;left:0;right:0}#site-nav a:hover{color:var(--accent)}.header-actions{gap:8px;display:flex}.icon-button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.theme-symbol{font-size:24px;line-height:1}.menu-toggle{display:none}main{min-height:calc(100vh - 235px)}main:focus{outline:none}.site-footer{border-top:1px solid var(--line);align-items:center;gap:30px;padding-block:35px;font-size:12px;display:flex}.site-footer p{letter-spacing:.08em;flex:1}.footer-mark{font-family:var(--serif);white-space:nowrap;font-size:24px}.page-body{padding-bottom:88px}.page-heading{max-width:740px;padding-block:64px 48px}.page-heading h1{letter-spacing:.08em;margin-block:12px 18px;font-size:clamp(34px,4vw,52px)}.page-heading h1 span{color:var(--accent)}.intro{max-width:620px;font-size:16px;line-height:2}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.section-heading h2{letter-spacing:.08em;font-size:28px}.section-heading h2 small{font-family:var(--sans);color:var(--muted);letter-spacing:.13em;margin-left:18px;font-size:11px;font-weight:400}}@layer components{.eyebrow,.small-label{letter-spacing:.19em;text-transform:uppercase;color:var(--muted);font-size:11px}.button{border:1px solid var(--line);min-height:46px;color:var(--text);background:0 0;border-radius:30px;justify-content:center;align-items:center;gap:25px;padding:10px 24px;font-size:14px;transition:transform .2s,background .2s;display:inline-flex}.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.button:hover{transform:translateY(-2px)}.text-link{min-height:44px;color:var(--accent);align-items:center;gap:14px;font-size:13px;display:inline-flex}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.tags{flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:4px 11px;font-size:12px;display:inline-block}.hero{background:var(--hero);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero-inner{grid-template-columns:1fr 1.2fr;align-items:center;gap:80px;min-height:440px;padding-block:72px;display:grid}.hero-copy{border-left:1px solid var(--line);padding-left:40px}.hero-quote{font-family:var(--serif);letter-spacing:.18em;font-size:14px;line-height:2.1}.hero h1{margin-block:24px 12px;font-size:clamp(64px,7vw,100px);line-height:1.3}.hero .nickname{margin-bottom:24px;font-size:14px}.hero-description{max-width:420px;margin-top:24px;line-height:2}.hero .tags{max-width:470px}.hero .tag{background:0 0;border:0;padding:0;font-size:13px}.hero .tag+.tag:before{content:"·";color:var(--accent);margin-right:9px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.hero-foot{border-top:1px solid var(--line);letter-spacing:.18em;color:var(--muted);justify-content:space-between;padding-block:17px;font-size:10px;display:flex}.home-about{grid-template-columns:1.2fr 1fr;gap:70px;padding-block:58px 40px;display:grid}.home-about h2{margin-bottom:20px;font-size:30px}.home-about p{margin-bottom:10px;line-height:2}.interest-preview{border-left:1px solid var(--line);align-self:center;padding-left:36px}.interest-preview .small-label{margin-bottom:20px;display:block}.entry-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:62px;display:grid}.entry{border-top:1px solid var(--line);background:linear-gradient(140deg,var(--panel),transparent);padding:28px;transition:background .2s;position:relative}.entry:hover{background:var(--panel-soft)}.entry-index{color:var(--muted);font-family:Georgia,serif;font-size:15px;font-style:italic}.entry h3{font-family:var(--serif);margin-block:20px 12px;font-size:24px}.entry h3 small{font-family:var(--sans);letter-spacing:.12em;color:var(--muted);margin-left:10px;font-size:10px}.entry p{max-width:240px;font-size:13px}.entry-arrow{color:var(--accent);position:absolute;top:24px;right:26px}.card-shell{border:1px solid var(--line);background:var(--panel);max-width:860px;margin:50px auto 70px}.card-content{padding:48px 56px}.card-content h1{margin-block:20px;font-size:48px}.card-content h1 small{font-family:var(--sans);color:var(--muted);letter-spacing:.1em;margin-top:14px;font-size:15px;display:block}.card-content .intro{margin-block:24px;font-size:14px}.contact-list{margin:28px 0 18px}.contact-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-block:18px;display:flex}.contact-row dt{color:var(--muted);font-size:13px}.contact-row dd{overflow-wrap:anywhere;margin:0;font-size:15px}.placeholder{color:var(--muted)}.small-note{font-size:12px}.profile-section{border-top:1px solid var(--line);padding-block:30px 42px}.profile-section h2{margin-bottom:24px;font-size:25px}.profile-section .tags{gap:12px}.profile-section .tag{padding:8px 14px;font-size:14px}.about-intro{max-width:800px;margin-bottom:60px}.about-intro .intro{max-width:none}.about-intro p+p{margin-top:18px}.level-legend{grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:40px;display:grid}.level-legend section{border-top:1px solid var(--line);padding-top:20px}.level-legend h2{font-family:var(--sans);color:var(--accent);margin-bottom:8px;font-size:20px}.level-legend p{font-size:13px}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;margin:0;padding:0;list-style:none;display:grid}.skill-list li{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:19px 0;display:flex}.skill-number{color:var(--muted);font-family:Georgia,serif;font-size:12px;font-style:italic}.skill-level{letter-spacing:.08em;background:var(--panel-soft);color:var(--accent);border-radius:20px;flex-shrink:0;margin-left:auto;padding:4px 12px;font-size:12px}.empty-state{border-block:1px solid var(--line);text-align:center;padding:60px 24px}.empty-symbol{font-family:var(--serif);color:var(--accent);margin-bottom:20px;font-size:46px;display:block}.empty-state h2{margin-bottom:14px;font-size:26px}.empty-state p{max-width:420px;margin:auto;font-size:14px}.empty-state .text-link{margin-top:22px}.filters{border-block:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:20px;padding:24px 0;display:flex}.filters label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.filters select{background:var(--panel);border:1px solid var(--line);border-radius:5px;min-width:150px;max-width:100%;min-height:44px;padding:8px 32px 8px 12px}.filter-status{margin-top:20px;font-size:12px}.post-list{margin:0;padding:0;list-style:none}.post{border-bottom:1px solid var(--line);padding:30px 0}.post h2{margin-block:12px;font-size:25px}.post h2 a:hover{color:var(--accent)}.post p{margin-bottom:15px}.post-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.post .tag:hover{color:var(--accent)}.article-wrap{max-width:760px;margin-inline:auto;padding-block:50px 80px}.article-heading h1{overflow-wrap:anywhere;margin-block:24px;font-size:clamp(30px,5vw,44px)}.article-heading{border-bottom:1px solid var(--line);margin-bottom:35px;padding-bottom:35px}.article-heading .intro{margin-bottom:20px}.content-cover{object-fit:cover;border-radius:8px;width:100%;max-height:440px;margin-bottom:30px}.prose{overflow-wrap:anywhere;line-height:2}.prose h2{margin-block:40px 18px;font-size:27px}.prose h3{margin-block:28px 14px;font-size:21px}.prose p,.prose ul,.prose ol,.prose blockquote{margin-block:18px}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose blockquote{border-left:2px solid var(--accent);background:var(--panel);margin-inline:0;padding:6px 20px}.prose img{border-radius:6px;margin-block:25px}.prose pre{border:1px solid var(--line);border-radius:7px;padding:55px 20px 20px;font-size:13px;line-height:1.8;position:relative;overflow:auto}.prose pre code{width:max-content;min-width:100%;display:block}.prose :not(pre)>code{background:var(--panel-soft);border-radius:3px;padding:2px 5px}.prose table{border-collapse:collapse;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--line);padding:8px 14px}.copy-code{background:var(--panel-soft);color:var(--text);border:1px solid var(--line);border-radius:5px;min-height:36px;padding:7px 12px;font-size:12px;position:absolute;top:8px;left:12px}.astro-code,.astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}[data-theme=light] .astro-code,[data-theme=light] .astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}.image-fallback{border:1px dashed var(--line);background:var(--panel);color:var(--muted);padding:35px 20px;font-size:13px;display:block}.back-top{background:var(--panel);border:1px solid var(--line);z-index:5;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:fixed;bottom:25px;right:25px}.skip-link{background:var(--accent);color:var(--accent-text);z-index:50;padding:10px 20px;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-panel{margin-bottom:28px}#article-search>label{margin-bottom:10px;font-size:14px;display:block}.search-input-row{gap:12px;display:flex}#search-query{background:var(--panel);width:100%;min-width:0;min-height:48px;color:var(--text);border:1px solid var(--line);font:inherit;border-radius:8px;padding:12px 16px}#search-query::placeholder{color:var(--muted);opacity:1}.search-input-row button{flex-shrink:0}.search-input-row :disabled{cursor:default;opacity:.65}#search-status{margin-top:10px}.article-toc{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-bottom:30px;padding:24px}.article-toc h2{font-size:18px}.article-toc ol{margin:12px 0 0;padding:0;list-style:none}.article-toc a{min-height:40px;color:var(--muted);padding-block:7px;font-size:14px;display:block}.article-toc a[aria-current]{color:var(--accent);text-underline-offset:5px;text-decoration:underline}.article-toc .subheading{padding-left:20px}.prose :is(h2,h3){scroll-margin-top:30px}.reading-progress{z-index:20;appearance:none;width:100%;height:3px;color:var(--accent);background:0 0;border:0;position:fixed;top:0;left:0}.reading-progress::-webkit-progress-bar{background:0 0}.reading-progress::-webkit-progress-value{background:var(--accent)}.reading-progress::-moz-progress-bar{background:var(--accent)}}@layer responsive{@media (width>=768px) and (width<=1050px){.wrap{width:calc(100% - 48px)}.header-inner,#site-nav{gap:18px}.brand small{display:none}.hero-inner{gap:30px}.hero-copy{padding-left:28px}.card-content{padding:40px}.home-about{gap:35px}}@media (width<=767px){.wrap{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;gap:12px;min-height:76px;padding-block:12px}.brand-mark{font-size:23px}.brand small{font-size:9px}.header-actions{margin-left:auto}#site-nav{flex-wrap:wrap;order:3;justify-content:space-between;gap:12px;width:100%}.js #site-nav{display:none}.js #site-nav.open{background:var(--panel);border-bottom:1px solid var(--line);width:100%;padding:20px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 16px 25px #0002}.js #site-nav a{width:calc(50% - 8px);padding:10px 12px}.js .menu-toggle{display:grid}.hero-inner{grid-template-columns:1fr;gap:28px;min-height:0;padding-block:38px}.hero-copy{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.hero h1{margin-block:18px 10px;font-size:clamp(48px,16vw,64px)}.hero-quote{font-size:12px}.hero-description{margin-top:18px;font-size:14px}.hero-actions{gap:10px;margin-top:24px}.hero-actions .button{flex:1;gap:14px;padding-inline:15px}.hero .tag{font-size:12px}.hero-foot{letter-spacing:.1em;font-size:8px}.home-about{grid-template-columns:1fr;gap:24px;padding-top:36px}.home-about h2{font-size:27px}.home-about p{font-size:14px}.interest-preview{border:0;padding:0}.entry-grid{grid-template-columns:1fr;gap:14px;padding-bottom:40px}.entry{padding:23px}.entry h3{margin-top:10px}.entry p{max-width:none}.site-footer{flex-wrap:wrap;gap:16px;padding-block:28px}.site-footer p{flex-basis:100%;order:3;font-size:10px}.site-footer>a:last-child{margin-left:auto}.page-heading{padding-block:38px 32px}.intro{font-size:14px}.page-heading h1{font-size:36px}.card-shell{margin-block:30px 45px}.card-content{padding:26px 23px}.card-content h1{font-size:42px}.card-content h1 small{margin-top:12px;font-size:13px;display:block}.card-content .tags{gap:7px}.card-content .tag{padding:3px 7px;font-size:11px}.card-content .intro{margin-block:20px}.about-intro{margin-bottom:40px}.level-legend{grid-template-columns:1fr;gap:20px}.level-legend section{grid-template-columns:45px 1fr;gap:14px;display:grid}.skill-list{grid-template-columns:1fr}.profile-section .tag{padding:7px 11px;font-size:13px}.profile-section h2{font-size:23px}.empty-state{padding:40px 15px}.empty-state h2{font-size:23px}.page-body{padding-bottom:50px}.filters{gap:12px}.filters label{flex:1;min-width:0}.filters select{width:100%;min-width:0}.article-wrap{padding-block:30px 50px}.back-top{bottom:14px;right:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}
