@import url('/assets/tokens.css');
:root{--surface-paper:#f9f8f5;--bg-opacity:rgba(249,248,245,.85);--color-accent:#a57245;--font-sans:system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;--font-serif:Georgia,'Songti SC','STSong','Noto Serif SC',serif;--font-mono:ui-monospace,SFMono-Regular,Consolas,'PingFang SC',monospace;--muted:var(--color-neutral-7);--ink:var(--color-neutral-9);--line:var(--color-border);color-scheme:light}
:root[data-theme=dark]{--surface-paper:#191918;--bg-opacity:rgba(25,25,24,.88);--color-neutral-1:#191918;--color-neutral-2:#232322;--color-neutral-3:#333332;--color-neutral-4:#4a4a48;--color-neutral-5:#686866;--color-neutral-6:#a0a09a;--color-neutral-7:#b7b7b0;--color-neutral-8:#d2d2cb;--color-neutral-9:#e5e5de;--color-neutral-10:#f4f4ee;--color-border:rgba(220,220,210,.13);--color-accent:#ceaa7e;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--surface-paper);color:var(--ink);font:15px/1.7 var(--font-sans);transition:background .3s,color .3s}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.38;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.13' filter='url(%23n)'/%3E%3Cpath d='M-50 50Q150 0 300 120T500 210M0 260Q160 180 350 250M80 -50Q-20 150 200 350M180 -30Q300 160 150 320' stroke='%23aaa291' stroke-width='.5' opacity='.18' fill='none'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}a:hover{color:var(--color-accent)}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent)}button{background:none;border:0}input,textarea,select{color:var(--ink);background:var(--color-neutral-1);border:1px solid var(--line);border-radius:6px;padding:10px 12px}header{height:76px;position:sticky;top:0;z-index:10;background:var(--bg-opacity);backdrop-filter:blur(8px)}.header-inner{max-width:1080px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{display:flex;gap:12px;align-items:center;font:23px var(--font-serif)}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--color-accent);background:var(--color-neutral-2);font:24px var(--font-serif);border:1px solid var(--line)}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav>a,nav details>summary{padding:10px 0;position:relative;cursor:pointer;list-style:none}nav a.active:after{content:'';position:absolute;height:2px;background:var(--color-accent);bottom:3px;left:0;right:0;transform:rotate(-4deg)}nav details{position:relative}nav details[open]>summary{color:var(--color-accent)}.dropdown{position:absolute;top:46px;right:-20px;width:160px;padding:10px;background:var(--surface-paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #00000008;display:grid;gap:2px}.dropdown a{padding:7px 12px;border-radius:5px}.dropdown a:hover{background:var(--color-neutral-2)}.icon-button{font-size:21px;padding:4px 10px}.mobile-menu{display:none}.hero{text-align:center;min-height:650px;max-height:900px;height:calc(100svh - 76px);padding:52px 24px 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px}.hero .avatar{width:94px;height:94px;font-size:64px;margin-bottom:7px;background:linear-gradient(140deg,var(--color-neutral-2),var(--surface-paper));transform:rotate(-5deg)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1{font-size:36px;line-height:1.35}.hero h1{font-family:var(--font-sans);font-size:36px;margin:0 0 16px}.accent{color:var(--color-accent)}.hero-role{font-size:32px;line-height:1.5}.role-pill{font-family:var(--font-mono);font-size:24px;padding:7px 20px;background:color-mix(in srgb,var(--color-accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);border-radius:30px;color:var(--color-accent);box-shadow:0 0 20px color-mix(in srgb,var(--color-accent) 7%,transparent)}.hero-sub{font-size:18px;margin:0;color:var(--muted)}.wish{font-size:11px;letter-spacing:.13em;color:var(--muted);margin:6px 0 0}.quote{font:italic 14px/1.8 var(--font-serif);color:var(--muted);margin:0}.stats{font-size:12px;color:var(--muted)}.social{display:flex;gap:22px;margin-top:12px;color:var(--muted)}.social svg{width:20px;height:20px}.shell{max-width:880px;margin:0 auto;padding:70px 28px 100px;min-height:52vh}.shell.narrow{max-width:760px}.eyebrow{font:11px var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.section-title{font:28px/1.4 var(--font-serif);margin-bottom:28px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head a{font-size:13px;color:var(--muted)}.writing-list{margin-bottom:80px}.writing{display:grid;grid-template-columns:44px 1fr auto;gap:12px;border-top:1px solid var(--line);padding:24px 0;align-items:center}.writing-index{font:14px var(--font-mono);color:var(--muted)}.writing small{color:var(--muted);font-size:12px}.writing h3{font:22px/1.5 var(--font-serif);margin:6px 0}.writing p{font-size:14px;color:var(--muted);margin:5px 0}.writing .arrow{font-size:21px;color:var(--muted)}.writing:hover .arrow{transform:translateX(4px)}.calendar{display:grid;grid-template-columns:repeat(26,1fr);gap:5px;margin:24px 0 12px}.calendar span{aspect-ratio:1;background:var(--color-neutral-2);border:1px solid var(--line);border-radius:2px}.calendar .written{background:color-mix(in srgb,var(--color-accent) 50%,var(--surface-paper))}.calendar-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.welcome{text-align:center;padding:70px 10px 40px}.welcome h2{font:28px var(--font-serif);margin-bottom:8px}.welcome>p{color:var(--muted);font-size:13px}.pill{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);padding:9px 17px;border-radius:24px;background:var(--bg-opacity);font-size:13px}.pill:hover{border-color:var(--color-accent)}.welcome .pill{margin:15px 6px}.small-links{margin:24px 0;font-size:13px;color:var(--muted)}.small-links a{margin:0 12px}.page-heading{margin-bottom:50px}.page-heading h1{font-family:var(--font-serif);margin-bottom:12px}.page-heading p{color:var(--muted)}.demo-label{font-size:12px;color:var(--muted);border-left:2px solid var(--color-accent);padding-left:10px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.filters button{border:1px solid var(--line);padding:5px 16px;border-radius:20px;font-size:13px}.filters button.selected{border-color:var(--color-accent);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.note{border:1px solid var(--line);padding:30px 32px;background:var(--bg-opacity);border-radius:8px;margin:20px 0}.note .meta{font-size:12px;color:var(--muted)}.note h2{font:24px var(--font-serif);margin:10px 0}.note p{color:var(--muted);font-family:var(--font-serif)}.timeline{border-left:1px solid var(--line);margin-left:15px;padding-left:32px}.timeline h2{font:32px var(--font-serif);margin:30px 0}.timeline article{position:relative;margin:30px 0}.timeline article:before{content:'';width:7px;height:7px;background:var(--color-accent);position:absolute;left:-36px;top:11px;border-radius:50%}.timeline time{color:var(--muted);font:12px var(--font-mono)}.timeline h3{font:20px var(--font-serif);margin:8px 0}.thinking{padding:26px 0;border-bottom:1px solid var(--line)}.thinking time{font:12px var(--font-mono);color:var(--muted)}.thinking p{font:20px/1.9 var(--font-serif);margin:15px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project{padding:28px;border:1px solid var(--line);border-radius:10px;background:var(--bg-opacity)}.project .project-icon{font:30px var(--font-serif);color:var(--color-accent)}.project h2{font-size:20px;margin:15px 0 9px}.project p{color:var(--muted);font-size:14px}.project .meta{font-size:12px;color:var(--muted)}.prose{font:17px/2 var(--font-serif)}.prose h2{font-size:26px;margin:44px 0 20px;scroll-margin-top:100px}.prose p{margin-bottom:22px}.prose a{text-decoration:underline;text-underline-offset:4px;color:var(--color-accent)}.prose pre{font:13px/1.9 var(--font-mono);padding:24px;border:1px solid var(--line);background:var(--color-neutral-2);border-radius:8px;overflow:auto}.article-meta{font:12px var(--font-sans);color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.toc{border-left:1px solid var(--line);padding:16px 24px;font:13px/2 var(--font-sans);margin:25px 0 40px}.toc a{display:block;color:var(--muted);text-decoration:none}.article-end{margin-top:60px;border-top:1px solid var(--line);padding-top:30px;font:13px var(--font-sans);color:var(--muted)}.prev-next{display:flex;justify-content:space-between;gap:20px;margin-top:35px}.comment-box{margin:45px 0}.comment-box textarea{width:100%;min-height:100px;resize:vertical}.comment-box p{font:12px/1.7 var(--font-sans);color:var(--muted)}.comment{border-top:1px solid var(--line);padding:18px 0;font:14px/1.8 var(--font-sans);white-space:pre-wrap}.comment small{display:block;color:var(--muted)}.empty{text-align:center;padding:80px 20px;font:20px/2 var(--font-serif);color:var(--muted)}footer{border-top:1px solid var(--line);max-width:1080px;margin:auto;padding:50px 28px 30px}.footer-top{display:flex;justify-content:space-between;margin-bottom:38px;align-items:start}.footer-logo{font:30px var(--font-serif)}.footer-top p{font:13px var(--font-serif);color:var(--muted);margin:8px 0}.footer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;font-size:12px}.footer-grid h3{font-size:11px;color:var(--muted);font-weight:400;margin-bottom:15px;letter-spacing:.1em}.footer-grid a{display:block;margin:9px 0}.settings-row{display:flex;gap:6px;margin:8px 0;align-items:center;flex-wrap:wrap}.settings-row button{font-size:11px;padding:1px 2px;color:var(--muted)}.settings-row button.selected{color:var(--color-accent);text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin-top:55px}.footer-bottom a{text-decoration:underline}.leaves{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.leaf{position:absolute;top:-10%;opacity:.24;font-size:16px;animation:drift linear infinite;color:var(--color-accent)}@keyframes drift{0%{transform:translate(0,-10vh) rotate(0)}100%{transform:translate(90px,115vh) rotate(230deg)}}dialog{color:var(--ink);border:1px solid var(--line);border-radius:12px;background:var(--surface-paper);padding:28px;max-width:600px;width:calc(100% - 36px);max-height:85vh;box-shadow:0 20px 70px #00000012}dialog::backdrop{background:#00000022;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-head h2{font:24px var(--font-serif);margin:0}.dialog-head button{font-size:24px}dialog input{width:100%;font-size:16px}.search-result{display:block;border-bottom:1px solid var(--line);padding:16px 0}.search-result small{display:block;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;background:var(--ink);color:var(--surface-paper);padding:9px 20px;border-radius:22px;font-size:13px}#toast:empty{display:none}.backtop{position:fixed;bottom:30px;right:30px;font-size:20px}.quote-card{text-align:center;min-height:330px;display:grid;place-content:center}.quote-card blockquote{font:28px/2 var(--font-serif);margin:0 0 30px}.error-note{max-width:350px;background:var(--bg-opacity);padding:40px;margin:30px auto;transform:rotate(-2deg);border:1px solid var(--line);border-radius:8px}.error-note h1{font:60px var(--font-serif)}
@media(max-width:700px){header{height:64px}.header-inner{padding:0 20px}.brand{font-size:21px}nav{gap:16px}nav>a,nav>details{display:none}.mobile-menu{display:block}nav .mobile-menu .dropdown{width:200px;right:0}.hero{min-height:590px;height:calc(100svh - 64px);padding:40px 20px 65px;gap:18px}.hero h1{font-size:32px}.hero-role{font-size:26px}.role-pill{font-size:18px;padding:8px 14px}.hero-sub{font-size:14px}.hero .avatar{width:80px;height:80px;font-size:52px}.quote{max-width:290px;font-size:13px}.shell{padding:50px 24px 70px}.writing{grid-template-columns:25px 1fr 14px;gap:8px}.writing h3{font-size:20px}.writing p{font-size:13px}.grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr);gap:25px}.footer-grid>section:last-child{grid-column:1/-1}.footer-top{gap:20px}.footer-bottom{flex-direction:column;gap:10px}.calendar{grid-template-columns:repeat(26,1fr);gap:3px}.note{padding:24px}.prose{font-size:16px}.backtop{right:12px;bottom:12px}.page-heading h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.leaves{display:none}}
[hidden]{display:none!important}nav.toc{display:block}
