:root{--accent: #ff6b35;--accent-2: #ffa05e;--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--accent-line: color-mix(in srgb, var(--accent) 40%, transparent);--bg: #f5f5f6;--surface: #ffffff;--surface-2: #ececef;--text: #16151a;--muted: #6c6a73;--border: color-mix(in srgb, var(--text) 11%, transparent);--glow: color-mix(in srgb, var(--accent) 16%, transparent);--glow-2: color-mix(in srgb, #8a63ff 14%, transparent);--dot: rgba(20, 18, 16, .05);--display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--maxw: 760px;--wide: 1080px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0b0b0d;--surface: #141416;--surface-2: #1b1b1f;--text: #f0eef3;--muted: #99919f;--border: color-mix(in srgb, #ffffff 11%, transparent);--glow: color-mix(in srgb, var(--accent) 22%, transparent);--glow-2: color-mix(in srgb, #8a63ff 20%, transparent);--dot: rgba(255, 255, 255, .05)}}:root[data-theme=dark]{--bg: #0b0b0d;--surface: #141416;--surface-2: #1b1b1f;--text: #f0eef3;--muted: #99919f;--border: color-mix(in srgb, #ffffff 11%, transparent);--glow: color-mix(in srgb, var(--accent) 22%, transparent);--glow-2: color-mix(in srgb, #8a63ff 20%, transparent);--dot: rgba(255, 255, 255, .05)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}a:focus,button:focus{outline:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(45vw 42vh at 8% -8%,var(--glow),transparent 72%),radial-gradient(40vw 38vh at 96% 4%,var(--glow-2),transparent 72%),radial-gradient(55vw 45vh at 78% 108%,var(--glow),transparent 70%);filter:blur(36px) saturate(115%)}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--dot) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(130% 75% at 50% 0%,#000 22%,transparent 78%);mask-image:radial-gradient(130% 75% at 50% 0%,#000 22%,transparent 78%)}.site-header,main,.site-footer{position:relative;z-index:1}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}::selection{background:var(--accent);color:#fff}.container{max-width:var(--maxw);margin-inline:auto;padding-inline:24px}.wide{max-width:var(--wide)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:50;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .1s linear}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:saturate(150%) blur(14px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--border)}.bar{display:flex;align-items:center;gap:14px;height:62px;max-width:var(--wide);margin-inline:auto;padding-inline:24px}.brand{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.brand .mark{width:11px;height:11px;border-radius:3px;transform:rotate(45deg);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 0 4px var(--accent-soft)}.nav{margin-left:auto;display:flex;align-items:center;gap:4px}.nav a{padding:7px 12px;border-radius:8px;font-size:14px;color:var(--muted);transition:color .15s,background .15s}.nav a:hover{color:var(--text);background:var(--surface-2)}.langs{display:flex;gap:2px;margin-left:6px;padding:3px;border:1px solid var(--border);border-radius:10px}.langs a{font-family:var(--mono);font-size:12px;padding:5px 9px;border-radius:7px;color:var(--muted)}.langs a.active{color:var(--text);background:var(--surface);box-shadow:0 1px 2px #0000000f}.theme-btn{margin-left:6px;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:none;color:var(--muted);cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s}.theme-btn:hover{color:var(--accent);border-color:var(--accent-line)}.hero{padding:72px 0 36px}.hero .eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px}.hero .eyebrow:before{content:"";width:22px;height:1px;background:var(--accent)}.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,6vw,56px);line-height:1.04;letter-spacing:-.03em;margin:18px 0 16px}.hero p{color:var(--muted);font-size:18px;max-width:540px;margin:0}.hero .stat{margin-top:22px;font-family:var(--mono);font-size:12.5px;color:var(--muted);letter-spacing:.02em}.hero .stat b{color:var(--text);font-weight:500}.cover-img,.cover-gen{display:block;width:100%;height:100%;object-fit:cover}.cover-gen{position:relative;background:linear-gradient(135deg,var(--c1),var(--c2));overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}.cover-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(120% 90% at 70% 10%,#000,transparent 75%)}.cover-glyph{width:38%;max-width:96px;height:auto;color:#ffffffeb;filter:drop-shadow(0 6px 18px rgba(0,0,0,.25));transition:transform .4s cubic-bezier(.2,.7,.2,1)}.cover-cat{position:absolute;left:14px;bottom:12px;font-size:11px;letter-spacing:.04em;color:#ffffffd9;text-transform:uppercase}.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center;padding:34px 0;margin-bottom:8px;border-top:1px solid var(--border)}.feature-cover{aspect-ratio:16/10;border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.feature .row-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.feature .tag{color:var(--accent)}.feature h2{font-family:var(--display);font-weight:600;font-size:clamp(24px,3.2vw,36px);line-height:1.16;letter-spacing:-.025em;margin:14px 0 12px;transition:color .2s}.feature:hover h2{color:var(--accent)}.feature .excerpt{color:var(--muted);font-size:16px;margin:0;max-width:52ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feature .cover-glyph{width:30%}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px 20px;padding:18px 0 88px}.card{display:flex;flex-direction:column}.card-cover{aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--border);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card-cover .cover-img,.card-cover .cover-gen{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.card:hover .card-cover{border-color:var(--accent-line);box-shadow:0 14px 30px #00000024}.card:hover .cover-img,.card:hover .cover-gen{transform:scale(1.04)}.card:hover .cover-glyph{transform:scale(1.08) rotate(-3deg)}.card-body{padding:13px 2px 0}.card-meta{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--muted)}.card-meta .tag{color:var(--accent)}.card-title{font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.01em;margin:8px 0 0;transition:color .2s}.card:hover .card-title{color:var(--accent)}.reveal{opacity:0;transform:translateY(14px)}.reveal.in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}.article{padding:48px 0 96px}.article .back{font-family:var(--mono);color:var(--muted);font-size:13px;display:inline-flex;gap:7px}.article .back:hover{color:var(--accent)}.article-head{margin:26px 0 8px}.article-head .meta{display:flex;gap:12px;align-items:center;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.article-head .meta .tag{color:var(--accent)}.article-head h1{font-family:var(--display);font-weight:700;font-size:clamp(28px,4.6vw,44px);line-height:1.12;letter-spacing:-.025em;margin:16px 0 22px}.article-head .rule{height:1px;background:var(--border)}.article-cover{aspect-ratio:21/9;border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);margin:22px 0 36px}.article-cover .cover-glyph{width:16%;max-width:84px}.prose{font-size:17.5px;line-height:1.85}.prose>:first-child{margin-top:1.4em}.prose h2{font-family:var(--display);font-size:26px;font-weight:600;letter-spacing:-.02em;margin:1.9em 0 .6em;padding-left:15px;position:relative}.prose h2:before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:4px;border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.prose h3{font-family:var(--display);font-size:20px;font-weight:600;margin:1.6em 0 .5em}.prose p{margin:0 0 1.15em}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.15em}.prose li{margin:.35em 0}.prose img{border-radius:12px;border:1px solid var(--border);margin:1.5em 0}.prose blockquote{margin:1.5em 0;padding:6px 20px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0;color:var(--muted)}.prose code{font-family:var(--mono);font-size:.86em;background:var(--surface-2);padding:2px 6px;border-radius:6px}.prose pre{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:18px 20px;overflow-x:auto;margin:1.5em 0}.prose pre code{background:none;padding:0}.prose hr{border:none;border-top:1px solid var(--border);margin:2.4em 0}.site-footer{border-top:1px solid var(--border);padding:34px 0 56px;color:var(--muted);font-family:var(--mono);font-size:12.5px}@media (max-width: 720px){.feature{grid-template-columns:1fr;gap:18px}.feature-cover{aspect-ratio:16/9}.nav>a{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.card:hover .cover-img,.card:hover .cover-gen,.card:hover .cover-glyph{transform:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
