@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--dark-bg: #060911;--dark-surface: rgba(255,255,255,.04);--dark-border: rgba(255,255,255,.07);--dark-text: rgba(255,255,255,.9);--dark-muted: rgba(255,255,255,.4);--glow: #38bdf8;--glow-soft: rgba(56,189,248,.12);--bg: #f4f1eb;--bg-alt: #eceae3;--surface: rgba(255,255,255,.5);--surface-strong: rgba(255,255,255,.72);--text: #1a1a2e;--muted: #71717a;--accent: oklch(.5 .16 235);--accent-hover: oklch(.56 .16 235);--accent-strong: oklch(.44 .16 235);--warm: oklch(.68 .14 55);--signal: oklch(.6 .2 25);--line: rgba(0,0,0,.06);--glass-blur: blur(32px) saturate(1.6);--glass-shadow: 0 4px 24px rgba(0,0,0,.04);--glass-hi: inset 0 .5px 0 rgba(255,255,255,.7);--radius: 16px;--radius-sm: 10px;--radius-lg: 24px;--container: min(1200px, calc(100vw - 48px) );font-family:Sora,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:var(--text);font-size:16px;line-height:1.7}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 18% 12%,oklch(.93 .04 230 / .12) 0%,transparent 40%),radial-gradient(ellipse at 80% 36%,oklch(.92 .03 55 / .1) 0%,transparent 35%),radial-gradient(ellipse at 45% 78%,oklch(.9 .04 170 / .1) 0%,transparent 40%),var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}::selection{color:#fff;background:var(--accent)}.container{width:var(--container);margin:0 auto}.site-header{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:4px;padding:7px 10px;border-radius:22px;transition:background .45s ease,border-color .45s ease,box-shadow .45s ease,color .45s ease;max-width:calc(100vw - 32px);width:min(720px,calc(100vw - 32px))}.site-header.dark{background:#ffffff0d;backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);border:1px solid rgba(255,255,255,.07);color:#ffffffd9}.site-header.light{background:#ffffff94;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.45);box-shadow:0 4px 28px #0000000f,var(--glass-hi);color:var(--text)}.brand{display:inline-flex;align-items:center;gap:9px;font-size:.92rem;font-weight:700;flex-shrink:0;padding:4px 8px 4px 4px;border-radius:14px;transition:background .2s}.brand:hover{background:#8080801a}.brand-mark{width:34px;height:34px;border-radius:9px;object-fit:cover;border:1px solid rgba(128,128,128,.12);background:#fff}.site-nav{display:flex;gap:2px;align-items:center;overflow-x:auto;scrollbar-width:none;white-space:nowrap;justify-content:flex-end;flex:1}.site-nav::-webkit-scrollbar{display:none}.site-nav a{padding:7px 13px;border-radius:12px;font-size:.88rem;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}.site-header.dark .site-nav a{color:#ffffff80}.site-header.dark .site-nav a:hover,.site-header.dark .site-nav a[aria-current=page]{color:#fff;background:#ffffff14}.site-header.light .site-nav a{color:var(--muted)}.site-header.light .site-nav a:hover{color:var(--text);background:#0000000a}.site-header.light .site-nav a[aria-current=page]{color:var(--accent);background:oklch(.5 .16 235 / .08)}.hero{--spot-x: 50%;--spot-y: 50%;--spot-op: 0;position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--dark-bg)}.hero-mesh{position:absolute;inset:0;background:radial-gradient(ellipse at 14% 48%,oklch(.35 .14 230 / .22) 0%,transparent 46%),radial-gradient(ellipse at 76% 18%,oklch(.3 .12 280 / .14) 0%,transparent 42%),radial-gradient(ellipse at 52% 84%,oklch(.3 .12 175 / .14) 0%,transparent 42%)}.hero-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse at 50% 44%,black 0%,transparent 68%);-webkit-mask-image:radial-gradient(ellipse at 50% 44%,black 0%,transparent 68%)}.hero-spotlight{position:absolute;width:600px;height:600px;border-radius:50%;left:var(--spot-x);top:var(--spot-y);transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,rgba(56,189,248,.07) 0%,transparent 68%);opacity:var(--spot-op);transition:opacity .5s ease}.word-field{position:absolute;inset:60px 0 0;pointer-events:none}.word-field span{position:absolute;color:#fff;opacity:.04;font-weight:700;line-height:1;white-space:nowrap;will-change:opacity,transform;transform:translate(-50%,-50%) scale(1);transition:text-shadow .3s ease}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;text-align:center;color:#fff;width:min(960px,calc(100vw - 40px));margin:0 auto;padding:0 24px}.hero-content h1{margin:0;font-size:clamp(2.8rem,7.5vw,6.2rem);font-weight:800;line-height:.96;letter-spacing:-.02em}.hero-content h1 span{display:block}.hero-content h1 span:last-child{background:linear-gradient(135deg,#fff 30%,var(--glow) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-content p{max-width:580px;margin:28px auto 0;color:#ffffff6b;font-size:clamp(.95rem,1.8vw,1.15rem);line-height:1.85}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:36px;flex-wrap:wrap}.hero-fade{position:absolute;bottom:0;left:0;right:0;height:220px;background:linear-gradient(to bottom,transparent,var(--bg));z-index:3;pointer-events:none}.button,.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:14px;border:none;font-size:.92rem;font-weight:650;cursor:pointer;transition:all .28s cubic-bezier(.25,.8,.25,1);text-decoration:none;position:relative;overflow:hidden}.button:hover,.btn:hover{transform:translateY(-2px)}.button.primary,.btn-primary{background:#38bdf824;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(56,189,248,.22);color:#ffffffe6;box-shadow:0 4px 18px #38bdf81a,inset 0 .5px #ffffff14}.button.primary:hover,.btn-primary:hover{background:#38bdf83d;border-color:#38bdf861;box-shadow:0 8px 28px #38bdf829}.button.secondary,.btn-ghost{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#fff9}.button.secondary:hover,.btn-ghost:hover{background:#ffffff1a;color:#fff}.btn-accent{background:var(--accent);color:#fff;border:1px solid transparent;box-shadow:0 4px 16px oklch(.5 .16 235 / .2)}.btn-accent:hover{background:var(--accent-hover);box-shadow:0 8px 24px oklch(.5 .16 235 / .25)}.btn-glass{background:var(--surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.35);color:var(--text);box-shadow:var(--glass-shadow),var(--glass-hi)}.btn-glass:hover{background:var(--surface-strong);box-shadow:0 8px 32px #0000000f}.button.light-secondary{background:var(--surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.35);color:var(--text);box-shadow:var(--glass-shadow),var(--glass-hi)}.button.light-secondary:hover{background:var(--surface-strong)}.content-band{padding:clamp(80px,10vw,128px) 0}.content-band.muted,.content-band.alt{background:#00000005}.section-header{max-width:680px}.section-header h2{margin:0;font-size:clamp(1.9rem,4vw,3.2rem);font-weight:800;line-height:1.06;letter-spacing:-.015em}.section-header p{margin:14px 0 0;color:var(--muted);font-size:1rem;line-height:1.85}.glass-card,.post-card,.category-card,.contact-panel{position:relative;background:var(--surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.38);border-radius:var(--radius);padding:28px;box-shadow:var(--glass-shadow),var(--glass-hi);transition:transform .32s cubic-bezier(.25,.8,.25,1),box-shadow .32s ease,border-color .32s ease}.glass-card:before,.post-card:before,.category-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.18) 44%,rgba(255,255,255,.06) 50%,transparent 56%);opacity:0;transition:opacity .45s ease;pointer-events:none}.glass-card:hover,.post-card:hover,.category-card:hover{transform:translateY(-5px);box-shadow:0 14px 44px #00000012,var(--glass-hi);border-color:#ffffff8c}.glass-card:hover:before,.post-card:hover:before,.category-card:hover:before{opacity:1}.post-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;font-weight:700}.post-meta span{color:var(--accent);padding:3px 10px;border-radius:8px;background:oklch(.5 .16 235 / .07)}.post-meta time{color:var(--muted);font-weight:700}.post-card{display:flex;flex-direction:column;min-height:260px}.post-card h3{margin:18px 0 0;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.35;font-weight:700}.post-card h3 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.post-card p{margin:12px 0 0;color:var(--muted);font-size:.94rem}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:20px}.tag-row span{padding:3px 9px;border-radius:8px;font-size:.76rem;font-weight:650;background:#0000000a;color:var(--muted);border:1px solid var(--line)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.post-card.featured:first-child{background:linear-gradient(135deg,oklch(.5 .16 235 / .06),#d97e380a),var(--surface)}.split-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.category-card{min-height:170px;display:flex;flex-direction:column}.category-card span{font-size:1.25rem;font-weight:800;color:var(--text);display:block}.category-card p{margin:18px 0 0;color:var(--muted);font-size:.93rem}.section-title-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.text-link{color:var(--accent);font-weight:700;font-size:.92rem;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.article-list{display:grid;gap:14px;margin-top:34px}.article-list.compact{grid-template-columns:repeat(2,1fr)}.article-list .post-card{min-height:210px}.about-strip{border-top:1px solid var(--line);background:linear-gradient(135deg,oklch(.5 .16 235 / .05),transparent 40%)}.about-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}.about-strip-inner>div{max-width:760px}.about-strip-inner h2{margin:0;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;line-height:1.15}.about-strip-inner p{margin:12px 0 0;color:var(--muted)}.page-hero{padding:130px 0 72px;background:radial-gradient(ellipse at 72% 15%,oklch(.5 .16 235 / .07) 0%,transparent 40%),#ffffff4d;border-bottom:1px solid var(--line)}.compact-hero h1,.page-hero h1{margin:0;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:800;line-height:.98;letter-spacing:-.02em}.compact-hero p,.page-hero>.container>p{margin:18px 0 0;color:var(--muted);font-size:1.1rem;max-width:680px;line-height:1.8}.about-hero{display:flex;align-items:center;justify-content:space-between;gap:48px}.about-hero img{width:150px;height:150px;flex-shrink:0;border-radius:var(--radius);box-shadow:var(--glass-shadow)}.about-layout{display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start}.about-copy h2{margin:0;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;line-height:1.1}.about-copy p{margin:14px 0 0;color:var(--muted);font-size:1rem;line-height:1.85}.contact-panel{box-shadow:var(--glass-shadow)}.contact-panel h2{margin:0;font-size:1.3rem;font-weight:700}.contact-panel p{margin:12px 0 0;color:var(--muted);font-size:.92rem}.contact-panel img{width:180px;margin-top:24px;border-radius:8px;border:1px solid var(--line)}.article-index{display:grid;gap:78px}.category-section{scroll-margin-top:120px}.article-page{background:#ffffff4d}.article-header{width:min(900px,calc(100vw - 40px));margin:0 auto;padding:120px 0 56px}.article-kicker{display:flex;flex-wrap:wrap;gap:12px;font-size:.9rem;font-weight:700}.article-kicker span{color:var(--accent);padding:3px 10px;border-radius:8px;background:oklch(.5 .16 235 / .07)}.article-kicker time{color:var(--muted)}.article-header h1{margin:18px 0 0;max-width:820px;font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;font-weight:800;letter-spacing:-.015em}.article-header p{max-width:760px;margin:20px 0 0;color:var(--muted);font-size:1.1rem}.article-shell{display:grid;width:min(1120px,calc(100vw - 40px));grid-template-columns:220px minmax(0,760px);gap:70px;margin:0 auto;padding:0 0 110px}.toc{position:sticky;top:100px;align-self:start;background:var(--surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-sm);padding:18px;box-shadow:var(--glass-shadow);font-size:.88rem}.toc strong{display:block;margin-bottom:12px;color:var(--text);font-size:.9rem}.toc nav{display:grid;gap:8px}.toc a{color:var(--muted);transition:color .2s}.toc a:hover{color:var(--accent)}.toc .depth-3{padding-left:12px}.prose{color:var(--text);font-size:1.05rem;line-height:1.95}.prose h2{margin:2.2em 0 .7em;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;font-weight:750}.prose h3{margin:1.8em 0 .5em;font-size:1.3rem;font-weight:700}.prose p{margin:1.05em 0}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.prose blockquote{margin:2rem 0;border-left:3px solid var(--accent);padding:.1rem 0 .1rem 1.2rem;color:var(--muted)}.admin-hero{padding:130px 0 40px;text-align:center;background:radial-gradient(ellipse at 20% 10%,oklch(.94 .03 230 / .2) 0%,transparent 40%),radial-gradient(ellipse at 80% 50%,oklch(.93 .025 280 / .15) 0%,transparent 38%),radial-gradient(ellipse at 50% 90%,oklch(.92 .03 170 / .12) 0%,transparent 38%),#fff3;border-bottom:1px solid var(--line)}.admin-hero h1{margin:0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.01em}.admin-hero p{margin:10px 0 0;color:var(--muted);font-size:.95rem}.admin-logout{display:inline-flex;margin-top:12px}.admin-band{padding:clamp(28px,4vw,40px) 0 60px}.admin-workspace{display:grid;grid-template-columns:320px 1fr 360px;gap:14px;align-items:start}.admin-panel,.preview-panel{background:var(--surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.38);border-radius:var(--radius);box-shadow:var(--glass-shadow),var(--glass-hi);overflow:hidden}.admin-panel{padding:22px;display:grid;gap:14px}.admin-panel h2{margin:0 0 2px;font-size:1.25rem;font-weight:700}.admin-panel label{display:grid;gap:6px;color:var(--text);font-size:.84rem;font-weight:650}.admin-panel input,.admin-panel textarea,.admin-panel select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff9;color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s}.admin-panel input:focus,.admin-panel textarea:focus,.admin-panel select:focus{border-color:oklch(.5 .16 235 / .5);box-shadow:0 0 0 3px oklch(.5 .16 235 / .1)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-checks{display:flex;gap:16px;flex-wrap:wrap}.admin-checks label{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;cursor:pointer}.admin-checks input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}.admin-actions .button,.admin-actions .btn{width:100%;padding:10px 12px;font-size:.84rem}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.admin-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.6}.admin-note code{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.82em}.editor-panel{border-radius:var(--radius);overflow:hidden;background:#14142a;box-shadow:0 8px 32px #00000026;border:1px solid rgba(255,255,255,.04)}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.editor-toolbar strong{color:#fffc;font-size:.9rem}.editor-toolbar span{color:#ffffff4d;font-size:.78rem;font-weight:600}.content-editor{width:100%;min-height:600px;padding:18px;border:none;background:transparent;color:#ffffffd1;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.88rem;line-height:1.75;resize:vertical;outline:none}.content-editor::placeholder{color:#fff3}.content-editor:focus{box-shadow:none}.preview-panel .editor-toolbar{background:transparent;border-bottom:1px solid var(--line)}.preview-panel .editor-toolbar strong{color:var(--text)}.preview-panel .editor-toolbar span{color:var(--muted)}.admin-preview{padding:20px}.admin-preview h2{margin:0;font-size:1.5rem;line-height:1.2;font-weight:700}.admin-preview>p{margin:10px 0 0;color:var(--muted)}.admin-preview .tag-row{margin-top:0}.admin-preview-body{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;color:var(--text);font-size:.92rem;line-height:1.8}.admin-preview-body h2,.admin-preview-body h3,.admin-preview-body h4{margin:1.2em 0 .4em;line-height:1.25}.admin-preview-body p{margin:.6em 0}.admin-status{text-align:center;margin-top:10px;font-size:.8rem;color:var(--muted)}.login-band{min-height:46vh;display:grid;place-items:start center;padding:clamp(32px,5vw,56px) 0 72px}.login-card{width:min(420px,calc(100vw - 32px));display:grid;gap:16px;padding:28px;background:var(--surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.38);border-radius:var(--radius);box-shadow:var(--glass-shadow),var(--glass-hi)}.login-card label{display:grid;gap:7px;color:var(--text);font-size:.86rem;font-weight:650}.login-card input{width:100%;padding:12px 13px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffffad;color:var(--text);outline:none}.login-card input:focus{border-color:oklch(.5 .16 235 / .5);box-shadow:0 0 0 3px oklch(.5 .16 235 / .1)}.login-error{margin:0;padding:10px 12px;border-radius:var(--radius-sm);color:#9f1239;background:#ffffff94;border:1px solid rgba(159,18,57,.16);font-size:.86rem;font-weight:650}.login-meta{margin:0;color:var(--muted);font-size:.78rem;line-height:1.6}.site-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;width:var(--container);margin:24px auto 0;padding:32px 0 40px;border-top:1px solid var(--line);color:var(--muted)}.site-footer strong{display:block;color:var(--text);font-size:.95rem}.site-footer p{margin:5px 0 0;font-size:.88rem}.site-footer a{color:var(--accent);font-weight:700}.reveal-on-scroll{opacity:0;transform:translateY(36px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.word-field span{transform:translate(-50%,-50%)!important}.hero-spotlight{display:none}}@media(max-width:1024px){.admin-workspace{grid-template-columns:1fr}.editor-panel{order:-1}.split-section,.about-layout{grid-template-columns:1fr;gap:36px}.article-shell{grid-template-columns:1fr;gap:28px}.toc{position:static}}@media(max-width:900px){.site-header{width:calc(100vw - 24px)}.post-grid,.article-list.compact{grid-template-columns:1fr}.about-hero{flex-direction:column;text-align:center}.about-strip-inner,.section-title-row{flex-direction:column;align-items:flex-start}}@media(max-width:640px){:root{--container: calc(100vw - 28px) }body{font-size:15px}.site-header{top:10px;padding:5px 6px;border-radius:16px}.brand span:last-child{display:none}.site-nav a{padding:6px 9px;font-size:.82rem}.hero-content h1{font-size:clamp(2.4rem,12vw,4rem)}.hero-content h1 span{white-space:normal}.hero-content p{font-size:.9rem}.hero-actions{flex-direction:column;align-items:stretch}.button,.btn{width:100%}.content-band{padding:64px 0}.category-grid{grid-template-columns:1fr}.page-hero{padding:110px 0 56px}.site-footer{flex-direction:column}.admin-form-grid,.admin-actions{grid-template-columns:1fr}.content-editor{min-height:460px}.article-header{width:min(100vw - 28px,900px);padding-top:94px}.article-shell{width:min(100vw - 28px,1120px);padding-bottom:72px}.hero{min-height:100vh}.word-field{inset:100px -20vw 0}}
