:root{--color-primary:#6d4ae0;--color-primary-hover:#5b3bd1;--color-primary-active:#4b2fc0;--color-primary-soft:#a497e8;--color-on-primary:#fff;--color-secondary:#fff;--color-secondary-hover:#f0f1f4;--color-on-secondary:#1f2328;--color-secondary-border:#d0d5dd;--color-link:#2463eb;--color-link-hover:#1a4fc4;--color-header:#1f2a44;--color-on-header:#fff;--color-danger:#d92d20;--color-danger-hover:#b42318;--color-on-danger:#fff;--color-bg:#f3f4f6;--color-surface:#fff;--color-border:#e2e5ea;--color-input-border:#d0d5dd;--color-divider:#f0f1f4;--color-text:#1f2328;--color-text-muted:#3d444d;--color-text-subtle:#57606a;--color-chip-bg:#f0f1f4;--color-focus:#2463eb;--color-tier-starter:#15803d;--color-tier-elementary:#3f7a12;--color-tier-preIntermediate:#0e7490;--color-tier-intermediate:#a35a00;--color-tier-upperIntermediate:#c2410c;--color-tier-advanced:#b91c1c;--color-tier-frontier:#57606a;--color-cov-lt75:#c62828;--color-cov-lt90:#b45309;--color-cov-lt95:#8a6a00;--color-cov-lt98:#3a7f1c;--color-cov-ge98:#15803d;--color-hsk-1:#3b2a8f;--color-hsk-2:#5a45c2;--color-hsk-3:#7e6bdb;--color-hsk-4:#a497e8;--color-hsk-5:#c6bef2;--color-hsk-6:#dfdaf8;--color-hsk-7:#efedfb;--color-hsk-off:#e5e7eb;--color-hatch:#9aa1ab;--color-overlay:rgba(16,24,40,.45);--color-shadow:rgba(16,24,40,.06);--color-shadow-strong:rgba(16,24,40,.16);--color-thumb-bg:#3d4a66;--color-thumb-overlay:rgba(17,17,17,.62);--color-thumb-badge:rgba(17,17,17,.75);--color-thumb-text:hsla(0,0%,100%,.55);--color-on-thumb:#fff}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:Source Sans\ 3,Noto Sans SC,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.4;margin:0;min-height:100vh}[lang=zh-Hans]{font-family:Source Sans\ 3,Noto Sans SC,system-ui,sans-serif}[lang=zh-Hant]{font-family:Source Sans\ 3,Noto Sans TC,system-ui,sans-serif}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}dd,dl,figure,h1,h2,h3,p{margin:0}img{max-width:100%}button,input,select,textarea{color:inherit;font:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.container{margin:0 auto;max-width:1120px;padding:0 20px;width:100%}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);border:0;white-space:nowrap}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 1px 2px var(--color-shadow)}.eyebrow{color:var(--color-text-muted);font-size:12px;font-weight:700;letter-spacing:.06em}.tag{background:var(--color-chip-bg);font-size:14px;padding:2px 8px}.field,.tag{border-radius:4px}.field{background:var(--color-surface);border:1px solid var(--color-input-border);color:var(--color-text);font-size:16px;height:44px;padding:0 10px}.field--sm{font-size:15px;height:38px}@media(max-width:640px){.container{padding:0 12px}.hide-mobile{display:none!important}}@media(min-width:641px){.only-mobile{display:none!important}}.icon[data-v-2c20edd3]{display:block;flex:none}.btn[data-v-e79e2c24]{align-items:center;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-flex;flex:none;font:inherit;font-weight:500;gap:7px;justify-content:center;line-height:1.1;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn--sm[data-v-e79e2c24]{font-size:15px;height:36px;padding:0 12px}.btn--md[data-v-e79e2c24]{font-size:16px;height:40px;padding:0 14px}.btn--lg[data-v-e79e2c24]{font-size:17px;height:44px;padding:0 16px}.btn--icon[data-v-e79e2c24]{height:40px;padding:0;width:44px}.btn--block[data-v-e79e2c24]{display:flex;width:100%}.btn--primary[data-v-e79e2c24],.btn--primary[data-v-e79e2c24]:hover,.btn--primary[data-v-e79e2c24]:visited{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary[data-v-e79e2c24]:hover{background:var(--color-primary-hover)}.btn--secondary[data-v-e79e2c24],.btn--secondary[data-v-e79e2c24]:hover,.btn--secondary[data-v-e79e2c24]:visited{background:var(--color-secondary);border-color:var(--color-secondary-border);color:var(--color-on-secondary)}.btn--secondary[data-v-e79e2c24]:hover{background:var(--color-secondary-hover)}.btn--danger[data-v-e79e2c24],.btn--danger[data-v-e79e2c24]:hover,.btn--danger[data-v-e79e2c24]:visited{background:var(--color-danger);color:var(--color-on-danger)}.btn--danger[data-v-e79e2c24]:hover{background:var(--color-danger-hover)}.btn[aria-pressed=true][data-v-e79e2c24]{border:2px solid var(--color-primary-active)}.btn[data-v-e79e2c24]:disabled,.btn[aria-disabled=true][data-v-e79e2c24]{cursor:not-allowed;opacity:.55}.btn__label[data-v-e79e2c24]{overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.btn--md[data-v-e79e2c24],.btn--sm[data-v-e79e2c24]{min-height:44px}.btn--icon[data-v-e79e2c24]{height:44px;width:44px}}.header[data-v-bba94f65]{background:var(--color-header);color:var(--color-on-header);position:relative;z-index:30}.header__bar[data-v-bba94f65]{align-items:center;display:flex;gap:28px;height:68px}.header__brand[data-v-bba94f65]{flex:1 1 auto;font-size:25px;font-weight:700;letter-spacing:-.01em;text-decoration:none}.header__brand[data-v-bba94f65],.header__brand[data-v-bba94f65]:hover{color:var(--color-on-header)}.header__nav[data-v-bba94f65]{align-items:center;display:flex;font-size:17px;font-weight:600;gap:24px}.header__link[data-v-bba94f65],.header__link[data-v-bba94f65]:hover{color:var(--color-on-header);text-decoration:none}.header__link[data-v-bba94f65]:hover,.header__link[aria-current=page][data-v-bba94f65]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.header .header__app[data-v-bba94f65]{border-color:transparent;font-size:15px;font-weight:600;height:38px}@media(max-width:640px){.header__bar[data-v-bba94f65]{gap:8px;height:56px;padding:0 8px 0 16px}.header__brand[data-v-bba94f65]{font-size:21px}.header__nav[data-v-bba94f65]{align-items:stretch;background:var(--color-header);display:none;flex-direction:column;gap:0;left:0;padding:4px 16px 12px;position:absolute;right:0;top:56px}.header__nav--open[data-v-bba94f65]{display:flex}.header__link[data-v-bba94f65]{align-items:center;display:flex;min-height:48px}.header .header__app[data-v-bba94f65]{height:44px;margin-top:8px}}.footer[data-v-1bd5ca4a]{background:var(--color-surface);border-top:1px solid var(--color-border)}.footer__bar[data-v-1bd5ca4a]{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:15px;gap:14px 28px;justify-content:space-between;padding-bottom:30px;padding-top:22px}.footer__links[data-v-1bd5ca4a]{display:flex;flex-wrap:wrap;gap:18px}@media(max-width:640px){.footer__links a[data-v-1bd5ca4a]{align-items:center;display:inline-flex;min-height:44px}}.shell[data-v-a6ba5cba]{display:flex;flex-direction:column;min-height:100vh}.err[data-v-a6ba5cba]{flex:1 0 auto;padding-bottom:64px;padding-top:48px}.err__card[data-v-a6ba5cba]{display:flex;flex-direction:column;gap:10px;margin:0 auto;max-width:640px;padding:28px 24px}.err__code[data-v-a6ba5cba]{color:var(--color-text-subtle);font-size:14px;font-weight:700;letter-spacing:.06em}.err__title[data-v-a6ba5cba]{font-size:26px;font-weight:600}.err__text[data-v-a6ba5cba]{color:var(--color-text-muted);font-size:16px;line-height:1.55}.err__actions[data-v-a6ba5cba]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
