:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0c0c0b);--color-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#141413);--color-surface-2:var(--lightningcss-light,#f3f3f0)var(--lightningcss-dark,#1d1d1b);--color-text:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#f1f1ec);--color-text-muted:var(--lightningcss-light,#55554f)var(--lightningcss-dark,#a8a8a1);--color-line:var(--lightningcss-light,#e3e3df)var(--lightningcss-dark,#2b2b28);--color-line-strong:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#f1f1ec);--color-focus:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#f1f1ec);--color-placeholder:var(--lightningcss-light,#6b6b65)var(--lightningcss-dark,#8f8f88);--color-danger:var(--lightningcss-light,#b3261e)var(--lightningcss-dark,#ff9a90);--color-danger-bg:var(--lightningcss-light,#fbe4e1)var(--lightningcss-dark,#41201f);--color-success-bg:var(--lightningcss-light,#e4f1e2)var(--lightningcss-dark,#1c3a2d);--color-brand:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#f1f1ec);--color-brand-hover:var(--lightningcss-light,#33332f)var(--lightningcss-dark,#fff);--color-on-brand:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0c0c0b);--color-brand-soft:var(--lightningcss-light,#f3f3f0)var(--lightningcss-dark,#1d1d1b);--tape:#fdc713;--tape-hover:#ffd84a;--on-tape:#0b0b0b;--btn-ink-bg:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#f1f1ec);--btn-ink-fg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0c0c0b);--hue-indigo-bg:var(--color-surface-2);--hue-indigo-solid:var(--color-text);--hue-coral-bg:var(--color-surface-2);--hue-coral-solid:var(--color-text);--hue-butter-bg:var(--color-surface-2);--hue-butter-solid:var(--color-text);--hue-mint-bg:var(--color-surface-2);--hue-mint-solid:var(--color-text);--hue-sky-bg:var(--color-surface-2);--hue-sky-solid:var(--color-text);--hue-rose-bg:var(--color-surface-2);--hue-rose-solid:var(--color-text);--tile-hero-bg:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#1d1d1b);--tile-hero-fg:#f1f1ec;--tile-hero-muted:#c9c9c4;--footer-bg:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#000);--footer-fg:#f1f1ec;--footer-muted:#a8a8a1;--footer-line:#33332f;--scrim:#0b0b0bdb;--scrim-mid:#0b0b0ba8;--color-on-image:#fff;--color-on-image-muted:#e9e9e4;--color-ink-fixed:#0b0b0b;--shadow-1:none;--shadow-2:none;--shadow-bar:0 -1px 0 var(--color-line-strong);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--gutter:16px;--container:1600px;--tap-min:44px;--u:1px;--radius-xs:0;--radius-md:0;--radius-lg:0;--radius-pill:0;--font-sans:"Ubuntu Sans Variable","Ubuntu Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--font-display:"Bebas Neue","Ubuntu Sans Variable","Arial Narrow",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--text-xs:.75rem;--lh-xs:1.4;--text-sm:.875rem;--lh-sm:1.5;--text-base:1rem;--lh-base:1.6;--text-lg:1.1875rem;--lh-lg:1.35;--text-xl:1.5rem;--lh-xl:1.2;--text-2xl:clamp(1.75rem,3.4vw,2.25rem);--lh-2xl:1.12;--text-3xl:clamp(2.25rem,5.4vw,3.5rem);--lh-3xl:1.04;--text-display:clamp(2.5rem,7vw,4.5rem);--lh-display:.98;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-heavy:800;--tracking-tight:-.01em;--tracking-display:0;--tracking-caps:.06em;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.42s;--ease-out:cubic-bezier(.2,.7,.2,1);--z-bar:20;--z-header:10}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width>=768px){:root{--gutter:28px}}@media (width>=1281px){:root{--u:min(100vw / 1280, 1.25px);--gutter:calc(28 * var(--u))}}html[lang=zh-CN]{--font-sans:"Ubuntu Sans Variable","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--lh-base:1.75;--lh-sm:1.7;--lh-lg:1.45;--lh-xl:1.35;--lh-2xl:1.3;--lh-3xl:1.2;--lh-display:1.2;--text-3xl:clamp(2rem,4.6vw,3rem);--text-display:clamp(2rem,5vw,3.25rem);--tracking-tight:0;--tracking-display:0;--tracking-caps:.04em}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;background:var(--color-bg);scrollbar-color:var(--color-text-muted) var(--color-bg)}html.dlg-open{overflow:hidden}body{background:var(--color-bg);color:var(--color-text);font:var(--fw-regular) var(--text-base)/var(--lh-base) var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex;overflow-x:hidden}::selection{background:var(--tape);color:var(--on-tape)}:where(input,textarea){caret-color:var(--color-text)}a{text-underline-offset:.22em}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:400}main{flex:1}h1,h2,h3,h4{text-wrap:balance;font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin:0}h1{font-size:var(--text-3xl);line-height:var(--lh-3xl)}h2{font-size:var(--text-2xl);line-height:var(--lh-2xl)}h3{font-size:var(--text-lg);line-height:var(--lh-lg)}p{margin:0}a{color:inherit}img{max-width:100%}.display{font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--tracking-display);font-weight:var(--fw-heavy)}.eyebrow{font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.muted{color:var(--color-text-muted)}.lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:56ch;line-height:1.55}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,.is-focus{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-xs);box-shadow:0 0 0 6px var(--color-bg)}.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}.skip{left:var(--space-2);background:var(--btn-ink-bg);color:var(--btn-ink-fg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:100;position:absolute;top:-80px}.skip:focus{top:var(--space-2)}.wrap{width:100%;max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.section{padding-top:var(--space-8)}@media (width<=640px){.section{padding-top:var(--space-7)}}.section-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.section-head a.more{font-weight:var(--fw-bold);min-height:var(--tap-min);text-underline-offset:4px;align-items:center;display:inline-flex}.icon-btn{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);border:1.5px solid var(--color-line-strong);color:var(--color-text);cursor:pointer;transition:background var(--dur-fast);background:0 0;place-items:center;font-size:1.125rem;line-height:1;display:inline-grid}.icon-btn:is(:hover,.is-hover){background:var(--color-surface-2)}.icon-btn[aria-pressed=true]{background:var(--btn-ink-bg);color:var(--btn-ink-fg);border-color:var(--btn-ink-bg)}.btn{--b-bg:transparent;--b-fg:var(--color-text);--b-bd:var(--color-line-strong);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1.5px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);font:var(--fw-bold) var(--text-sm)/1.2 var(--font-sans);cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-align:center;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast) var(--ease-out);text-decoration:none;display:inline-flex}.btn:is(:hover,.is-hover){--b-bg:var(--color-surface-2);--b-bd:var(--color-text)}.btn:is(:active,.is-active){transform:translateY(1px)}.btn-ink{--b-bg:var(--btn-ink-bg);--b-fg:var(--btn-ink-fg);--b-bd:var(--btn-ink-bg)}.btn-ink:is(:hover,.is-hover){--b-bg:var(--color-brand-hover);--b-fg:var(--color-on-brand);--b-bd:var(--color-brand-hover)}.btn-tape{--b-bg:var(--tape);--b-fg:var(--on-tape);--b-bd:var(--tape)}.btn-line{--b-bd:var(--color-text)}.btn-tape:is(:hover,.is-hover){--b-bg:var(--tape-hover);--b-fg:var(--on-tape);--b-bd:var(--tape-hover)}.btn-lg{min-height:56px;font-size:var(--text-base);padding:var(--space-2) var(--space-6)}.btn-block{width:100%}.btn[data-copied]{--b-bg:var(--tape);--b-fg:var(--on-tape);--b-bd:var(--tape)}.btn:is([disabled],[aria-disabled=true]){--b-bg:var(--color-surface-2);--b-fg:var(--color-text-muted);--b-bd:var(--color-line);cursor:not-allowed;box-shadow:none;transform:none}.btn[aria-busy=true]{pointer-events:none}.btn[aria-busy=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link-btn{padding:0 var(--space-2);min-height:var(--tap-min);color:var(--color-text-muted);font:var(--fw-semibold) var(--text-sm) var(--font-sans);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;text-decoration:underline}.link-btn:is(:hover,.is-hover){color:var(--color-text)}.chips{gap:var(--space-2);flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.chip{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1.5px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-text);font:var(--fw-semibold) var(--text-sm) var(--font-sans);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast);text-decoration:none;display:inline-flex}.chip:is(:hover,.is-hover){background:var(--color-surface-2);border-color:var(--color-text)}.chip:is(:active,.is-active){transform:translateY(1px)}.chip[aria-pressed=true]{background:var(--btn-ink-bg);color:var(--btn-ink-fg);border-color:var(--btn-ink-bg)}.chip:is([disabled],[aria-disabled=true]){background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-line);cursor:not-allowed}.dot{border:1.5px solid var(--color-text);border-radius:50%;flex:none;width:10px;height:10px}.tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}a.tag{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1.5px solid var(--color-line-strong);background:var(--color-surface);font-weight:var(--fw-semibold);font-size:var(--text-sm);text-decoration:none;display:inline-flex}a.tag:is(:hover,.is-hover){background:var(--btn-ink-bg);color:var(--btn-ink-fg);border-color:var(--btn-ink-bg)}.pill{border-radius:var(--radius-pill);font-weight:var(--fw-bold);font-size:var(--text-xs);background:var(--color-surface);border:1px solid var(--color-line-strong);color:var(--color-text);align-items:center;gap:6px;padding:4px 10px;line-height:1.3;display:inline-flex}.pill.quiet{border-color:var(--color-line-strong);color:var(--color-text-muted);font-weight:var(--fw-semibold);background:0 0}.badge{font-weight:var(--fw-bold);font-size:var(--text-xs);border:1.5px dashed var(--color-text);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);align-items:center;gap:6px;padding:3px 10px;line-height:1.3;display:inline-flex}.badge-solid{background:var(--btn-ink-bg);color:var(--btn-ink-fg);border-style:solid;border-color:var(--btn-ink-bg)}.tile{border-radius:var(--radius-lg);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-line);min-width:0;position:relative}.tile-hero{background:var(--tile-hero-bg);color:var(--tile-hero-fg);padding:var(--space-6) var(--space-5);border-color:#0000}.tile-hero .muted,.tile-hero .eyebrow{color:var(--tile-hero-muted)}.tile-hero .chip{color:var(--tile-hero-fg);background:0 0;border-color:#fff9}.tile-hero .chip:is(:hover,.is-hover){border-color:var(--color-on-image);background:#ffffff29}.tile-hero :where(a,button,input):focus-visible{outline-color:var(--color-on-image);box-shadow:0 0 0 6px var(--tile-hero-bg)}@media (width>=900px){.tile-hero{padding:var(--space-7)}}.tile-tint{background:var(--tint,var(--color-surface));border-color:#0000}.hue-indigo{--tint:var(--hue-indigo-bg)}.hue-coral{--tint:var(--hue-coral-bg)}.hue-butter{--tint:var(--hue-butter-bg)}.hue-mint{--tint:var(--hue-mint-bg)}.hue-sky{--tint:var(--hue-sky-bg)}.hue-rose{--tint:var(--hue-rose-bg)}.search{margin-top:var(--space-6);max-width:560px}.field-box{align-items:center;gap:var(--space-2);background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-line-strong);border-radius:var(--radius-pill);padding:6px 6px 6px var(--space-5);box-shadow:var(--shadow-2);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);display:flex}.field-box:is(:hover,.is-hover){border-color:var(--color-text)}.field-box:is(:focus-within,.is-focus){border-color:var(--color-focus);outline:3px solid var(--color-focus);outline-offset:3px;box-shadow:0 0 0 6px var(--color-bg),var(--shadow-2)}.tile-hero .field-box:is(:focus-within,.is-focus){outline-color:var(--color-on-image);box-shadow:0 0 0 6px var(--tile-hero-bg)}.field-box input{min-width:0;color:inherit;font:var(--fw-semibold) var(--text-base) var(--font-sans);background:0 0;border:0;outline:none;flex:1;min-height:48px}::placeholder{color:var(--color-placeholder);opacity:1;font-weight:var(--fw-medium)}.field-box .glyph{color:var(--color-text-muted);flex:none;display:inline-flex}.field-box .glyph svg{width:18px;height:18px}.icon-inline{flex:none;width:1em;height:1em}.field-box.is-error{border-color:var(--color-danger)}.field-box.is-disabled{background:var(--color-surface-2);box-shadow:none}.field-msg{margin-top:var(--space-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);align-items:flex-start;display:flex}.field-msg.error{color:var(--color-danger)}.tile-hero .field-msg.error{background:var(--color-danger-bg);border-radius:var(--radius-xs);padding:var(--space-2) var(--space-3)}.try{align-items:center;gap:var(--space-1) var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.try .eyebrow{margin-right:var(--space-1)}@media (width<=560px){.field-box{border-radius:var(--radius-lg);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);flex-wrap:wrap}.field-box .btn{width:100%}}.media{aspect-ratio:var(--ar,1/1);border-radius:var(--radius-md);background:var(--color-surface-2);isolation:isolate;position:relative;overflow:hidden}.media img,.media .art{object-fit:cover;width:100%;height:100%;display:block}.media:after{content:"";background:linear-gradient(transparent,var(--scrim));pointer-events:none;z-index:1;height:38%;position:absolute;inset:auto 0 0}.tile-img .media{aspect-ratio:auto;border-radius:0;height:100%}.media-16x9{--ar:16/9;border-radius:var(--radius-lg)}.ai-label,.sty{z-index:2;font-size:var(--text-xs);line-height:1;font-weight:var(--fw-bold);letter-spacing:.02em;color:var(--color-on-image);background:var(--scrim);border-radius:var(--radius-pill);white-space:normal;overflow-wrap:anywhere;max-width:calc(100% - 2 * var(--space-3));padding:7px 11px;position:absolute}.ai-label{left:var(--space-3);bottom:var(--space-3)}.sty{left:var(--space-3);top:var(--space-3);background:var(--color-surface);color:var(--color-text);box-shadow:0 0 0 1px #17151f24}@media (width<=560px){.tile-img .ai-label{left:var(--space-2);bottom:var(--space-2);padding:6px 8px;font-size:.625rem}}.grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.card{border-radius:var(--radius-lg);background:var(--tint,var(--color-surface));min-width:0;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);border:1px solid #0000;flex-direction:column;padding:10px;display:flex;position:relative}.card:is(:hover,.is-hover){box-shadow:var(--shadow-2);transform:translateY(-3px)}.card:is(:active,.is-active){box-shadow:var(--shadow-1);transform:translateY(-1px)}.card.is-focus{outline:3px solid var(--color-focus);outline-offset:3px}.card:has(h3 a:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.card-body{padding:var(--space-4) var(--space-2) var(--space-1);gap:var(--space-3);flex-direction:column;flex:1;min-width:0;display:flex}.card-tags{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.card h3{font-size:var(--text-lg);line-height:var(--lh-lg);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card h3 a{text-decoration:none;display:inline}.card h3 a:after{content:"";box-shadow:none;background:0 0;outline:none;position:absolute;inset:0}.card h3 a:focus-visible,.card h3 a:focus-visible:after{box-shadow:none;background:0 0;outline:none}.card .btn,.card a.btn,.card button,.card .link-btn{z-index:1;position:relative}.card h3 a:is(:hover,.is-hover){text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.card .txt{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.card-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-2);flex-wrap:wrap;min-width:0;margin-top:auto;display:flex}.author{font-weight:var(--fw-semibold);font-size:var(--text-xs);color:var(--color-text-muted);overflow-wrap:anywhere;min-width:0}span.tok{background:var(--color-surface);color:var(--color-brand);font-weight:var(--fw-bold);border:1px solid var(--color-line-strong);border-radius:6px;padding:1px 6px}.card span.tok{-webkit-box-decoration-break:clone;box-decoration-break:clone;border:0;border-radius:4px;padding:0 4px}.card-excerpt{border:2px dashed var(--color-line-strong);padding:9px}.card-excerpt .txt{-webkit-line-clamp:unset;display:block;overflow:visible}.card-excerpt .card-foot{flex-direction:column;align-items:stretch}.card-excerpt .card-foot .btn{width:100%}.card-note{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-muted)}.skel{background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-surface) 50%,var(--color-surface-2) 75%) 0 0/200% 100%;border-radius:var(--radius-xs);animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel,.btn[aria-busy=true]:before{animation:none}}.card-skel{background:var(--color-surface);border-color:var(--color-line)}.card-skel .media:after{display:none}.card-skel .media{background:0 0}.cats{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=900px){.cats{grid-template-columns:repeat(4,minmax(0,1fr))}}.cat-tile{flex-direction:column;justify-content:flex-end;text-decoration:none;display:flex;position:relative}.cat-tile strong{overflow-wrap:anywhere}.filterbar{gap:var(--space-4);padding:var(--space-5);margin-top:var(--space-6);flex-direction:column;display:flex}.filter-row{gap:var(--space-2) var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.filter-row .eyebrow{min-width:56px}.controls{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.select{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);display:inline-flex}.select select,.input{min-height:var(--tap-min);border-radius:var(--radius-pill);border:1.5px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-text);padding:0 var(--space-4);font:var(--fw-semibold) var(--text-sm) var(--font-sans)}.select select:is(:hover,.is-hover),.input:is(:hover,.is-hover){border-color:var(--color-text)}.pager ul{gap:var(--space-2);margin:var(--space-7) 0 0;flex-wrap:wrap;justify-content:center;align-items:center;padding:0;list-style:none;display:flex}.pager a{min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-pill);border:1.5px solid var(--color-line-strong);background:var(--color-surface);font-weight:var(--fw-bold);font-size:var(--text-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pager a:is(:hover,.is-hover){background:var(--color-surface-2);border-color:var(--color-text)}.empty{text-align:center;padding:var(--space-7) var(--space-5);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.empty p{max-width:44ch}.banner{gap:var(--space-4);background:var(--color-danger-bg);border:1.5px solid var(--color-danger);border-radius:var(--radius-lg);padding:var(--space-5);color:var(--color-text);align-items:flex-start;display:flex}.banner .ico{background:var(--color-danger);width:32px;height:32px;color:var(--color-bg);font-weight:var(--fw-heavy);border-radius:50%;flex:none;place-items:center;display:grid}.ai-box{border:2px dashed var(--color-brand);background:var(--color-brand-soft);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-4);margin-bottom:var(--space-5);flex-direction:column;display:flex}.ai-box header{gap:var(--space-2) var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.ai-box h3{font-size:var(--text-lg)}.ai-box .prompt-text{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;line-height:1.7}.state{padding-top:var(--space-8)}.state-label{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.state-label h2{font-size:var(--text-xl)}.crumbs{padding:var(--space-4) 0 0;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-text-muted)}.crumbs ol{gap:0 var(--space-2);flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:var(--space-2)}.crumbs a{color:var(--color-text-muted);min-height:var(--tap-min);padding:0 var(--space-1);align-items:center;display:inline-flex}.crumbs a:is(:hover,.is-hover){color:var(--color-text)}.page-head{padding:var(--space-3) 0 var(--space-5)}.page-head h1{margin:var(--space-2) 0 var(--space-4);max-width:18ch}.head-tile{margin-top:var(--space-3);padding:var(--space-6) var(--space-5)}@media (width>=900px){.head-tile{padding:var(--space-7)}}.head-tile h1{max-width:16ch;margin:var(--space-2) 0 var(--space-4)}.split{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=900px){.split{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}}.panel{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.code{font:var(--fw-regular) var(--text-sm)/1.8 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--space-4);counter-reset:l;margin:0}.code .ln{counter-increment:l;min-height:1.8em;padding-left:2.6rem;display:block;position:relative}.code .ln:before{content:counter(l);text-align:right;width:1.8rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;position:absolute;left:0}.meta-list{gap:var(--space-4) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.meta-list dt{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.meta-list dd{font-weight:var(--fw-bold);margin:2px 0 0}.prose{max-width:68ch}.prose p+p{margin-top:var(--space-4)}.prose a{text-underline-offset:3px;font-weight:var(--fw-bold)}.principles{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=900px){.principles{grid-template-columns:repeat(3,minmax(0,1fr))}}.principles .tile h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-xl);line-height:var(--lh-xl)}.principles .tile p{color:var(--color-text-muted)}.steps{margin:var(--space-4) 0 0;padding-left:var(--space-5);gap:var(--space-2);flex-direction:column;max-width:60ch;display:flex}.form{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=760px){.form .two{grid-column:span 1}.form{grid-template-columns:repeat(2,minmax(0,1fr))}.form .full{grid-column:1/-1}}.field label,.field .lbl{font-size:var(--text-sm);font-weight:var(--fw-bold);margin-bottom:var(--space-2);display:block}.field label.check{font-weight:var(--fw-medium);margin:0;display:flex}.field .hint{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--fw-medium);margin-top:var(--space-1)}.input.block{border-radius:var(--radius-md);width:100%}textarea.input{padding:var(--space-3) var(--space-4);resize:vertical;min-height:120px;line-height:1.5}.input:is(:focus-visible,.is-focus){outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 5px var(--color-bg)}.input[aria-invalid=true],.input.is-error{border-color:var(--color-danger);border-width:2px}.check{gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) 0;font-weight:var(--fw-medium);align-items:flex-start;display:flex}.check input{width:22px;height:22px;accent-color:var(--color-brand);flex:none;margin:2px 0 0}.form-status{font-weight:var(--fw-bold)}dialog.dlg,.dlg-panel{border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);width:calc(100% - 32px);max-width:480px;box-shadow:var(--shadow-2);padding:0}dialog.dlg::backdrop{background:#12101c9e}.dlg form,.dlg-panel form{padding:var(--space-6) var(--space-5) var(--space-5)}.dlg h2,.dlg-panel h2,.dlg-panel h3{font-size:var(--text-xl);line-height:var(--lh-xl)}.dlg fieldset,.dlg-panel fieldset{margin:var(--space-4) 0;gap:var(--space-2);border:0;flex-direction:column;padding:0;display:flex}.dlg legend,.dlg-panel legend{margin-bottom:var(--space-2);padding:0}.radio{gap:var(--space-3);min-height:48px;padding:0 var(--space-4);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--text-sm);align-items:center;display:flex}.radio:is(:hover,.is-hover){background:var(--color-surface-2)}.radio:has(input:checked){border-color:var(--color-text);background:var(--color-brand-soft)}.radio.is-focus{outline:3px solid var(--color-focus);outline-offset:2px}.radio:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.radio input{accent-color:var(--color-brand);width:20px;height:20px}.dlg textarea,.dlg-panel textarea{width:100%;min-height:84px;margin-top:var(--space-2);background:var(--color-bg);color:var(--color-text);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md);padding:var(--space-3);font:var(--fw-medium) var(--text-base) var(--font-sans)}.dlg-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;justify-content:flex-end;display:flex}.media.img-failed{background:linear-gradient(135deg,var(--color-brand-soft),var(--hue-sky-bg))}.media.img-failed:after{display:none}.media.img-failed .ai-label{background:var(--color-danger-bg);color:var(--color-text);border:1px solid var(--color-danger)}@media (width<=480px){.hide-sm{display:none}}@media (width<=560px){.lead{font-size:var(--text-base)}.crumbs li:not(:first-child):not(:last-child){display:none}}.grid>*,.cats>*,.principles>*,.split>*,.d-main>*,.d-side>*,.spec-grid>*{min-width:0}.pill,.chip,a.tag,.badge,.eyebrow,.lead,.author,.site-footer p,.crumbs li:last-child,.card-note,.field-msg,.hint{overflow-wrap:anywhere;word-break:normal}.pill,.badge,a.tag,.chip{min-width:0;max-width:100%}.crumbs li:last-child{min-width:0}.crumbs ol>li:last-child{flex:1 1 0}.req{font-weight:var(--fw-medium);font-size:var(--text-xs);color:var(--color-text-muted);margin-left:var(--space-1)}.field .field-msg{margin-top:var(--space-2)}.field-msg.error:before{content:"!";background:var(--color-danger);width:18px;height:18px;color:var(--color-bg);font-size:.75rem;font-weight:var(--fw-heavy);border-radius:50%;flex:none;place-items:center;margin-top:2px;display:inline-grid}.form-summary{margin-bottom:var(--space-4);align-items:flex-start;gap:var(--space-2);flex-direction:column}.form-summary ul{padding-left:var(--space-5);flex-direction:column;margin:0;display:flex}.form-summary a{min-height:var(--tap-min);font-weight:var(--fw-bold);align-items:center;display:inline-flex}.banner.ok{background:var(--color-success-bg);border-color:var(--color-line-strong)}.banner.ok .ico{background:var(--color-text)}fieldset.field.is-invalid .check{outline:0}.input[aria-invalid=true]{background:var(--color-danger-bg)}html[lang=zh-CN] body{font-weight:var(--fw-regular)}html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-CN] h3,html[lang=zh-CN] .display{letter-spacing:0;font-weight:var(--fw-bold)}html[lang=zh-CN] .tile-hero h1{max-width:none;font-weight:var(--fw-heavy)}html[lang=zh-CN] .page-head h1,html[lang=zh-CN] .head-tile h1{max-width:none}html[lang=zh-CN] .lead{max-width:34em;line-height:1.8}html[lang=zh-CN] .tile-hero .lead{max-width:22em}html[lang=zh-CN] .eyebrow{text-transform:none;letter-spacing:.04em;font-size:var(--text-sm)}html[lang=zh-CN] .prompt{letter-spacing:.01em;line-height:1.95;font-weight:var(--fw-regular)}html[lang=zh-CN] .card .txt{line-height:1.75;font-size:var(--text-sm)}html[lang=zh-CN] .btn,html[lang=zh-CN] .chip,html[lang=zh-CN] a.tag,html[lang=zh-CN] .pill,html[lang=zh-CN] .badge,html[lang=zh-CN] .ai-label,html[lang=zh-CN] .sty{letter-spacing:.02em}html[lang=zh-CN] .pill,html[lang=zh-CN] .badge,html[lang=zh-CN] .ai-label,html[lang=zh-CN] .sty{font-size:.8125rem}html[lang=zh-CN] .source dt,html[lang=zh-CN] .meta-list dt{text-transform:none;letter-spacing:.04em;font-size:var(--text-sm)}html[lang=zh-CN] .code{line-height:1.9}html[lang=zh-CN] .steps{max-width:44em}html[lang=zh-CN] .prose{max-width:40em}.crumbs a{min-width:var(--tap-min)}.tok{-webkit-box-decoration-break:clone;box-decoration-break:clone}html[lang=zh-CN] span.tok{margin:0 1px;padding:0 4px}.au-plat{color:var(--color-text-muted);font-size:inherit;font-weight:inherit}.source dd .src-url.src-plain{color:var(--color-text-muted);cursor:default;font-weight:inherit;text-decoration:none;display:block}.source dd .src-url.src-plain>span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}
