:root{--bg: #0a0e12;--bg-soft: #10161d;--ink: #e8edf2;--ink-dim: #8b98a5;--neon-red: #ff2d55;--neon-magenta: #ff5ce1;--neon-cyan: #29e6d2;--line: rgba(255, 255, 255, .08);--glass: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .12);--font-display: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "Cascadia Code", Consolas, "JetBrains Mono", "Courier New", monospace;--sidenav-w: 200px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-display);line-height:1.7;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}::selection{background:var(--neon-cyan);color:#04121a}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#1d2833;border-radius:5px}a{color:inherit;text-decoration:none}section[id]{scroll-margin-top:32px}.sidenav{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:50;width:var(--sidenav-w);padding:18px 16px;border:1px solid var(--glass-border);border-radius:14px;background:#0a0e128c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-family:var(--font-mono)}.sidenav-brand{font-size:13px;letter-spacing:.2em;color:var(--neon-cyan);padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--line)}.sidenav ul{list-style:none}.sidenav a{display:flex;align-items:baseline;gap:6px;padding:7px 4px;font-size:12px;letter-spacing:.08em;color:var(--ink-dim);transition:color .25s,transform .25s}.sidenav .sidenav-arrow{color:var(--neon-red);opacity:.35;transition:opacity .25s}.sidenav .sidenav-zh{margin-left:auto;font-family:var(--font-display);font-size:11px;opacity:.55}.sidenav a:hover{color:var(--ink);transform:translate(3px)}.sidenav a.active{color:var(--ink)}.sidenav a.active .sidenav-arrow{opacity:1;text-shadow:0 0 8px var(--neon-cyan)}main{margin-left:calc(var(--sidenav-w) + 48px)}.section{padding:14vh 6vw 10vh;max-width:1280px;margin:0 auto}.section-head{margin-bottom:42px}.section-head h2{font-family:var(--font-mono);font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700;letter-spacing:.04em}.section-head p{font-family:var(--font-mono);font-size:12px;letter-spacing:.28em;color:var(--ink-dim);margin-top:6px}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.card{display:block;padding:20px 22px}a.card:hover,article.card:hover{transform:translateY(-4px);border-color:#29e6d273;box-shadow:0 8px 32px #00000073}.card-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--ink-dim);margin-bottom:10px}.card h3{font-size:1.05rem;font-weight:600;margin-bottom:8px}.card p{font-size:.88rem;color:var(--ink-dim);margin-bottom:12px}.card-tags{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--neon-cyan)}.status{padding:1px 8px;border-radius:999px;border:1px solid var(--glass-border);font-size:10px}.status.in-progress{color:var(--neon-cyan);border-color:#29e6d266}.status.done{color:#7dffa8;border-color:#7dffa866}.status.idea{color:var(--neon-magenta);border-color:#ff5ce166}.card-links{display:flex;gap:16px;margin-top:12px;font-family:var(--font-mono);font-size:12px;color:var(--neon-cyan)}.card-links .dim{color:var(--ink-dim)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(1100px 700px at 78% 12%,rgba(38,92,104,.28),transparent 62%),radial-gradient(900px 700px at 12% 85%,rgba(120,20,45,.12),transparent 60%),var(--bg)}.hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 52%,rgba(2,5,8,.6) 100%)}.hero-canvas{position:absolute;inset:0}.hero-canvas canvas{display:block;width:100%;height:100%}.hero-inner{position:relative;z-index:2;text-align:center;padding:0 6vw}.hero-kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.5em;color:var(--ink-dim);margin-bottom:18px;text-shadow:0 0 14px rgba(10,14,18,.95),0 0 4px rgba(10,14,18,.9)}.hero h1{font-family:var(--font-mono);font-size:clamp(3rem,11vw,7.5rem);font-weight:700;letter-spacing:.12em;line-height:1.05;text-shadow:0 0 40px rgba(41,230,210,.25)}.hero-sub{margin-top:16px;color:var(--ink-dim);letter-spacing:.35em;font-size:clamp(.75rem,1.6vw,.95rem);text-shadow:0 0 14px rgba(10,14,18,.95),0 0 4px rgba(10,14,18,.9)}.hero-cta{display:flex;gap:14px;justify-content:center;margin-top:36px}.btn{display:inline-block;padding:10px 26px;border-radius:999px;font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;cursor:pointer}.btn.glass:hover{border-color:var(--neon-cyan);color:var(--neon-cyan);transform:translateY(-2px)}.hero-hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:11px;letter-spacing:.4em;color:var(--ink-dim);animation:hint-float 2.4s ease-in-out infinite}@keyframes hint-float{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-hint{animation:none}.glass,.btn{transition:none}}.placeholder-note{margin-top:26px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--ink-dim);opacity:.7}.log-page{max-width:760px;margin:0 auto;padding:12vh 24px 16vh}.log-page .back{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--ink-dim)}.log-page .back:hover{color:var(--neon-cyan)}.log-page header{margin:34px 0 30px;border-bottom:1px solid var(--line);padding-bottom:22px}.log-page header h1{font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.3}.log-page header .meta{margin-top:12px;font-family:var(--font-mono);font-size:12px;color:var(--ink-dim);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.log-page .prose h2{font-size:1.3rem;margin:2em 0 .6em;border-left:3px solid var(--neon-red);padding-left:12px}.log-page .prose h3{font-size:1.1rem;margin:1.6em 0 .5em}.log-page .prose p{margin:.9em 0;color:#c6d0d9}.log-page .prose ul,.log-page .prose ol{margin:.9em 0 .9em 1.4em;color:#c6d0d9}.log-page .prose code{font-family:var(--font-mono);font-size:.86em;background:var(--bg-soft);border:1px solid var(--line);border-radius:5px;padding:1px 6px}.log-page .prose pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:16px 18px;overflow-x:auto;margin:1.2em 0}.log-page .prose pre code{background:none;border:none;padding:0;font-size:.84rem;line-height:1.7}.log-page .prose blockquote{border-left:3px solid var(--neon-cyan);padding-left:14px;color:var(--ink-dim);margin:1.1em 0}.nf{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-family:var(--font-mono)}.nf h1{font-size:clamp(4rem,14vw,9rem);color:var(--neon-red)}@media(max-width:900px){main{margin-left:0}.sidenav{left:0;top:0;transform:none;width:100%;border-radius:0;border-left:none;border-right:none;border-top:none;padding:10px 16px}.sidenav-brand{display:none}.sidenav ul{display:flex;gap:4px;overflow-x:auto}.sidenav .sidenav-zh{display:none}.section{padding:16vh 6vw 8vh}}
