:root{--color-primary-50: #eef0ff;--color-primary-100: #e0e3ff;--color-primary-300: #a5acff;--color-primary-500: #5b61e8;--color-primary-600: #484edb;--color-primary-700: #3a3fc2;--color-bg: #fafafb;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: #f4f4f6;--color-border: #e8e8ec;--color-border-strong: #d4d5db;--color-text-primary: #16181d;--color-text-secondary: #5a5e68;--color-text-tertiary: #8a8e99;--color-text-disabled: #b5b8c0;--color-success: #1f9d6b;--color-warning: #d98a0b;--color-danger: #dc4040;--color-info: #2d7ff0;--color-blocking: #e0531f;--band-p0: #dc4040;--band-p0-bg: #fcebeb;--band-p1: #e08a1e;--band-p1-bg: #fcf3e3;--band-p2: #5b61e8;--band-p2-bg: #eef0ff;--band-p3: #8a8e99;--band-p3-bg: #f2f3f5;--cat-project-task: #5b61e8;--cat-project-learning: #7c5be8;--cat-life: #1f9d6b;--cat-standalone: #8a8e99;--font-sans: "Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", -apple-system, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, monospace;--text-display: 23px;--text-h1: 22px;--text-h2: 18px;--text-body-lg: 16px;--text-body: 14px;--text-sm: 13px;--text-xs: 12px;--text-score: 13px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--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;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-0: none;--shadow-1: 0 1px 3px rgba(16, 18, 29, .07), 0 1px 2px rgba(16, 18, 29, .04);--shadow-2: 0 4px 14px rgba(16, 18, 29, .12);--shadow-3: 0 16px 44px rgba(16, 18, 29, .18);--focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-primary-500);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s;--sidebar-width: 240px;--sidebar-collapsed: 64px;--content-max: 720px;--detail-width: 368px;--topbar-height: 56px}[data-theme=dark]{--color-primary-50: #1a1b3a;--color-primary-100: #222452;--color-primary-300: #5b61c9;--color-primary-500: #7b82ff;--color-primary-600: #666cf5;--color-primary-700: #565ce0;--color-bg: #0e0f13;--color-surface: #181a20;--color-surface-raised: #21242c;--color-surface-sunken: #121419;--color-border: #2a2d36;--color-border-strong: #3a3e49;--color-text-primary: #f2f3f5;--color-text-secondary: #a4a8b4;--color-text-tertiary: #71757f;--color-text-disabled: #4a4e58;--color-success: #34c88a;--color-warning: #f0a93b;--color-danger: #ff6464;--color-info: #5aa0ff;--color-blocking: #ff7a47;--band-p0: #ff6464;--band-p0-bg: #3a1e1e;--band-p1: #f0a93b;--band-p1-bg: #3a2e16;--band-p2: #7b82ff;--band-p2-bg: #22244a;--band-p3: #71757f;--band-p3-bg: #222530;--cat-project-task: #7b82ff;--cat-project-learning: #9b7bff;--cat-life: #34c88a;--cat-standalone: #71757f;--shadow-1: 0 1px 3px rgba(0, 0, 0, .45);--shadow-2: 0 4px 14px rgba(0, 0, 0, .5);--shadow-3: 0 16px 44px rgba(0, 0, 0, .62)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms}}@media(max-width:767px){:root{--content-max: 100%;--tabbar-height: 56px;--fab-size: 52px;--fab-bottom: 72px}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:1.55;color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}::selection{background:#5b61e82e}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#8a8e9952;border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}button,input,textarea{font-family:inherit}a{color:var(--color-primary-500);text-decoration:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}@keyframes ff-fade{0%{opacity:0}to{opacity:1}}@keyframes ff-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes ff-slide{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes ff-toast{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ff-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ff-sheet-up{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@media(max-width:767px){button,a,[role=button],[role=checkbox],input,textarea,select{touch-action:manipulation}input,textarea,select{font-size:max(16px,1em)}*{-webkit-overflow-scrolling:touch}}
