.theme-switcher[data-v-b9e421b7]{position:relative;display:inline-flex}.theme-switcher__trigger[data-v-b9e421b7]{display:inline-flex;align-items:center;gap:6px}.theme-switcher__icon[data-v-b9e421b7]{display:inline-block;font-size:16px;line-height:1;transition:transform .4s ease}.theme-switcher__icon.is-spinning[data-v-b9e421b7]{animation:theme-spin-b9e421b7 .6s ease}@keyframes theme-spin-b9e421b7{to{transform:rotate(360deg)}}.theme-switcher__panel[data-v-b9e421b7]{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:240px;padding:12px;box-shadow:var(--shadow-lg)}.theme-switcher__title[data-v-b9e421b7]{font-size:12px;font-weight:600;color:var(--color-text-light);padding:4px 8px 8px}.theme-switcher__list[data-v-b9e421b7]{display:flex;flex-direction:column;gap:4px}.theme-switcher__option[data-v-b9e421b7]{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .2s ease}.theme-switcher__option[data-v-b9e421b7]:hover{background:var(--color-primary-tint-soft)}.theme-switcher__option.is-active[data-v-b9e421b7]{background:var(--color-primary-tint)}.theme-switcher__swatches[data-v-b9e421b7]{display:flex;flex-shrink:0}.theme-switcher__swatch[data-v-b9e421b7]{width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border);margin-left:-6px}.theme-switcher__swatch[data-v-b9e421b7]:first-child{margin-left:0}.theme-switcher__meta[data-v-b9e421b7]{display:flex;flex-direction:column;flex:1;min-width:0}.theme-switcher__name[data-v-b9e421b7]{font-size:14px;font-weight:500;color:var(--color-text)}.theme-switcher__desc[data-v-b9e421b7]{font-size:12px;color:var(--color-text-light)}.theme-switcher__check[data-v-b9e421b7]{color:var(--color-primary-dark);font-weight:700;font-size:14px}.theme-switcher__toast[data-v-b9e421b7]{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:300;padding:10px 20px;font-size:14px;color:var(--color-on-primary);background:var(--gradient-primary);border-radius:999px;box-shadow:var(--shadow-md);pointer-events:none}.theme-pop-enter-active[data-v-b9e421b7],.theme-pop-leave-active[data-v-b9e421b7]{transition:opacity .2s ease,transform .2s ease}.theme-pop-enter-from[data-v-b9e421b7],.theme-pop-leave-to[data-v-b9e421b7]{opacity:0;transform:translateY(-6px)}.theme-toast-enter-active[data-v-b9e421b7],.theme-toast-leave-active[data-v-b9e421b7]{transition:opacity .25s ease,transform .25s ease}.theme-toast-enter-from[data-v-b9e421b7],.theme-toast-leave-to[data-v-b9e421b7]{opacity:0;transform:translate(-50%,10px)}@media (max-width: 640px){.theme-switcher__label[data-v-b9e421b7]{display:none}.theme-switcher__panel[data-v-b9e421b7]{width:220px;right:0}}.navbar[data-v-396be873]{position:sticky;top:0;z-index:100;background:var(--color-surface);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--color-border-tint)}.navbar__inner[data-v-396be873]{max-width:1100px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;gap:24px}.navbar__brand[data-v-396be873]{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:var(--color-text)}.navbar__logo[data-v-396be873]{font-size:22px;filter:drop-shadow(0 2px 4px var(--color-primary-tint-strong))}.navbar__title[data-v-396be873]{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.navbar__links[data-v-396be873]{display:flex;align-items:center;gap:4px;margin-left:8px}.navbar__link[data-v-396be873]{padding:8px 14px;border-radius:var(--radius-sm);color:var(--color-text-light);font-size:15px;font-weight:500;transition:all .2s ease}.navbar__link[data-v-396be873]:hover{color:var(--color-primary-dark);background:var(--color-primary-tint-soft)}.navbar__link.is-active[data-v-396be873]{color:var(--color-primary-dark);background:var(--color-primary-tint)}.navbar__actions[data-v-396be873]{margin-left:auto;display:flex;align-items:center;gap:12px}.navbar__user[data-v-396be873]{font-size:14px;color:var(--color-text-light)}.navbar__btn[data-v-396be873]{padding:8px 16px;font-size:14px}@media (max-width: 640px){.navbar__inner[data-v-396be873]{gap:12px;height:56px;padding:0 16px}.navbar__title[data-v-396be873]{display:none}.navbar__link[data-v-396be873]{padding:6px 10px;font-size:14px}.navbar__user[data-v-396be873]{display:none}}.footer[data-v-ab3df08f]{border-top:1px solid var(--color-border-tint);background:var(--color-surface-soft);padding:24px 20px;text-align:center}.footer__inner[data-v-ab3df08f]{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:6px}.footer__text[data-v-ab3df08f]{font-size:14px;color:var(--color-text-light)}.footer__brand[data-v-ab3df08f]{font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.footer__copy[data-v-ab3df08f]{font-size:12px;color:var(--color-muted)}@media (max-width: 640px){.footer[data-v-ab3df08f]{padding:18px 16px}}.app-shell[data-v-09ed1ebb]{display:flex;flex-direction:column;min-height:100vh}.app-main[data-v-09ed1ebb]{flex:1 1 auto;width:100%;max-width:1100px;margin:0 auto;padding:24px 20px 48px;box-sizing:border-box}.app-main--chromeless[data-v-09ed1ebb]{max-width:none;padding:0}.fade-enter-active[data-v-09ed1ebb],.fade-leave-active[data-v-09ed1ebb]{transition:opacity .25s ease}.fade-enter-from[data-v-09ed1ebb],.fade-leave-to[data-v-09ed1ebb]{opacity:0}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--color-text);background:var(--gradient-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;min-height:100vh}#app{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}:root{--color-primary: #5aa9e6;--color-primary-dark: #3d8fd1;--color-accent: #7ed4a8;--color-accent-dark: #56b88a;--color-warning: #e8a64a;--color-warning-dark: #c47a2a;--color-danger: #e25c5c;--color-danger-dark: #c94545;--color-text: #2c3e50;--color-text-light: #6b7c8c;--color-muted: #9aa7b4;--color-border: #e3ecf3;--color-card: #ffffff;--color-surface: rgba(255, 255, 255, .85);--color-surface-soft: rgba(255, 255, 255, .6);--color-surface-faint: rgba(255, 255, 255, .7);--color-surface-solid: #ffffff;--color-input-bg: #f7fafc;--color-code-bg: #f0f5f9;--color-on-primary: #ffffff;--color-primary-tint-soft: rgba(90, 169, 230, .08);--color-primary-tint: rgba(90, 169, 230, .12);--color-primary-tint-strong: rgba(90, 169, 230, .18);--color-accent-tint: rgba(126, 212, 168, .16);--color-danger-tint: rgba(226, 92, 92, .08);--color-warning-tint: rgba(232, 166, 74, .16);--color-border-tint: rgba(227, 236, 243, .6);--color-skeleton: rgba(227, 236, 243, .6);--color-quote: rgba(90, 169, 230, .1);--color-scrollbar: rgba(150, 175, 195, .4);--color-scrollbar-hover: rgba(150, 175, 195, .6);--color-focus-ring: rgba(90, 169, 230, .15);--color-code-block-bg: #2c3e50;--color-code-block-text: #e6f7ee;--color-muted-tint: rgba(154, 167, 180, .18);--color-danger-border: rgba(226, 92, 92, .3);--shadow-sm: 0 2px 8px rgba(90, 130, 160, .08);--shadow-md: 0 6px 20px rgba(90, 130, 160, .12);--shadow-lg: 0 12px 32px rgba(90, 130, 160, .16);--shadow-primary: 0 4px 12px rgba(90, 169, 230, .3);--shadow-primary-strong: 0 6px 16px rgba(90, 169, 230, .4);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--gradient-primary: linear-gradient(135deg, #5aa9e6 0%, #7ed4a8 100%);--gradient-soft: linear-gradient(135deg, #e8f4f8 0%, #e6f7ee 100%);--gradient-bg: linear-gradient(135deg, #e8f4f8 0%, #e6f7ee 50%, #eef6ff 100%);--font-mono: "SFMono-Regular", "JetBrains Mono", "Fira Code", Consolas, "Liberation Mono", Menlo, monospace;--color-focus: var(--color-primary)}[data-theme=dark]{--color-primary: #6cb8f0;--color-primary-dark: #5aa9e6;--color-accent: #8ee0b8;--color-accent-dark: #7ed4a8;--color-warning: #f0b860;--color-warning-dark: #e8a64a;--color-danger: #f07070;--color-danger-dark: #e25c5c;--color-text: #e6edf3;--color-text-light: #9aa7b8;--color-muted: #6b7c8c;--color-border: #2a3543;--color-card: #1a2230;--color-surface: rgba(26, 34, 48, .85);--color-surface-soft: rgba(255, 255, 255, .06);--color-surface-faint: rgba(255, 255, 255, .08);--color-surface-solid: #243044;--color-input-bg: #161e2c;--color-code-bg: #161e2c;--color-on-primary: #0b1622;--color-primary-tint-soft: rgba(108, 184, 240, .12);--color-primary-tint: rgba(108, 184, 240, .18);--color-primary-tint-strong: rgba(108, 184, 240, .24);--color-accent-tint: rgba(142, 224, 184, .18);--color-danger-tint: rgba(240, 112, 112, .14);--color-warning-tint: rgba(240, 184, 96, .18);--color-border-tint: rgba(42, 53, 67, .8);--color-skeleton: rgba(255, 255, 255, .08);--color-quote: rgba(108, 184, 240, .14);--color-scrollbar: rgba(255, 255, 255, .15);--color-scrollbar-hover: rgba(255, 255, 255, .28);--color-focus-ring: rgba(108, 184, 240, .3);--color-code-block-bg: #0b1622;--color-code-block-text: #e6edf3;--color-muted-tint: rgba(255, 255, 255, .1);--color-danger-border: rgba(240, 112, 112, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--shadow-primary: 0 4px 12px rgba(108, 184, 240, .25);--shadow-primary-strong: 0 6px 16px rgba(108, 184, 240, .35);--gradient-primary: linear-gradient(135deg, #6cb8f0 0%, #8ee0b8 100%);--gradient-soft: linear-gradient(135deg, #1a2230 0%, #16202c 100%);--gradient-bg: linear-gradient(135deg, #0f1620 0%, #131c28 50%, #0f1a24 100%);--color-focus: #6cb8f0}[data-theme=contrast]{--color-primary: #0057b8;--color-primary-dark: #003d80;--color-accent: #006633;--color-accent-dark: #004d26;--color-warning: #8a4b00;--color-warning-dark: #5c3200;--color-danger: #b00000;--color-danger-dark: #800000;--color-text: #000000;--color-text-light: #1a1a1a;--color-muted: #333333;--color-border: #000000;--color-card: #ffffff;--color-surface: #ffffff;--color-surface-soft: #ffffff;--color-surface-faint: #ffffff;--color-surface-solid: #ffffff;--color-input-bg: #ffffff;--color-code-bg: #f0f0f0;--color-on-primary: #ffffff;--color-primary-tint-soft: #e6e6e6;--color-primary-tint: #cccccc;--color-primary-tint-strong: #b3b3b3;--color-accent-tint: #cce8d5;--color-danger-tint: #f5cccc;--color-warning-tint: #f5e6cc;--color-border-tint: #000000;--color-skeleton: #cccccc;--color-quote: rgba(0, 0, 0, .18);--color-scrollbar: #666666;--color-scrollbar-hover: #000000;--color-focus-ring: rgba(0, 0, 0, .6);--color-code-block-bg: #000000;--color-code-block-text: #ffff00;--color-muted-tint: #cccccc;--color-danger-border: #b00000;--shadow-sm: 0 0 0 1px #000000;--shadow-md: 0 0 0 2px #000000;--shadow-lg: 0 4px 0 #000000;--shadow-primary: 0 0 0 2px #000000;--shadow-primary-strong: 0 0 0 3px #000000;--gradient-primary: linear-gradient(135deg, #0057b8 0%, #006633 100%);--gradient-soft: linear-gradient(135deg, #ffffff 0%, #f0f0f0 100%);--gradient-bg: #ffffff;--color-focus: #000000}.is-theme-transitioning,.is-theme-transitioning *,.is-theme-transitioning *:before,.is-theme-transitioning *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease!important}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}.card{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;font-size:15px;font-weight:500;border-radius:var(--radius-sm);transition:all .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--gradient-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary-strong)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:var(--color-surface-soft);color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-solid);border-color:var(--color-primary);color:var(--color-primary-dark)}.btn-block{width:100%}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-muted)}.text-center{text-align:center}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}::selection{background:var(--color-primary-tint);color:inherit}@media (max-width: 768px){.container{padding:0 16px}}[data-theme=contrast] *{letter-spacing:.01em}
