:root{--bg: #f5f5f7;--surface: #ffffff;--surface-2: #f2f2f7;--surface-3: #e5e5ea;--line: rgba(60, 60, 67, .12);--line-strong: rgba(60, 60, 67, .29);--text: #1d1d1f;--muted: #6e6e73;--accent: #0071e3;--accent-hover: #0077ed;--accent-soft: rgba(0, 113, 227, .1);--accent-contrast: #ffffff;--danger: #ff3b30;--danger-soft: rgba(255, 59, 48, .1);--shadow-1: 0 1px 2px rgba(0, 0, 0, .04);--shadow-2: 0 12px 32px rgba(0, 0, 0, .1);--material: rgba(255, 255, 255, .72);--segment-active: #ffffff;--dot: transparent;--radius-lg: 18px;--radius-md: 12px;--radius-sm: 10px;--radius-pill: 999px;--ease: cubic-bezier(.32, .72, 0, 1);--dur: .24s;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Helvetica Neue", "Segoe UI", "Microsoft YaHei", Inter, system-ui, sans-serif;--sidebar-w: clamp(236px, 16vw, 280px);--tabbar-h: 60px;--content-max: 1680px;--page-pad-x: clamp(20px, 4vw, 72px);--page-pad-y: clamp(22px, 3vw, 44px);--card-min: clamp(160px, 13vw, 220px);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #000000;--surface: #1c1c1e;--surface-2: #2c2c2e;--surface-3: #3a3a3c;--line: rgba(84, 84, 88, .6);--line-strong: rgba(84, 84, 88, .72);--text: #f5f5f7;--muted: #98989d;--accent: #0a84ff;--accent-hover: #409cff;--accent-soft: rgba(10, 132, 255, .16);--accent-contrast: #ffffff;--danger: #ff453a;--danger-soft: rgba(255, 69, 58, .14);--shadow-1: 0 1px 2px rgba(0, 0, 0, .5);--shadow-2: 0 16px 40px rgba(0, 0, 0, .6);--material: rgba(28, 28, 30, .72);--segment-active: #636366;color-scheme:dark}}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background-color:var(--bg);background-image:none;color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.47;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-sans);font-weight:600;letter-spacing:-.022em;margin:0;line-height:1.25}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}input{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--radius-md);border:1px solid transparent;background:var(--surface-2);font-size:15px;font-weight:500;letter-spacing:-.01em;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease),opacity var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.btn:hover{background:var(--surface-3)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--surface-2);border-color:transparent;color:var(--text)}.btn-danger{color:var(--danger);border-color:var(--line);background:var(--surface)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:13px;color:var(--muted)}.input{height:48px;padding:0 14px;border-radius:var(--radius-md);border:1px solid transparent;background:var(--surface-2);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.divider{height:1px;background:var(--line);border:0;margin:0}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur) var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
