.switcher[data-v-e402b9f9]{position:relative}.switch-btn[data-v-e402b9f9]{height:38px;color:var(--ink-2);border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.switch-btn[data-v-e402b9f9]:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}.flag[data-v-e402b9f9]{object-fit:cover;border-radius:2px;width:20px;height:15px;box-shadow:0 0 0 1px #00000014}.name[data-v-e402b9f9]{text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.chev[data-v-e402b9f9]{transition:transform .2s var(--ease);opacity:.6}.chev.up[data-v-e402b9f9]{transform:rotate(180deg)}.check[data-v-e402b9f9]{color:var(--accent);margin-left:auto}@media (width<=480px){.name[data-v-e402b9f9]{display:none}}.switcher[data-v-0476ba49]{position:relative}.switch-btn[data-v-0476ba49]{height:38px;color:var(--ink-2);border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.switch-btn[data-v-0476ba49]:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}.dot[data-v-0476ba49]{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.name[data-v-0476ba49]{text-overflow:ellipsis;white-space:nowrap;max-width:60px;overflow:hidden}.chev[data-v-0476ba49]{transition:transform .2s var(--ease);opacity:.6}.chev.up[data-v-0476ba49]{transform:rotate(180deg)}.theme-pop[data-v-0476ba49]{width:268px;right:0}.theme-grid[data-v-0476ba49]{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.theme-item[data-v-0476ba49]{border-radius:var(--r-xs);text-align:left;align-items:center;gap:10px;padding:9px 10px;transition:background-color .18s;display:flex}.theme-item[data-v-0476ba49]:hover,.theme-item.on[data-v-0476ba49]{background:var(--accent-soft)}.swatch[data-v-0476ba49]{border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid;box-shadow:inset 0 0 0 1px #00000024}.ring[data-v-0476ba49]{background:var(--accent);opacity:0;border-radius:50%;width:6px;height:6px}.theme-item.on .ring[data-v-0476ba49]{opacity:1}.label[data-v-0476ba49]{color:var(--ink-2);font-size:12.5px}.theme-item.on .label[data-v-0476ba49]{color:var(--accent-ink)}@media (width<=480px){.name[data-v-0476ba49]{display:none}}.site-header[data-v-c3d5b263]{z-index:60;background:var(--header);-webkit-backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--line);position:sticky;top:0}.head-inner[data-v-c3d5b263]{height:var(--header-h);align-items:center;gap:24px;display:flex}.brand[data-v-c3d5b263]{flex:none;align-items:center;gap:10px;display:inline-flex}.mark[data-v-c3d5b263]{width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.wordmark[data-v-c3d5b263]{font-family:var(--serif);letter-spacing:.2em;white-space:nowrap;color:var(--ink);font-size:15px;font-weight:500;line-height:1}.nav[data-v-c3d5b263]{flex:1;align-items:center;gap:2px;margin-left:8px;display:flex}.nav-link[data-v-c3d5b263]{color:var(--ink-2);border-radius:999px;padding:8px 13px;font-size:13.5px;transition:color .2s,background-color .2s;position:relative}.nav-link[data-v-c3d5b263]:hover{color:var(--ink);background:var(--surface)}.nav-link.active[data-v-c3d5b263]{color:var(--accent);background:var(--accent-soft)}.head-tools[data-v-c3d5b263]{align-items:center;gap:4px;margin-left:auto;display:flex}.menu-btn[data-v-c3d5b263]{width:38px;height:38px;color:var(--ink-2);border-radius:999px;justify-content:center;align-items:center;display:none}.menu-btn[data-v-c3d5b263]:hover{background:var(--surface)}.mobile-panel[data-v-c3d5b263]{left:0;right:0;top:var(--header-h);background:var(--bg);overscroll-behavior:contain;animation:panel-in-c3d5b263 .22s var(--ease);padding:8px 20px 40px;display:none;position:fixed;bottom:0;overflow-y:auto}@keyframes panel-in-c3d5b263{0%{opacity:0;transform:translateY(-6px)}}.mobile-nav[data-v-c3d5b263]{flex-direction:column;display:flex}.mobile-link[data-v-c3d5b263]{border-bottom:1px solid var(--line);color:var(--ink-2);justify-content:space-between;align-items:center;padding:14px 4px;font-size:16px;display:flex}.mobile-link.active[data-v-c3d5b263]{color:var(--accent)}.mobile-link .arrow[data-v-c3d5b263]{color:var(--ink-3);font-size:13px}.mobile-block[data-v-c3d5b263]{margin-top:20px}.block-label[data-v-c3d5b263]{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-size:11px}.chips[data-v-c3d5b263]{flex-wrap:wrap;gap:8px;display:flex}@media (width<=960px){.nav[data-v-c3d5b263],.desk-only[data-v-c3d5b263]{display:none}.menu-btn[data-v-c3d5b263]{display:inline-flex}.mobile-panel[data-v-c3d5b263]{display:block}}.drop-enter-active[data-v-c3d5b263],.drop-leave-active[data-v-c3d5b263]{transition:opacity .2s var(--ease), transform .22s var(--ease)}.drop-enter-from[data-v-c3d5b263],.drop-leave-to[data-v-c3d5b263]{opacity:0;transform:translateY(-8px)}.name[data-v-970b084a]{font-family:var(--serif);letter-spacing:.14em;color:var(--ink);font-size:19px}.note[data-v-970b084a]{color:var(--ink-3);margin-top:10px;font-size:11.5px;line-height:1.7}.contact a[data-v-970b084a]{word-break:break-all}.toast-enter-active[data-v-90e400a9],.toast-leave-active[data-v-90e400a9]{transition:opacity .22s var(--ease), transform .22s var(--ease)}.toast-enter-from[data-v-90e400a9],.toast-leave-to[data-v-90e400a9]{opacity:0;transform:translateY(8px)}.skip{z-index:200;background:var(--surface);padding:10px 16px;position:absolute;top:0;left:-9999px}.skip:focus{top:12px;left:12px}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbf8f4;--bg-soft:#f5efe8;--surface:#fff;--surface-2:#fdfaf7;--ink:#211b18;--ink-2:#6e625b;--ink-3:#9c9089;--line:#ebe2d9;--line-strong:#ddd1c5;--accent:#b64b5e;--accent-deep:#94394a;--accent-soft:#f8e4e8;--accent-ink:#8e3546;--on-accent:#fff;--header:#fbf8f4d1;--glow-1:#b64b5e1a;--glow-2:#c99a5c1f;--shadow-sm:0 1px 2px #211b180a, 0 2px 8px #211b1808;--shadow:0 4px 12px #211b180d, 0 16px 40px #211b180f;--shadow-lg:0 8px 24px #211b1814, 0 32px 80px #211b181a;--ring:#b64b5e47}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141110;--bg-soft:#1a1614;--surface:#1f1a18;--surface-2:#251f1c;--ink:#f4ebe4;--ink-2:#b3a49b;--ink-3:#857871;--line:#f4ebe41a;--line-strong:#f4ebe42e;--accent:#e88b9a;--accent-deep:#f2a3af;--accent-soft:#e88b9a24;--accent-ink:#f2a3af;--on-accent:#2a1116;--header:#141110c7;--glow-1:#e88b9a1f;--glow-2:#c99a5c14;--shadow-sm:0 1px 2px #0006;--shadow:0 4px 14px #0000005c, 0 18px 44px #00000052;--shadow-lg:0 10px 30px #00000080, 0 40px 90px #00000073;--ring:#e88b9a59}[data-theme=red]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fef8f7;--bg-soft:#fbeeec;--surface:#fff;--surface-2:#fffaf9;--ink:#241a18;--ink-2:#6f5b57;--ink-3:#a08b87;--line:#f0ded9;--line-strong:#e5cdc7;--accent:#c0392b;--accent-deep:#9b2c21;--accent-soft:#fbe3e0;--accent-ink:#9b2c21;--on-accent:#fff;--header:#fef8f7d6;--glow-1:#c0392b1a;--glow-2:#e6a07824;--shadow-sm:0 1px 2px #3c14100a, 0 2px 8px #3c141008;--shadow:0 4px 12px #3c14100d, 0 16px 40px #3c14100f;--shadow-lg:0 8px 24px #3c141014, 0 32px 80px #3c14101a;--ring:#c0392b42}[data-theme=orange]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff9f3;--bg-soft:#fdf0e4;--surface:#fff;--surface-2:#fffbf7;--ink:#241c14;--ink-2:#71604f;--ink-3:#a2917f;--line:#f3e3d3;--line-strong:#e9d3be;--accent:#d2691e;--accent-deep:#a9500f;--accent-soft:#fce7d4;--accent-ink:#a9500f;--on-accent:#fff;--header:#fff9f3d6;--glow-1:#d2691e1a;--glow-2:#e0a86029;--shadow-sm:0 1px 2px #3c26120a, 0 2px 8px #3c261208;--shadow:0 4px 12px #3c26120d, 0 16px 40px #3c26120f;--shadow-lg:0 8px 24px #3c261214, 0 32px 80px #3c26121a;--ring:#d2691e42}[data-theme=yellow]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fffbef;--bg-soft:#fdf4dc;--surface:#fff;--surface-2:#fffdf6;--ink:#241f12;--ink-2:#6f6350;--ink-3:#9e927e;--line:#f2e7cd;--line-strong:#e7d9b8;--accent:#b07d0a;--accent-deep:#8a6008;--accent-soft:#faf0cb;--accent-ink:#8a6008;--on-accent:#fff;--header:#fffbefd9;--glow-1:#b07d0a1a;--glow-2:#d4b06029;--shadow-sm:0 1px 2px #382c0e0a, 0 2px 8px #382c0e08;--shadow:0 4px 12px #382c0e0d, 0 16px 40px #382c0e0f;--shadow-lg:0 8px 24px #382c0e14, 0 32px 80px #382c0e1a;--ring:#b07d0a42}[data-theme=green]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7fbf7;--bg-soft:#eef7f0;--surface:#fff;--surface-2:#fafdfa;--ink:#18211b;--ink-2:#5a6a5e;--ink-3:#8b9a8e;--line:#dfece1;--line-strong:#cfe0d2;--accent:#2e7d4f;--accent-deep:#22613c;--accent-soft:#dcefe2;--accent-ink:#22613c;--on-accent:#fff;--header:#f7fbf7d9;--glow-1:#2e7d4f1a;--glow-2:#96be8c29;--shadow-sm:0 1px 2px #12281a0a, 0 2px 8px #12281a08;--shadow:0 4px 12px #12281a0d, 0 16px 40px #12281a0f;--shadow-lg:0 8px 24px #12281a14, 0 32px 80px #12281a1a;--ring:#2e7d4f42}[data-theme=cyan]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4fbfc;--bg-soft:#e9f6f8;--surface:#fff;--surface-2:#f9fdfe;--ink:#142023;--ink-2:#526a6e;--ink-3:#84999d;--line:#d9edf0;--line-strong:#c4e1e6;--accent:#0e8391;--accent-deep:#0a6873;--accent-soft:#d6eff2;--accent-ink:#0a6873;--on-accent:#fff;--header:#f4fbfcd9;--glow-1:#0e83911a;--glow-2:#7ebec829;--shadow-sm:0 1px 2px #0c282c0a, 0 2px 8px #0c282c08;--shadow:0 4px 12px #0c282c0d, 0 16px 40px #0c282c0f;--shadow-lg:0 8px 24px #0c282c14, 0 32px 80px #0c282c1a;--ring:#0e839142}[data-theme=blue]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f9ff;--bg-soft:#edf3ff;--surface:#fff;--surface-2:#fafcff;--ink:#161c2a;--ink-2:#55627a;--ink-3:#8794ab;--line:#e0e8f7;--line-strong:#cfdaf0;--accent:#2a5bd7;--accent-deep:#1f46ac;--accent-soft:#dee7fc;--accent-ink:#1f46ac;--on-accent:#fff;--header:#f6f9ffd9;--glow-1:#2a5bd71a;--glow-2:#8caaeb29;--shadow-sm:0 1px 2px #101e3c0a, 0 2px 8px #101e3c08;--shadow:0 4px 12px #101e3c0d, 0 16px 40px #101e3c0f;--shadow-lg:0 8px 24px #101e3c14, 0 32px 80px #101e3c1a;--ring:#2a5bd742}[data-theme=purple]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf8ff;--bg-soft:#f2edfd;--surface:#fff;--surface-2:#fcfbff;--ink:#1d1828;--ink-2:#5f5775;--ink-3:#8f88a3;--line:#e9e3f6;--line-strong:#dad1ef;--accent:#6d3bd1;--accent-deep:#552ba8;--accent-soft:#e9e1fb;--accent-ink:#552ba8;--on-accent:#fff;--header:#faf8ffd9;--glow-1:#6d3bd11a;--glow-2:#af96e629;--shadow-sm:0 1px 2px #1e14380a, 0 2px 8px #1e143808;--shadow:0 4px 12px #1e14380d, 0 16px 40px #1e14380f;--shadow-lg:0 8px 24px #1e143814, 0 32px 80px #1e14381a;--ring:#6d3bd142}[data-theme=pink]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff8fb;--bg-soft:#fdeef5;--surface:#fff;--surface-2:#fffafc;--ink:#261a20;--ink-2:#715a66;--ink-3:#a28a96;--line:#f5dfea;--line-strong:#edcddd;--accent:#ce3f86;--accent-deep:#a92f6d;--accent-soft:#fbdceb;--accent-ink:#a92f6d;--on-accent:#fff;--header:#fff8fbd9;--glow-1:#ce3f861a;--glow-2:#eba0c32e;--shadow-sm:0 1px 2px #3c14280a, 0 2px 8px #3c142808;--shadow:0 4px 12px #3c14280d, 0 16px 40px #3c14280f;--shadow-lg:0 8px 24px #3c142814, 0 32px 80px #3c14281a;--ring:#ce3f8642}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.7;transition:background-color .35s,color .35s}:root{--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", "Iowan Old Style", Georgia, "Times New Roman", serif;--mono:"SF Mono", "JetBrains Mono", Consolas, monospace;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:28px;--ease:cubic-bezier(.22, .61, .36, 1);--header-h:68px}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:.01em;color:var(--ink);text-wrap:balance;margin:0;font-weight:600;line-height:1.28}p{margin:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--accent-soft);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.shell-narrow{width:min(820px,100% - 48px);margin-inline:auto}main{min-height:60vh;padding-bottom:80px}.section{margin-top:64px}.section+.section{margin-top:56px}.section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.section-head .title-group{flex-direction:column;gap:6px;display:flex}.section-title{align-items:center;gap:10px;font-size:clamp(21px,2.4vw,26px);display:flex}.section-title:before{content:"";background:var(--accent);flex:none;width:22px;height:1px}.section-sub{color:var(--ink-3);letter-spacing:.02em;font-size:13.5px}.section-link{color:var(--ink-2);white-space:nowrap;border-bottom:1px solid #0000;align-items:center;gap:6px;padding-bottom:2px;font-size:13.5px;transition:color .2s,border-color .2s;display:inline-flex}.section-link:hover{color:var(--accent);border-color:var(--accent)}.section-link .arrow{transition:transform .2s var(--ease)}.section-link:hover .arrow{transform:translate(3px)}.page-head{border-bottom:1px solid var(--line);margin-bottom:32px;padding:40px 0 28px}.page-head h1{margin:14px 0 10px;font-size:clamp(28px,3.6vw,38px)}.page-lead{color:var(--ink-2);max-width:62ch;font-size:15.5px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:11.5px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:16px;height:1px}.crumbs{color:var(--ink-3);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.crumbs a{color:var(--ink-2);transition:color .2s}.crumbs a:hover{color:var(--accent)}.crumbs .sep{opacity:.5;font-size:11px}.crumbs .current{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:30ch;overflow:hidden}.btn{--btn-bg:var(--accent);--btn-ink:var(--on-accent);background:var(--btn-bg);height:44px;color:var(--btn-ink);letter-spacing:.02em;transition:transform .18s var(--ease), box-shadow .22s, background-color .22s, color .22s, border-color .22s;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{box-shadow:0 8px 20px -8px var(--ring);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn.ghost{color:var(--ink-2);border-color:var(--line-strong);background:0 0}.btn.ghost:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);box-shadow:none}.btn.soft{background:var(--accent-soft);color:var(--accent-ink)}.btn.soft:hover{background:var(--accent-soft);box-shadow:0 8px 20px -10px var(--ring)}.btn.small{height:34px;padding:0 15px;font-size:13px}.btn.icon{border-radius:999px;width:40px;height:40px;padding:0}.icon-btn{width:38px;height:38px;color:var(--ink-2);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.icon-btn:hover{background:var(--accent-soft);color:var(--accent-ink)}.chip{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--ink-2);transition:all .2s var(--ease);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tag{color:var(--accent-ink);background:var(--accent-soft);letter-spacing:.02em;border-radius:999px;padding:3px 9px;font-size:11.5px}.field{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);width:100%;height:46px;color:var(--ink);padding:0 16px;font-size:14.5px;transition:border-color .2s,box-shadow .2s}textarea.field{resize:vertical;height:auto;min-height:120px;padding:14px 16px;line-height:1.7}.field::placeholder{color:var(--ink-3)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring);outline:none}.field-label{color:var(--ink-2);letter-spacing:.02em;margin-bottom:8px;font-size:12.5px;display:block}.searchbar{align-items:center;gap:10px;display:flex}.searchbar .field{flex:1;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.grid{gap:18px;display:grid}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(272px,1fr))}.a-card{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);transition:transform .24s var(--ease), box-shadow .24s, border-color .24s;flex-direction:column;gap:10px;height:100%;padding:22px 22px 20px;display:flex;position:relative}.a-card:hover{box-shadow:var(--shadow);border-color:var(--line-strong);transform:translateY(-3px)}.a-card .meta-row{color:var(--ink-3);letter-spacing:.04em;align-items:center;gap:10px;font-size:11.5px;display:flex}.a-card .cat{color:var(--accent-ink);font-weight:500}.a-card h3{letter-spacing:.01em;font-size:17.5px;line-height:1.45}.a-card .excerpt{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13.5px;line-height:1.75;display:-webkit-box;overflow:hidden}.a-card .foot{color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;font-size:11.5px;display:flex}.a-card .index{font-family:var(--mono);color:var(--ink-3);letter-spacing:.08em;font-size:11px}.row-list{flex-direction:column;display:flex}.row-item{border-bottom:1px solid var(--line);transition:color .2s, padding .2s var(--ease);align-items:baseline;gap:16px;padding:15px 4px;display:flex}.row-item:last-child{border-bottom:0}.row-item:hover{color:var(--accent);padding-left:8px}.row-item .date{font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;flex:none;font-size:11.5px}.row-item .t{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14.5px;overflow:hidden}.row-item .c{color:var(--ink-3);flex:none;font-size:11.5px}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:44px;display:flex}.pager button,.pager a{min-width:38px;height:38px;color:var(--ink-2);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:13.5px;transition:all .2s;display:inline-flex}.pager button:hover,.pager a:hover{border-color:var(--line-strong);color:var(--accent)}.pager .active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.pager .disabled{opacity:.35;pointer-events:none}.pager .dots{color:var(--ink-3);padding:0 2px}.empty{text-align:center;color:var(--ink-3);padding:64px 20px}.empty .glyph{font-family:var(--serif);color:var(--accent);opacity:.5;margin-bottom:10px;font-size:34px}.empty h3{color:var(--ink-2);margin-bottom:6px;font-size:16px}.empty p{font-size:13.5px}.modal-mask{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .22s var(--ease);background:#120e0c6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(520px,100%);max-height:min(86vh,760px);box-shadow:var(--shadow-lg);animation:pop .28s var(--ease);overflow:auto}.modal-panel.wide{width:min(680px,100%)}.modal-head{justify-content:space-between;align-items:center;gap:16px;padding:22px 24px 0;display:flex}.modal-head h3{font-size:18px}.modal-body{color:var(--ink-2);padding:16px 24px 4px;font-size:14px;line-height:1.75}.modal-foot{justify-content:flex-end;gap:10px;padding:20px 24px 24px;display:flex}.modal-foot .left{margin-right:auto}.check-item{border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px 16px;transition:border-color .2s,background-color .2s;display:flex}.check-item:hover{border-color:var(--line-strong)}.check-item.on{border-color:var(--accent);background:var(--accent-soft)}.check-item input{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:5px;flex:none;width:18px;height:18px;margin:2px 0 0;transition:all .18s;position:relative}.check-item input:checked{background:var(--accent);border-color:var(--accent)}.check-item input:checked:after{content:"";border:solid var(--on-accent);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1.5px;left:5px;transform:rotate(45deg)}.check-item .txt{color:var(--ink);font-size:14px}.check-item .sub{color:var(--ink-3);margin-top:2px;font-size:12px}.danger-list{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-soft);max-height:220px;margin:12px 0 0;padding:0;list-style:none;overflow:auto}.danger-list li{color:var(--ink-2);border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 14px;font-size:13px;display:flex}.danger-list li:last-child{border-bottom:0}.danger-note{color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--r-sm);margin-top:14px;padding:10px 14px;font-size:12.5px}.toasts{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow);animation:toastIn .26s var(--ease);border-radius:999px;max-width:80vw;padding:10px 18px;font-size:13.5px}[data-theme=dark] .toast{background:var(--ink);color:#141110}.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:40px;padding:56px 0 36px}.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;display:grid}.footer-brand .name{font-family:var(--serif);letter-spacing:.04em;font-size:20px}.footer-brand .desc{color:var(--ink-2);max-width:32ch;margin-top:10px;font-size:13px;line-height:1.8}.footer-col h4{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;font-size:11.5px;font-weight:600}.footer-col a{color:var(--ink-2);padding:5px 0;font-size:13.5px;transition:color .2s;display:block}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:44px;padding-top:20px;font-size:12px;display:flex}.prose{color:var(--ink);font-size:16.5px;line-height:1.95}.prose p{letter-spacing:.01em;margin:0 0 1.35em}.prose h2{margin:2em 0 .8em;font-size:21px}.prose h3{margin:1.7em 0 .7em;font-size:18px}.prose blockquote{border-left:2px solid var(--accent);font-family:var(--serif);color:var(--ink-2);margin:1.8em 0;padding:4px 0 4px 22px;font-size:17px;line-height:1.9}.prose ul,.prose ol{margin:0 0 1.3em;padding-left:1.3em}.prose li{margin-bottom:.5em}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose a{color:var(--accent);border-bottom:1px solid var(--ring)}.muted{color:var(--ink-2)}.small{font-size:12.5px}.center{text-align:center}.stack{flex-direction:column;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.divider{background:var(--line);border:0;height:1px;margin:40px 0}.stat{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:2px;padding:18px 20px;display:flex}.stat .n{font-family:var(--serif);color:var(--accent);font-size:28px;line-height:1.1}.stat .l{color:var(--ink-3);letter-spacing:.04em;font-size:12px}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg, var(--bg-soft), var(--surface), var(--bg-soft));background-size:200% 100%;min-height:160px;animation:1.4s linear infinite shimmer}.pop{background:var(--surface);border:1px solid var(--line);min-width:190px;box-shadow:var(--shadow);z-index:80;border-radius:14px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.pop-head{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:6px 10px 8px;font-size:10.5px}.pop-item{width:100%;color:var(--ink-2);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;transition:background-color .16s,color .16s;display:flex}.pop-item:hover,.pop-item.on{background:var(--accent-soft);color:var(--accent-ink)}.pop-enter-active,.pop-leave-active{transition:opacity .18s var(--ease), transform .18s var(--ease)}.pop-enter-from,.pop-leave-to{opacity:0;transform:translateY(-6px)}.modal-enter-active,.modal-leave-active{transition:opacity .2s var(--ease)}.modal-enter-active .modal-panel{transition:transform .26s var(--ease)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-panel{transform:translateY(16px)scale(.98)}.btn.danger{color:#fff;background:#b3382c}.btn.danger:hover{background:#9c2f25;box-shadow:0 10px 22px -10px #b3382c99}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.rise{animation:rise .6s var(--ease) both}.page-enter-active{transition:opacity .28s var(--ease), transform .28s var(--ease)}.page-leave-active{transition:opacity .14s}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}@media (width<=1080px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-col.contact{grid-column:1/-1}}@media (width<=900px){.grid.c4,.grid.c3{grid-template-columns:repeat(2,minmax(0,1fr))}.shell,.shell-narrow{width:min(1180px,100% - 36px)}}@media (width<=640px){body{font-size:15.5px}.shell,.shell-narrow{width:calc(100% - 32px)}.grid.c2,.grid.c3,.grid.c4,.grid.cards{grid-template-columns:1fr}.section{margin-top:48px}.section-head{flex-direction:column;align-items:flex-start;gap:8px}.page-head{padding:28px 0 22px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.modal-panel{max-height:90vh}.modal-foot{flex-wrap:wrap}.modal-foot .btn{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}html{scroll-behavior:auto}}
