:root,.chapter-galaxy{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#111;--color-bg-deep:#0b0b0b;--color-text:#e7e7e7;--color-text-strong:#fafafa;--color-text-muted:#b1b1b1;--color-text-subtle:#999;--color-text-faint:#8a8a8a;--color-surface:#1c1c1c;--color-surface-elevated:#242424;--color-surface-hover:#2a2a2a;--color-surface-selected:#303030;--color-surface-glass:#1c1c1c;--color-surface-quiet:#ffffff05;--color-border:#ffffff14;--color-border-subtle:#ffffff0f;--color-border-strong:#ffffff38;--color-accent:#7db1ff;--color-accent-bright:#b3d2ff;--color-accent-soft:#0052cc26;--color-halftone-ink:#141414;--color-halftone-paper:#fff7e6;--color-aero-bg:#111;--color-aero-shard:#ff6d6d;--color-aero-accent:#cdcaff;--color-aero-text:#fafafa;--color-aero-muted:#b1b1b1;--color-aero-border:#ffffff38;--color-aero-surface:#1c1c1cf2;--color-input:#161616;--color-input-hover:#202020;--color-focus:#7db1ff;--color-success:#81cbaa;--color-danger:#e3959b;--color-warning:#d6b386;--color-violet:#7db1ff;--color-on-primary:#fff;--color-code-paper:#fff;--color-code-ink:#000;--color-primary:#0052cc;--color-primary-hover:#0065e8;--color-primary-deep:#0041a3;--color-primary-highlight:var(--color-accent-bright);--color-primary-soft:var(--color-accent-soft);--color-primary-shadow:#0052cc2e;--color-primary-shadow-hover:#0052cc45;--color-header-bg:#171717;--color-header-bg-scrolled:#171717;--color-header-control:var(--color-surface-quiet);--color-header-control-hover:#0052cc24;--color-header-control-border:var(--color-border);--color-header-control-border-hover:var(--color-border-strong);--color-nav-glass:#11111114;--color-nav-glass-fallback:#1c1c1c;--color-nav-glass-menu:#111111d9;--color-nav-glint:#ffffff80;--color-nav-glint-soft:#dcecff45;--background-nav-glass:linear-gradient(180deg, #ffffff06, transparent 35%, #00000005);--shadow-nav-glass:0 12px 36px #00000030, 0 2px 8px #00000018;--color-selection:#0052cc70;--color-scrollbar:#7776;--color-brand-glow:#0052cc1b;--color-brand-glow-secondary:#0052cc10;--brand-art-filter:none;--color-brand-logo:#fafafa;--shadow-panel:0 24px 70px #00000040;--shadow-soft:0 2px 6px #00000014;--shadow-overlay:0 16px 48px #00000040;--shadow-primary:0 0 28px var(--color-primary-shadow), inset 0 1px 0 #ffffff24;--shadow-primary-hover:0 0 36px var(--color-primary-shadow-hover);--background-title:linear-gradient(110deg, #fafafa 5%, #e7e7e7 55%, #8ab4ff 100%);--background-body:var(--color-bg);--background-cosmos:radial-gradient(ellipse at 72% 15%, #0052cc18, transparent 55%), var(--color-bg);--background-glass-sheen:linear-gradient(125deg, #ffffff08, transparent 50%, #0052cc08);--shadow-glass-card:var(--shadow-panel);--shadow-header:var(--shadow-soft);--shadow-demo:0 40px 120px #0006;--shadow-scene-text:0 1px 10px #000;--color-ui-bg:var(--color-bg);--color-ui-surface:var(--color-surface);--color-ui-surface-elevated:var(--color-surface-elevated);--color-ui-surface-hover:var(--color-surface-hover);--color-ui-surface-selected:var(--color-surface-selected);--color-ui-input:var(--color-input);--color-ui-text:var(--color-text);--color-ui-text-strong:var(--color-text-strong);--color-ui-text-muted:var(--color-text-muted);--color-ui-text-subtle:var(--color-text-subtle);--color-ui-text-faint:var(--color-text-faint);--color-ui-border:var(--color-border);--color-ui-border-subtle:var(--color-border-subtle);--color-ui-border-strong:var(--color-border-strong);--color-ui-accent:var(--color-accent);--color-ui-accent-soft:var(--color-accent-soft);--color-ui-success:var(--color-success);--color-ui-danger:var(--color-danger);--color-ui-warning:var(--color-warning);--color-ui-send:var(--color-primary);--color-ui-send-hover:var(--color-primary-hover);--color-ui-shadow:#00000040;--color-ui-shadow-soft:#00000014;--color-ui-overlay:#1c1c1c;--color-ui-overlay-transparent:#1c1c1c00}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--header-height:78px;--page-max-width:1240px;--page-gutter:80px;--radius-sm:9px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--motion-fast:.18s;--motion-normal:.3s;--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme:light){:root:not([data-theme-home]),.home-journey,.site-layout--immersive .site-footer{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f7f8fa;--color-bg-deep:#edf0f4;--color-text:#263241;--color-text-strong:#111827;--color-text-muted:#465264;--color-text-subtle:#5a6678;--color-text-faint:#637083;--color-surface:#fff;--color-surface-elevated:#f4f6f9;--color-surface-hover:#edf1f6;--color-surface-selected:#e5ebf3;--color-surface-glass:#fff;--color-surface-quiet:#16253d0a;--color-border:#1f34511f;--color-border-subtle:#17294314;--color-border-strong:#1f345147;--color-accent:#0052cc;--color-accent-bright:#266bd7;--color-accent-soft:#0052cc14;--color-input:#fff;--color-input-hover:#f4f6fa;--color-focus:#0052cc;--color-success:#08754f;--color-danger:#af293e;--color-warning:#81500a;--color-violet:#0052cc;--color-header-bg:#eef1f6;--color-header-bg-scrolled:#eef1f6;--color-header-control-hover:#0052cc12;--color-nav-glass:#ffffffe0;--color-nav-glass-fallback:#fff;--color-nav-glass-menu:#fffffff2;--color-nav-glint:#3d577159;--color-nav-glint-soft:#0052cc2c;--background-nav-glass:linear-gradient(180deg, #ffffffb3, transparent 40%, #dce5f040);--shadow-nav-glass:0 12px 36px #1f34511a, 0 2px 8px #1f34510d;--color-selection:#0052cc40;--color-scrollbar:#43536b70;--color-brand-glow:#0052cc17;--color-brand-glow-secondary:#0052cc0b;--color-brand-logo:#162333;--shadow-panel:0 24px 70px #1f34511f;--shadow-soft:0 2px 6px #1f345114;--shadow-overlay:0 16px 48px #1f345133;--shadow-primary:0 8px 20px #0052cc21, inset 0 1px 0 #ffffff30;--shadow-primary-hover:0 10px 26px #0052cc35;--background-title:linear-gradient(110deg, #111827 5%, #263241 55%, #0052cc 100%);--background-glass-sheen:linear-gradient(125deg, #ffffffb3, transparent 50%, #0052cc0c);--color-ui-shadow:#1f345133;--color-ui-shadow-soft:#1f345114;--color-ui-overlay:#fff;--color-ui-overlay-transparent:#fff0}.home-journey .chapter-launch{--color-aero-bg:#f7f8fa;--color-aero-shard:#fc2626;--color-aero-accent:#3327f7;--color-aero-text:#111827;--color-aero-muted:#465264;--color-aero-border:#1f345147;--color-aero-surface:#fffffff2}}:is(:root:has(.console-layout),.console-layout){--shadow-panel:none;--shadow-primary:none;--shadow-primary-hover:none;--radius-md:10px;--radius-lg:16px}@media (width>=1700px){:root{--page-max-width:1400px;--page-gutter:100px}}@media (width<=1100px){:root{--page-gutter:56px}}@media (width<=760px){:root{--header-height:120px;--page-gutter:24px}}@media (width<=380px){:root{--page-gutter:18px}}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);scroll-behavior:smooth;scrollbar-color:var(--color-scrollbar) transparent}body{min-height:100vh;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6}#app{min-height:100vh}button,input,textarea,select{font:inherit}h1,h2,h3{font-weight:500}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:not(:disabled),select{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}::selection{background:var(--color-selection);color:var(--color-text-strong)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.site-shell{width:min(calc(100% - var(--page-gutter) * 2), var(--page-max-width));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.ui-button{border-radius:var(--radius-pill);min-height:42px;color:var(--color-text);font:inherit;text-align:center;cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:550;line-height:1.5;text-decoration:none;display:inline-flex}.ui-button:hover:not(:disabled):not([aria-disabled=true]){transform:translateY(-1px)}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}.ui-button--primary{color:var(--color-on-primary);background:var(--color-primary);box-shadow:var(--shadow-primary)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary-hover)}.ui-button--secondary{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-surface-quiet)}.ui-button--secondary:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft)}.ui-button--ghost{color:var(--color-text-muted)}.ui-button--ghost:hover:not(:disabled){color:var(--color-text-strong);background:var(--color-surface-quiet)}.ui-button--danger{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 25%, transparent)}.ui-button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 10%, transparent)}.ui-button--lg{gap:16px;min-height:48px;padding:11px 24px;font-size:14px}.ui-button--sm{min-height:36px;padding:7px 15px;font-size:12px}.ui-button--icon{flex:none;width:36px;min-height:36px;padding:8px}.ui-button--block{width:100%}.ui-button>svg{flex:none;width:17px;height:17px}.ui-button>svg:not(.svg-inline--fa){fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ui-link{color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:13px;line-height:1.6;text-decoration:none;display:inline-flex}.ui-link:hover{color:var(--color-text-strong)}.ui-link>svg{width:15px;height:15px}.ui-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;color:var(--color-text);background:var(--color-surface-glass);box-shadow:var(--shadow-panel)}.ui-eyebrow{color:var(--color-text-muted);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 24px;font-size:11px;font-weight:500;line-height:1.6;display:flex}.ui-label{color:var(--color-text-subtle);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:500;line-height:1.6}.ui-field{gap:9px;min-width:0;display:grid}.ui-field>label,.ui-field>span{color:var(--color-text);font-size:13px;font-weight:450}.ui-input,.ui-input-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-width:0;min-height:46px;color:var(--color-text);background:var(--color-input);transition:border-color var(--motion-fast), background var(--motion-fast), box-shadow var(--motion-fast)}.ui-input{font:inherit;padding:11px 14px;font-size:14px;line-height:1.5;display:block}.ui-input::placeholder,.ui-input-shell input::placeholder{color:var(--color-text-faint)}.ui-input:hover,.ui-input-shell:hover{background:var(--color-input-hover);border-color:var(--color-border-strong)}.ui-input:focus,.ui-input-shell:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-accent-soft);outline:0}.ui-input[readonly]{color:var(--color-text-subtle);background:var(--color-surface-quiet)}.ui-input-shell{align-items:center;gap:11px;padding:0 13px;display:flex}.ui-input-shell input{width:100%;min-width:0;min-height:48px;color:var(--color-text);background:0 0;border:0;outline:0;flex:1;padding:11px 0;font-size:14px;line-height:1.5}.ui-input-shell>svg{fill:none;width:18px;height:18px;stroke:var(--color-text-subtle);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ui-input-shell--invalid,.ui-input[aria-invalid=true],.ui-input-shell--invalid:focus-within{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 8%, transparent)}.ui-field-error{color:var(--color-danger);margin:0;font-size:12px;line-height:1.6}.ui-field-hint,.ui-field>small{color:var(--color-text-subtle);margin:0;font-size:12px;line-height:1.6}.ui-feedback{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-accent);background:var(--color-accent-soft);align-items:flex-start;gap:9px;margin:20px 0 0;padding:13px 16px;font-size:13px;line-height:1.7;display:flex}.ui-feedback>svg{stroke:currentColor;stroke-width:1.4px;flex:none;width:18px;height:18px;margin-top:2px}.ui-segmented{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-quiet);align-items:center;gap:4px;max-width:100%;padding:5px;display:inline-flex}.ui-segmented>button{border-radius:var(--radius-pill);min-height:34px;color:var(--color-text-subtle);font:inherit;white-space:nowrap;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:7px 15px;font-size:12px;font-weight:450;line-height:1.5;display:inline-flex}.ui-segmented>button:hover{color:var(--color-text)}.ui-segmented>button:is(.active,.is-active,[aria-pressed=true],[aria-selected=true]){border-color:var(--color-border);color:var(--color-text-strong);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.ui-segmented :is(small,.ui-segmented__badge){border-radius:var(--radius-pill);color:var(--color-accent);background:var(--color-accent-soft);padding:2px 6px;font-size:10px;font-weight:500;line-height:1.4}@media (width<=760px){.ui-button--lg{gap:12px;min-height:46px;padding:11px 20px;font-size:13px}.ui-eyebrow{font-size:10px}}@media (prefers-reduced-motion:reduce){.ui-button,.ui-input,.ui-input-shell,.ui-segmented>button{transition:none}.ui-button:hover:not(:disabled):not([aria-disabled=true]){transform:none}}::view-transition-group(keen-kind-brand){z-index:2}::view-transition-group(home-control){z-index:2}::view-transition-group(login-control){z-index:2}::view-transition-old(keen-kind-brand){animation-duration:.38s;animation-timing-function:var(--ease-out)}::view-transition-new(keen-kind-brand){animation-duration:.38s;animation-timing-function:var(--ease-out)}::view-transition-old(home-control){animation-duration:.38s;animation-timing-function:var(--ease-out)}::view-transition-new(home-control){animation-duration:.38s;animation-timing-function:var(--ease-out)}::view-transition-old(login-control){animation-duration:.38s;animation-timing-function:var(--ease-out)}::view-transition-new(login-control){animation-duration:.38s;animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-duration:1ms}::view-transition-new(root){animation-duration:1ms}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:1ms!important}::view-transition-old(*){animation-duration:1ms!important}::view-transition-new(*){animation-duration:1ms!important}}.app-toast-region[data-v-c12a37cf]{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:1000;overscroll-behavior:contain;scrollbar-width:none;pointer-events:none;width:min(388px,100vw - 16px);max-height:calc(100dvh - 16px);color:var(--color-text);padding:12px;position:fixed;overflow-y:auto}.app-toast-region[data-v-c12a37cf]::-webkit-scrollbar{display:none}.app-toast-stack[data-v-c12a37cf]{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.app-toast[data-v-c12a37cf]{pointer-events:auto;min-width:0;transition:opacity .26s,transform .26s}.app-toast__card[data-v-c12a37cf]{border:1px solid var(--color-border);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft);border-radius:14px;align-items:flex-start;gap:12px;padding:16px 14px 16px 16px;display:flex}.app-toast__icon[data-v-c12a37cf]{width:24px;height:24px;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.app-toast__icon svg[data-v-c12a37cf]{width:22px;height:22px}.app-toast--error .app-toast__icon[data-v-c12a37cf]{color:var(--color-danger)}.app-toast--warning .app-toast__icon[data-v-c12a37cf]{color:var(--color-warning)}.app-toast__content[data-v-c12a37cf]{overflow-wrap:anywhere;flex:1;min-width:0}.app-toast__content strong[data-v-c12a37cf]{color:var(--color-text-strong);margin:1px 0 5px;font-size:13px;font-weight:600;line-height:1.5;display:block}.app-toast__content p[data-v-c12a37cf]{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.75}.app-toast__content small[data-v-c12a37cf]{color:var(--color-text-subtle);margin-top:6px;font-size:11px;line-height:1.6;display:block}.app-toast__close[data-v-c12a37cf]{width:28px;height:28px;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:0;border-radius:7px;flex-shrink:0;place-items:center;margin:-2px -3px 0 0;padding:3px;display:grid}.app-toast__close svg[data-v-c12a37cf]{width:20px;height:20px}.app-toast__close[data-v-c12a37cf]:hover{color:var(--color-text-strong);background:var(--color-surface-hover)}.app-toast__close[data-v-c12a37cf]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.app-toast--leaving[data-v-c12a37cf],.app-toast-enter-from[data-v-c12a37cf]{opacity:0;transform:translate(12px)}.app-toast--leaving[data-v-c12a37cf]{pointer-events:none}.app-toast-enter-active[data-v-c12a37cf],.app-toast-move[data-v-c12a37cf]{transition:opacity .26s,transform .26s}.app-toast-leave-active[data-v-c12a37cf]{transition:none}@media (width<=560px){.app-toast-region[data-v-c12a37cf]{top:max(0px, env(safe-area-inset-top));right:max(0px, env(safe-area-inset-right));width:100%}}@media (prefers-reduced-motion:reduce){.app-toast[data-v-c12a37cf],.app-toast-enter-active[data-v-c12a37cf],.app-toast-move[data-v-c12a37cf]{transition:none}.app-toast--leaving[data-v-c12a37cf],.app-toast-enter-from[data-v-c12a37cf]{transform:none}}.region-gate[data-v-d02e713c]{min-height:100svh;color:var(--color-text-strong);background:radial-gradient(ellipse at 50% 20%, var(--color-brand-glow), transparent 65%), var(--color-bg);place-items:center;padding:28px 20px;display:grid}.region-gate__shell[data-v-d02e713c]{width:min(100%,560px);min-width:0}.region-gate__header[data-v-d02e713c]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.region-gate__header select[data-v-d02e713c]{background:var(--color-input);max-width:110px;min-height:40px;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:8px;padding:6px}.region-gate__brand[data-v-d02e713c]{letter-spacing:-.5px;align-items:center;gap:8px;font-size:20px;font-weight:650;display:flex}.region-gate__brand span[data-v-d02e713c]{color:var(--color-accent);font-size:10px}.region-gate__card[data-v-d02e713c]{border:1px solid var(--color-border-strong);background:var(--color-surface-elevated);border-radius:20px;padding:clamp(24px,5vw,44px)}.region-gate__eyebrow[data-v-d02e713c]{letter-spacing:.14em;color:var(--color-text-subtle);text-transform:uppercase;font-size:11px;font-weight:600;display:block}.region-gate__icon[data-v-d02e713c]{color:var(--color-accent);margin:28px 0 22px}h1[data-v-d02e713c]{letter-spacing:-.6px;margin:0;font-size:clamp(25px,5vw,32px);line-height:1.35}.region-gate__card p[data-v-d02e713c]{color:var(--color-text-muted);margin:16px 0 28px;font-size:14px;line-height:1.8}.region-gate__actions[data-v-d02e713c]{flex-wrap:wrap;gap:12px;display:flex}.region-gate__actions a[data-v-d02e713c],button[data-v-d02e713c]{border:1px solid var(--color-border-strong);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:18px;padding:10px 18px;font-size:13px;text-decoration:none;display:inline-flex}.region-gate__actions .region-gate__primary[data-v-d02e713c]{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary)}.region-gate__actions .region-gate__primary[data-v-d02e713c]:hover{background:var(--color-primary-hover)}button[data-v-d02e713c]:disabled{opacity:.6;cursor:wait}button[data-v-d02e713c]:focus-visible,a[data-v-d02e713c]:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.region-gate__foot[data-v-d02e713c]{color:var(--color-text-subtle);margin:20px 0 0;font-size:12px;line-height:1.7}@media (width<=360px){.region-gate__actions[data-v-d02e713c]>*{width:100%}}.brand-mark[data-v-84af562f]{width:168px;height:42px;color:var(--color-brand-logo);flex:none;display:block}@media (width<=480px){.brand-mark[data-v-84af562f]{width:150px;height:38px}}.specular-button{--sb-radius:18px;--sb-tint:#fff;--sb-tint-percent:0%;--sb-blur:0px;--sb-text-color:#f5f5f5;border:1px solid var(--color-border-strong);border-radius:var(--sb-radius);color:var(--sb-text-color);background:0 0;background:color-mix(in srgb, var(--sb-tint) var(--sb-tint-percent), transparent);-webkit-backdrop-filter:blur(var(--sb-blur));backdrop-filter:blur(var(--sb-blur));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-text-strong) 4%, transparent), var(--shadow-soft);letter-spacing:.01em;text-align:center;white-space:nowrap;cursor:pointer;transition:transform var(--motion-fast) ease;justify-content:center;align-items:center;margin:0;font-family:inherit;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.specular-button:active:not(:disabled):not([aria-disabled=true]){transform:scale(.97)}.specular-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.specular-button:disabled,.specular-button[aria-disabled=true]{opacity:.55;cursor:default}.specular-button--sm{padding:10px 22px;font-size:.85rem}.specular-button--md{padding:14px 30px;font-size:1rem}.specular-button--lg{padding:18px 40px;font-size:1.15rem}.specular-button__fx{z-index:1;pointer-events:none;position:absolute;inset:-20px}.specular-button__fx canvas{width:100%;height:100%;display:block}.specular-button__label{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){.specular-button{transition:none}.specular-button:active{transform:none}}@media (prefers-reduced-transparency:reduce){.specular-button{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--color-surface)}}.edition-control[data-v-39edd686]{flex-wrap:wrap;align-items:center;gap:16px;min-width:0;display:flex}.edition-switch[data-v-39edd686]{min-height:36px;color:var(--color-text-muted);white-space:nowrap;transition:color var(--motion-fast);background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.edition-switch[data-v-39edd686]:hover{color:var(--color-accent)}.edition-switch[data-v-39edd686]:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}.edition-switch[aria-disabled=true][data-v-39edd686]{opacity:.45;cursor:not-allowed}.edition-switch__arrow[data-v-39edd686]{width:14px;height:14px;transition:transform var(--motion-fast);flex:none}.edition-switch:hover .edition-switch__arrow[data-v-39edd686]{transform:translate(1px,-1px)}.edition-language[data-v-39edd686]{min-width:0;color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex;position:relative}.edition-language>svg[data-v-39edd686]{pointer-events:none;flex:none;width:15px;height:15px}.edition-language select[data-v-39edd686]{appearance:none;width:100%;min-width:72px;min-height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:4px 17px 4px 0}.edition-language select[data-v-39edd686]:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.edition-language select[data-v-39edd686]:disabled{opacity:.45;cursor:not-allowed}.edition-language select option[data-v-39edd686]{color:var(--color-text-strong);background:var(--color-surface)}.edition-language .edition-language__chevron[data-v-39edd686]{width:12px;height:12px;position:absolute;right:0}@media (prefers-reduced-motion:reduce){.edition-switch[data-v-39edd686],.edition-switch__arrow[data-v-39edd686]{transition:none}}.nav-glass[data-v-fcc431d3]{z-index:-1;border-radius:inherit;pointer-events:none;visibility:hidden;opacity:0;box-shadow:var(--shadow-nav-glass);transition:opacity var(--motion-normal) var(--ease-out), visibility var(--motion-normal);position:absolute;inset:0;overflow:hidden}.nav-glass.is-active[data-v-fcc431d3]{visibility:visible;opacity:1}.nav-glass__definitions[data-v-fcc431d3]{position:absolute;inset:0}.nav-glass__warp[data-v-fcc431d3],.nav-glass__tint[data-v-fcc431d3],.nav-glass__rim[data-v-fcc431d3]{border-radius:inherit;position:absolute;inset:0}.nav-glass__warp[data-v-fcc431d3]{-webkit-backdrop-filter:blur(1.5px)saturate(140%);backdrop-filter:blur(1.5px)saturate(140%)}.nav-glass__tint[data-v-fcc431d3]{background:var(--color-nav-glass-fallback)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav-glass__tint[data-v-fcc431d3]{background:var(--background-nav-glass), var(--color-nav-glass)}.nav-glass.is-expanded .nav-glass__tint[data-v-fcc431d3]{background:var(--color-nav-glass-menu)}}.nav-glass__rim[data-v-fcc431d3]{background:linear-gradient(135deg, var(--color-nav-glint), transparent 28%, transparent 65%, var(--color-nav-glint-soft));padding:1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.nav-glass__rim[data-v-fcc431d3]:after{content:"";background:radial-gradient(ellipse 22% 90% at var(--nav-light-x,24%) var(--nav-light-y,0%), var(--color-nav-glint), transparent);position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){.nav-glass__warp[data-v-fcc431d3],.nav-glass__rim[data-v-fcc431d3]{display:none}.nav-glass .nav-glass__tint[data-v-fcc431d3]{background:var(--color-nav-glass-fallback)}}@media (prefers-reduced-motion:reduce){.nav-glass[data-v-fcc431d3]{transition:none}}.navbar[data-v-2c85d4e1]{z-index:100;isolation:isolate;width:min(calc(100% - var(--page-gutter) * 2 + 40px), calc(var(--page-max-width) + 40px));color:var(--color-text);transition:transform var(--motion-normal) var(--ease-out);background:0 0;border:0;border-radius:22px;margin-inline:auto;position:fixed;inset:0 0 auto;transform:translateY(0)}.navbar.scrolled[data-v-2c85d4e1]{transform:translateY(12px)}.navbar-inner[data-v-2c85d4e1]{width:100%;min-height:var(--header-height);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding-inline:20px;display:grid}.navbar-brand[data-v-2c85d4e1]{view-transition-name:keen-kind-brand;justify-self:start;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.navbar-brand[data-v-2c85d4e1] .brand-mark{width:148px;height:38px}.navbar-nav[data-v-2c85d4e1]{justify-content:center;align-items:center;gap:clamp(14px,2vw,26px);display:flex}.navbar-home-link[data-v-2c85d4e1]{view-transition-name:home-control}.navbar-link[data-v-2c85d4e1]{color:var(--color-text-muted);white-space:nowrap;transition:color var(--motion-fast);border-radius:4px;align-items:center;padding:8px 0 11px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.navbar-link[data-v-2c85d4e1]:after{content:"";background:var(--color-accent);opacity:0;width:calc(100% + 8px);height:1px;transition:transform var(--motion-fast), opacity var(--motion-fast);position:absolute;bottom:3px;left:50%;transform:translate(-50%)scaleX(.4)}.navbar-link[data-v-2c85d4e1]:hover,.navbar-link.router-link-exact-active[data-v-2c85d4e1]{color:var(--color-text-strong)}.navbar-link.router-link-exact-active[data-v-2c85d4e1]:after{opacity:1;transform:translate(-50%)scaleX(1)}.navbar-github-link[data-v-2c85d4e1]{gap:7px}.navbar-github-link svg[data-v-2c85d4e1]{width:16px;height:16px}.navbar-actions[data-v-2c85d4e1]{justify-self:end;align-items:center;gap:12px;display:flex}.navbar-actions[data-v-2c85d4e1]>.edition-control:not(:has(a,select)){display:none}.navbar-actions[data-v-2c85d4e1] .navbar-download{min-height:36px;padding:6px 10px;font-size:14px;font-weight:400}.navbar-actions[data-v-2c85d4e1] .navbar-download .specular-button__label{align-items:center;gap:10px;display:inline-flex}.navbar-actions[data-v-2c85d4e1] .navbar-download svg{flex:none;width:16px;height:16px}.navbar-login[data-v-2c85d4e1]{view-transition-name:login-control;min-height:44px;color:var(--color-text-muted);white-space:nowrap;align-items:center;font-size:14px;font-weight:400;text-decoration:none;display:inline-flex}.navbar-login[data-v-2c85d4e1]:hover{color:var(--color-text-strong)}.navbar-menu-toggle[data-v-2c85d4e1],.navbar-mobile-nav[data-v-2c85d4e1]{display:none}@media (width<=1100px){.navbar-inner[data-v-2c85d4e1]{gap:24px}.navbar-nav[data-v-2c85d4e1]{gap:18px}}@media (width<=1150px){.navbar-inner[data-v-2c85d4e1]{grid-template-columns:auto 1fr;gap:12px}.navbar-nav[data-v-2c85d4e1]{display:none}.navbar-actions[data-v-2c85d4e1]{gap:12px}.navbar-menu-toggle[data-v-2c85d4e1]{border:0;width:44px;min-height:44px;display:inline-flex}.navbar-mobile-nav[data-v-2c85d4e1]{max-height:calc(100dvh - var(--header-height) - 32px);overscroll-behavior:contain;background:0 0;border:0;gap:4px;padding:0 12px 12px;display:grid;overflow-y:auto}.navbar-mobile-link[data-v-2c85d4e1]{border-radius:var(--radius-sm);min-height:42px;color:var(--color-text-muted);align-items:center;gap:9px;padding:8px 12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.navbar-mobile-link svg[data-v-2c85d4e1]{width:16px;height:16px}.navbar-mobile-link[data-v-2c85d4e1]:hover,.navbar-mobile-link.router-link-exact-active[data-v-2c85d4e1]{color:var(--color-text-strong);background:var(--color-accent-soft)}}@media (width<=480px){.navbar-actions[data-v-2c85d4e1]{gap:10px}.navbar-actions[data-v-2c85d4e1] .navbar-download{width:36px;height:36px;padding:8px}.navbar-actions[data-v-2c85d4e1] .navbar-download .navbar-action-label{display:none}}@media (width<=360px){.navbar-actions[data-v-2c85d4e1]{gap:7px}}@media (width<=760px){.navbar[data-v-2c85d4e1]{border-radius:18px;width:calc(100% - 16px)}.navbar.scrolled[data-v-2c85d4e1]{transform:translateY(8px)}.navbar-inner[data-v-2c85d4e1]{flex-wrap:wrap;gap:0 8px;padding:6px 12px;display:flex}.navbar-actions[data-v-2c85d4e1]{display:contents}.navbar-brand[data-v-2c85d4e1]{flex:1}.navbar-brand[data-v-2c85d4e1] .brand-mark{width:128px;height:33px}.navbar-actions[data-v-2c85d4e1]>.edition-control{flex-wrap:nowrap;order:5;justify-content:flex-end;width:100%}.navbar-actions[data-v-2c85d4e1]>.navbar-download{display:none}}@media (prefers-reduced-motion:reduce){.navbar[data-v-2c85d4e1],.navbar-link[data-v-2c85d4e1],.navbar-link[data-v-2c85d4e1]:after{transition:none}}.site-footer[data-v-5c6e8483]{z-index:3;background:var(--color-bg-deep);color:var(--color-text);padding:0 0 32px;font-size:14px;line-height:1.6;position:relative}.site-footer[data-v-5c6e8483]:before{content:"";background:var(--color-border-strong);height:1px;margin-inline:24px;display:block}.site-footer__inner[data-v-5c6e8483]{padding-top:38px}.site-footer__top[data-v-5c6e8483],.site-footer__bottom[data-v-5c6e8483]{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));column-gap:40px;display:grid}.site-footer__top[data-v-5c6e8483]{align-items:start;min-height:244px}.site-footer__brand[data-v-5c6e8483]{width:fit-content;max-width:100%}.site-footer__brand .brand-mark[data-v-5c6e8483]{width:136px;max-width:100%;height:35px}.site-footer__group[data-v-5c6e8483]{min-width:0}.site-footer__group h2[data-v-5c6e8483]{color:var(--color-text-subtle);font-size:inherit;margin:0 0 10px;font-weight:400}.site-footer__group ul[data-v-5c6e8483]{gap:8px;margin:0;padding:0;list-style:none;display:grid}.site-footer__group li[data-v-5c6e8483]{overflow-wrap:anywhere}.site-footer__link[data-v-5c6e8483]{color:var(--color-text-strong);text-decoration:none}.site-footer__pending[data-v-5c6e8483]{color:var(--color-text-muted);cursor:default}.site-footer__bottom[data-v-5c6e8483]{color:var(--color-text-subtle);align-items:end}.site-footer__legal[data-v-5c6e8483]{overflow-wrap:anywhere;min-width:0}.site-footer__legal p[data-v-5c6e8483]{margin:0}.site-footer__legal a[data-v-5c6e8483]{text-decoration:none}.site-footer__notice[data-v-5c6e8483]{padding-top:8px;font-size:12px}.site-footer__socials[data-v-5c6e8483]{align-items:center;gap:16px;min-height:32px;display:flex}.site-footer__socials a[data-v-5c6e8483],.site-footer__social-pending[data-v-5c6e8483]{justify-content:center;align-items:center;min-width:24px;min-height:32px;font-size:19px;display:inline-flex}.site-footer__socials a[data-v-5c6e8483]{color:var(--color-text-strong)}.site-footer__social-pending[data-v-5c6e8483]{color:var(--color-text-subtle)}.site-footer__back-top[data-v-5c6e8483]{min-height:32px;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:0;justify-self:start;align-items:center;gap:8px;padding:0;display:inline-flex}.site-footer__back-top svg[data-v-5c6e8483]{flex:none}.site-footer a[data-v-5c6e8483]:hover,.site-footer__back-top[data-v-5c6e8483]:hover{color:var(--color-text-strong);text-underline-offset:4px;text-decoration:underline}.site-footer--china .site-footer__top[data-v-5c6e8483]{min-height:252px}.site-footer--china .site-footer__back-top[data-v-5c6e8483]{grid-column:2}.site-footer__qr-codes[data-v-5c6e8483]{grid-column:3/5;justify-self:end;gap:20px;display:flex}.site-footer__qr-codes figure[data-v-5c6e8483]{flex:none;min-width:104px;margin:0}.site-footer__qr-codes figcaption[data-v-5c6e8483]{white-space:nowrap;margin-bottom:8px;font-size:12px}.site-footer__qr-codes img[data-v-5c6e8483]{object-fit:contain;width:104px;height:104px;display:block}.site-footer__qr-pending[data-v-5c6e8483]{border:1px dashed var(--color-border-strong);width:104px;height:104px;color:var(--color-text-subtle);place-items:center;font-size:12px;display:grid}@media (width<=1100px){.site-footer__top[data-v-5c6e8483],.site-footer__bottom[data-v-5c6e8483]{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));column-gap:24px}}@media (width<=760px){.site-footer[data-v-5c6e8483]{padding-bottom:28px}.site-footer[data-v-5c6e8483]:before{margin-inline:var(--page-gutter)}.site-footer__inner[data-v-5c6e8483]{padding-top:28px}.site-footer__top[data-v-5c6e8483]{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.site-footer__top[data-v-5c6e8483],.site-footer--china .site-footer__top[data-v-5c6e8483]{min-height:0}.site-footer__brand[data-v-5c6e8483]{grid-column:1/-1}.site-footer__bottom[data-v-5c6e8483]{grid-template-columns:1fr auto;gap:24px;margin-top:56px}.site-footer__legal[data-v-5c6e8483]{grid-column:1/-1}.site-footer__back-top[data-v-5c6e8483],.site-footer--china .site-footer__back-top[data-v-5c6e8483]{grid-column:2;justify-self:end}.site-footer__qr-codes[data-v-5c6e8483]{grid-area:2/1/auto/-1;justify-self:start}}@media (width<=420px){.site-footer__top[data-v-5c6e8483]{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.site-footer__group[data-v-5c6e8483]:last-child{grid-column:1/-1}}.brand-backdrop[data-v-d6b4b19a]{pointer-events:none;contain:strict;position:absolute;inset:0;overflow:hidden}.brand-backdrop__glow[data-v-d6b4b19a]{background:radial-gradient(ellipse at 75% 16%, var(--color-brand-glow), transparent 36%), radial-gradient(ellipse at 20% 68%, var(--color-brand-glow-secondary), transparent 40%);animation:24s ease-in-out infinite alternate nebula-drift-d6b4b19a;position:absolute;inset:-15%}.brand-backdrop__stars[data-v-d6b4b19a]{position:absolute;inset:0}.brand-backdrop__stars span[data-v-d6b4b19a]{width:var(--size);height:var(--size);background:var(--color-accent-bright);opacity:.25;animation:stellar-light-d6b4b19a 10s ease-in-out var(--delay) infinite alternate;border-radius:50%;position:absolute}.brand-backdrop--quiet[data-v-d6b4b19a]{opacity:.35}@keyframes nebula-drift-d6b4b19a{to{transform:translate(-2%,3%)}}@keyframes stellar-light-d6b4b19a{to{opacity:.07;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.brand-backdrop__glow[data-v-d6b4b19a],.brand-backdrop__stars span[data-v-d6b4b19a]{animation:none}}.site-layout[data-v-db33d846]{--header-height:60px;isolation:isolate;flex-direction:column;min-height:100vh;display:flex;position:relative}@media (width<=760px){.site-layout[data-v-db33d846]{--header-height:56px}.site-layout[data-v-db33d846]:has(.navbar .edition-language){--header-height:92px}}.site-layout .site-backdrop[data-v-db33d846]{z-index:-1;position:fixed}.site-main[data-v-db33d846]{width:100%;min-width:0;padding-top:var(--header-height);flex:1}.site-layout--immersive .site-main[data-v-db33d846]{padding-top:0}
