:root{--font-display: "Songti SC", "Noto Serif SC", "Source Han Serif SC", "STSong", serif;--font-body: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", "Cascadia Code", "Source Han Mono SC", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 19px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 42px;--leading-tight: 1.3;--leading-body: 1.8;--radius-2xs: 4px;--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 72px;--h-titlebar: 52px;--w-read: 720px;--w-wide: 880px;--shell-gutter: 20px;--duration-fast: .14s;--duration-base: .22s;--duration-slow: .42s;--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-spring: cubic-bezier(.34, 1.3, .5, 1)}:root,:root[data-theme=light]{color-scheme:light;--bg-app: #edf0f6;--bg-glow-a: rgba(122, 156, 224, .16);--bg-glow-b: rgba(214, 196, 170, .14);--surface-glass: rgba(255, 255, 255, .62);--surface-glass-strong: rgba(255, 255, 255, .78);--surface-glass-soft: rgba(255, 255, 255, .42);--surface-ink-wash: rgba(28, 36, 51, .04);--control-glass: rgba(255, 255, 255, .55);--glass-border: rgba(28, 36, 51, .09);--glass-border-bright: rgba(255, 255, 255, .7);--glass-blur: 18px;--text-primary: #1c2433;--text-secondary: #46536a;--text-muted: #8792a6;--text-faint: #aeb7c8;--active-ink: #2b5fd9;--active-ink-fg: #ffffff;--active-ink-wash: rgba(43, 95, 217, .09);--active-ink-border: rgba(43, 95, 217, .32);--color-success: #3f8f5f;--color-warning: #b7822a;--color-error: #c25757;--color-info: #4a7dbd;--series-harness: #4a7dbd;--series-practice: #3f8f5f;--series-notes: #b7822a;--series-meta: #8d6bb8;--shadow-card: 0 1px 2px rgba(28, 36, 51, .04), 0 8px 24px rgba(28, 36, 51, .06);--shadow-card-hover: 0 2px 4px rgba(28, 36, 51, .05), 0 14px 40px rgba(28, 36, 51, .1);--shadow-titlebar: 0 1px 0 rgba(28, 36, 51, .05);--code-bg: rgba(28, 36, 51, .045);--code-block-bg: rgba(255, 255, 255, .6);--noise-opacity: .028}:root[data-theme=dark]{color-scheme:dark;--bg-app: #12161f;--bg-glow-a: rgba(84, 118, 190, .13);--bg-glow-b: rgba(150, 122, 84, .07);--surface-glass: rgba(26, 32, 45, .62);--surface-glass-strong: rgba(30, 37, 52, .82);--surface-glass-soft: rgba(26, 32, 45, .4);--surface-ink-wash: rgba(232, 236, 244, .045);--control-glass: rgba(38, 46, 64, .55);--glass-border: rgba(232, 236, 244, .09);--glass-border-bright: rgba(232, 236, 244, .13);--text-primary: #e8ecf4;--text-secondary: #a8b2c4;--text-muted: #6e7a90;--text-faint: #515c70;--active-ink: #7aa5f7;--active-ink-fg: #0f1420;--active-ink-wash: rgba(122, 165, 247, .12);--active-ink-border: rgba(122, 165, 247, .38);--color-success: #5cab7d;--color-warning: #cfa050;--color-error: #d47f7f;--color-info: #6f9bd1;--series-harness: #6f9bd1;--series-practice: #5cab7d;--series-notes: #cfa050;--series-meta: #a58bd0;--shadow-card: 0 1px 2px rgba(0, 0, 0, .2), 0 10px 30px rgba(0, 0, 0, .3);--shadow-card-hover: 0 2px 4px rgba(0, 0, 0, .25), 0 16px 48px rgba(0, 0, 0, .42);--shadow-titlebar: 0 1px 0 rgba(0, 0, 0, .25);--code-bg: rgba(232, 236, 244, .07);--code-block-bg: rgba(16, 20, 30, .66);--noise-opacity: .05}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg-app: #12161f;--bg-glow-a: rgba(84, 118, 190, .13);--bg-glow-b: rgba(150, 122, 84, .07);--surface-glass: rgba(26, 32, 45, .62);--surface-glass-strong: rgba(30, 37, 52, .82);--surface-glass-soft: rgba(26, 32, 45, .4);--surface-ink-wash: rgba(232, 236, 244, .045);--control-glass: rgba(38, 46, 64, .55);--glass-border: rgba(232, 236, 244, .09);--glass-border-bright: rgba(232, 236, 244, .13);--text-primary: #e8ecf4;--text-secondary: #a8b2c4;--text-muted: #6e7a90;--text-faint: #515c70;--active-ink: #7aa5f7;--active-ink-fg: #0f1420;--active-ink-wash: rgba(122, 165, 247, .12);--active-ink-border: rgba(122, 165, 247, .38);--color-success: #5cab7d;--color-warning: #cfa050;--color-error: #d47f7f;--color-info: #6f9bd1;--series-harness: #6f9bd1;--series-practice: #5cab7d;--series-notes: #cfa050;--series-meta: #a58bd0;--shadow-card: 0 1px 2px rgba(0, 0, 0, .2), 0 10px 30px rgba(0, 0, 0, .3);--shadow-card-hover: 0 2px 4px rgba(0, 0, 0, .25), 0 16px 48px rgba(0, 0, 0, .42);--shadow-titlebar: 0 1px 0 rgba(0, 0, 0, .25);--code-bg: rgba(232, 236, 244, .07);--code-block-bg: rgba(16, 20, 30, .66);--noise-opacity: .05}}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--text-primary);background-color:var(--bg-app);min-height:100vh;transition:background-color var(--duration-slow) var(--ease-out),color var(--duration-slow) var(--ease-out)}.canvas-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(52% 44% at 12% -6%,var(--bg-glow-a),transparent 70%),radial-gradient(46% 40% at 94% 106%,var(--bg-glow-b),transparent 70%)}.canvas-atmosphere:after{content:"";position:absolute;inset:0;opacity:var(--noise-opacity);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.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--active-ink-wash);color:var(--text-primary)}a{color:var(--active-ink);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--active-ink);outline-offset:2px;border-radius:var(--radius-2xs)}.titlebar{position:sticky;top:0;z-index:40;height:var(--h-titlebar);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--shell-gutter);background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-titlebar)}.titlebar-logo{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 10px;border-radius:var(--radius-xs);border:1px solid transparent}.titlebar-logo:hover{background:var(--surface-ink-wash);text-decoration:none}.titlebar-logo .prompt{color:var(--active-ink)}.titlebar-logo .cursor-blink{display:inline-block;width:7px;height:14px;background:var(--active-ink);opacity:.85;animation:blink 1.2s steps(1) infinite}@keyframes blink{50%{opacity:0}}.titlebar-nav{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.titlebar-nav a,.titlebar-nav button{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;padding:6px 12px;border-radius:var(--radius-xs);border:1px solid transparent;background:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.titlebar-nav a:hover,.titlebar-nav button:hover{background:var(--surface-ink-wash);color:var(--text-primary);text-decoration:none}.titlebar-nav a[aria-current=page]{color:var(--active-ink);background:var(--active-ink-wash)}.shell{max-width:calc(var(--w-wide) + var(--shell-gutter) * 2);margin:0 auto;padding:var(--space-6) var(--shell-gutter) var(--space-8)}.shell--read{max-width:calc(var(--w-read) + var(--shell-gutter) * 2)}.studio-intro{padding:var(--space-6) 0 var(--space-5)}.studio-intro .whoami{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3)}.studio-intro .whoami .prompt{color:var(--active-ink)}.studio-intro h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:.01em;margin-bottom:var(--space-4)}.studio-intro .tagline{color:var(--text-secondary);font-size:var(--text-md);max-width:44em}.studio-intro .tagline strong{color:var(--text-primary);font-weight:600}.series-rail{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) 0 var(--space-5)}.series-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--control-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--duration-fast) var(--ease-out)}.series-chip:hover{border-color:var(--active-ink-border);color:var(--text-primary);text-decoration:none}.series-chip[aria-current=true]{border-color:var(--active-ink-border);background:var(--active-ink-wash);color:var(--text-primary)}.series-dot{width:7px;height:7px;border-radius:50%;background:var(--series-color, var(--text-muted))}.ledger{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;padding:0}.ledger-year{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);padding:var(--space-5) var(--space-2) var(--space-1);letter-spacing:.08em}.post-card{position:relative;display:grid;grid-template-columns:64px 1fr auto;gap:var(--space-4);align-items:baseline;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--surface-glass);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-card);transition:transform var(--duration-base) var(--ease-spring),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--active-ink-border);background:var(--surface-glass-strong)}.post-card .index{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-faint);transition:color var(--duration-base) var(--ease-out)}.post-card:hover .index{color:var(--active-ink)}.post-card .title-link{color:var(--text-primary);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);line-height:1.45}.post-card .title-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.post-card .title-link:hover{text-decoration:none}.post-card .summary{grid-column:2;color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card .spec{grid-column:2;margin-top:var(--space-2)}.post-card .date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.spec{display:flex;flex-wrap:wrap;gap:6px 12px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.spec .k{color:var(--text-faint)}.spec .v{color:var(--text-secondary)}.spec .v--series{color:var(--series-color, var(--text-secondary))}.post-hero{padding:var(--space-6) 0 var(--space-5);border-bottom:1px solid var(--glass-border);margin-bottom:var(--space-6)}.post-hero .crumb{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-4);display:inline-flex;gap:var(--space-2)}.post-hero h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);line-height:1.35;letter-spacing:.01em;margin-bottom:var(--space-4)}@media(min-width:720px){.post-hero h1{font-size:36px}}.prose{font-size:var(--text-md);line-height:var(--leading-body);color:var(--text-primary)}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.4;margin-top:var(--space-7);padding-top:var(--space-4)}.prose h2:before{content:"§";font-family:var(--font-mono);color:var(--active-ink);opacity:.55;margin-right:10px;font-size:.8em}.prose h3{font-family:var(--font-display);font-size:var(--text-lg);margin-top:var(--space-6)}.prose p{letter-spacing:.01em}.prose strong{font-weight:600}.prose blockquote{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-glass-soft);border:1px solid var(--glass-border);border-left:3px solid var(--active-ink);color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.prose blockquote p+p{margin-top:var(--space-3)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:var(--space-2)}.prose li::marker{color:var(--active-ink)}.prose code:not(pre code){font-family:var(--font-mono);font-size:.88em;background:var(--code-bg);padding:2px 6px;border-radius:var(--radius-2xs)}.prose pre{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--code-block-bg)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-x:auto;font-size:var(--text-sm);line-height:1.7}.prose img{max-width:100%;border-radius:var(--radius-md);border:1px solid var(--glass-border)}.prose hr{border:none;border-top:1px solid var(--glass-border);margin:var(--space-6) 0}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-sm);display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--glass-border)}.prose th{font-weight:600;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.syndication{margin-top:var(--space-7);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px dashed var(--glass-border);background:var(--surface-glass-soft);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.syndication .label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint)}.platform-chip{font-family:var(--font-mono);font-size:var(--text-xs);padding:3px 10px;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--control-glass);color:var(--text-secondary)}.subscribe-card{margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--active-ink-border);background:var(--active-ink-wash)}.subscribe-card .sub-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);margin-bottom:var(--space-2)}.subscribe-card .sub-desc{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-4)}.subscribe-card .sub-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.subscribe-card a.platform-chip:hover{border-color:var(--active-ink-border);color:var(--text-primary);text-decoration:none}.titlebar-nav .lang-switch{font-family:var(--font-mono);border:1px solid var(--glass-border)}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-6)}.post-nav a{display:block;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--surface-glass);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out)}.post-nav a:hover{border-color:var(--active-ink-border);text-decoration:none}.post-nav .dir{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);display:block;margin-bottom:4px}.post-nav .next{text-align:right}.archive-row{display:grid;grid-template-columns:96px 1fr auto;gap:var(--space-4);align-items:baseline;padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out)}.archive-row:hover{background:var(--surface-ink-wash)}.archive-row .date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.archive-row a{color:var(--text-primary)}.footer{margin-top:var(--space-8);padding:var(--space-5) var(--shell-gutter);border-top:1px solid var(--glass-border);text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint)}.footer a{color:var(--text-muted)}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(10px);animation:reveal var(--duration-slow) var(--ease-out) forwards;animation-delay:calc(var(--reveal-i, 0) * 55ms)}@keyframes reveal{to{opacity:1;transform:none}}}@media(max-width:640px){.titlebar{gap:var(--space-2);padding:0 12px}.titlebar-nav a,.titlebar-nav button{padding:6px 8px}.post-card{grid-template-columns:1fr;gap:var(--space-2)}.post-card .index{display:none}.post-card .summary,.post-card .spec{grid-column:1}.post-card .date{order:-1}.archive-row{grid-template-columns:1fr;gap:2px}.studio-intro h1{font-size:var(--text-2xl)}.post-nav{grid-template-columns:1fr}}
