:root{--c-bg: #ffffff;--c-bg-sunken: #f7f6f3;--c-bg-raised: #ffffff;--c-bg-muted: #f0ede8;--c-bg-inset: #fbfaf8;--c-border: #e4e0d9;--c-border-strong: #cec8bd;--c-border-subtle: #f0ede8;--c-text: #1a1917;--c-text-soft: #45423d;--c-text-muted: #736e67;--c-text-faint: #9a958d;--c-accent: #2b5f8c;--c-accent-hover: #1f4a70;--c-accent-soft: #e9f1f8;--c-accent-border: #b9d2e6;--c-on-accent: #ffffff;--c-brass: #8a6528;--c-brass-soft: #f7f0de;--c-brass-border: #e2d3ac;--c-ok: #2c7350;--c-ok-soft: #e6f2eb;--c-warn: #94621c;--c-warn-soft: #fbf1de;--c-danger: #a3362a;--c-danger-soft: #fbeae7;--c-skeleton-from: #eeeae4;--c-skeleton-to: #f7f5f1;--shadow-xs: 0 1px 2px rgb(26 25 23 / .05);--shadow-sm: 0 1px 3px rgb(26 25 23 / .07), 0 1px 2px rgb(26 25 23 / .05);--shadow-md: 0 4px 12px rgb(26 25 23 / .08), 0 2px 4px rgb(26 25 23 / .04);--shadow-lg: 0 16px 40px rgb(26 25 23 / .16), 0 4px 12px rgb(26 25 23 / .08);--font-body: "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "SimSun", Georgia, "Times New Roman", serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--leading-body: 1.85;--leading-tight: 1.35;--leading-ui: 1.55;--measure: 42em;--measure-wide: 48em;--tracking-tight: -.01em;--tracking-cjk: .02em;--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-7: 1.75rem;--sp-8: 2rem;--sp-9: 2.25rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-14: 3.5rem;--sp-16: 4rem;--sp-20: 5rem;--r-sm: 4px;--r-md: 6px;--r-tile: 8px;--r-lg: 10px;--r-xl: 14px;--r-full: 999px;--shell-max: 1440px;--shell-pad: var(--sp-4);--header-h: 3.25rem;--sidebar-w: 16.5rem;--toc-w: 14rem;--z-header: 40;--z-drawer-backdrop: 50;--z-drawer: 51;--z-palette-backdrop: 60;--z-palette: 61;--z-lightbox: 70;--z-toast: 80;--ease: cubic-bezier(.2, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--ring-w: 2px;--ring-offset: 2px;--ring: 0 0 0 var(--ring-offset) var(--c-bg), 0 0 0 calc(var(--ring-offset) + var(--ring-w)) var(--c-accent);color-scheme:light}:root[data-theme=dark]{--c-bg: #17181b;--c-bg-sunken: #101114;--c-bg-raised: #1c1e22;--c-bg-muted: #26282e;--c-bg-inset: #1f2126;--c-border: #2f323a;--c-border-strong: #454a54;--c-border-subtle: #24262c;--c-text: #e8e6e1;--c-text-soft: #c6c3bc;--c-text-muted: #918d86;--c-text-faint: #6d6a64;--c-accent: #7db3e2;--c-accent-hover: #a3cbef;--c-accent-soft: #1a2b3a;--c-accent-border: #2e4a63;--c-on-accent: #0d1620;--c-brass: #d4b072;--c-brass-soft: #2d2718;--c-brass-border: #4d4227;--c-ok: #7cc39c;--c-ok-soft: #16281f;--c-warn: #dcb271;--c-warn-soft: #2c2416;--c-danger: #e59183;--c-danger-soft: #2e1a17;--c-skeleton-from: #23252b;--c-skeleton-to: #2b2e35;--shadow-xs: 0 1px 2px rgb(0 0 0 / .3);--shadow-sm: 0 1px 3px rgb(0 0 0 / .36), 0 1px 2px rgb(0 0 0 / .28);--shadow-md: 0 4px 12px rgb(0 0 0 / .4), 0 2px 4px rgb(0 0 0 / .3);--shadow-lg: 0 16px 40px rgb(0 0 0 / .55), 0 4px 12px rgb(0 0 0 / .35);color-scheme:dark}@media(min-width:640px){:root{--shell-pad: var(--sp-6)}}@media(min-width:1440px){:root{--shell-pad: var(--sp-8)}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--sp-4))}body{min-height:100dvh;background:var(--c-bg-sunken);color:var(--c-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit;background:none;border:0}button{cursor:pointer}table{border-collapse:collapse;width:100%}:where(ul[class],ol[class]){list-style:none;padding:0}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}.skip-link{position:absolute;left:var(--sp-3);top:calc(-1 * var(--sp-12));z-index:calc(var(--z-toast) + 1);padding:var(--sp-2) var(--sp-4);background:var(--c-accent);color:var(--c-on-accent);border-radius:0 0 var(--r-md) var(--r-md);font-size:var(--text-sm);text-decoration:none;transition:top var(--dur) var(--ease-out)}.skip-link:focus-visible{top:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}::selection{background:var(--c-accent-soft);color:var(--c-text)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a{color:var(--c-accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--c-accent-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);font-weight:650;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--c-text);text-wrap:balance}.prose{font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body);color:var(--c-text-soft);max-width:var(--measure);letter-spacing:var(--tracking-cjk);hanging-punctuation:allow-end;text-wrap:pretty}.prose>*+*{margin-block-start:var(--sp-4)}.prose p{text-indent:2em}.prose p:has(>img:first-child),.prose p:has(>table:first-child){text-indent:0}.prose h2,.prose h3{margin-block-start:var(--sp-10);margin-block-end:var(--sp-3);color:var(--c-text);text-indent:0}.prose h2{font-size:var(--text-xl);padding-block-end:var(--sp-2);border-block-end:1px solid var(--c-border)}.prose h3{font-size:var(--text-lg)}.prose strong,.prose b{font-weight:650;color:var(--c-text)}.prose em,.prose i{font-style:italic}.prose a{color:var(--c-accent);text-decoration-line:underline;text-decoration-color:var(--c-accent-border)}.prose a:hover{text-decoration-color:currentColor;background:var(--c-accent-soft);border-radius:2px}.prose code{font-family:var(--font-mono);font-size:.86em;padding:.1em .35em;background:var(--c-bg-muted);border-radius:var(--r-sm);color:var(--c-text)}.prose ul,.prose ol{padding-inline-start:1.6em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li+li{margin-block-start:var(--sp-2)}.prose-list{margin-block:var(--sp-4)}.prose-list__item{color:inherit}.prose-quote{margin-block:var(--sp-6);padding:var(--sp-4) var(--sp-5);background:var(--c-bg-inset);border-inline-start:3px solid var(--c-brass);border-radius:0 var(--r-md) var(--r-md) 0;font-family:var(--font-body);color:var(--c-text-soft)}.prose-quote p{text-indent:0}.prose-quote cite{display:block;margin-block-start:var(--sp-3);font-family:var(--font-ui);font-size:var(--text-sm);font-style:normal;color:var(--c-text-muted)}.table-scroll{overflow-x:auto;margin-block:var(--sp-6);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised);scrollbar-gutter:stable}.data-table{font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-ui)}.data-table caption{caption-side:top;text-align:start;padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);font-weight:600;color:var(--c-text-muted);border-block-end:1px solid var(--c-border)}.data-table th,.data-table td{padding:var(--sp-2) var(--sp-4);text-align:start;vertical-align:top;border-block-end:1px solid var(--c-border-subtle)}.data-table thead th{background:var(--c-bg-muted);font-weight:600;color:var(--c-text);white-space:nowrap;border-block-end:1px solid var(--c-border)}.data-table tbody tr:nth-child(2n){background:var(--c-bg-inset)}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-block-end:0}.data-table--plain tbody tr:nth-child(2n){background:transparent}.data-table--plain td{padding-block:var(--sp-3);color:var(--c-text-muted);font-size:var(--text-xs);line-height:1.75}.table-cell-img{display:block;width:100%;max-width:20rem;max-height:220px;margin-inline:auto;margin-block-end:var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-tile);background:var(--c-bg-inset);box-shadow:var(--shadow-xs)}.chip-row.table-links{margin-block:calc(-1 * var(--sp-3)) var(--sp-6)}.field{display:block;width:100%;padding:var(--sp-2) var(--sp-3);background:var(--c-bg);border:1px solid var(--c-border-strong);border-radius:var(--r-md);color:var(--c-text);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.field::placeholder{color:var(--c-text-faint)}.field:hover{border-color:var(--c-text-faint)}.field:focus-visible{border-color:var(--c-accent)}select.field{appearance:none;padding-inline-end:var(--sp-8);background-image:linear-gradient(45deg,transparent 50%,var(--c-text-muted) 50%),linear-gradient(135deg,var(--c-text-muted) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.shell{display:flex;flex-direction:column;min-height:100dvh}.shell__main{flex:1 0 auto;width:100%;max-width:var(--shell-max);margin-inline:auto;padding:var(--sp-5) var(--shell-pad) var(--sp-10)}.shell__main:focus{outline:none}@media(min-width:640px){.shell__main{padding-block:var(--sp-6) var(--sp-14)}}.header{position:sticky;top:0;z-index:var(--z-header);background:var(--c-bg);background:color-mix(in srgb,var(--c-bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--c-border)}@supports not (backdrop-filter: blur(2px)){.header{background:var(--c-bg)}}.header__inner{display:flex;align-items:center;gap:var(--sp-3);max-width:var(--shell-max);min-height:var(--header-h);margin-inline:auto;padding-inline:var(--shell-pad)}@media(min-width:640px){.header__inner{gap:var(--sp-5)}}.brand{display:inline-flex;align-items:center;gap:var(--sp-2);flex:0 0 auto;text-decoration:none;color:var(--c-text)}.brand__mark{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:var(--r-sm);background:var(--c-accent);color:var(--c-on-accent);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em}.brand__text{display:flex;flex-direction:column;line-height:1.1}.brand__zh{font-size:var(--text-md);font-weight:700;letter-spacing:var(--tracking-cjk)}.brand__en{font-size:var(--text-xs);color:var(--c-text-muted);letter-spacing:.08em;text-transform:uppercase}.nav{display:none;align-items:center;gap:var(--sp-1);margin-inline-start:var(--sp-4)}@media(min-width:1024px){.nav{display:flex}}.nav__link{position:relative;display:inline-block;padding:.4rem var(--sp-3);border-radius:var(--r-sm);color:var(--c-text-soft);font-size:var(--text-base);text-decoration:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav__link:hover{background:var(--c-bg-muted);color:var(--c-text)}.nav__link.is-active{color:var(--c-accent);font-weight:600}.nav__link.is-active:after{content:"";position:absolute;inset-inline:var(--sp-3);bottom:-.15rem;height:2px;border-radius:var(--r-full);background:var(--c-accent)}.header__actions{display:flex;align-items:center;gap:var(--sp-2);margin-inline-start:auto}.search-trigger{display:inline-flex;align-items:center;gap:var(--sp-2);height:2.1rem;padding-inline:var(--sp-2) var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised);color:var(--c-text-muted);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.search-trigger:hover{border-color:var(--c-border-strong);background:var(--c-bg);color:var(--c-text-soft)}.search-trigger__icon{flex:0 0 auto;font-size:1rem}.search-trigger__placeholder{display:none;font-size:var(--text-sm);white-space:nowrap}@media(min-width:640px){.search-trigger{min-width:15rem;padding-inline:var(--sp-3)}.search-trigger__placeholder{display:inline;flex:1 1 auto;text-align:start}}@media(min-width:1024px){.search-trigger{min-width:18rem}}.search-trigger__kbd,kbd{display:inline-flex;align-items:center;gap:.1em;padding:.1em .4em;border:1px solid var(--c-border);border-bottom-width:2px;border-radius:var(--r-sm);background:var(--c-bg-muted);color:var(--c-text-muted);font-family:var(--font-ui);font-size:.72em;line-height:1.4;white-space:nowrap}.theme-toggle{display:inline-flex;align-items:center;gap:.15rem}.icon-btn{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;padding:0;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--c-text-soft);font-size:1.05rem;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.icon-btn:hover{background:var(--c-bg-muted);color:var(--c-text);border-color:var(--c-border)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--ghost{color:var(--c-text-muted)}.icon-btn--on-dark{color:#fff;background:#00000059}.icon-btn--on-dark:hover{background:#0009;color:#fff;border-color:transparent}.header__menu-btn{display:inline-grid}@media(min-width:1024px){.header__menu-btn{display:none}}.mobile-nav{border-top:1px solid var(--c-border);background:var(--c-bg);padding:var(--sp-2) var(--sp-4) var(--sp-4)}@media(min-width:1024px){.mobile-nav{display:none}}.mobile-nav nav{display:flex;flex-direction:column;gap:.15rem}.mobile-nav__link{display:block;padding:var(--sp-3) var(--sp-3);border-radius:var(--r-sm);color:var(--c-text-soft);text-decoration:none}.mobile-nav__link:hover{background:var(--c-bg-muted)}.mobile-nav__link.is-active{background:var(--c-accent-soft);color:var(--c-accent);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:.45rem var(--sp-4);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-bg-raised);color:var(--c-text);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-ui);text-decoration:none;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover{border-color:var(--c-accent-border);background:var(--c-accent-soft);color:var(--c-accent-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn svg{font-size:1.05em}.btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}.btn--primary:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover);color:var(--c-on-accent)}.btn--secondary{background:var(--c-bg-raised);border-color:var(--c-border-strong)}.btn--ghost{background:transparent;border-color:var(--c-border);color:var(--c-text-soft)}.btn--ghost:hover{background:var(--c-bg-muted);color:var(--c-text)}.btn--sm{padding:.28rem var(--sp-3);font-size:var(--text-xs)}.btn--lg{padding:.65rem var(--sp-5);font-size:var(--text-md)}.pill{display:inline-flex;align-items:center;gap:.35em;padding:.3rem var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-full);background:var(--c-bg-raised);color:var(--c-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.pill:hover{border-color:var(--c-border-strong);color:var(--c-text)}.pill.is-active{background:var(--c-accent-soft);border-color:var(--c-accent-border);color:var(--c-accent-hover);font-weight:600}.chip{display:inline-flex;align-items:center;gap:.3em;padding:.12rem .5rem;border:1px solid var(--c-border);border-radius:var(--r-full);background:var(--c-bg-muted);color:var(--c-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.6;white-space:nowrap}.chip svg{font-size:.95em}.chip--plain{background:var(--c-bg-muted)}.chip--brass{background:var(--c-brass-soft);border-color:var(--c-brass-border);color:var(--c-brass)}.chip--link{background:var(--c-bg-raised);color:var(--c-text-soft);text-decoration:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.chip--link:hover{background:var(--c-accent-soft);border-color:var(--c-accent-border);color:var(--c-accent-hover)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:0;margin:0;list-style:none}.caliber-badge{display:inline-flex;align-items:baseline;gap:var(--sp-2);padding:.3rem var(--sp-3);border:1px solid var(--c-brass-border);border-radius:var(--r-md);background:var(--c-brass-soft)}.caliber-badge__label{color:var(--c-brass);font-size:var(--text-xs);letter-spacing:.08em}.caliber-badge__value{color:var(--c-text);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.meta-badge{display:inline-flex;align-items:center;gap:.35em;padding:.3rem var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised);color:var(--c-text-muted);font-size:var(--text-xs)}.footer{flex:0 0 auto;border-top:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text-muted);font-size:var(--text-sm)}.footer__inner{display:grid;gap:var(--sp-6);max-width:var(--shell-max);margin-inline:auto;padding:var(--sp-7) var(--shell-pad) var(--sp-6)}@media(min-width:1024px){.footer__inner{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1.2fr);gap:var(--sp-8)}}.footer__brand{display:flex;align-items:baseline;gap:var(--sp-2);margin:0 0 var(--sp-2)}.footer__brand-zh{color:var(--c-text);font-size:var(--text-md);font-weight:700}.footer__brand-en{color:var(--c-text-faint);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.footer__desc,.footer__legal{margin:0;line-height:1.75;max-width:46ch}.footer__origin{color:var(--c-text-soft);font-family:var(--font-mono);font-size:.92em}.footer__heading{margin:0 0 var(--sp-2);color:var(--c-text-soft);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.footer__col ul{display:flex;flex-direction:column;gap:.35rem;padding:0;margin:0;list-style:none}.footer a{color:var(--c-text-muted);text-decoration:none;border-bottom:1px solid transparent}.footer a:hover{color:var(--c-accent);border-bottom-color:var(--c-accent-border)}.footer__raw{display:inline-flex;align-items:center;gap:.4em;margin-top:var(--sp-3)}.footer__bottom{border-top:1px solid var(--c-border-subtle);padding:var(--sp-3) var(--sp-4);text-align:center;color:var(--c-text-faint);font-size:var(--text-xs)}.footer__bottom p{margin:0}.palette-backdrop{position:fixed;inset:0;z-index:var(--z-palette);display:flex;align-items:flex-start;justify-content:center;padding:var(--sp-4) var(--sp-3);background:#1414166b;background:color-mix(in srgb,var(--c-text) 32%,transparent);backdrop-filter:blur(3px);overflow-y:auto;padding-block-start:max(var(--sp-4),10vh)}.palette{display:flex;flex-direction:column;width:min(100%,40rem);max-height:min(74vh,40rem);border:1px solid var(--c-border-strong);border-radius:var(--r-lg);background:var(--c-bg);box-shadow:var(--shadow-lg);overflow:hidden}.palette__form{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--c-border);background:var(--c-bg-raised)}.palette__icon{flex:0 0 auto;color:var(--c-text-muted);font-size:1.1rem}.palette__input{flex:1 1 auto;min-width:0;border:0;background:transparent;color:var(--c-text);font-size:var(--text-md);padding:.2rem 0}.palette__input:focus{outline:none}.palette__input::-webkit-search-cancel-button,.palette__input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.palette__close{display:none}@media(max-width:639px){.palette__kbd{display:none}.palette__close{display:inline-grid}}.palette__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-2)}.palette__hint{margin:var(--sp-2) var(--sp-2) var(--sp-3);color:var(--c-text-muted);font-size:var(--text-xs)}.palette__shortcuts ul{display:flex;flex-direction:column;gap:.15rem;padding:0;margin:0;list-style:none}.palette__shortcut{display:grid;grid-template-columns:auto minmax(0,auto) minmax(0,1fr);align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--c-text-soft);text-decoration:none}.palette__shortcut:hover{background:var(--c-bg-muted)}.palette__shortcut-icon{color:var(--c-text-muted)}.palette__shortcut-label{font-weight:500}.palette__shortcut-hint{color:var(--c-text-faint);font-size:var(--text-xs);text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__status{padding:var(--sp-5) var(--sp-4);color:var(--c-text-muted);font-size:var(--text-sm);text-align:center}.palette__error{padding:var(--sp-2)}.palette__results{display:flex;flex-direction:column;gap:.1rem;padding:0;margin:0;list-style:none}.palette__result{display:flex;flex-direction:column;gap:.2rem;width:100%;padding:var(--sp-2) var(--sp-3);border:0;border-inline-start:2px solid transparent;border-radius:var(--r-sm);background:transparent;text-align:start;cursor:pointer}.palette__result.is-selected{background:var(--c-accent-soft);border-inline-start-color:var(--c-accent)}.palette__result-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2)}.palette__result-title{color:var(--c-text);font-size:var(--text-base);font-weight:500}.palette__result.is-selected .palette__result-title{color:var(--c-accent-hover)}.palette__result-meta{display:inline-flex;gap:.25rem}.palette__result-snippet{color:var(--c-text-muted);font-size:var(--text-xs);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.palette__more{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;margin-top:var(--sp-2);padding:var(--sp-2);border:0;border-top:1px solid var(--c-border-subtle);background:transparent;color:var(--c-accent);font-size:var(--text-sm);cursor:pointer}.palette__more:hover{background:var(--c-accent-soft)}.palette__footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--c-border);background:var(--c-bg-raised);color:var(--c-text-faint);font-size:var(--text-xs)}.palette__took{margin-inline-start:auto;font-family:var(--font-mono)}.lightbox-backdrop{position:fixed;inset:0;z-index:var(--z-lightbox);display:flex;align-items:center;justify-content:center;padding:var(--sp-3);background:#0a0a0ce6}.lightbox{display:flex;flex-direction:column;gap:var(--sp-2);width:min(100%,78rem);max-height:100%;color:#fff}.lightbox__bar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--text-xs);color:#ffffffb8}.lightbox__bar--bottom{justify-content:space-between}.lightbox__counter{margin-inline-start:auto;font-family:var(--font-mono);font-size:var(--text-sm);color:#ffffffe6}.lightbox__bar kbd{background:#ffffff1f;border-color:#fff3;color:#ffffffe6}.lightbox__hint{display:inline-flex;align-items:center;gap:.35em}.lightbox__note{color:#ffffff80}@media(max-width:639px){.lightbox__note{display:none}}.lightbox__stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0}.lightbox__figure{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);margin:0;min-width:0;max-height:74vh}.lightbox__img{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;object-fit:contain;border-radius:var(--r-sm);background:#ffffff0a;opacity:0;transition:opacity var(--dur) var(--ease)}.lightbox__img.is-loaded{opacity:1}.lightbox__loading{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-8);color:#ffffffbf;font-size:var(--text-sm)}.lightbox__failed{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-8);color:#ffd7d2;font-size:var(--text-sm);text-align:center}.lightbox__caption{max-width:var(--measure);color:#fffc;font-size:var(--text-sm);line-height:1.7;text-align:center}.lightbox__nav{position:absolute;top:50%;translate:0 -50%;display:grid;place-items:center;width:2.6rem;height:3.4rem;border:0;border-radius:var(--r-md);background:#ffffff1a;color:#fff;font-size:1.2rem;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.lightbox__nav:hover{background:#ffffff3d}.lightbox__nav--prev{inset-inline-start:0}.lightbox__nav--next{inset-inline-end:0}.lazy-img{position:relative;display:block;overflow:hidden;background:var(--c-bg-muted)}.lazy-img--natural{max-width:100%;height:auto;margin-inline:auto}.lazy-img__img{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity var(--dur-slow) var(--ease)}.lazy-img.is-ready .lazy-img__img{opacity:1}.lazy-img__skeleton{position:absolute;inset:0;background:linear-gradient(100deg,var(--c-skeleton-from) 20%,var(--c-skeleton-to) 40%,var(--c-skeleton-from) 60%);background-size:220% 100%;animation:skeleton-sweep 1.4s linear infinite}@keyframes skeleton-sweep{0%{background-position:180% 0}to{background-position:-80% 0}}.lazy-img__fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:var(--sp-2);background:var(--c-bg-muted);color:var(--c-text-faint);font-size:var(--text-xs);text-align:center}.lazy-img__fallback svg{font-size:1.5rem;opacity:.7}.lazy-img__hit{position:absolute;inset:0;display:grid;place-items:center;border:0;background:transparent;color:transparent;cursor:zoom-in;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.lazy-img__hit:hover,.lazy-img__hit:focus-visible{background:color-mix(in srgb,var(--c-text) 12%,transparent);color:#fff}.lazy-img__hit svg{font-size:1.4rem}.state{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-5);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-bg-raised);text-align:center}.state--compact{padding:var(--sp-6) var(--sp-4)}.state--loading{align-items:center}.state--error{border-color:color-mix(in srgb,var(--c-danger) 40%,var(--c-border));background:color-mix(in srgb,var(--c-danger) 5%,var(--c-bg-raised))}.state__icon{width:1.9rem;height:1.9rem;color:var(--c-text-faint)}.state--error .state__icon{color:var(--c-danger)}.state__label{color:var(--c-text-soft);font-size:var(--text-base)}.state__hint{max-width:52ch;color:var(--c-text-muted);font-size:var(--text-sm);line-height:1.75}.state__hint code{font-family:var(--font-mono);font-size:.92em;word-break:break-all}.state__title{margin:0;color:var(--c-text);font-size:var(--text-lg)}.state__message{max-width:56ch;margin:0;color:var(--c-text-soft);font-size:var(--text-sm);line-height:1.8}.state__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-4);margin:0;color:var(--c-text-muted);font-size:var(--text-xs)}.state__meta div{display:flex;align-items:baseline;gap:.4em}.state__meta dt{color:var(--c-text-faint)}.state__meta dd{margin:0}.state__meta code,.state__stack{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--c-text-soft)}.state__stack{max-width:min(100%,46rem);margin:0;padding:var(--sp-3);border-radius:var(--r-sm);background:var(--c-bg-muted);overflow-x:auto;text-align:start;white-space:pre-wrap;word-break:break-word}.state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}.state__skeleton{width:min(100%,34rem);margin-top:var(--sp-3)}.spinner{width:1.15rem;height:1.15rem;border:2px solid var(--c-border-strong);border-top-color:var(--c-accent);border-radius:var(--r-full);animation:spin .7s linear infinite}.spinner--light{border-color:#ffffff4d;border-top-color:#fff}@keyframes spin{to{rotate:360deg}}.skeleton{display:flex;flex-direction:column;gap:var(--sp-2);width:100%}.skeleton__line{height:.75rem;border-radius:var(--r-sm);background:linear-gradient(100deg,var(--c-skeleton-from) 20%,var(--c-skeleton-to) 40%,var(--c-skeleton-from) 60%);background-size:220% 100%;animation:skeleton-sweep 1.4s linear infinite}.banner{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-border);border-inline-start-width:3px;border-radius:var(--r-md);background:var(--c-bg-raised);color:var(--c-text-soft);font-size:var(--text-sm);line-height:1.75}.banner__body{flex:1 1 auto;min-width:0}.banner__title{display:block;color:var(--c-text);font-weight:600}.banner__text code{padding:.05em .3em;border-radius:var(--r-sm);background:var(--c-bg-muted);font-family:var(--font-mono);font-size:.9em}.banner__action{flex:0 0 auto;display:flex;align-items:center;gap:var(--sp-2)}.banner__action .btn,.banner__text .btn{margin-inline-start:var(--sp-2)}.banner__dismiss{flex:0 0 auto;border:0;background:transparent;color:var(--c-text-faint);font-size:1.2rem;line-height:1;cursor:pointer}.banner__dismiss:hover{color:var(--c-text)}.banner--info{border-inline-start-color:var(--c-accent);background:var(--c-accent-soft)}.banner--ok{border-inline-start-color:var(--c-ok)}.banner--warn{border-inline-start-color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 9%,var(--c-bg-raised))}.banner--danger{border-inline-start-color:var(--c-danger);background:color-mix(in srgb,var(--c-danger) 8%,var(--c-bg-raised))}.banner--brass{border-inline-start-color:var(--c-brass);background:var(--c-brass-soft)}.top-progress{position:fixed;inset-inline:0;top:0;z-index:calc(var(--z-header) + 1);height:2px;overflow:hidden;opacity:0;transition:opacity var(--dur) var(--ease);pointer-events:none}.top-progress.is-active{opacity:1}.top-progress__bar{display:block;width:40%;height:100%;background:var(--c-accent);animation:top-progress-slide 1.1s var(--ease) infinite}@keyframes top-progress-slide{0%{transform:translate(-100%)}to{transform:translate(320%)}}.facet{border-top:1px solid var(--c-border-subtle);padding-block:var(--sp-3)}.facet:first-of-type{border-top:0}.facet__head{display:flex;align-items:center;gap:var(--sp-2)}.facet__toggle{display:flex;align-items:center;gap:var(--sp-2);flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--c-text);font-size:var(--text-sm);font-weight:600;text-align:start;cursor:pointer}.facet__chevron{flex:0 0 auto;color:var(--c-text-muted);transition:rotate var(--dur-fast) var(--ease)}.facet.is-collapsed .facet__chevron{rotate:-90deg}.facet__badge{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding-inline:.3rem;border-radius:var(--r-full);background:var(--c-accent);color:var(--c-on-accent);font-size:.68rem;font-weight:600}.facet__clear{flex:0 0 auto;border:0;background:transparent;color:var(--c-text-muted);font-size:var(--text-xs);cursor:pointer}.facet__clear:hover{color:var(--c-danger);text-decoration:underline}.facet__body{margin-top:var(--sp-2)}.facet__search{position:relative;display:block;margin-block-end:var(--sp-2)}.facet__search-icon{position:absolute;inset-block-start:50%;inset-inline-start:var(--sp-2);translate:0 -50%;color:var(--c-text-faint);font-size:.9rem;pointer-events:none}.facet__search-input{width:100%;padding:.3rem var(--sp-2) .3rem 1.7rem;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--text-xs)}.facet__list{display:flex;flex-direction:column;gap:.05rem;max-height:20rem;overflow-y:auto;padding:0;margin:0;list-style:none;scrollbar-gutter:stable}.facet__option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);padding:.22rem var(--sp-2);border-radius:var(--r-sm);color:var(--c-text-soft);font-size:var(--text-sm);cursor:pointer}.facet__option:hover{background:var(--c-bg-muted)}.facet__option.is-checked{background:var(--c-accent-soft);color:var(--c-accent-hover);font-weight:500}.facet__option.is-empty{color:var(--c-text-faint)}.facet__checkbox{width:.95rem;height:.95rem;margin:0;accent-color:var(--c-accent);cursor:pointer}.facet__label{display:flex;align-items:baseline;gap:.35em;min-width:0;overflow:hidden}.facet__note{color:var(--c-text-faint);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facet__count{color:var(--c-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.facet__none{padding:var(--sp-2);color:var(--c-text-faint);font-size:var(--text-xs)}.facet__title--static{margin:0 0 var(--sp-2);color:var(--c-text);font-size:var(--text-sm);font-weight:600}.facet__pill{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%;padding:.25rem var(--sp-3);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--c-text-soft);font-family:var(--font-ui);font-size:var(--text-sm);text-align:start;cursor:pointer}.facet__pill:hover{background:var(--c-bg-muted)}.facet__pill.is-checked{background:var(--c-accent-soft);border-color:var(--c-accent-border);color:var(--c-accent-hover);font-weight:500}.drawer-backdrop{position:fixed;inset:0;z-index:var(--z-drawer);background:#14141673;background:color-mix(in srgb,var(--c-text) 35%,transparent)}.drawer{position:absolute;inset-block:0;inset-inline-start:0;display:flex;flex-direction:column;width:min(88vw,21rem);background:var(--c-bg);border-inline-end:1px solid var(--c-border);box-shadow:var(--shadow-lg);overflow-y:auto;overscroll-behavior:contain;animation:drawer-in var(--dur) var(--ease)}@keyframes drawer-in{0%{translate:-8% 0;opacity:.4}to{translate:0 0;opacity:1}}.item-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}@media(min-width:1440px){.item-grid{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr))}}.item-grid--list{grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}.item-card{position:relative;height:100%;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised);overflow:hidden;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.item-card:hover{border-color:var(--c-accent-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.item-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.item-card__band{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border-subtle);background:var(--c-bg-muted);color:var(--tone, var(--c-text-muted))}.item-card__mark{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em}.item-card__category{margin-inline-start:auto;color:var(--c-text-muted);font-size:var(--text-xs)}.item-card.has-thumb .item-card__band{position:relative;display:block;padding:0;background:var(--c-bg-inset)}.item-card__thumb{display:block;width:100%}.item-card.has-thumb .item-card__category{position:absolute;inset-block-end:var(--sp-2);inset-inline-end:var(--sp-2);margin-inline-start:0;padding:.1rem var(--sp-2);border-radius:var(--r-sm);background:var(--c-bg);background:color-mix(in srgb,var(--c-bg) 84%,transparent);color:var(--c-text-soft);font-size:var(--text-xs);line-height:1.4}.is-tone-rifle{--tone: var(--c-accent)}.is-tone-mg{--tone: var(--c-brass)}.is-tone-smg{--tone: var(--c-accent-hover)}.is-tone-handgun{--tone: var(--c-text-soft)}.is-tone-sr{--tone: var(--c-ok)}.is-tone-shotgun{--tone: var(--c-warn)}.is-tone-gl,.is-tone-at{--tone: var(--c-danger)}.is-tone-ammo{--tone: var(--c-brass)}.is-tone-sight{--tone: var(--c-accent)}.is-tone-silencer,.is-tone-acces{--tone: var(--c-text-muted)}.is-tone-other{--tone: var(--c-text-faint)}.item-card__body{display:flex;flex-direction:column;gap:var(--sp-2);flex:1 1 auto;padding:var(--sp-3)}.item-card__title{color:var(--c-text);font-size:var(--text-base);font-weight:600;line-height:var(--leading-tight);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-card__title mark{background:var(--c-brass-soft);color:var(--c-brass);border-radius:2px}.item-card__model{color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.item-card__meta{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:auto}.item-card__path{color:var(--c-text-faint);font-family:var(--font-mono);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-card__arrow{position:absolute;inset-block-end:var(--sp-3);inset-inline-end:var(--sp-3);color:var(--c-text-faint);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.item-card:hover .item-card__arrow{opacity:1}.item-card--list .item-card__link{flex-direction:row;align-items:stretch}.item-card--list .item-card__band{flex:0 0 7.5rem;flex-direction:column;align-items:flex-start;justify-content:center;gap:.15rem;border-bottom:0;border-inline-end:1px solid var(--c-border-subtle)}.item-card--list .item-card__category{margin-inline-start:0}.item-card--list.has-thumb .item-card__band{flex:0 0 7.5rem;align-self:stretch}.item-card--list.has-thumb .item-card__thumb{height:100%}.item-card--list .item-card__body{flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding-block:var(--sp-2)}.item-card--list .item-card__title{flex:1 1 14rem;-webkit-line-clamp:1;line-clamp:1}.item-card--list .item-card__meta{margin-top:0}.item-card--list .item-card__path{flex:1 1 12rem;text-align:end}@media(max-width:639px){.item-card--list .item-card__path{display:none}}.timeline{display:flex;flex-direction:column;gap:var(--sp-5);padding:0;margin:0;list-style:none}.timeline__group{display:grid;grid-template-columns:1fr;gap:var(--sp-2)}@media(min-width:640px){.timeline__group{grid-template-columns:5.5rem minmax(0,1fr);gap:var(--sp-4)}}.timeline__when{position:relative;display:flex;align-items:flex-start;gap:var(--sp-2)}@media(min-width:640px){.timeline__when{flex-direction:column;align-items:flex-end}}.timeline__date{display:flex;align-items:baseline;gap:.25em;color:var(--c-text-muted);font-family:var(--font-ui);font-size:var(--text-xs)}@media(min-width:640px){.timeline__date{flex-direction:column;align-items:flex-end;gap:0}}.timeline__month{font-size:var(--text-xs)}.timeline__month-unit{margin-inline-start:.1em}.timeline__day{color:var(--c-text);font-size:var(--text-xl);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.timeline__year{color:var(--c-text-faint);font-size:.7rem;font-variant-numeric:tabular-nums}.timeline__dot{position:absolute;inset-block-start:.55rem;inset-inline-start:-.85rem;width:.5rem;height:.5rem;border-radius:var(--r-full);background:var(--c-accent);box-shadow:0 0 0 3px var(--c-bg-sunken)}@media(min-width:640px){.timeline__dot{inset-inline-start:auto;inset-inline-end:-1.35rem}}.timeline__entries{position:relative;display:flex;flex-direction:column;gap:var(--sp-1);padding:0 0 0 var(--sp-4);margin:0;list-style:none;border-inline-start:1px solid var(--c-border)}@media(min-width:640px){.timeline__entries{padding-inline-start:var(--sp-5)}}.timeline__entry{display:flex;align-items:flex-start;gap:var(--sp-2);padding-block:.15rem}.timeline__entry-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.timeline__sentence{color:var(--c-text);font-size:var(--text-base);line-height:1.85}.timeline__link{color:var(--c-accent);font-size:var(--text-base);text-decoration:none;text-underline-offset:.18em}.timeline__link:hover{text-decoration:underline}.timeline__note{color:var(--c-text-muted);font-size:var(--text-xs);line-height:1.7}.timeline__link--plain{color:var(--c-text);cursor:default}.timeline__link--plain:hover{color:var(--c-text);text-decoration:none}.timeline__links{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-block-start:var(--sp-2)}.timeline__links .chip svg{width:.8em;height:.8em;opacity:.65}.timeline--compact .timeline__link{font-size:var(--text-sm)}.tag{flex:0 0 auto;display:inline-block;padding:.05rem .4rem;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-muted);color:var(--c-text-muted);font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.04em;line-height:1.7;white-space:nowrap;margin-block-start:.25em}.tag--new{background:var(--c-brass-soft);border-color:var(--c-brass-border);color:var(--c-brass)}.tag--update{background:var(--c-accent-soft);border-color:var(--c-accent-border);color:var(--c-accent-hover)}.tag--both{background:color-mix(in srgb,var(--c-ok) 14%,var(--c-bg-raised));border-color:color-mix(in srgb,var(--c-ok) 40%,var(--c-border));color:var(--c-ok)}.gallery__grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,11.25rem),1fr));padding:0;margin:0;list-style:none}.gallery__cell{display:flex;flex-direction:column;gap:.3rem}.gallery__img{border:1px solid var(--c-border);border-radius:var(--r-tile);background:var(--c-bg-inset);box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.gallery__img:hover,.gallery__img:focus-within{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--c-border-strong)}.gallery__caption{margin:0;color:var(--c-text-muted);font-size:var(--text-xs);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery__more{margin-top:var(--sp-4)}.spec-card{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-bg-raised);overflow:hidden}.spec-card__header{display:flex;align-items:baseline;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border);background:var(--c-bg-muted)}.spec-card__title{margin:0;color:var(--c-text);font-size:var(--text-base);font-weight:600;letter-spacing:var(--tracking-cjk)}.spec-card__layout{margin-inline-start:auto;color:var(--c-text-muted);font-size:var(--text-xs)}.spec-kv-groups{display:flex;flex-direction:column}.spec-kv-group+.spec-kv-group{margin-block-start:var(--sp-4)}.spec-kv-group__title{margin:0;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--c-border);background:var(--c-bg-inset);color:var(--c-text);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em}.spec-compare__group-row th{border-bottom:1px solid var(--c-border)}.spec-compare__group{background:var(--c-bg-inset);color:var(--c-text);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-align:start!important}.spec-kv{display:grid;grid-template-columns:minmax(0,1fr);margin:0;padding:0}@media(min-width:640px){.spec-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1440px){.spec-kv{grid-template-columns:repeat(3,minmax(0,1fr))}}.spec-kv__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:baseline;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--c-border-subtle)}.spec-kv__label{display:flex;flex-direction:column;gap:.1rem;color:var(--c-text-muted);font-size:var(--text-sm)}.spec-kv__sub{color:var(--c-text-faint);font-size:var(--text-xs)}.spec-kv__value{margin:0;color:var(--c-text);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:end;word-break:break-word}.spec-compare th,.spec-compare td{text-align:center}.spec-compare__corner{text-align:start!important}.spec-compare__rowhead{text-align:start!important;color:var(--c-text-muted);font-weight:500;white-space:normal;min-width:9rem}.spec-compare td{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--c-text)}.section-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3);margin-block-end:var(--sp-3)}.section-head__title{margin:0;color:var(--c-text);font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-cjk)}.section-head__count{padding:.05rem .45rem;border-radius:var(--r-full);background:var(--c-bg-muted);color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.section-head__hint{color:var(--c-text-faint);font-size:var(--text-xs)}.section-head__more{display:inline-flex;align-items:center;gap:.3em;margin-inline-start:auto;color:var(--c-accent);font-size:var(--text-sm);text-decoration:none}.section-head__more:hover{text-decoration:underline}.mock-badge{position:fixed;inset-block-end:var(--sp-3);inset-inline-end:var(--sp-3);z-index:var(--z-toast);padding:.25rem var(--sp-3);border:1px solid var(--c-warn);border-radius:var(--r-full);background:var(--c-warn);color:#fff;font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.06em;box-shadow:var(--shadow-md);cursor:help}.page{display:flex;flex-direction:column;gap:var(--sp-6)}.page-head{display:flex;flex-direction:column;gap:var(--sp-2);padding-block-end:var(--sp-4);border-block-end:1px solid var(--c-border)}.page-head__title{font-size:var(--text-2xl);letter-spacing:var(--tracking-cjk)}@media(min-width:640px){.page-head__title{font-size:var(--text-3xl)}}.page-head__desc{max-width:var(--measure);color:var(--c-text-muted);font-size:var(--text-sm);line-height:1.8}.page-head__desc strong{color:var(--c-text);font-variant-numeric:tabular-nums}.page-head__note,.page-head__meta{display:flex;align-items:center;gap:.4em;color:var(--c-text-faint);font-size:var(--text-xs)}.page__path-hint{color:var(--c-text-muted);font-size:var(--text-xs);text-align:center}.page__path-hint code{font-family:var(--font-mono);word-break:break-all}.page--home{gap:var(--sp-10)}.hero{margin-inline:calc(-1 * var(--shell-pad));margin-block-start:calc(-1 * var(--sp-5));padding:var(--sp-8) var(--shell-pad) var(--sp-9);border-block-end:1px solid var(--c-border);background:radial-gradient(120% 140% at 0% 0%,var(--c-accent-soft) 0%,transparent 58%),linear-gradient(180deg,var(--c-bg) 0%,var(--c-bg-sunken) 100%)}@media(min-width:640px){.hero{margin-block-start:calc(-1 * var(--sp-6));padding-block:var(--sp-12) var(--sp-12)}}@media(min-width:1024px){.hero{padding-block:var(--sp-16) var(--sp-14)}}.hero__inner{max-width:var(--measure-wide);margin-inline:auto}.hero__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3);margin-block-end:var(--sp-4);font-family:var(--font-body);font-size:clamp(2.1rem,6.5vw,3.4rem);font-weight:700;letter-spacing:.06em;line-height:1.15}.hero__title-en{color:var(--c-text-faint);font-family:var(--font-ui);font-size:var(--text-md);font-weight:500;letter-spacing:.22em;text-transform:uppercase}.hero__lead{max-width:60ch;margin-block-end:var(--sp-6);color:var(--c-text-soft);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body)}.hero__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:var(--sp-4);margin:0 0 var(--sp-7);padding:var(--sp-4) 0;border-block:1px solid var(--c-border)}.hero__stat dt{color:var(--c-text-muted);font-size:var(--text-xs);letter-spacing:.06em}.hero__stat dd{margin:.15rem 0 0;color:var(--c-text);font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.stat-skeleton{max-width:5rem}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.hero__loading{display:flex;align-items:center;gap:var(--sp-2);margin-block-start:var(--sp-5);color:var(--c-text-muted);font-size:var(--text-sm)}.hero__loading:before{content:"";flex:0 0 auto;width:.9rem;height:.9rem;border:2px solid var(--c-border-strong);border-top-color:var(--c-accent);border-radius:var(--r-full);animation:spin .7s linear infinite}.home-section{display:flex;flex-direction:column;gap:var(--sp-3)}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:var(--sp-3);padding:0;margin:0;list-style:none}.category-card{display:flex;flex-direction:column;gap:.15rem;height:100%;padding:var(--sp-4);border:1px solid var(--c-border);border-block-start:3px solid var(--tone, var(--c-accent));border-radius:var(--r-md);background:var(--c-bg-raised);text-decoration:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.category-card:hover{border-color:var(--c-border-strong);border-block-start-color:var(--tone, var(--c-accent));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.category-card__name{color:var(--c-text);font-size:var(--text-base);font-weight:600;letter-spacing:var(--tracking-cjk)}.category-card__en{color:var(--c-text-faint);font-size:var(--text-xs);letter-spacing:.04em}.category-card__count{margin-block-start:var(--sp-2);color:var(--tone, var(--c-accent));font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.country-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:0;margin:0;list-style:none}.country-chip{display:inline-flex;align-items:baseline;gap:.45em;padding:.3rem var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-full);background:var(--c-bg-raised);color:var(--c-text-soft);font-size:var(--text-sm);text-decoration:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.country-chip:hover{background:var(--c-accent-soft);border-color:var(--c-accent-border);color:var(--c-accent-hover)}.country-chip__count{color:var(--c-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.country-chip--topic{border-style:dashed;border-color:var(--c-brass-border);color:var(--c-brass)}.country-chip--topic:hover{background:var(--c-brass-soft);border-color:var(--c-brass);color:var(--c-brass)}.home-subsection{margin-block-start:var(--sp-6)}.home-subsection__title{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;color:var(--c-text-soft)}.home-subsection__note{margin-block:var(--sp-1) var(--sp-3);color:var(--c-text-muted);font-size:var(--text-xs)}.album-rail{display:flex;gap:var(--sp-3);padding:var(--sp-1) var(--sp-1) var(--sp-4);margin:0;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}.album-rail:focus-visible{box-shadow:var(--ring)}.album-rail__item{flex:0 0 min(17rem,78vw);scroll-snap-align:start}.album-card{display:flex;flex-direction:column;gap:var(--sp-2);height:100%;padding:var(--sp-4);border:1px solid var(--c-brass-border);border-radius:var(--r-md);background:linear-gradient(160deg,var(--c-brass-soft) 0%,var(--c-bg-raised) 70%);text-decoration:none;transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.album-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.album-card--disabled{border-style:dashed;border-color:var(--c-border);background:var(--c-bg-raised);opacity:.72}.album-card__icon{color:var(--c-brass);font-size:1.3rem}.album-card--disabled .album-card__icon{color:var(--c-text-faint)}.album-card__title{color:var(--c-text);font-family:var(--font-body);font-size:var(--text-md);font-weight:600;line-height:1.45}.album-card__note{color:var(--c-text-muted);font-size:var(--text-xs);line-height:1.7}.album-card__cta{display:inline-flex;align-items:center;gap:.3em;margin-block-start:auto;color:var(--c-brass);font-size:var(--text-xs);font-weight:600}.album-card__cta--muted{color:var(--c-text-faint);font-weight:400}.browse{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(min-width:1024px){.browse{grid-template-columns:var(--sidebar-w) minmax(0,1fr);gap:var(--sp-6)}}.browse__sidebar{position:sticky;top:calc(var(--header-h) + var(--sp-4));max-height:calc(100dvh - var(--header-h) - var(--sp-8));overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-3) var(--sp-4) var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-bg-raised);scrollbar-gutter:stable}.browse__sidebar-inner{display:flex;flex-direction:column;gap:var(--sp-2)}.drawer .browse__sidebar-inner{padding:var(--sp-3) var(--sp-4) var(--sp-6)}.browse__sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding-block-end:var(--sp-2);border-block-end:1px solid var(--c-border)}.browse__sidebar-title{margin:0;font-size:var(--text-base);letter-spacing:var(--tracking-cjk)}.browse__keyword{position:relative;display:block;margin-block:var(--sp-2) var(--sp-1)}.browse__keyword-icon{position:absolute;inset-block-start:50%;inset-inline-start:var(--sp-2);translate:0 -50%;color:var(--c-text-faint);pointer-events:none}.browse__keyword-input{width:100%;padding:.35rem var(--sp-2) .35rem 1.8rem;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm)}.browse__keyword-input:focus-visible{border-color:var(--c-accent)}.browse__clear-all{margin-block-start:var(--sp-3);justify-content:center}.browse__drawer-trigger{justify-self:start}.browse__drawer-badge{display:inline-grid;place-items:center;min-width:1.15rem;height:1.15rem;padding-inline:.25rem;border-radius:var(--r-full);background:var(--c-accent);color:var(--c-on-accent);font-size:.66rem;font-weight:700}.browse__main{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.browse__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding-block-end:var(--sp-3);border-block-end:1px solid var(--c-border-subtle)}.browse__count{margin:0;color:var(--c-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.browse__controls{display:flex;align-items:center;gap:var(--sp-2);margin-inline-start:auto}.browse__sort{position:relative;display:inline-flex;align-items:center}.browse__sort-icon{position:absolute;inset-inline-start:var(--sp-2);color:var(--c-text-faint);pointer-events:none;font-size:.9rem}.browse__sort-select{width:auto;padding:.3rem var(--sp-7) .3rem 1.75rem;font-size:var(--text-sm)}.view-switch{display:inline-flex;border:1px solid var(--c-border-strong);border-radius:var(--r-md);overflow:hidden}.view-switch__btn{display:grid;place-items:center;width:2.1rem;height:2.1rem;background:var(--c-bg-raised);color:var(--c-text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.view-switch__btn+.view-switch__btn{border-inline-start:1px solid var(--c-border)}.view-switch__btn:hover{background:var(--c-bg-muted);color:var(--c-text)}.view-switch__btn.is-active{background:var(--c-accent);color:var(--c-on-accent)}.browse__more{display:flex;justify-content:center;padding-block-start:var(--sp-2)}.page--gun{gap:var(--sp-6)}.breadcrumb{font-size:var(--text-xs)}.breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem;padding:0;margin:0;list-style:none}.breadcrumb__sep{display:inline-flex;color:var(--c-text-faint);font-size:.85em}.breadcrumb__link{display:inline-flex;align-items:center;gap:.3em;padding:.15rem .3rem;border-radius:var(--r-sm);color:var(--c-text-muted);text-decoration:none}.breadcrumb__link:hover{background:var(--c-bg-muted);color:var(--c-accent)}.breadcrumb__link--album{color:var(--c-brass)}.breadcrumb__current{padding:.15rem .3rem;color:var(--c-text);font-weight:500}.gun-head{display:flex;flex-direction:column;gap:var(--sp-3);padding-block-end:var(--sp-5);border-block-end:1px solid var(--c-border)}.gun-head__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3);font-family:var(--font-body);font-size:clamp(1.6rem,4.5vw,2.4rem);font-weight:700;letter-spacing:.02em;line-height:1.3}.gun-head__suffix{color:var(--c-text-muted);font-family:var(--font-ui);font-size:var(--text-md);font-weight:400}.gun-head__suffix:before{content:"·";margin-inline-end:.5em;color:var(--c-text-faint)}.gun-head__badges{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.gun-hero{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:linear-gradient(var(--c-bg-inset),var(--c-bg-inset)),var(--c-bg-raised)}.gun-hero__img{border-radius:var(--r-sm);background:var(--c-bg)}.gun-hero__caption{color:var(--c-text-muted);font-size:var(--text-xs);text-align:center}.gun-note{display:flex;align-items:center;gap:.4em;color:var(--c-text-faint);font-size:var(--text-xs)}.gun-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-8);align-items:start}@media(min-width:1440px){.gun-body{grid-template-columns:minmax(0,1fr) 16.5rem;gap:var(--sp-10)}}.gun-body .prose{max-width:68em}.gun-body--aside-hidden{grid-template-columns:minmax(0,1fr)}.gun-body--aside-hidden .gun-aside{display:none}.gun-body--aside-hidden .prose{max-width:68em;margin-inline:auto}.gun-bodybar{display:flex;justify-content:flex-end;margin-block:0 var(--sp-2)}.aside-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.25rem var(--sp-3);font:inherit;font-size:var(--text-sm);color:var(--c-text-soft);background:transparent;border:1px solid var(--c-border);border-radius:var(--r-full);cursor:pointer}.aside-toggle:hover{color:var(--c-text);border-color:var(--c-border-strong);background:var(--c-bg-raised)}.gun-content{min-width:0}.gun-section{display:flex;flex-direction:column}.gun-section__heading{margin-block:var(--sp-8) var(--sp-3);padding-block-end:var(--sp-2);border-block-end:1px solid var(--c-border);font-family:var(--font-body);font-size:var(--text-xl);letter-spacing:var(--tracking-cjk);scroll-margin-block-start:calc(var(--header-h) + var(--sp-4))}.gun-section:first-child .gun-section__heading{margin-block-start:0}.prose-p:not(:has(p)){text-indent:2em}.prose-p table,.prose-p figure,.prose-p ul,.prose-p ol,.prose-p blockquote{text-indent:0}.prose-figure{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);margin-block:var(--sp-6);margin-inline:auto}.prose-figure__img{border:1px solid var(--c-border);border-radius:var(--r-tile);background:var(--c-bg-inset);box-shadow:var(--shadow-xs)}.prose-figure__caption{max-width:100%;color:var(--c-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.7;text-align:center}.image-fold{display:flex;align-items:center;gap:var(--sp-2);margin-block:var(--sp-4);margin-inline:auto;text-indent:0}.image-fold svg{font-size:1.05em;opacity:.7}.gun-aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--sp-5);min-width:0}@media(min-width:1440px){.gun-aside{position:sticky;top:calc(var(--header-h) + var(--sp-5));grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - var(--header-h) - var(--sp-10));overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}}.gun-toc,.gun-meta,.gun-refs{padding:var(--sp-3) var(--sp-4) var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised)}.gun-aside__title{margin-block-end:var(--sp-2);color:var(--c-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.gun-toc ol{display:flex;flex-direction:column;gap:.15rem;padding:0;margin:0;list-style:none;counter-reset:toc}.gun-toc a{display:block;padding:.2rem 0;color:var(--c-text-soft);font-size:var(--text-sm);line-height:1.6;text-decoration:none;border-inline-start:2px solid transparent;padding-inline-start:var(--sp-2)}.gun-toc a:hover{color:var(--c-accent);border-inline-start-color:var(--c-accent);background:var(--c-accent-soft)}.gun-aside__empty{color:var(--c-text-faint);font-size:var(--text-xs)}.gun-meta dl{display:flex;flex-direction:column;gap:var(--sp-2);margin:0}.gun-meta dt{color:var(--c-text-faint);font-size:var(--text-xs)}.gun-meta dd{margin:0;color:var(--c-text-soft);font-size:var(--text-sm)}.gun-meta__path{display:block;font-family:var(--font-mono);font-size:.7rem;color:var(--c-text-muted);word-break:break-all}.gun-meta__origin{display:inline;font-family:var(--font-mono);font-size:.7rem;line-height:1.6;color:var(--c-accent);word-break:break-all;text-decoration:none;text-underline-offset:.18em}.gun-meta__origin:hover{text-decoration:underline;background:var(--c-accent-soft)}.gun-meta__origin svg{display:inline-block;margin-inline-start:.25em;font-size:.95em;opacity:.7;vertical-align:-.1em}.gun-meta__note{margin:var(--sp-3) 0 0;color:var(--c-text-faint);font-size:var(--text-xs);line-height:1.7;text-indent:0}.gun-meta__note a{color:var(--c-accent);text-underline-offset:.18em}.gun-meta__fixed{display:inline-block;margin-inline-start:.4em;padding:0 .4em;border:1px solid var(--c-brass-border);border-radius:var(--r-sm);background:var(--c-brass-soft);color:var(--c-brass);font-size:.62rem;line-height:1.6;white-space:nowrap}.gun-meta__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-block-start:var(--sp-3)}.gun-refs ul,.ref-list{display:flex;flex-direction:column;gap:var(--sp-2);padding:0;margin:0;list-style:none}.gun-refs a{display:inline-flex;align-items:center;gap:.35em;color:var(--c-accent);font-size:var(--text-sm);text-decoration:none;word-break:break-all}.gun-refs a:hover{text-decoration:underline}.gun-related{padding-block-start:var(--sp-5);border-block-start:1px solid var(--c-border)}.gun-related .section-head__title{margin-block-end:var(--sp-3)}.ref-list{gap:var(--sp-3)}.ref-list li{display:flex;flex-direction:column;gap:.1rem}.ref-list a{display:inline-flex;align-items:center;gap:.35em;color:var(--c-text);font-size:var(--text-sm);text-decoration:none}.ref-list a:hover{color:var(--c-accent);text-decoration:underline}.ref-list__url{color:var(--c-text-faint);font-family:var(--font-mono);font-size:.7rem}.hub-intro{padding:var(--sp-4) var(--sp-5);border:1px solid var(--c-border);border-inline-start:3px solid var(--c-accent);border-radius:var(--r-md);background:var(--c-bg-raised)}.hub-intro__text{margin:0;text-indent:0;color:var(--c-text-soft)}.hub-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.hub-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}@media(min-width:1024px){.hub-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:var(--sp-5)}}.hub-group{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised)}.hub-group__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2);padding-block-end:var(--sp-2);border-block-end:1px solid var(--c-border-subtle)}.hub-group__title{margin:0;font-size:var(--text-base);letter-spacing:var(--tracking-cjk)}.hub-group__count{padding:.02rem .4rem;border-radius:var(--r-full);background:var(--c-bg-muted);color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.hub-group__more{display:inline-flex;align-items:center;gap:.25em;margin-inline-start:auto;color:var(--c-text-muted);font-size:var(--text-xs);text-decoration:none}.hub-group__more:hover{color:var(--c-accent);text-decoration:underline}.hub-list{display:flex;flex-direction:column;padding:0;margin:0;list-style:none}.hub-list__link{display:flex;align-items:center;gap:var(--sp-2);padding:.4rem var(--sp-2);border-radius:var(--r-sm);color:var(--c-text-soft);font-size:var(--text-sm);text-decoration:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.hub-list__link:hover{background:var(--c-accent-soft);color:var(--c-accent-hover)}.hub-list__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-list__arrow{margin-inline-start:auto;flex:0 0 auto;color:var(--c-text-faint);font-size:.85em}.hub-group--full{grid-column:1 / -1}.hub-list--columns{display:block;columns:1;column-gap:var(--sp-5)}.hub-list--columns>li{break-inside:avoid}@media(min-width:640px){.hub-list--columns{columns:2}}@media(min-width:1024px){.hub-list--columns{columns:3}}@media(min-width:1440px){.hub-list--columns{columns:4}}.updates-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised)}.updates-toolbar__tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.updates-toolbar__search{position:relative;display:flex;align-items:center;flex:1 1 14rem;min-width:0}.updates-toolbar__search-icon{position:absolute;inset-inline-start:var(--sp-2);color:var(--c-text-faint);pointer-events:none}.updates-toolbar__input{width:100%;padding:.35rem var(--sp-2) .35rem 1.8rem;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm)}.updates-toolbar__input:focus-visible{border-color:var(--c-accent)}.updates-toolbar .btn{margin-inline-start:auto}.updates-summary{color:var(--c-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.search-form{display:flex;align-items:center;gap:var(--sp-2);margin-block-start:var(--sp-2)}.search-form__icon{position:absolute;inset-inline-start:var(--sp-3);color:var(--c-text-faint);pointer-events:none}.search-form{position:relative}.search-form__input{flex:1 1 auto;min-width:0;padding:.55rem var(--sp-3) .55rem 2.2rem;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-base)}.search-form__input:focus-visible{border-color:var(--c-accent)}.search-summary{color:var(--c-text-muted);font-size:var(--text-sm)}.search-summary strong{color:var(--c-text)}.search-summary__took,.search-summary__body{color:var(--c-text-faint);font-family:var(--font-mono);font-size:var(--text-xs)}.search-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6);align-items:start}@media(min-width:1024px){.search-layout{grid-template-columns:14rem minmax(0,1fr)}}.search-facets{display:flex;flex-direction:column;gap:var(--sp-5)}@media(min-width:1024px){.search-facets{position:sticky;top:calc(var(--header-h) + var(--sp-4))}}.search-results{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.result-list{display:flex;flex-direction:column;gap:var(--sp-4);padding:0;margin:0;list-style:none;counter-reset:none}.result{padding-block-end:var(--sp-4);border-block-end:1px solid var(--c-border-subtle)}.result:last-child{border-block-end:0}.result__title{margin:0 0 .25rem;font-size:var(--text-md);font-weight:600;line-height:1.5}.result__title a{color:var(--c-accent);text-decoration:none}.result__title a:hover{text-decoration:underline}.result__title mark{background:var(--c-brass-soft);color:var(--c-brass);border-radius:2px}.result__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);margin-block-end:.3rem}.result__score{color:var(--c-text-faint);font-family:var(--font-mono);font-size:.68rem}.result__snippet{max-width:var(--measure-wide);color:var(--c-text-soft);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.85}.result__snippet mark{background:var(--c-brass-soft);color:var(--c-brass);border-radius:2px}.result__path{margin-block-start:.3rem}.result__path code{color:var(--c-text-faint);font-family:var(--font-mono);font-size:.68rem;word-break:break-all}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);padding-block-start:var(--sp-2)}.pagination__info{color:var(--c-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.status-hero{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-bg-raised)}.status-hero__dot{flex:0 0 auto;width:.75rem;height:.75rem;border-radius:var(--r-full);background:var(--c-text-faint)}.status-hero.is-ok .status-hero__dot{background:var(--c-ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-ok) 18%,transparent)}.status-hero.is-bad .status-hero__dot{background:var(--c-danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-danger) 18%,transparent)}.status-hero__title{margin:0;color:var(--c-text);font-size:var(--text-md);font-weight:600}.status-hero__desc{margin:.1rem 0 0;color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.status-hero .btn{margin-inline-start:auto}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--sp-4)}.status-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-raised)}.status-card__title{display:flex;align-items:center;gap:var(--sp-2);margin:0;padding-block-end:var(--sp-2);border-block-end:1px solid var(--c-border-subtle);color:var(--c-text);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em}.status-card__title svg{color:var(--c-text-muted)}.status-card__body{display:flex;flex-direction:column;gap:var(--sp-2);margin:0}.status-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.status-row dt{color:var(--c-text-muted);font-size:var(--text-xs)}.status-row dd{margin:0;color:var(--c-text);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:end;word-break:break-word}.status-row dd.is-ok{color:var(--c-ok)}.status-row dd.is-warn{color:var(--c-warn)}.status-row dd.is-danger{color:var(--c-danger)}.meter{height:.35rem;border-radius:var(--r-full);background:var(--c-bg-muted);overflow:hidden}.meter__fill{display:block;height:100%;border-radius:var(--r-full);background:var(--c-accent);transition:width var(--dur-slow) var(--ease)}.status-card__note{margin:0;color:var(--c-text-faint);font-size:var(--text-xs);line-height:1.7}.status-card__error{margin:0;color:var(--c-text-muted);font-size:var(--text-xs);line-height:1.7}.status-card__error code{display:block;margin-block-start:.2rem;padding:var(--sp-2);border-radius:var(--r-sm);background:var(--c-bg-muted);font-family:var(--font-mono);font-size:.7rem;word-break:break-word}.status-card__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.notfound{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);max-width:42rem;margin-inline:auto;padding:var(--sp-14) var(--sp-4);text-align:center}.notfound__code{margin:0;color:var(--c-border-strong);font-family:var(--font-mono);font-size:clamp(3.5rem,14vw,6rem);font-weight:700;line-height:1}.notfound__title{font-size:var(--text-2xl)}.notfound__desc{color:var(--c-text-muted);font-size:var(--text-sm)}.notfound__desc code,.notfound__hint code{padding:.05em .3em;border-radius:var(--r-sm);background:var(--c-bg-muted);font-family:var(--font-mono);font-size:.9em;word-break:break-all}.notfound__hint{max-width:46ch;color:var(--c-text-muted);font-size:var(--text-sm);line-height:1.85}.notfound__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3);margin-block-start:var(--sp-3)}
