:root{--paper-0:#fdfcfa;--paper-1:#f7f4ef;--paper-2:#efeae1;--ink-0:#1c1917;--ink-1:#44403c;--ink-2:#78716c;--ink-3:#a8a29e;--ochre-0:#7c2d12;--ochre-1:#c2410c;--ochre-2:#ea580c;--tone-warm:linear-gradient(135deg, #c2410c 0%, #7c2d12 100%);--tone-cool:linear-gradient(135deg, #155e75 0%, #0e7490 100%);--tone-forest:linear-gradient(135deg, #166534 0%, #14532d 100%);--tone-ink:linear-gradient(135deg, #292524 0%, #1c1917 100%);--tone-rose:linear-gradient(135deg, #9f1239 0%, #881337 100%);--bg:var(--paper-0);--bg-sunken:var(--paper-1);--bg-raised:#fff;--fg:var(--ink-0);--fg-muted:var(--ink-2);--fg-subtle:var(--ink-3);--line:#e7e1d8;--line-strong:var(--ink-0);--accent:var(--ochre-1);--accent-strong:var(--ochre-0);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--radius:2px;--radius-lg:4px;--measure:68ch;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Songti SC", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--shadow-sm:0 1px 2px #1c19170f;--shadow-md:0 4px 16px #1c191714;--shadow-lg:0 12px 40px #1c19171f}:root[data-theme=dark]{--bg:#14120f;--bg-sunken:#1c1917;--bg-raised:#23201d;--fg:#f5f1ea;--fg-muted:#a8a29e;--fg-subtle:#78716c;--line:#322d29;--line-strong:#f5f1ea;--accent:#fb923c;--accent-strong:#fdba74;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 40px #00000080}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}.display{font-family:var(--font-display);letter-spacing:-.022em;font-weight:700;line-height:1.08}.display--hero{font-size:clamp(2.4rem,6.2vw,4.6rem)}.display--xl{font-size:clamp(1.9rem,4vw,2.9rem)}.display--lg{font-size:clamp(1.45rem,2.6vw,1.95rem);line-height:1.18}.display--md{font-size:1.2rem;line-height:1.28}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.7rem;font-weight:700}.meta{color:var(--fg-muted);font-size:.8rem}.muted{color:var(--fg-muted)}.wrap{width:100%;max-width:1200px;padding:0 var(--s5);margin:0 auto}.wrap--narrow{max-width:780px}.rule{background:var(--line);border:0;height:1px;margin:0}.rule--heavy{background:var(--line-strong);height:3px}.masthead{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(12px);backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.masthead__inner{align-items:center;gap:var(--s5);height:62px;display:flex}.brand{align-items:baseline;gap:var(--s2);font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:1.28rem;font-weight:700;display:flex}.brand__mark{color:var(--accent)}.nav{align-items:center;gap:var(--s5);margin-left:auto;font-size:.88rem;display:flex}.nav__link{color:var(--fg-muted);transition:color .15s;position:relative}.nav__link:hover,.nav__link[aria-current=page]{color:var(--fg)}.nav__link[aria-current=page]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-4px;left:0;right:0}.btn{justify-content:center;align-items:center;gap:var(--s2);border:1px solid var(--line-strong);color:var(--fg);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;padding:9px 18px;font-size:.86rem;font-weight:600;transition:all .16s;display:inline-flex}.btn:hover{background:var(--fg);color:var(--bg)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn--ghost{color:var(--fg-muted);border-color:#0000;padding:8px 10px}.btn--ghost:hover{background:var(--bg-sunken);color:var(--fg)}.btn--danger{color:#b91c1c;border-color:#b91c1c}.btn--danger:hover{color:#fff;background:#b91c1c}.btn--sm{padding:6px 12px;font-size:.78rem}.btn--block{width:100%}.field{margin-bottom:var(--s5)}.field__label{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--s2);font-size:.72rem;font-weight:700;display:block}.input,.textarea{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);width:100%;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.textarea{resize:vertical;min-height:140px;line-height:1.7;font-family:var(--font-body)}.field__hint{color:var(--fg-subtle);margin-top:var(--s1);font-size:.76rem}.field__error{color:#b91c1c;margin-top:var(--s1);font-size:.78rem}:root[data-theme=dark] .field__error{color:#fca5a5}.alert{padding:var(--s3) var(--s4);border-radius:var(--radius);margin-bottom:var(--s5);border-left:3px solid;font-size:.86rem}.alert--error{color:#7f1d1d;background:#fef2f2;border-color:#b91c1c}.alert--ok{color:#14532d;background:#f0fdf4;border-color:#15803d}:root[data-theme=dark] .alert--error{color:#fca5a5;background:#2a1416;border-color:#b91c1c}:root[data-theme=dark] .alert--ok{color:#86efac;background:#0f1f16;border-color:#15803d}.chip{border:1px solid var(--line);color:var(--fg-muted);border-radius:999px;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip--solid{background:var(--fg);border-color:var(--fg);color:var(--bg)}.chip--draft{color:#92400e;background:#fef3c7;border-color:#d97706}:root[data-theme=dark] .chip--draft{color:#fcd34d;background:#2a1f08;border-color:#d97706}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.78rem;font-weight:700;display:inline-flex}.avatar--sm{width:26px;height:26px;font-size:.68rem}.avatar--lg{width:56px;height:56px;font-size:1.35rem}.tone{background:var(--tone-warm);position:relative;overflow:hidden}.tone[data-tone=cool]{background:var(--tone-cool)}.tone[data-tone=forest]{background:var(--tone-forest)}.tone[data-tone=ink]{background:var(--tone-ink)}.tone[data-tone=rose]{background:var(--tone-rose)}.tone:after{content:"";background-image:repeating-linear-gradient(45deg,#ffffff12 0 1px,#0000 1px 9px);position:absolute;inset:0}.prose{color:var(--fg);font-size:1.06rem;line-height:1.85}.prose p{margin:0 0 var(--s5)}.prose h2{font-family:var(--font-display);margin:var(--s7) 0 var(--s4);letter-spacing:-.015em;font-size:1.5rem;line-height:1.25}.prose h3{font-family:var(--font-display);margin:var(--s6) 0 var(--s3);font-size:1.2rem}.prose ul,.prose ol{margin:0 0 var(--s5);padding-left:1.4em}.prose li{margin-bottom:var(--s2)}.prose blockquote{margin:var(--s5) 0;padding-left:var(--s5);border-left:3px solid var(--accent);font-family:var(--font-display);color:var(--fg-muted);font-size:1.12rem;font-style:italic}.prose code{font-family:var(--font-mono);background:var(--bg-sunken);border-radius:var(--radius);border:1px solid var(--line);padding:2px 6px;font-size:.86em}.prose pre{color:#e7e5e4;padding:var(--s5);border-radius:var(--radius-lg);margin:0 0 var(--s5);background:#1c1917;font-size:.86rem;line-height:1.65;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose strong{font-weight:700}.prose a{color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.prose a:hover{border-bottom-color:var(--accent)}.footer{margin-top:var(--s9);border-top:3px solid var(--line-strong);padding:var(--s7) 0 var(--s8);background:var(--bg-sunken)}.footer__grid{gap:var(--s7);grid-template-columns:1.6fr 1fr 1fr;display:grid}@media (width<=720px){.footer__grid{gap:var(--s5);grid-template-columns:1fr}}.stack>*+*{margin-top:var(--s4)}.row{align-items:center;gap:var(--s3);display:flex}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.grow{flex:1}.center{text-align:center}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.theme-icon[data-astro-cid-z4jru4n3]{font-size:1rem;line-height:1}
