.topbar[data-v-0c24a7ff]{background:var(--surface-raised);border-bottom:1px solid var(--line-default);box-shadow:var(--elevation-1);position:relative}.topbar-inner[data-v-0c24a7ff]{display:flex;align-items:center;gap:var(--space-6);max-width:calc(var(--app-width) + var(--gap) * 2);margin:auto;height:var(--header-height);padding:0 var(--gap)}.brand[data-v-0c24a7ff]{display:flex;align-items:center;gap:var(--space-2);color:var(--text-strong);text-decoration:none;flex-shrink:0}.brand-mark[data-v-0c24a7ff]{color:var(--accent);flex-shrink:0}.brand-name[data-v-0c24a7ff]{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:.01em}.brand-tag[data-v-0c24a7ff]{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:var(--letter-spacing-label);padding-left:var(--space-2);border-left:1px solid var(--line-faint)}.modules[data-v-0c24a7ff]{flex:1;min-width:0}#menu[data-v-0c24a7ff]{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}#menu[data-v-0c24a7ff]::-webkit-scrollbar{display:none}#menu li[data-v-0c24a7ff]{margin-right:var(--space-1)}#menu a[data-v-0c24a7ff]{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border-bottom:2px solid transparent;transition:color .15s,background .15s,border-color .15s}#menu a[data-v-0c24a7ff]:hover{color:var(--text-strong);background:var(--accent-soft)}#menu li.active a[data-v-0c24a7ff]{color:var(--accent);background:var(--accent-soft);border-bottom-color:var(--accent);font-weight:var(--font-weight-medium)}.tools[data-v-0c24a7ff]{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.breadcrumb[data-v-0c24a7ff]{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}#theme-toggle[data-v-0c24a7ff]{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);padding:var(--space-1)}#theme-toggle svg[data-v-0c24a7ff]{transition:transform .2s,color .2s}#theme-toggle:hover svg[data-v-0c24a7ff]{transform:scale(1.1);color:var(--accent)}@media screen and (max-width: 680px){.topbar-inner[data-v-0c24a7ff]{gap:var(--space-3);padding:0 var(--space-3)}.brand-tag[data-v-0c24a7ff],.breadcrumb[data-v-0c24a7ff]{display:none}#menu li[data-v-0c24a7ff]{margin-right:0}}.site-footer[data-v-198d3b93]{background:var(--surface-raised);border-top:1px solid var(--line-default)}.footer-inner[data-v-198d3b93]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:calc(var(--app-width) + var(--gap) * 2);margin:auto;min-height:var(--footer-height);padding:var(--space-2) var(--gap)}.footer-note[data-v-198d3b93]{margin:0;font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.5}.footer-meta[data-v-198d3b93]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;font-size:var(--font-size-xs);color:var(--text-muted)}.footer-sep[data-v-198d3b93]{color:var(--line-strong)}.footer-mail[data-v-198d3b93]{color:var(--accent);text-decoration:none;font-weight:var(--font-weight-medium)}.footer-mail[data-v-198d3b93]:hover{text-decoration:underline}@media screen and (max-width: 680px){.footer-inner[data-v-198d3b93]{flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3)}}.whats-new-panel[data-v-58d451f3]{position:fixed;bottom:24px;right:24px;z-index:9000;width:360px;max-height:520px;overflow-y:auto;background:#0f172aeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(99,102,241,.35);border-radius:16px;box-shadow:0 8px 40px #00000080,0 0 0 1px #6366f126;display:flex;flex-direction:column;gap:0}.wn-header[data-v-58d451f3]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.07)}.wn-badge[data-v-58d451f3]{font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#a78bfa;background:#a78bfa1f;border:1px solid rgba(167,139,250,.25);border-radius:20px;padding:3px 10px}.wn-close[data-v-58d451f3]{background:none;border:none;color:#fff6;font-size:1.3rem;line-height:1;cursor:pointer;padding:0 2px;transition:color .2s}.wn-close[data-v-58d451f3]:hover{color:#ffffffd9}.wn-body[data-v-58d451f3]{padding:14px 18px;font-size:.86rem;color:#ffffffc7;line-height:1.65;flex:1}.wn-body[data-v-58d451f3] h2{font-size:1rem;font-weight:700;color:#e2e8f0;margin:0 0 10px}.wn-body[data-v-58d451f3] h3{font-size:.88rem;font-weight:600;color:#a78bfa;margin:12px 0 6px}.wn-body[data-v-58d451f3] p{margin:0 0 8px}.wn-body[data-v-58d451f3] ul{margin:4px 0 10px;padding-left:18px}.wn-body[data-v-58d451f3] li{margin-bottom:5px}.wn-body[data-v-58d451f3] strong{color:#e2e8f0;font-weight:600}.wn-body[data-v-58d451f3] code{background:#6366f126;border:1px solid rgba(99,102,241,.25);border-radius:4px;padding:1px 5px;font-size:.82rem;color:#a78bfa}.wn-body[data-v-58d451f3] hr{border:none;border-top:1px solid rgba(255,255,255,.08);margin:10px 0}.wn-body[data-v-58d451f3] .wn-callout{display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:10px 12px;border-radius:8px;font-size:.83rem;line-height:1.6}.wn-body[data-v-58d451f3] .wn-callout--important{background:#ef44441a;border-left:3px solid rgba(239,68,68,.6);color:#fca5a5}.wn-body[data-v-58d451f3] .wn-callout--note{background:#6366f11a;border-left:3px solid rgba(99,102,241,.5);color:#a5b4fc}.wn-body[data-v-58d451f3] .wn-callout--warning{background:#eab3081a;border-left:3px solid rgba(234,179,8,.5);color:#fde047}.wn-body[data-v-58d451f3] .wn-callout--tip{background:#22c55e1a;border-left:3px solid rgba(34,197,94,.5);color:#86efac}.wn-body[data-v-58d451f3] .wn-callout-icon{flex-shrink:0;font-size:1rem}.wn-footer[data-v-58d451f3]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 14px;border-top:1px solid rgba(255,255,255,.07)}.wn-btn-dismiss[data-v-58d451f3]{font-size:.78rem;color:#a78bfacc;background:none;border:1px solid rgba(167,139,250,.25);border-radius:8px;padding:5px 12px;cursor:pointer;transition:all .2s}.wn-btn-dismiss[data-v-58d451f3]:hover{background:#a78bfa1a;color:#a78bfa}.wn-version[data-v-58d451f3]{font-size:.72rem;color:#ffffff40;font-family:monospace}.whats-new-slide-enter-active[data-v-58d451f3]{transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.whats-new-slide-leave-active[data-v-58d451f3]{transition:transform .25s ease-in,opacity .2s ease}.whats-new-slide-enter-from[data-v-58d451f3]{transform:translateY(30px);opacity:0}.whats-new-slide-leave-to[data-v-58d451f3]{transform:translateY(20px);opacity:0}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--steel-950: #0d1117;--steel-900: #11161d;--steel-850: #161c24;--steel-800: #1c232d;--steel-750: #232b37;--steel-700: #2b3440;--steel-600: #3a4554;--steel-500: #5b6675;--steel-400: #8a95a5;--steel-300: #aab4c2;--steel-200: #ccd4de;--steel-100: #e6ebf1;--steel-050: #f4f6f9;--azure-600: #2f6fd8;--azure-500: #3d82ef;--azure-400: #5b9bff;--azure-300: #8fbcff;--azure-glow: rgba(61, 130, 239, .16);--signal-pass: #3fb98c;--signal-fail: #e5645f;--signal-warn: #d9a23a;--flaw-red: #ef4444;--surface-base: var(--steel-050);--surface-panel: #ffffff;--surface-raised: #ffffff;--surface-sunken: #eef1f5;--text-strong: #0f172a;--text-default: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--text-faint: #94a3b8;--text-on-accent: #ffffff;--line-default: #d8dee6;--line-strong: #c2cbd6;--line-faint: #e8ecf1;--accent: var(--azure-600);--accent-hover: var(--azure-500);--accent-soft: rgba(47, 111, 216, .08);--accent-soft-hover: rgba(47, 111, 216, .15);--state-pass-bg: #effaf4;--state-pass-line: #b6e6cf;--state-pass-text: #16734f;--state-fail-bg: #fdf0ef;--state-fail-line: #f3c6c4;--state-fail-text: #a93530;--state-warn-bg: #fdf7ec;--state-warn-line: #efdcb0;--state-warn-text: #8a6418;--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-math: "KaTeX_Main", "Latin Modern Math", serif;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.75rem;--line-height-tight: 1.2;--line-height-snug: 1.45;--line-height-normal: 1.6;--line-height-relaxed: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-label: .04em;--letter-spacing-mono: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-pill: 999px;--elevation-1: 0 1px 2px rgba(15, 23, 42, .06);--elevation-2: 0 4px 12px rgba(15, 23, 42, .08);--elevation-3: 0 12px 32px rgba(15, 23, 42, .14);--focus-ring: 0 0 0 3px var(--accent-soft);--accent-inset-glow: inset 0 0 0 1px var(--accent)}:root[data-theme=dark]{--surface-base: var(--steel-950);--surface-panel: var(--steel-850);--surface-raised: var(--steel-800);--surface-sunken: var(--steel-750);--text-strong: var(--steel-100);--text-default: var(--steel-200);--text-secondary: var(--steel-300);--text-muted: var(--steel-400);--text-faint: var(--steel-500);--line-default: var(--steel-700);--line-strong: var(--steel-600);--line-faint: rgba(255, 255, 255, .06);--accent: var(--azure-500);--accent-hover: var(--azure-400);--accent-soft: rgba(61, 130, 239, .14);--accent-soft-hover: rgba(61, 130, 239, .24);--state-pass-bg: rgba(63, 185, 140, .12);--state-pass-line: rgba(63, 185, 140, .34);--state-pass-text: #5fd3a6;--state-fail-bg: rgba(229, 100, 95, .12);--state-fail-line: rgba(229, 100, 95, .36);--state-fail-text: #f0918c;--state-warn-bg: rgba(217, 162, 58, .12);--state-warn-line: rgba(217, 162, 58, .34);--state-warn-text: #e6bd6a;--elevation-1: 0 0 0 1px var(--line-faint);--elevation-2: 0 0 0 1px var(--line-default), 0 6px 18px rgba(0, 0, 0, .45);--elevation-3: 0 0 0 1px var(--line-strong), 0 18px 48px rgba(0, 0, 0, .6);--focus-ring: 0 0 0 1px var(--accent), 0 0 0 4px var(--accent-soft);--accent-inset-glow: inset 0 0 0 1px var(--accent), 0 0 12px var(--azure-glow)}.num,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1;letter-spacing:var(--letter-spacing-mono)}:root{--gap: 24px;--content-gap: 20px;--nav-width: 1024px;--main-width: 720px;--app-width: 1400px;--header-height: 45px;--footer-height: 48px;--radius: var(--radius-md);--theme: var(--surface-base);--entry: var(--surface-panel);--primary: var(--text-strong);--secondary: var(--text-secondary);--tertiary: var(--line-strong);--content: var(--text-default);--code-block-bg: var(--surface-sunken);--code-bg: var(--surface-sunken);--border: var(--line-default);--link-color: var(--accent);--link-hover-color: var(--accent-hover)}:root{--primary-color: var(--accent);--light-gray: var(--surface-base);--border-color: var(--line-default);--text-color: var(--text-strong);--card-hover-shadow: var(--elevation-2);--calc-accent: var(--accent);--calc-accent-hover: var(--accent-hover);--calc-accent-bg: var(--accent-soft);--calc-accent-bg-hover: var(--accent-soft-hover);--calc-btn-gradient: linear-gradient(135deg, var(--azure-500), var(--azure-600));--calc-btn-shadow: var(--azure-glow);--calc-error-bg: var(--state-fail-bg);--calc-error-border: var(--state-fail-line);--calc-error-text: var(--state-fail-text);--calc-section-active-bg: var(--accent-soft);--calc-tab-bg: var(--surface-panel);--calc-linked-border: var(--signal-warn);--calc-linked-bg: var(--state-warn-bg);--calc-pass-bg: var(--state-pass-bg);--calc-pass-border: var(--state-pass-line);--calc-pass-text: var(--state-pass-text);--calc-fail-bg: var(--state-fail-bg);--calc-fail-border: var(--state-fail-line);--calc-fail-text: var(--state-fail-text);--calc-neutral-bg: var(--state-warn-bg);--calc-neutral-border: var(--state-warn-line);--calc-spec-card-bg: var(--surface-panel);--calc-spec-card-border: var(--state-pass-line);--calc-spec-highlight-bg: linear-gradient(135deg, var(--state-pass-bg), var(--surface-panel));--calc-spec-highlight-border: var(--state-pass-line);--calc-spec-badge-bg: var(--signal-pass);--calc-text-strong: var(--text-strong);--calc-text-muted: var(--text-secondary);--calc-text-faint: var(--text-faint);--calc-helper-bg: var(--surface-sunken);--calc-helper-border: var(--line-default);--calc-helper-text: var(--text-secondary);--calc-helper-heading: var(--text-strong)}.intro-callout{margin-top:14px;padding:12px 16px;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.intro-callout a{color:var(--calc-accent);font-weight:var(--font-weight-bold)}.intro-callout-tutorial{background:var(--calc-pass-bg);border-left:4px solid var(--calc-pass-border);color:var(--calc-text-strong)}.intro-callout-warning{background:var(--calc-neutral-bg);border-left:4px solid var(--calc-neutral-border);color:var(--calc-text-muted);font-size:var(--font-size-xs)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);word-break:break-word;background:var(--surface-base);color:var(--text-strong);transition:background-color .3s,color .3s}a{text-decoration:none;color:var(--secondary)}a:hover{color:var(--primary)}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);color:var(--text-strong)}button,input,textarea,select{font:inherit}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height) - 2px);width:100%;max-width:calc(var(--app-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}@media screen and (max-width: 768px){.main{max-width:100%;padding:var(--gap)}}.katex-mathml{display:none}#app{display:flex;flex-direction:column;min-height:100vh;width:100%}
