.search-modal[data-v-f9e2989e]{width:min(620px,calc(100vw - 40px));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);color:var(--text)}.sm-input[data-v-f9e2989e]{display:flex;align-items:center;gap:12px;padding:0 18px;height:58px;border-bottom:1px solid var(--border);color:var(--text-3)}.sm-input input[data-v-f9e2989e]{flex:1;border:none;background:transparent;font-size:16px;color:var(--text);font-family:inherit;outline:none;min-width:0}.sm-input input[data-v-f9e2989e]::placeholder{color:var(--text-3)}.sm-esc[data-v-f9e2989e]{font-size:10px;font-family:var(--font-mono);padding:3px 6px;border-radius:4px;background:var(--surface-3);border:1px solid var(--border);color:var(--text-3);cursor:pointer}.sm-body[data-v-f9e2989e]{max-height:46vh;overflow-y:auto;padding:8px}.sm-list[data-v-f9e2989e]{display:flex;flex-direction:column}.sm-hit[data-v-f9e2989e]{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:var(--r-md);border:none;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease-out}.sm-hit.active[data-v-f9e2989e]{background:var(--accent-soft)}.sm-hit-t[data-v-f9e2989e]{font-size:14.5px;font-weight:500;color:var(--text);line-height:1.5}.sm-hit.active .sm-hit-t[data-v-f9e2989e]{color:var(--accent)}.sm-hit-m[data-v-f9e2989e]{font-size:12px;color:var(--text-3)}.sm-none[data-v-f9e2989e]{text-align:center;padding:32px 16px;color:var(--text-2);font-size:14px}.sm-none p[data-v-f9e2989e]{margin-bottom:14px}.sm-sec[data-v-f9e2989e]{padding:12px 12px 8px}.sm-label[data-v-f9e2989e]{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);font-weight:500;margin-bottom:10px}.sm-hot[data-v-f9e2989e]{display:flex;flex-wrap:wrap;gap:8px}.sm-foot[data-v-f9e2989e]{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--border);background:var(--surface-2);font-size:11px;color:var(--text-3)}.sm-foot kbd[data-v-f9e2989e]{font-family:var(--font-mono);padding:1px 4px;border-radius:3px;background:var(--surface-3);border:1px solid var(--border);margin-right:3px}@media(max-width:520px){.sm-foot[data-v-f9e2989e]{display:none}}.nav[data-v-2fc67f22]{position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;background:transparent;transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease}.nav.solid[data-v-2fc67f22]{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--nav-bg);border-bottom-color:var(--border)}.nav-in[data-v-2fc67f22]{max-width:var(--content-w);margin:0 auto;padding:0 32px;height:var(--nav-h);display:flex;align-items:center;gap:32px}.nav-links[data-v-2fc67f22]{display:flex;gap:8px;margin-left:20px}.nav-links a[data-v-2fc67f22]{font-size:14px;color:var(--text-2);font-weight:500;transition:color .15s ease-out,background .15s ease-out;position:relative;padding:6px 14px;border-radius:var(--r-sm)}.nav-links a[data-v-2fc67f22]:hover{color:var(--text);background:var(--surface-2)}.nav-links a.active[data-v-2fc67f22]{color:var(--accent)}.nav-links a.active[data-v-2fc67f22]:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--accent);border-radius:2px}.nav-right[data-v-2fc67f22]{margin-left:auto;display:flex;align-items:center;gap:10px}.search-btn[data-v-2fc67f22]{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-3);font-size:13px;cursor:pointer;transition:all .15s ease-out}.search-btn[data-v-2fc67f22]:hover{border-color:var(--accent-border);color:var(--text-2)}.kbd[data-v-2fc67f22]{font-size:10px;font-family:var(--font-mono);padding:2px 5px;border-radius:4px;background:var(--surface-3);border:1px solid var(--border);color:var(--text-3)}.icon-btn[data-v-2fc67f22]{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:all .15s ease-out}.icon-btn[data-v-2fc67f22]:hover{border-color:var(--accent-border);color:var(--accent)}.nav-avatar[data-v-2fc67f22]{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:600;border:1px solid var(--accent-border);transition:all .15s ease-out;overflow:hidden}.nav-avatar img[data-v-2fc67f22]{width:100%;height:100%;object-fit:cover}.nav-avatar[data-v-2fc67f22]:hover{background:var(--accent);color:#fff}.nav-avatar--img[data-v-2fc67f22]:hover{border-color:var(--accent)}.burger[data-v-2fc67f22]{display:none}.mobile-nav[data-v-2fc67f22]{display:none;flex-direction:column;padding:8px 20px 16px;background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.mobile-nav a[data-v-2fc67f22]{font-size:15px;color:var(--text-2);font-weight:500;padding:12px 4px;border-bottom:1px solid var(--border);min-height:44px;display:flex;align-items:center}.mobile-nav a[data-v-2fc67f22]:last-child{border-bottom:none}.mobile-nav a.active[data-v-2fc67f22]{color:var(--accent)}.drawer-enter-active[data-v-2fc67f22],.drawer-leave-active[data-v-2fc67f22]{transition:opacity .2s ease,transform .2s ease}.drawer-enter-from[data-v-2fc67f22],.drawer-leave-to[data-v-2fc67f22]{opacity:0;transform:translateY(-8px)}@media(max-width:860px){.nav-links[data-v-2fc67f22]{display:none}.burger[data-v-2fc67f22]{display:grid}.mobile-nav[data-v-2fc67f22]{display:flex}}@media(max-width:520px){.nav-in[data-v-2fc67f22]{padding:0 20px;gap:12px}.search-txt[data-v-2fc67f22],.kbd[data-v-2fc67f22]{display:none}.search-btn[data-v-2fc67f22]{padding:0 10px}}.brand[data-v-9f7d6d67]{max-width:280px}.brand .logo[data-v-9f7d6d67]{margin-bottom:12px}.brand-txt[data-v-9f7d6d67]{font-size:14px;color:var(--text-2);line-height:1.7}.foot-col h4[data-v-9f7d6d67]{margin:0 0 14px}main[data-v-829c258c]{min-height:60vh}.page-enter-active[data-v-829c258c],.page-leave-active[data-v-829c258c]{transition:opacity .25s ease}.page-enter-from[data-v-829c258c],.page-leave-to[data-v-829c258c]{opacity:0}@media(prefers-reduced-motion:reduce){.page-enter-active[data-v-829c258c],.page-leave-active[data-v-829c258c]{transition:none}}:root[data-theme=light]{--bg: #fbf9f7;--surface: #ffffff;--surface-2: #f4f1ee;--surface-3: #ece8e4;--text: #1c1a1f;--text-2: #5c5860;--text-3: #8a8690;--border: #e7e3df;--border-2: #d6d1cc;--accent: #cf3b47;--accent-hover: #b32e39;--accent-soft: #fbecee;--accent-border: #f0bfc4;--ok: #15803d;--warn: #b45309;--danger: #b91c1c;--info: #0e7490;--shadow-sm: 0 1px 2px rgba(28, 20, 20, .05), 0 1px 3px rgba(28, 20, 20, .06);--shadow-md: 0 4px 6px -1px rgba(28, 20, 20, .06), 0 10px 24px -4px rgba(28, 20, 20, .08);--shadow-lg: 0 12px 24px -6px rgba(28, 20, 20, .08), 0 24px 48px -12px rgba(28, 20, 20, .12);--nav-bg: rgba(251, 249, 247, .82);--mark-bg: rgba(207, 59, 71, .14);--hero-scrim-tint: rgba(20, 16, 18, .1);--hero-scrim-core: rgba(14, 11, 12, .44);--hero-scrim-edge: rgba(251, 249, 247, .3);--hero-scrim-corner: rgba(251, 249, 247, .14);--hero-text-shadow: 0 2px 22px rgba(0, 0, 0, .72), 0 1px 4px rgba(0, 0, 0, .6)}:root[data-theme=dark]{--bg: #0c0a0b;--surface: #161314;--surface-2: #1d1a1b;--surface-3: #262223;--text: #efeaec;--text-2: #a49da1;--text-3: #7d7679;--border: #2a2527;--border-2: #393336;--accent: #e05a5f;--accent-hover: #ef7078;--accent-soft: #2c1618;--accent-border: #6e2f34;--ok: #4ade80;--warn: #fbbf24;--danger: #f87171;--info: #22d3ee;--shadow-sm: 0 0 0 1px #2a2527;--shadow-md: 0 0 0 1px #2a2527, 0 8px 32px -8px rgba(0, 0, 0, .6);--shadow-lg: 0 0 0 1px #393336, 0 16px 48px -12px rgba(0, 0, 0, .8);--nav-bg: rgba(12, 10, 11, .82);--mark-bg: rgba(224, 90, 95, .2);--hero-scrim-tint: rgba(12, 10, 11, .2);--hero-scrim-core: rgba(12, 10, 11, .34);--hero-scrim-edge: rgba(12, 10, 11, .58);--hero-scrim-corner: rgba(12, 10, 11, .16);--hero-text-shadow: 0 2px 18px rgba(0, 0, 0, .62), 0 1px 3px rgba(0, 0, 0, .5)}:root{--code-bg: #161313;--code-text: #ebe6e8;--code-keyword: #d98fb0;--code-string: #9ecf7e;--code-func: #e08a92;--code-comment: #6f6a6d;--code-num: #e0a878;--code-line: rgba(255, 255, 255, .07);--font-display: "Inter", "SF Pro Display", "PingFang SC", "HarmonyOS Sans SC", sans-serif;--font-body: "Inter", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-full: 999px;--measure: 74ch;--nav-h: 64px;--content-w: 1200px;--list-w: 1320px}:root[data-theme=dark]{--code-bg: #080607}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.75;transition:background .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p,figure,blockquote,pre,ul,ol{margin:0}ul,ol{padding:0}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit}::selection{background:var(--mark-bg);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.wrap{max-width:var(--content-w);margin:0 auto;padding:0 32px}.wrap-wide{max-width:var(--list-w);margin:0 auto;padding:0 32px}.read{max-width:800px;margin:0 auto;padding:0 32px}.mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums}.skip-link{position:absolute;top:-100px;left:16px;z-index:999;padding:10px 16px;background:var(--accent);color:#fff;border-radius:var(--r-md);font-size:14px;transition:top .2s ease}.skip-link:focus{top:12px}.sec{padding:96px 0}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;gap:24px}.sec-tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:10px}.sec-title{font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.2}.sec-desc{font-size:15px;color:var(--text-2);max-width:460px;margin-top:10px}.sec-link{font-size:14px;color:var(--text-2);font-weight:500;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:color .15s ease-out;background:none;border:none;cursor:pointer;padding:0}.sec-link:hover{color:var(--accent)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:var(--r-md);font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s ease-out;white-space:nowrap}.btn-sm{height:38px;padding:0 16px;font-size:13px}.btn-p{background:var(--accent);color:#fff}.btn-p:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-p:active{transform:translateY(0);opacity:.9}.btn-s{background:transparent;color:var(--text);border-color:var(--border-2)}.btn-s:hover{background:var(--surface-2)}.btn-s:active{background:var(--surface-3)}.btn-g{background:transparent;color:var(--text-2);border-color:transparent}.btn-g:hover{color:var(--accent);background:var(--accent-soft)}.btn:disabled,.btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;transform:none}.tag{font-size:11.5px;font-weight:500;height:24px;padding:0 10px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;transition:all .15s ease-out;cursor:pointer;letter-spacing:.01em;border:none;font-family:inherit;white-space:nowrap}.tag:hover{background:var(--accent-border)}.tag.on{background:var(--accent);color:#fff}.tag-static{cursor:default}.tag-static:hover{background:var(--accent-soft)}.pager{display:flex;gap:6px;justify-content:center;margin-top:48px;align-items:center;flex-wrap:wrap}.pg{min-width:36px;height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease-out;font-variant-numeric:tabular-nums}.pg:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent)}.pg.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.pg:disabled{opacity:.4;cursor:not-allowed}.empty{text-align:center;padding:64px 0}.empty-art{width:120px;height:88px;margin:0 auto 20px;border:2px dashed var(--border-2);border-radius:14px;display:grid;place-items:center;color:var(--text-3)}.empty-t{font-size:16px;font-weight:600;margin-bottom:6px}.empty-d{font-size:14px;color:var(--text-2);margin-bottom:20px}.foot{border-top:1px solid var(--border);padding:56px 0 40px;margin-top:96px;background:var(--surface-2)}.foot-in{max-width:var(--content-w);margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}.foot-col h4{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);font-weight:500;margin-bottom:14px}.foot-col a{display:block;font-size:14px;color:var(--text-2);padding:4px 0;transition:color .15s}.foot-col a:hover{color:var(--accent)}.foot-bot{max-width:var(--content-w);margin:40px auto 0;padding:24px 32px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:13px;color:var(--text-3);flex-wrap:wrap;gap:12px}.logo{font-size:17px;font-weight:700;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px}.logo .mark{width:22px;height:22px;border-radius:6px;background:var(--accent);display:grid;place-items:center;flex-shrink:0}.logo .mark svg{width:13px;height:13px}@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){body{font-size:16px}.wrap,.wrap-wide,.read,.foot-in,.foot-bot{padding-left:20px;padding-right:20px}.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}.sec{padding:64px 0}.sec-title{font-size:28px}.btn{height:44px}.foot-bot{flex-direction:column;gap:8px}}:root{--n-font-family: var(--font-body)}.n-input,.n-base-selection{--n-border-radius: var(--r-md) !important}.n-modal,.n-card,.n-popover{--n-border-radius: var(--r-lg)}.n-scrollbar-rail__scrollbar{background-color:var(--border-2)}
