.toast-container[data-v-830d989d]{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item[data-v-830d989d]{padding:10px 20px;border-radius:8px;font-size:14px;line-height:1.5;box-shadow:0 4px 16px #0000001f;animation:toast-in-830d989d .25s ease;pointer-events:auto;max-width:400px;text-align:center}.toast-item--error[data-v-830d989d]{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.toast-item--warn[data-v-830d989d]{background:#fffbeb;color:#92400e;border:1px solid #FDE68A}.toast-item--info[data-v-830d989d]{background:#eff6ff;color:#1e40af;border:1px solid #BFDBFE}@keyframes toast-in-830d989d{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.b-modal-overlay[data-v-82efc4d4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--sp-4)}.b-modal[data-v-82efc4d4]{background:var(--c-card);border-radius:var(--r-card);box-shadow:var(--shadow-modal);width:100%;max-height:90vh;overflow-y:auto}.b-modal__header[data-v-82efc4d4]{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-5) 0}.b-modal__header h2[data-v-82efc4d4]{font-size:var(--fs-h2)}.b-modal__close[data-v-82efc4d4]{font-size:24px;color:var(--c-text-weak);line-height:1}.b-modal__close[data-v-82efc4d4]:hover{color:var(--c-text)}.b-modal__body[data-v-82efc4d4]{padding:var(--sp-5)}.b-modal__footer[data-v-82efc4d4]{padding:0 var(--sp-5) var(--sp-5);display:flex;justify-content:flex-end;gap:var(--sp-3)}.b-button[data-v-2a4f0d9c]{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border-radius:var(--r-btn);font-weight:500;transition:all var(--ease);cursor:pointer;white-space:nowrap}.b-button--block[data-v-2a4f0d9c]{display:flex;width:100%}.b-button--sm[data-v-2a4f0d9c]{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-caption);height:32px}.b-button--md[data-v-2a4f0d9c]{padding:var(--sp-2) var(--sp-5);font-size:var(--fs-body);height:40px}.b-button--lg[data-v-2a4f0d9c]{padding:var(--sp-3) var(--sp-6);font-size:var(--fs-body);height:48px}.b-button--primary[data-v-2a4f0d9c]{background:var(--c-aux);color:#fff}.b-button--primary[data-v-2a4f0d9c]:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-hover)}.b-button--secondary[data-v-2a4f0d9c]{background:transparent;color:var(--c-aux);border:1px solid var(--c-border)}.b-button--secondary[data-v-2a4f0d9c]:hover:not(:disabled){border-color:var(--c-aux);background:#3b82f60a}.b-button--text[data-v-2a4f0d9c]{background:transparent;color:var(--c-aux);padding-left:var(--sp-2);padding-right:var(--sp-2)}.b-button--text[data-v-2a4f0d9c]:hover:not(:disabled){background:#3b82f60a}.b-button--disabled[data-v-2a4f0d9c],.b-button--loading[data-v-2a4f0d9c]{opacity:.5;cursor:not-allowed}.b-button__spinner[data-v-2a4f0d9c]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%}#app{min-height:100vh}:root{--c-main: #1A3352;--c-aux: #3B82F6;--c-bg: #F8F9FB;--c-card: #FFFFFF;--c-text: #1F2937;--c-text-sec: #6B7280;--c-text-weak: #9CA3AF;--c-green: #059669;--c-green-bg: #ECFDF5;--c-orange: #D97706;--c-orange-bg: #FFFBEB;--c-purple: #7C3AED;--c-purple-bg: #F5F3FF;--c-red: #DC2626;--c-border: #E5E7EB;--c-border-light: #F3F4F6;--c-disabled-bg: #F3F4F6;--c-comprehensive: #3B82F6;--c-comprehensive-bg: #EFF6FF;--c-case: #7C3AED;--c-case-bg: #F5F3FF;--c-essay: #059669;--c-essay-bg: #ECFDF5;--font: "HarmonyOS Sans SC", "PingFang SC", "Source Han Sans CN", sans-serif;--font-num: "Inter", "SF Pro", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--fs-h1: 24px;--fs-h2: 18px;--fs-body: 15px;--fs-caption: 13px;--fs-overline: 12px;--lh-h1: 32px;--lh-h2: 26px;--lh-body: 24px;--lh-caption: 20px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-8: 48px;--sp-12: 64px;--r-card: 12px;--r-btn: 8px;--r-tag: 4px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .08);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .12);--ease: .2s ease;--sidebar-width: 220px;--content-max: 800px;--content-max-wide: 1200px}@media(max-width:768px){:root{--fs-h1: 24px;--fs-h2: 18px;--sp-8: 32px;--sp-12: 48px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text);background-color:var(--c-bg);min-height:100vh}a{color:var(--c-aux);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none}img{max-width:100%;display:block}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600}.text-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:600;color:var(--c-text)}.text-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:600;color:var(--c-text)}.text-body{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text)}.text-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--c-text-sec)}.text-overline{font-size:var(--fs-overline);line-height:16px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--c-text-weak)}.text-num{font-family:var(--font-num)}.text-mono{font-family:var(--font-mono)}.fade-enter-active,.fade-leave-active{transition:opacity var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s ease}.slide-up-enter-from{opacity:0;transform:translateY(12px)}.slide-up-leave-to{opacity:0;transform:translateY(-12px)}.modal-enter-active,.modal-leave-active{transition:all .25s ease}.modal-enter-from,.modal-leave-to{opacity:0;transform:scale(.95)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.desktop-only{display:none}@media(min-width:1025px){.desktop-only{display:block}}.tablet-only{display:none}@media(min-width:768px)and (max-width:1024px){.tablet-only{display:block}}.mobile-only{display:none}@media(max-width:767px){.mobile-only{display:block}}@media(max-width:767px){.hide-mobile{display:none!important}}@media(min-width:1025px){.hide-desktop{display:none!important}}
