:root{--bg: #f8f6f2;--bg2: #fff;--ink: #1a1915;--muted: #8a8578;--rule: #e2ded6;--accent: #b5442e;--card-bg: rgba(255,255,255,.72);--card-border: rgba(0,0,0,.06);--nav-bg: rgba(248,246,242,.88);--dash-bg: #f0eee8;--dash-border: #e4e0d8;--green: #22c55e;--green-t: #16a34a;--shadow: rgba(0,0,0,.04);--card-hover: rgba(0,0,0,.04)}[data-theme=dark]{--bg: #0c0b0a;--bg2: #141312;--ink: #e8e4dc;--muted: #7a756c;--rule: #1e1c18;--accent: #d45a3e;--card-bg: rgba(20,19,18,.72);--card-border: rgba(255,255,255,.06);--nav-bg: rgba(12,11,10,.88);--dash-bg: #0f0f0e;--dash-border: #1e1c16;--green: #4ade80;--green-t: #4ade80;--shadow: rgba(0,0,0,.4);--card-hover: rgba(255,255,255,.03)}[data-theme=dark] body:after{opacity:.035;mix-blend-mode:screen}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Newsreader,Georgia,serif;-webkit-font-smoothing:antialiased;line-height:1.6;transition:background .4s ease,color .4s ease}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.025;mix-blend-mode:multiply}[lang=zh] body,[lang=zh] h1,[lang=zh] h2,[lang=zh] h3{font-family:Noto Sans SC,Newsreader,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 28px}@media(min-width:1400px){.container{max-width:1340px}}.mono{font-family:DM Mono,monospace}.divider{border:none;border-top:1px solid var(--rule);margin:0;transition:border-color .3s}.link-ed{background-image:linear-gradient(var(--accent),var(--accent));background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .4s cubic-bezier(.16,1,.3,1)}.link-ed:hover{background-size:100% 1.5px}@keyframes pd{0%,to{opacity:1}50%{opacity:.4}}body:before{content:"";position:fixed;top:-40%;right:-40%;bottom:-40%;left:-40%;width:180%;height:180%;background:radial-gradient(ellipse 700px 500px at 25% 25%,rgba(180,140,100,.035) 0%,transparent 70%),radial-gradient(ellipse 500px 700px at 75% 65%,rgba(100,120,160,.025) 0%,transparent 70%),radial-gradient(ellipse 600px 400px at 50% 80%,rgba(160,110,130,.02) 0%,transparent 60%);animation:ambientDrift 35s ease-in-out infinite alternate;z-index:-1;pointer-events:none}[data-theme=dark] body:before{background:radial-gradient(ellipse 700px 500px at 25% 25%,rgba(200,160,100,.04) 0%,transparent 70%),radial-gradient(ellipse 500px 700px at 75% 65%,rgba(80,100,150,.03) 0%,transparent 70%),radial-gradient(ellipse 600px 400px at 50% 80%,rgba(150,90,110,.025) 0%,transparent 60%)}@keyframes ambientDrift{0%{transform:translate(0) rotate(0) scale(1)}33%{transform:translate(1.2%,-.8%) rotate(.3deg) scale(1.003)}66%{transform:translate(-.8%,1%) rotate(-.2deg) scale(.997)}to{transform:translate(.6%,-.4%) rotate(.15deg) scale(1.001)}}.logo-mark{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:600;font-size:1.15rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;opacity:.7;transition:opacity .3s}.logo-mark:hover{opacity:1}@media(max-width:640px){.container{padding:0 16px}h1{font-size:clamp(1.8rem,8vw,2.5rem)!important}}@keyframes orbFloat1{0%{transform:translate(0) scale(1)}50%{transform:translate(4vw,3vh) scale(1.05)}to{transform:translate(-2vw,5vh) scale(.97)}}@keyframes orbFloat2{0%{transform:translate(0) scale(1)}50%{transform:translate(-5vw,-2vh) scale(.95)}to{transform:translate(2vw,-4vh) scale(1.03)}}@keyframes orbFloat3{0%{transform:translate(0) scale(1)}50%{transform:translate(3vw,-3vh) scale(1.08)}to{transform:translate(-3vw,2vh) scale(.96)}}@keyframes orbFloat4{0%{transform:translate(0) scale(1)}50%{transform:translate(-2vw,4vh) scale(1.04)}to{transform:translate(4vw,-1vh) scale(.98)}}@media(prefers-reduced-motion:reduce){body:before{animation:none}.orb{animation:none!important}}
