:root{color-scheme:light;--color-bg-page:#f5f5f7;--color-bg-surface:#ffffff;--color-bg-surface-2:#f5f5f7;--color-bg-surface-3:#ebebed;--color-bg-gradient-page:linear-gradient(180deg,#f5f5f7,#f0f4ff);--color-border-default:rgba(0,0,0,0.08);--color-border-strong:rgba(0,0,0,0.16);--color-text-primary:#0d0d0d;--color-text-secondary:rgba(0,0,0,0.6);--color-text-tertiary:rgba(0,0,0,0.45);--color-text-on-primary:#ffffff;--color-primary:#3957ff;--color-primary-strong:#0052d9;--color-primary-soft:rgba(57,87,255,0.1);--color-info:#007aff;--color-purple:#af52de;--color-violet:#6725ff;--color-success:#16a34a;--color-success-soft:rgba(22,163,74,0.12);--color-warning:#d97706;--color-warning-soft:rgba(217,119,6,0.13);--color-danger:#f64041;--color-danger-soft:rgba(246,64,65,0.1);--color-ink:#202020;--color-ink-hover:#383838;--color-text-on-ink:#ffffff;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 8px 24px rgba(0,0,0,0.08);--shadow-lg:0 16px 48px rgba(0,0,0,0.14);--shadow-glow-primary:0 8px 24px rgba(0,122,255,0.18);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--text-4xl:36px;--leading-tight:1.3;--leading-normal:1.6;--leading-relaxed:1.95;--font-sans:"PingFang SC",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Microsoft YaHei",sans-serif;--font-heading:"Plus Jakarta Sans","Outfit","PingFang SC",-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Microsoft YaHei",sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,"Courier New",monospace;--nav-height:60px;--container-content:720px}[data-theme=dark]{color-scheme:dark;--color-bg-page:#0f1115;--color-bg-surface:#171a21;--color-bg-surface-2:#1d2129;--color-bg-surface-3:#242933;--color-bg-gradient-page:linear-gradient(180deg,#0f1115,#131722);--color-border-default:rgba(255,255,255,0.1);--color-border-strong:rgba(255,255,255,0.18);--color-text-primary:#edeef2;--color-text-secondary:rgba(255,255,255,0.65);--color-text-tertiary:rgba(255,255,255,0.45);--color-text-on-primary:#ffffff;--color-primary:#5b74ff;--color-primary-strong:#7e9bff;--color-primary-soft:rgba(91,116,255,0.16);--color-info:#4d9fff;--color-purple:#c77dff;--color-violet:#8f6bff;--color-success:#34c26b;--color-success-soft:rgba(52,194,107,0.16);--color-warning:#e89b3d;--color-warning-soft:rgba(232,155,61,0.16);--color-danger:#ff6b6b;--color-danger-soft:rgba(255,107,107,0.16);--color-ink:#edeef2;--color-ink-hover:#ffffff;--color-text-on-ink:#0f1115;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 8px 24px rgba(0,0,0,0.45);--shadow-lg:0 16px 48px rgba(0,0,0,0.55);--shadow-glow-primary:0 8px 24px rgba(91,116,255,0.25)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 22px;border-radius:var(--radius-full);border:1px solid transparent;font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;line-height:1.3;cursor:pointer;transition:background .13s ease,border-color .13s ease,color .13s ease,box-shadow .13s ease,transform .13s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-glow-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-strong)}.btn--ghost{background:transparent;border-color:var(--color-border-default);color:var(--color-text-primary)}.btn--ghost:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-bg-surface-2)}.btn--danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger);color:var(--color-text-on-primary)}.btn--ink{background:var(--color-ink);color:var(--color-text-on-ink)}.btn--ink:hover:not(:disabled){background:var(--color-ink-hover)}.input{width:100%;padding:11px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);transition:border-color .13s ease,box-shadow .13s ease}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.input--invalid{border-color:var(--color-danger)}.input--invalid:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.field__hint{color:var(--color-text-tertiary)}.field__error,.field__hint{margin:0;font-size:var(--text-xs)}.field__error{color:var(--color-danger)}.spinner{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary)}.spinner__dot{width:14px;height:14px;border-radius:var(--radius-full);border:2px solid var(--color-border-default);border-top-color:var(--color-primary);animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(1turn)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}