.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--ink-0:#0a0d14;--ink-1:#0e121b;--ink-2:#141926;--ink-3:#1b2130;--line:#c9a45c38;--line-soft:#c9a45c1f;--paper:#e9e1cf;--paper-dim:#a89f88;--paper-faint:#6f6a5c;--gold:#c9a45c;--gold-hi:#ecd9a8;--storm:#8fb4c7;--blood:#a4453e;--font-serif:"Noto Serif SC", "Songti SC", "SimSun", serif;--font-display:"Cormorant Garamond", "Noto Serif SC", serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--nav-h:64px;--max-w:1180px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink-0);color:var(--paper);font-family:var(--font-serif);letter-spacing:.01em;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.75;overflow-x:hidden}::selection{color:#fff;background:#c9a45c59}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--ink-0)}::-webkit-scrollbar-thumb{background:#2a3247;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}a{color:var(--gold);text-decoration:none}img{max-width:100%;display:block}.grain,.vignette{pointer-events:none;z-index:90;position:fixed;inset:0}.grain{opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");animation:.9s steps(4,end) infinite grain-shift}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2%,1.4%)}50%{transform:translate(1.6%,-1%)}75%{transform:translate(-1%,-1.8%)}to{transform:translate(0)}}.vignette{z-index:89;background:radial-gradient(120% 90% at 50% 40%,#0000 55%,#04060a8c 100%)}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}::view-transition-old-root{animation:vt-fade-out .22s var(--ease-io) both}::view-transition-new-root{animation:vt-fade-in .45s var(--ease-out) both}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 28px}.mono-label{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--paper-dim);font-size:11px}.deco-rule{color:var(--gold);align-items:center;gap:14px;display:flex}.deco-rule:before,.deco-rule:after{content:"";background:linear-gradient(90deg, transparent, var(--line), transparent);flex:1;height:1px}.deco-rule .diamond{color:var(--gold);font-size:9px;transform:rotate(0)}.reveal{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(34px)}.reveal.is-in{opacity:1;transform:none}.nav{z-index:100;height:var(--nav-h);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);transition:transform .4s var(--ease-out);background:linear-gradient(#0a0d14eb,#0a0d14bf);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav-inner{width:100%;max-width:var(--max-w);align-items:center;gap:28px;margin:0 auto;padding:0 28px;display:flex}.nav-brand{color:var(--paper);white-space:nowrap;align-items:baseline;gap:10px;display:flex}.nav-brand .brand-mark{color:var(--gold);font-size:13px}.nav-brand .brand-zh{letter-spacing:.14em;font-size:17px;font-weight:600}.nav-brand .brand-en{font-family:var(--font-mono);letter-spacing:.3em;color:var(--paper-dim);text-transform:uppercase;font-size:10px}.nav-links{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-links a{color:var(--paper-dim);letter-spacing:.08em;padding:8px 13px;font-size:14px;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .35s var(--ease-out);position:absolute;bottom:4px;left:13px;right:13px;transform:scaleX(0)}.nav-links a:hover,.nav-links a.active{color:var(--gold-hi)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-toggle{border:1px solid var(--line);color:var(--gold);cursor:pointer;background:0 0;width:40px;height:40px;margin-left:auto;font-size:16px;line-height:1;display:none}.footer{border-top:1px solid var(--line-soft);color:var(--paper-faint);margin-top:120px;padding:44px 0 56px;font-size:13px}.footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px 40px;display:flex}.footer a{color:var(--paper-dim)}.footer a:hover{color:var(--gold-hi)}.page-head{padding:calc(var(--nav-h) + 72px) 0 48px}.page-head .mono-label{color:var(--gold)}.page-title{letter-spacing:.06em;margin-top:14px;font-size:clamp(34px,5vw,56px);font-weight:900;line-height:1.2}.page-sub{color:var(--paper-dim);max-width:560px;margin-top:14px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.entry-card{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;background:linear-gradient(160deg, var(--ink-2), var(--ink-1) 70%);border:1px solid var(--line-soft);color:var(--paper);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;will-change:transform;padding:22px 20px 18px;transition:transform .18s ease-out,border-color .3s,box-shadow .3s;display:block;position:relative}.entry-card:before,.entry-card:after{content:"";border-color:var(--gold);opacity:0;border-style:solid;width:14px;height:14px;transition:opacity .3s;position:absolute}.entry-card:before{border-width:1px 0 0 1px;top:5px;left:5px}.entry-card:after{border-width:0 1px 1px 0;bottom:5px;right:5px}.entry-card:hover{border-color:var(--line);box-shadow:0 18px 44px -18px #000c,0 0 0 1px #c9a45c14}.entry-card:hover:before,.entry-card:hover:after{opacity:.9}.entry-card .card-glare{pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my), #ecd9a812, transparent 65%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.entry-card:hover .card-glare{opacity:1}.entry-card .card-kind{font-family:var(--font-mono);letter-spacing:.26em;color:var(--gold);text-transform:uppercase;font-size:10px;display:block}.entry-card .card-title{letter-spacing:.04em;color:var(--paper);margin-top:8px;font-size:19px;font-weight:600;display:block}.entry-card .card-alias{font-family:var(--font-display);color:var(--paper-faint);letter-spacing:.05em;margin-top:3px;font-size:14px;font-style:italic;display:block}.entry-card .card-excerpt{color:var(--paper-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:10px;font-size:13px;line-height:1.7;display:-webkit-box;overflow:hidden}.entry-card .card-arrow{color:var(--gold);opacity:0;transition:transform .3s var(--ease-out), opacity .3s;font-size:12px;position:absolute;bottom:14px;right:16px;transform:translate(-4px)}.entry-card:hover .card-arrow{opacity:1;transform:none}.article-layout{grid-template-columns:230px minmax(0,1fr);gap:56px;padding-bottom:40px;display:grid}.article-meta{top:calc(var(--nav-h) + 32px);border-left:1px solid var(--line-soft);align-self:start;padding-left:22px;font-size:13px;position:sticky}.article-meta .meta-block{margin-bottom:22px}.article-meta .meta-key{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-size:10px}.article-meta .meta-val{color:var(--paper-dim);line-height:1.8}.article-meta .tag{border:1px solid var(--line-soft);color:var(--paper-dim);margin:0 6px 6px 0;padding:2px 9px;font-size:12px;transition:color .25s,border-color .25s;display:inline-block}.article-meta .tag:hover{color:var(--gold-hi);border-color:var(--line)}.prose-1999{color:#d8d0be;font-size:16.5px;line-height:2}.prose-1999>*+*{margin-top:1.1em}.prose-1999 h1{letter-spacing:.05em;color:var(--paper);border-bottom:1px solid var(--line-soft);margin-bottom:28px;padding-bottom:18px;font-size:30px;font-weight:900}.prose-1999 h2{letter-spacing:.05em;color:var(--gold-hi);align-items:center;gap:14px;margin-top:2.4em;font-size:22px;font-weight:700;display:flex}.prose-1999 h2:before{content:"◆";color:var(--gold);font-size:10px}.prose-1999 h3{color:var(--paper);margin-top:2em;font-size:18px;font-weight:700}.prose-1999 p{text-align:justify}.prose-1999 a{color:var(--gold);border-bottom:1px solid #c9a45c59;transition:color .25s,border-color .25s}.prose-1999 a:hover{color:var(--gold-hi);border-bottom-color:var(--gold-hi)}.prose-1999 strong{color:var(--gold-hi);font-weight:600}.prose-1999 blockquote{border-left:2px solid var(--gold);color:var(--paper);background:linear-gradient(90deg,#c9a45c12,#0000 80%);margin:1.6em 0;padding:18px 24px;font-style:normal}.prose-1999 blockquote p{text-align:left}.prose-1999 ul,.prose-1999 ol{padding-left:1.6em}.prose-1999 li+li{margin-top:.4em}.prose-1999 li::marker{color:var(--gold)}.prose-1999 hr{background:linear-gradient(90deg, transparent, var(--line), transparent);border:none;width:60%;height:1px;margin:2.6em auto}.prose-1999 img{border:1px solid var(--line-soft);margin:1.6em auto}.prose-1999 table{border-collapse:collapse;width:100%;font-size:14.5px}.prose-1999 th,.prose-1999 td{border:1px solid var(--line-soft);text-align:left;padding:10px 12px}.prose-1999 th{color:var(--gold-hi);background:#c9a45c0d;font-weight:600}.prose-1999 code{font-family:var(--font-mono);background:var(--ink-2);border:1px solid var(--line-soft);padding:2px 6px;font-size:.88em}.pager{border-top:1px solid var(--line-soft);justify-content:space-between;gap:18px;margin-top:72px;padding-top:28px;display:flex}.pager a{max-width:46%;color:var(--paper-dim);font-size:14px;transition:color .25s}.pager a:hover{color:var(--gold-hi)}.pager .pager-dir{font-family:var(--font-mono);letter-spacing:.26em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.pager .next{text-align:right;margin-left:auto}@media (width<=900px){.article-layout{grid-template-columns:1fr;gap:36px}.article-meta{border-left:none;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 24px;padding-left:0;display:grid;position:static}}@media (width<=760px){.nav-toggle{display:block}.nav-links{inset:var(--nav-h) 0 auto 0;border-bottom:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .3s, transform .3s var(--ease-out);background:#0a0d14f7;flex-direction:column;align-items:stretch;gap:0;padding:12px 0;position:fixed;transform:translateY(-8px)}.nav-links a{padding:14px 28px;font-size:16px}.nav-links.open{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain{animation:none}.reveal{opacity:1;transition:none;transform:none}::view-transition-old-root{animation:none}::view-transition-new-root{animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
