:root{--primary:#1f6bff;--primary-hover:#3b82ff;--primary-active:#1554d6;--primary-soft:#e8f0ff;--primary-disabled:#bfd3ff;--accent-cyan:#12b5cb;--accent-violet:#6e62e5;--ink:#0f1b33;--body:#2b3a55;--muted:#6b7a99;--muted-soft:#a3aec4;--on-primary:#fff;--canvas:#f3f6fb;--surface:#fff;--surface-soft:#f7f9fd;--surface-strong:#eef3fb;--hairline:#e3e9f3;--hairline-soft:#eef2f8;--border-strong:#c9d3e4;--success:#16a37b;--success-soft:#e5f6f0;--warning:#e08a00;--warning-soft:#fff5e3;--danger:#e5484d;--danger-soft:#fdecec;--info:var(--primary);--info-soft:var(--primary-soft);--error:var(--danger);--error-hover:#cc3237;--scrim:#0912267a;--chart-1:#1f6bff;--chart-2:#12b5cb;--chart-3:#6e62e5;--chart-4:#f5a623;--chart-5:#16a37b;--chart-6:#e5484d;--amber:var(--primary);--amber-l:#6b9dff;--amber-d:var(--primary-active);--amber-glow:#1f6bff1f;--teal:var(--primary);--teal-l:#6b9dff;--teal-d:var(--primary-active);--teal-glow:#1f6bff1f;--rose:var(--danger);--charcoal:var(--ink);--brown:var(--body);--cream:var(--surface);--cream-deep:var(--surface-soft);--legal-link:var(--primary);--star-rating:var(--ink);--color-background:var(--canvas);--color-surface:var(--surface);--color-card:var(--surface);--color-card-secondary:var(--surface-soft);--color-border:var(--hairline);--color-input-bg:var(--surface);--color-primary:var(--primary);--color-primary-hover:var(--primary-active);--color-secondary:var(--primary);--color-text-primary:var(--ink);--color-text-secondary:var(--muted);--color-error:var(--danger);--color-success:var(--success);--color-banner-bg:var(--primary-soft);--color-banner-title:var(--primary-active);--font-sans:"HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, system-ui, sans-serif;--font-num:"DIN Alternate", "Bahnschrift", "D-DIN", "Roboto Mono", var(--font-sans);--font-serif:var(--font-sans);--font-family:var(--font-sans);--font-family-barlow:var(--font-sans);--font-size-h1:clamp(22px, 2.4vw, 26px);--font-size-h2:20px;--font-size-h3:17px;--font-size-body:15px;--font-size-body-medium:14px;--font-size-body-small:13px;--font-size-button:14px;--line-height-h1:1.35;--line-height-h2:1.3;--line-height-h3:1.3;--line-height-body:1.6;--line-height-body-medium:1.5;--rounded-xs:4px;--rounded-sm:6px;--rounded-md:10px;--rounded-lg:14px;--rounded-xl:20px;--rounded-full:9999px;--border-radius-sm:var(--rounded-sm);--border-radius-md:var(--rounded-md);--border-radius-lg:var(--rounded-lg);--border-radius-full:var(--rounded-full);--spacing-xxs:2px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-base:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--spacing-section:64px;--shadow-1:0 1px 2px #0f1b330a, 0 4px 16px #0f1b330f;--shadow-2:0 2px 6px #0f1b330f, 0 12px 32px #0f1b331a;--shadow-card:var(--shadow-1);--shadow-btn:none;--shadow-warm:var(--shadow-1);--shadow-teal:var(--shadow-1);--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.16s;--dur-base:.28s}[data-surface=screen]{--s-bg:#030a1c;--s-bg-2:#06173a;--s-panel:#081e4a8c;--s-panel-strong:#0a2860b8;--s-line:#40a0ff3d;--s-line-strong:#50c8ff9e;--s-cyan:#2ee6ff;--s-blue:#3d8bff;--s-violet:#8b7cff;--s-text:#dce9ff;--s-text-strong:#fff;--s-muted:#7f9cc9;--s-amber:#ffb547;--s-green:#2be3a0;--s-red:#ff5c6c;--s-glow:0 0 18px #2ee6ff59;color:var(--s-text);background:var(--s-bg)}[data-fontsize=small]{--font-size-h1:clamp(20px, 2.2vw, 22px);--font-size-h2:18px;--font-size-h3:16px;--font-size-body:14px;--font-size-body-medium:13px;--font-size-body-small:12px;--font-size-button:13px}[data-fontsize=large]{--font-size-h1:clamp(26px, 2.8vw, 30px);--font-size-h2:23px;--font-size-h3:19px;--font-size-body:17px;--font-size-body-medium:16px;--font-size-body-small:15px;--font-size-button:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100vw;font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeUp .42s var(--ease-out) both}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
