:root{--bg: #ffffff;--bg-elevated: #ffffff;--bg-soft: #f5f5f7;--bg-tint: #fbfbfd;--text: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #86868b;--accent: #0071e3;--accent-hover: #0077ed;--border-soft: #e8e8ed;--card-shadow-hover: 0 18px 48px rgba(0, 60, 140, .14);--nav-bg: rgba(255, 255, 255, .8);--mega-bg: #fbfbfd;--aurora-1: #0a84ff;--aurora-2: #5e5ce6;--aurora-3: #64d2ff;--aurora-4: #bf5af2;--container: 1080px;--reading: 760px;--radius: 20px;--radius-sm: 12px;--ease: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--bg: #000000;--bg-elevated: #1c1c1e;--bg-soft: #1c1c1e;--bg-tint: #161617;--text: #f5f5f7;--text-secondary: #a1a1a6;--text-tertiary: #86868b;--accent: #2997ff;--accent-hover: #4ba8ff;--border-soft: #2a2a2c;--card-shadow-hover: 0 18px 48px rgba(10, 132, 255, .22);--nav-bg: rgba(22, 22, 23, .8);--mega-bg: #161617}*{box-sizing:border-box}html{font-size:17px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .5s ease,color .5s ease}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}h1,h2,h3,h4{letter-spacing:-.025em;font-weight:600;line-height:1.12;color:var(--text)}img{max-width:100%;border-radius:var(--radius-sm)}::selection{background:var(--accent);color:#fff}@keyframes fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes aurora-drift{0%{transform:translate(-8%,-6%) rotate(0) scale(1)}33%{transform:translate(6%,4%) rotate(40deg) scale(1.15)}66%{transform:translate(-4%,8%) rotate(-30deg) scale(1.05)}to{transform:translate(-8%,-6%) rotate(0) scale(1)}}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform}[data-reveal].in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}[data-reveal]{opacity:1;transform:none}}.nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border-soft);animation:fade-down .6s var(--ease) both}.nav-bar{max-width:var(--container);margin:0 auto;height:52px;padding:0 22px;display:flex;align-items:center;gap:1.6rem}.nav-brand{font-weight:600;font-size:1.05rem;letter-spacing:-.02em;color:var(--text);margin-right:auto}.nav-brand:hover{color:var(--text)}.nav-menu{display:flex;align-items:center;gap:1.5rem}.nav-item{display:flex;align-items:center}.nav-link{position:relative;display:inline-flex;align-items:center;height:52px;color:var(--text-secondary);font-size:.88rem;letter-spacing:-.01em;transition:color .2s ease}.nav-link:hover,.nav-link[aria-current=page],.nav-item:hover .nav-link{color:var(--text)}.mega{position:absolute;left:0;right:0;top:100%;z-index:99;background:var(--mega-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border-soft);box-shadow:0 24px 48px #00000014;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}.nav-item:hover .mega{opacity:1;visibility:visible;transform:translateY(0)}.mega-inner{max-width:var(--container);margin:0 auto;padding:2.6rem 22px 3rem;display:flex;gap:4rem}.mega-col{display:flex;flex-direction:column}.mega-label{font-size:.74rem;font-weight:600;letter-spacing:.01em;color:var(--text-tertiary);margin:0 0 1rem}.mega-link-lg{font-size:1.55rem;font-weight:600;letter-spacing:-.03em;line-height:1.32;color:var(--text);width:fit-content;transition:color .2s ease,transform .25s var(--ease)}.mega-link-lg:hover{color:var(--accent);transform:translate(4px)}.mega-link{font-size:.98rem;color:var(--text-secondary);line-height:2.1;width:fit-content;transition:color .2s ease,transform .25s var(--ease)}.mega-link:hover{color:var(--accent);transform:translate(3px)}#theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:1rem;padding:.3rem;line-height:1;display:grid;place-items:center;transition:color .2s ease,transform .4s var(--ease)}#theme-toggle:hover{color:var(--text);transform:rotate(180deg) scale(1.1)}.container{max-width:var(--container);margin:0 auto;padding:2.6rem 22px 5rem}.container.reading{max-width:var(--reading)}.hero{position:relative;padding:2rem 0 3rem;margin-bottom:2.6rem;border-bottom:1px solid var(--border-soft);overflow:hidden;text-align:center}.hero-aurora{position:absolute;inset:-50% -10% auto;height:420px;z-index:0;filter:blur(60px);opacity:.5;pointer-events:none}.hero-aurora:before,.hero-aurora:after{content:"";position:absolute;inset:0;border-radius:50%}.hero-aurora:before{background:radial-gradient(closest-side,var(--aurora-1),transparent 70%),radial-gradient(closest-side,var(--aurora-3),transparent 70%) 60% 40%;animation:aurora-drift 18s ease-in-out infinite}.hero-aurora:after{background:radial-gradient(closest-side,var(--aurora-4),transparent 70%) 70% 30%,radial-gradient(closest-side,var(--aurora-2),transparent 70%) 30% 60%;animation:aurora-drift 22s ease-in-out infinite reverse}.hero-content{position:relative;z-index:1}.hero h1{font-size:clamp(2.6rem,6vw,4rem);font-weight:700;letter-spacing:-.045em;margin:0 0 .8rem;line-height:1.05;animation:fade-up .8s var(--ease) .05s both}.hero .grad{background:linear-gradient(110deg,var(--aurora-1),var(--aurora-4) 60%,var(--aurora-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{font-size:1.25rem;color:var(--text-secondary);margin:0 auto;letter-spacing:-.015em;max-width:40ch;animation:fade-up .8s var(--ease) .18s both}.page-head{margin-bottom:1.8rem;animation:fade-up .6s var(--ease) both}.page-head h1{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:700;letter-spacing:-.035em;margin:0 0 .3rem}.page-head .count{color:var(--text-tertiary);font-size:.95rem}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}.card{position:relative;display:block;background:var(--bg-soft);border:none;border-radius:var(--radius);padding:1.6rem 1.8rem;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--card-shadow-hover);background:var(--bg-elevated);color:inherit}.card-cat{display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.card-title{font-size:1.3rem;font-weight:600;letter-spacing:-.025em;color:var(--text);margin:0 0 .4rem;line-height:1.25;transition:color .25s ease}.card:hover .card-title{color:var(--accent)}.card-desc{color:var(--text-secondary);font-size:.95rem;margin:0 0 .85rem;letter-spacing:-.01em}.card-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:var(--text-tertiary);font-size:.82rem}.card-meta .tag{color:var(--text-secondary);background:var(--bg-elevated);border-radius:999px;padding:.1rem .6rem;font-size:.78rem}:root[data-theme=dark] .card-meta .tag{background:#ffffff14}.card:hover .card-meta .tag{background:var(--bg-soft)}.dot{color:var(--text-tertiary);opacity:.5}.empty{color:var(--text-secondary);background:var(--bg-soft);border-radius:var(--radius);padding:2rem;text-align:center}.cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.6rem 0 2.6rem}.cat-tile{position:relative;background:var(--bg-soft);border:none;border-radius:var(--radius);padding:1.5rem 1.6rem;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s ease}.cat-tile:hover{transform:translateY(-5px);box-shadow:var(--card-shadow-hover);background:var(--bg-elevated);color:inherit}.cat-tile .name{font-size:1.2rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.cat-tile .num{color:var(--text-tertiary);font-size:.88rem;margin-top:.2rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.55rem}.tag-cloud a{font-size:.9rem;color:var(--text-secondary);background:var(--bg-soft);border-radius:999px;padding:.3rem .9rem;transition:all .25s var(--ease)}.tag-cloud a:hover{background:linear-gradient(120deg,var(--aurora-1),var(--aurora-4));color:#fff;transform:translateY(-2px)}.year-block+.year-block{margin-top:2.4rem}.year-head{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:var(--text-tertiary);margin:0 0 .9rem}.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--border-soft)}.timeline li{position:relative;padding:.55rem 0 .55rem 1.4rem}.timeline li:before{content:"";position:absolute;left:-5px;top:1.05rem;width:8px;height:8px;border-radius:50%;background:linear-gradient(var(--aurora-1),var(--aurora-4));transition:transform .25s var(--ease)}.timeline li:hover:before{transform:scale(1.6)}.timeline .t-date{color:var(--text-tertiary);font-size:.8rem;margin-right:.7rem}.timeline .t-title{font-weight:500;color:var(--text);letter-spacing:-.015em}.timeline a:hover .t-title{color:var(--accent)}.article-head{margin-bottom:2.4rem;padding-bottom:1.6rem;border-bottom:1px solid var(--border-soft);animation:fade-up .7s var(--ease) both}.article-cat{display:inline-block;font-size:.76rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem}.article-head h1{font-size:clamp(2rem,4.5vw,2.9rem);font-weight:700;letter-spacing:-.035em;margin:0 0 .9rem;line-height:1.1}.article-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:var(--text-tertiary);font-size:.88rem}.article-tags{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.9rem}.article-tags a{font-size:.82rem;color:var(--text-secondary);background:var(--bg-soft);border-radius:999px;padding:.2rem .75rem;transition:all .25s var(--ease)}.article-tags a:hover{background:linear-gradient(120deg,var(--aurora-1),var(--aurora-4));color:#fff;transform:translateY(-2px)}.prose{font-size:1.06rem;line-height:1.8;letter-spacing:-.012em;color:var(--text);animation:fade-up .7s var(--ease) .1s both}.prose h2{font-size:1.5rem;margin:2.6rem 0 1rem}.prose h3{font-size:1.2rem;margin:2rem 0 .8rem}.prose p{margin:1.1rem 0}.prose :is(ul,ol){padding-left:1.4rem;margin:1.1rem 0}.prose li+li{margin-top:.4rem}.prose blockquote{margin:1.6rem 0;padding:.8rem 1.3rem;border-left:3px solid;border-image:linear-gradient(var(--aurora-1),var(--aurora-4)) 1;background:var(--bg-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}.prose blockquote p{margin:.3rem 0}.prose code{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--bg-soft);padding:.15em .42em;border-radius:6px}.prose pre{padding:1.2rem 1.4rem;border-radius:var(--radius-sm);overflow-x:auto;background:var(--bg-soft);line-height:1.6;margin:1.4rem 0}.prose pre code{background:none;padding:0;font-size:.85rem}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:1.6rem 0;font-size:.94rem;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-soft)}.prose th,.prose td{padding:.6rem .9rem;text-align:left;border-bottom:1px solid var(--border-soft)}.prose th{background:#00000008;font-weight:600}:root[data-theme=dark] .prose th{background:#ffffff0d}.prose tr:last-child td{border-bottom:none}.prose hr{border:none;border-top:1px solid var(--border-soft);margin:2.6rem 0}.back-link{display:inline-block;margin-top:2.6rem;font-size:.92rem;color:var(--text-secondary);transition:transform .25s var(--ease),color .2s ease}.back-link:hover{color:var(--accent);transform:translate(-3px)}.footer{border-top:1px solid var(--border-soft);background:var(--bg-tint)}.footer-inner{max-width:var(--container);margin:0 auto;padding:1.6rem 22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;color:var(--text-tertiary);font-size:.82rem}@media(max-width:820px){.cards{grid-template-columns:1fr}.mega{display:none}.nav-bar{gap:1rem}.nav-menu{gap:1.1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-menu::-webkit-scrollbar{display:none}.nav-link{height:52px;white-space:nowrap}}@media(max-width:520px){html{font-size:16px}.nav-brand{font-size:.98rem}}
