:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f7f5ee;--paper-raised:#fdfcf7;--paper-tint:#eef2e3;--ink:#163e36;--ink-soft:#2f5147;--muted:#647168;--line:#d9ddd2;--line-soft:#e6e8de;--lime:#d9ee9b;--orange:#d47149;--on-lime:#10251c;--highlight:#d9ee9b;--bg:var(--paper);--bg-elevated:var(--paper-raised);--text:var(--ink);--text-muted:var(--muted);--border:var(--line);--accent:var(--ink);--accent-contrast:var(--paper);--danger:#a65a3d;--code-bg:#14261f;--code-text:#e8efdf;--font-serif:Georgia, "Songti SC", "Noto Serif CJK SC", "Times New Roman", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--size-label:.6875rem;--size-meta:.75rem;--size-ui:.875rem;--max:1240px;--measure:68ch;--gutter:32px;--index-gutter:4.25rem;--control-height:2.5rem;--action-height:2.25rem;--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--shadow-plate:0 3px 0 #163e3614;--shadow-lift:0 12px 40px #163e3614}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#0f1b17;--paper-raised:#16251f;--paper-tint:#1b3329;--ink:#edf0e4;--ink-soft:#d4ddcc;--muted:#a7b3a4;--line:#2f4038;--line-soft:#27362f;--lime:#c8e88a;--orange:#e08a62;--on-lime:#10251c;--highlight:#31583f;--bg:var(--paper);--bg-elevated:var(--paper-raised);--text:var(--ink);--text-muted:var(--muted);--border:var(--line);--danger:#e08a62;--code-bg:#0a1310;--code-text:#e8efdf;--shadow-plate:0 3px 0 #00000047;--shadow-lift:0 12px 40px #00000059}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;font-size:1.0625rem;line-height:1.7;display:flex}a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 65%, transparent);text-decoration-color:color-mix(in srgb, currentColor 65%, transparent)}a:hover{-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:var(--radius-xs)}::selection{background:var(--lime);color:var(--on-lime)}img{max-width:100%;height:auto}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}.site-header{width:min(100%, var(--max));min-height:82px;padding:0 var(--gutter);align-items:center;gap:1.25rem;margin:0 auto;display:flex;position:relative}.site-header:after,.site-footer:before{inset-inline:var(--gutter);content:"";border-top:1px solid var(--line);position:absolute}.site-header:after{bottom:0}.brand{min-height:var(--control-height);color:var(--text);align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-mark{border:2px solid var(--ink);border-radius:var(--radius-sm);width:42px;height:31px;font-family:var(--font-serif);letter-spacing:.02em;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid;transform:rotate(-5deg)}.brand-text strong{font-family:var(--font-serif);letter-spacing:.01em;font-size:1.22rem;font-weight:700;line-height:1.1;display:block}.brand-text small{color:var(--muted);font-size:var(--size-label);letter-spacing:.2em;text-transform:uppercase;margin-top:3px;font-weight:500;display:block}.site-nav{gap:1.2rem;margin-left:auto;display:flex}.site-nav a,.auth-login{min-height:var(--control-height);color:var(--ink-soft);font-size:var(--size-ui);white-space:nowrap;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a[aria-current=page]{color:var(--ink);text-underline-offset:6px;text-decoration:underline}.site-nav a:hover,.auth-login:hover{text-decoration:underline;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);text-underline-offset:6px;text-decoration-thickness:2px}.auth-menu{min-height:var(--control-height);align-items:center;gap:.6rem;display:flex;position:relative}.auth-menu[data-state=loading]{opacity:.6}.auth-trigger{min-width:var(--control-height);min-height:var(--control-height);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;line-height:0;display:grid}.auth-trigger:hover .auth-avatar{border-color:var(--orange)}.auth-avatar{border:1.5px solid var(--ink);background:var(--line);border-radius:50%;width:28px;height:28px}.auth-muted{color:var(--muted);font-size:var(--size-meta);white-space:nowrap}.auth-dropdown{z-index:30;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-raised);min-width:8.5rem;box-shadow:var(--shadow-plate);padding:.3rem;position:absolute;top:calc(100% + .5rem);right:0}.auth-dropdown[hidden]{display:none}.auth-name{max-width:16rem;color:var(--muted);font-size:var(--size-meta);text-overflow:ellipsis;white-space:nowrap;padding:.35rem .65rem;display:block;overflow:hidden}.auth-signout{width:100%;min-height:var(--control-height);border-radius:var(--radius-xs);color:var(--text);font-size:var(--size-ui);text-align:left;white-space:nowrap;background:0 0;border:0;padding:.5rem .65rem;display:block}.auth-signout:hover{background:var(--paper-tint)}.auth-signout:disabled{opacity:.5;cursor:default}.auth-error{z-index:30;inset-inline-end:0;width:max-content;max-width:calc(100vw - var(--gutter) * 2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-raised);color:var(--danger);font-size:var(--size-meta);padding:.45rem .65rem;position:absolute;top:100%}.site-main{width:100%;max-width:var(--max);padding:0 var(--gutter) 4rem;flex:1;margin:0 auto;animation:.25s ease-out enter}@keyframes enter{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:2rem;min-height:360px;padding:3.5rem 0 2.75rem;display:grid}.hero--single{grid-template-columns:1fr;min-height:0}.hero--single .lede+a{margin-top:1rem}.hero-copy{max-width:35rem}.eyebrow{color:var(--muted);font-size:var(--size-label);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:.6rem;margin:0 0 1.1rem;font-weight:650;display:flex}.eyebrow:before{content:"";background:currentColor;width:21px;height:2px}.hero h1{font-family:var(--font-serif);letter-spacing:-.03em;text-wrap:balance;margin:0 0 1.25rem;font-size:clamp(2.4rem,5.2vw,3.75rem);font-weight:800;line-height:1.08}.hero h1 em{background:linear-gradient(transparent 62%, var(--highlight) 62%, var(--highlight) 94%, transparent 94%);font-style:normal}.lede{max-width:34rem;color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.85}.hero-art{justify-content:center;align-items:center;height:260px;display:flex;position:relative}.art-disc{background:var(--paper-tint);border-radius:50%;width:230px;height:230px;position:absolute}.index-card{--rot:0deg;--tx:0px;--ty:0px;border:1px solid color-mix(in srgb, var(--ink) 62%, var(--line));border-radius:var(--radius-md);background:var(--paper-raised);width:190px;height:118px;box-shadow:var(--shadow-plate);transform:rotate(var(--rot)) translate(var(--tx), var(--ty));padding:14px 16px;line-height:1.25;position:absolute;overflow:hidden}.card-a{--rot:-9deg;--tx:-54px;--ty:-52px;z-index:1}.card-b{--rot:6deg;--tx:48px;--ty:-16px;z-index:2;background:var(--paper-tint)}.card-c{--rot:-3deg;--tx:2px;--ty:58px;z-index:3}.card-index{color:var(--muted);letter-spacing:.18em;font-size:.55rem}.index-card b{font-family:var(--font-serif);letter-spacing:.06em;margin-top:8px;font-size:1.05rem;line-height:1.15;display:block}.index-card i{background:var(--line);height:1px;margin-top:8px;display:block}.index-card i:nth-of-type(2){width:80%}.index-card i:nth-of-type(3){width:60%}.section-head{max-width:var(--measure);padding-left:var(--index-gutter);justify-content:space-between;align-items:baseline;gap:1rem;margin:2.25rem auto .85rem;display:flex}.section-head h2{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:1.5rem}.section-head span{color:var(--muted);font-size:var(--size-label);letter-spacing:.09em;text-transform:uppercase}.post-list{max-width:var(--measure);border-top:1px solid var(--line);margin:0 auto}.post-item{grid-template-columns:var(--index-gutter) minmax(0, 1fr);border-bottom:1px solid var(--line);padding:1.25rem 0;display:grid;position:relative}.post-item-body{min-width:0}.post-index{color:color-mix(in srgb, var(--ink) 22%, transparent);font-family:var(--font-serif);font-size:2.6rem;line-height:1}.post-meta-row{flex-wrap:wrap;align-items:center;gap:0 .65rem;display:flex}.post-meta-row time,.post-lang{color:var(--muted);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase}.post-meta-row:lang(zh) time,.post-lang:lang(zh){letter-spacing:normal}.post-lang{border-left:1px solid var(--line);padding-left:.65rem}.post-translation{z-index:1;min-height:var(--action-height);color:var(--ink-soft);font-size:var(--size-meta);align-items:center;padding-inline:.3rem;display:inline-flex;position:relative}.post-item h3{font-family:var(--font-serif);letter-spacing:-.015em;text-wrap:pretty;margin:0 0 .4rem;font-size:1.45rem;font-weight:700;line-height:1.3}.post-item h3 a{text-decoration:none}.post-item h3 a:after{content:"";position:absolute;inset:0}.post-item h3 a:hover,.post-item h3 a:focus-visible{-webkit-text-decoration:underline 2px var(--orange);text-decoration:underline 2px var(--orange);text-underline-offset:.18em}.post-item p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.75}.tag-list{flex-wrap:wrap;gap:.4rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--muted);font-size:var(--size-label);letter-spacing:.06em;text-transform:uppercase;padding:.12rem .45rem}.post{max-width:var(--measure);margin:0 auto;padding-top:3.5rem}.post-header{border-bottom:1px solid var(--line);margin-bottom:2.5rem;padding-bottom:1.5rem}.post-kicker{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.85rem;display:flex}.post-kicker:first-child{margin:0 0 1rem}.post-kicker-label{color:var(--muted);font-size:var(--size-meta);letter-spacing:.18em;text-transform:uppercase;font-weight:500}.post-kicker .tag-list{margin:0}.post-header h1{font-family:var(--font-serif);letter-spacing:-.03em;text-wrap:balance;margin:0 0 .9rem;font-size:clamp(1.9rem,4.5vw,3.3rem);font-weight:700;line-height:1.12}.name-local{color:var(--ink-soft);font-family:var(--font-serif);letter-spacing:.12em;margin:-.55rem 0 0;font-size:1rem}.post-details,.post-actions{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;display:flex}.post-details{justify-content:space-between}.post-actions:has(.ask-trigger[hidden]):not(:has(.lang-switch)){display:none}.post-meta{color:var(--muted);font-size:var(--size-meta);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.post-meta:lang(zh),.post-nav-label:lang(zh),.post-nav-all:lang(zh),.brand-text small:lang(zh),.ask-panel-eyebrow:lang(zh),.ask-context-label:lang(zh),.ask-quota:lang(zh),.comment-time:lang(zh),.comment-delete:lang(zh),.comment-hint:lang(zh){letter-spacing:normal}.post-meta span{border-left:1px solid var(--line);padding-left:.75rem}.lang-switch,.hero--single .lede+a{min-height:var(--action-height);border:1px solid var(--ink);border-radius:var(--radius-pill);color:var(--text);font-size:var(--size-meta);letter-spacing:.02em;text-transform:none;align-items:center;padding:.25rem .8rem;font-weight:600;text-decoration:none;display:inline-flex}.lang-switch{border-color:var(--ink-soft)}.lang-switch:hover,.hero--single .lede+a:hover{border-color:var(--orange);background:var(--paper-tint)}.post-nav{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem 2rem;margin-top:3.5rem;padding-top:1.5rem;display:grid}.post-nav-link{min-width:0;min-height:var(--control-height);flex-direction:column;gap:.3rem;text-decoration:none;display:flex}.post-nav-prev{grid-column:1}.post-nav-next{text-align:right;grid-column:2;justify-self:end}.post-nav-label{color:var(--muted);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;font-weight:650}.post-nav-title{font-family:var(--font-serif);letter-spacing:-.015em;font-size:1.05rem;font-weight:700;line-height:1.35}.post-nav-link:hover .post-nav-title{-webkit-text-decoration:underline 2px var(--orange);text-decoration:underline 2px var(--orange);text-underline-offset:.18em}.post-nav-all{min-height:var(--action-height);color:var(--ink-soft);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;justify-self:center;align-items:center;margin-top:.35rem;text-decoration:none;display:inline-flex}.post-nav-all:hover{text-decoration:underline;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);text-underline-offset:3px}@media (width<=640px){.post-nav{grid-template-columns:minmax(0,1fr);gap:1rem}.post-nav-prev,.post-nav-next{text-align:left;grid-column:1;justify-self:start}.post-nav-all{justify-self:start}}.prose{overflow-wrap:break-word;font-size:1.0625rem;line-height:1.8}.prose p,.prose ul,.prose ol,.prose blockquote{margin:1.15em 0}.prose>p:first-of-type{font-size:1.08rem}.prose p{text-wrap:pretty}.prose h2{font-family:var(--font-serif);letter-spacing:-.02em;margin:2.8rem 0 .9rem;font-size:1.6rem;font-weight:700;line-height:1.3}.prose h2:before{content:"§ ";color:var(--orange);font-family:var(--font-sans);vertical-align:.12em;font-size:.72em;font-weight:500}.prose h3{font-family:var(--font-serif);margin:2rem 0 .7rem;font-size:1.22rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.35rem}.prose blockquote{border-left:3px solid var(--ink-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--paper-tint);color:var(--ink-soft);margin:1.6rem 0;padding:1rem 1.2rem}.prose blockquote p{margin:.3rem 0}.prose hr{border:0;border-top:1px solid var(--line);margin:2.6rem 0}.prose code{border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:var(--paper-tint);font-family:var(--font-mono);padding:.1em .35em;font-size:.86em}.prose pre{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-plate);margin:1.6rem 0;padding:1.1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose pre.astro-code{color:var(--code-text);background:var(--code-bg)!important}.prose .table-scroll{max-width:100%;margin:1.15em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.9rem}.prose th,.prose td{border-bottom:1px solid var(--line-soft);text-align:left;padding:.6rem .7rem}.prose th{background:var(--paper-tint);font-size:var(--size-label);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.prose img{border:1px solid var(--line);border-radius:var(--radius-md)}.prose figure{width:min(960px, calc(100vw - 2 * var(--gutter)));margin:2.5rem 0 2.5rem 50%;transform:translate(-50%)}.prose figure img{width:100%;display:block}.prose figcaption{max-width:68ch;color:var(--muted);font-size:var(--size-meta);text-align:center;margin:.75rem auto 0;line-height:1.55}.prose figcaption a{min-height:var(--action-height);white-space:nowrap;align-items:center;margin-left:.35rem;display:inline-flex}.prose a{-webkit-text-decoration-color:color-mix(in srgb, var(--ink-soft) 65%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-soft) 65%, transparent)}.prose a:hover{-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange)}.prose mark{background:var(--lime);color:var(--on-lime);padding:0 .15em}.site-footer{width:min(100%, var(--max));padding:1.75rem var(--gutter) 2.5rem;color:var(--muted);font-size:var(--size-label);flex-wrap:wrap;justify-content:space-between;gap:1.5rem;margin:0 auto;line-height:1.9;display:flex;position:relative}.site-footer:before{top:0}.site-footer b{color:var(--text);letter-spacing:.04em;font-weight:600}.footer-right{flex-direction:column;align-items:flex-end;gap:.45rem;display:flex}.footer-social{gap:.25rem;display:flex}.footer-social a{width:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-sm);color:var(--ink-soft);place-items:center;display:grid}.footer-social a:hover{background:var(--paper-tint);box-shadow:inset 0 -2px var(--orange)}.footer-social svg{fill:currentColor;width:16px;height:16px}.footer-social .icon-x{width:14px;height:14px}.comments{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:2rem}.comments-head{align-items:baseline;gap:.5rem;display:flex}.comments-title{font-family:var(--font-serif);letter-spacing:-.015em;margin:0;font-size:1.45rem;font-weight:700;line-height:1.3}.comments-count{color:var(--muted);font-size:var(--size-label);letter-spacing:.18em;font-weight:650}.comments-count:before{content:"·";margin-right:.4rem}.comments-note{color:var(--muted);font-size:var(--size-meta);margin:.25rem 0 0;line-height:1.6}.comments-status,.comments-empty{color:var(--muted);margin:1.25rem 0 0;font-size:.8125rem}.comment-list{margin:1.25rem 0 0;padding:0;list-style:none}.comment{border-top:1px solid var(--line-soft);padding:1.15rem 0}.comment:first-child{border-top-color:var(--line)}.comment-head{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex}.comment-avatar{border:1px solid var(--ink);background:var(--line);border-radius:50%;width:26px;height:26px}.comment-who{flex:auto;align-items:baseline;gap:.4rem;min-width:0;display:flex}.comment-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:650;text-decoration:none;overflow:hidden}.comment-name:hover{text-decoration:underline;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange)}.comment-handle,.comment-time{color:var(--muted);font-size:var(--size-label);white-space:nowrap}.comment-time{letter-spacing:.12em;text-transform:uppercase;margin-left:auto}.comment-delete{min-height:var(--action-height);color:var(--muted);font:inherit;font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;padding:0 .25rem}.comment-delete:hover{color:var(--danger);text-decoration:underline}.comment-delete:disabled{opacity:.45;cursor:default}.comment-body{overflow-wrap:break-word;white-space:pre-wrap;margin:.4rem 0 0;padding-left:calc(26px + .6rem);font-size:.95rem;line-height:1.7}.comment-compose{border-top:1px solid var(--line);margin-top:1.75rem;padding-top:1.25rem}.comments[data-empty=true] .comment-compose{border-top:0;margin-top:1.25rem;padding-top:0}.comment-form textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-raised);width:100%;min-height:5.5rem;color:var(--text);resize:vertical;font:inherit;padding:.65rem .75rem;font-size:1rem;line-height:1.6}.comment-form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.comment-hint{color:var(--muted);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase}.comment-submit{min-height:var(--action-height);border:1px solid var(--ink);border-radius:var(--radius-pill);color:var(--text);font:inherit;background:0 0;padding:.4rem 1.05rem;font-size:.8125rem;font-weight:600}.comment-submit:hover{border-color:var(--orange);background:var(--paper-tint)}.comment-submit:disabled{opacity:.45;cursor:default}.comment-signin{color:var(--muted);margin:0;font-size:.875rem}.comment-signin a{color:var(--text)}.comment-error{color:var(--danger);margin:.6rem 0 0;font-size:.75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.ask-open{overflow:hidden}.ask-trigger{z-index:40;min-height:var(--control-height);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-contrast);font-size:var(--size-ui);box-shadow:var(--shadow-lift);align-items:center;gap:.4rem;padding:.65rem 1rem;font-weight:600;display:inline-flex;position:fixed;bottom:4.5rem;right:1.5rem}.ask-trigger:hover{box-shadow:inset 0 -3px var(--orange), var(--shadow-lift)}.ask-popover{z-index:60;position:fixed;transform:translate(-50%,-100%)}.ask-popover-button{min-height:var(--action-height);border:1px solid var(--ink-soft);border-radius:var(--radius-pill);background:var(--paper-raised);max-width:calc(100vw - 1rem);color:var(--text);font-size:var(--size-meta);white-space:nowrap;box-shadow:var(--shadow-lift);padding:.45rem .8rem;font-weight:600}.ask-popover-button:hover{border-color:var(--orange);background:var(--paper-tint)}.ask-panel{border:0;border-left:1px solid var(--line);background:var(--paper-raised);width:min(440px,100%);max-width:none;height:100dvh;max-height:none;color:var(--text);box-shadow:var(--shadow-lift);flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:0 0 0 auto}.ask-panel::backdrop{background:#0a13108a}.ask-panel:not([open]),.ask-trigger[hidden],.ask-popover[hidden],.ask-context[hidden],.ask-turnstile[hidden]{display:none}.ask-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.3rem 1rem;display:flex}.ask-panel-eyebrow{color:var(--muted);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .2rem;font-weight:650}.ask-panel-eyebrow:before{content:"";background:var(--orange);vertical-align:middle;width:14px;height:2px;margin-right:.4rem;display:inline-block}.ask-panel-title{font-family:var(--font-serif);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.05rem;line-height:1.3;display:-webkit-box;overflow:hidden}.ask-close,.ask-context-clear{min-width:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-sm);color:var(--ink-soft);background:0 0;border:0;flex:none;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.ask-close:hover,.ask-context-clear:hover{background:var(--paper-tint);color:var(--text)}.ask-context{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-tint);align-items:flex-start;gap:.5rem;margin:.75rem 1.3rem 0;padding:.42rem .6rem;display:flex}.ask-context-main{flex-direction:column;flex:1;gap:.22rem;min-width:0;display:flex}.ask-context-label{color:var(--muted);font-size:var(--size-label);letter-spacing:.14em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:650;overflow:hidden}.ask-context-quote{color:var(--text);font-family:var(--font-serif);overflow-wrap:anywhere;white-space:pre-wrap;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.ask-context-quote[hidden]{display:none}.ask-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:.85rem;padding:1rem 1.3rem;display:flex;overflow-y:auto}.ask-message{display:flex}.ask-message-user{justify-content:flex-end}.ask-bubble{border-radius:var(--radius-lg);overflow-wrap:break-word;max-width:92%;padding:.65rem .8rem;font-size:.92rem;line-height:1.55}.ask-message-user .ask-bubble{background:var(--ink);color:var(--paper);white-space:pre-wrap;border-bottom-right-radius:4px}.ask-message-assistant .ask-bubble{border:1px solid var(--line);background:var(--paper-tint);color:var(--text);white-space:pre-wrap;border-bottom-left-radius:4px}.ask-bubble.ask-error{color:var(--danger)}.ask-markdown{white-space:normal!important}.ask-markdown p{margin:.45em 0}.ask-markdown p:first-child{margin-top:0}.ask-markdown p:last-child{margin-bottom:0}.ask-markdown ul,.ask-markdown ol{margin:.45em 0;padding-left:1.2rem}.ask-markdown h1,.ask-markdown h2,.ask-markdown h3,.ask-markdown h4{font-family:var(--font-serif);margin:.8em 0 .4em;font-size:1rem}.ask-markdown pre{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-text);margin:.6em 0;padding:.7rem .8rem;font-size:.82rem;overflow-x:auto}.ask-markdown code{font-family:var(--font-mono);font-size:.85em}.ask-markdown :not(pre)>code{border-radius:var(--radius-xs);background:var(--paper-raised);padding:.1em .3em}.ask-notice{color:var(--muted);text-align:center;margin:0;font-size:.75rem}.ask-typing{gap:.25rem;padding:.2rem 0;display:inline-flex}.ask-typing span{background:var(--muted);border-radius:50%;width:.42rem;height:.42rem;animation:1.2s ease-in-out infinite ask-blink}.ask-typing span:nth-child(2){animation-delay:.15s}.ask-typing span:nth-child(3){animation-delay:.3s}@keyframes ask-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.ask-suggestions{flex-wrap:wrap;gap:.5rem;display:flex}.ask-chip{min-height:var(--action-height);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font:inherit;font-size:var(--size-meta);background:0 0;padding:.42rem .72rem}.ask-chip:hover{border-color:var(--orange);background:var(--paper-tint)}.ask-form{border-top:1px solid var(--line);padding:.9rem 1.3rem 1rem}.ask-form textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;color:var(--text);resize:none;font:inherit;padding:.55rem .65rem;font-size:1rem;line-height:1.45}.ask-form-footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.ask-quota{color:var(--muted);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase}.ask-send{min-height:var(--action-height);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-contrast);font:inherit;font-size:var(--size-ui);border:0;padding:.45rem .95rem;font-weight:600}.ask-send:hover{box-shadow:inset 0 -3px var(--orange)}.ask-send:disabled{opacity:.45;cursor:default}.ask-turnstile{justify-content:center;padding:0 1.3rem 1rem;display:flex}@media (width<=1024px){.ask-trigger{min-height:var(--action-height);font-size:var(--size-meta);box-shadow:none;padding:.25rem .8rem;position:static}.ask-trigger:hover{box-shadow:inset 0 -3px var(--orange)}}@media (width<=900px){:root{--gutter:22px}.hero{gap:1.25rem;min-height:0;padding:2.5rem 0 2rem}.hero-art{height:190px}.art-disc{width:172px;height:172px}.index-card{width:146px;height:87px;padding:8px 12px}.index-card b{letter-spacing:.02em;font-size:.86rem}.card-a{--tx:-40px;--ty:-38px}.card-b{--tx:37px;--ty:-12px}.card-c{--tx:2px;--ty:37px}.post{padding-top:2.5rem}}@media (width<=720px){:root{--index-gutter:2.25rem}.post-index{font-size:1.65rem}.post-item h3{font-size:1.25rem}.post-item{padding:1rem 0}.prose{font-size:1rem}.prose h2{font-size:1.4rem}.prose figure{width:100%;margin-inline:0;transform:none}}@media (width<=640px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:.15rem 1rem;min-height:0;padding-block:.55rem .35rem;display:grid}.brand{grid-column:1/-1;justify-self:start;max-width:100%}.brand-text{white-space:nowrap}.brand-text small{display:none}.brand-text strong{font-size:1.05rem}.site-nav{gap:1rem;margin-left:0}.auth-menu{margin-left:auto}.site-footer{flex-direction:column;gap:.65rem;padding-block:1.35rem 1.75rem}.footer-right{align-items:flex-start;gap:.2rem}.hero{grid-template-columns:1fr;gap:.65rem;padding:1.5rem 0 .9rem}.hero--single{padding:2rem 0 1.5rem}.hero h1{margin-bottom:.75rem;font-size:clamp(2rem,8vw,3rem)}.lede{line-height:1.65}.hero-art{height:115px}.art-disc{width:106px;height:106px}.index-card{width:116px;height:64px;padding:5px 9px}.card-index{font-size:.46rem}.index-card b{margin-top:3px;font-size:.72rem}.index-card i{margin-top:4px}.index-card i:nth-of-type(3){display:none}.card-a{--tx:-39px;--ty:-18px}.card-b{--tx:39px;--ty:-10px}.card-c{--tx:0px;--ty:18px}.section-head{margin-top:1.25rem;margin-bottom:.55rem}.post{padding-top:1.7rem}.post-header{margin-bottom:1.5rem;padding-bottom:1.15rem}.post-details{justify-content:flex-start}.post-header h1{letter-spacing:-.02em}.ask-panel{border-top:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:0;width:100%;height:min(82dvh,720px);inset:auto 0 0}.ask-form{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}@media (width<=600px){:root{--gutter:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-main{animation:none}.ask-messages{scroll-behavior:auto}.ask-typing span{animation:none}}
