.apple-page-enter-active,.apple-page-leave-active{transition:opacity .35s var(--ease-apple-out),transform .45s var(--ease-spring-soft)}.apple-page-enter-from{opacity:0;transform:translateY(12px) scale(.985)}.apple-page-leave-to{opacity:0;transform:translateY(-8px) scale(.99)}:root{--font-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--color-primary-50: #f0f0f5;--color-primary-100: #e4e4ed;--color-primary-200: #c9c9d8;--color-primary-300: #a6a6bd;--color-primary-400: #7f7f9e;--color-primary-500: #1a1a2e;--color-primary-600: #151528;--color-primary-700: #111120;--color-primary-800: #0d0d18;--color-primary-900: #080810;--color-accent: #1a1a2e;--color-accent-light: #e4e4ed;--color-success: #10B981;--color-success-light: #D1FAE5;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-error: #EF4444;--color-error-light: #FEE2E2;--neutral-0: #FFFFFF;--neutral-50: #F7F8FA;--neutral-100: #F2F3F5;--neutral-200: #E5E6EB;--neutral-300: #C9CDD4;--neutral-400: #9b9da8;--neutral-500: #6b6d7a;--neutral-600: #4E5969;--neutral-700: #3D4654;--neutral-800: #272E3A;--neutral-900: #1a1a2e;--neutral-950: #0C0F14;--bg-base: #ffffff;--bg-surface: #ffffff;--bg-surface-hover: rgba(26, 26, 46, .04);--bg-surface-active: rgba(26, 26, 46, .06);--bg-sidebar: #ffffff;--bg-overlay: rgba(0, 0, 0, .4);--text-primary: #1a1a2e;--text-secondary: #6b6d7a;--text-tertiary: #9b9da8;--text-inverse: #ffffff;--text-link: #1a1a2e;--text-on-primary: #ffffff;--border-default: rgba(26, 26, 46, .08);--border-strong: rgba(26, 26, 46, .14);--border-subtle: rgba(26, 26, 46, .05);--border-focus: #1a1a2e;--shadow-xs: 0 1px 2px rgba(17, 24, 39, .04);--shadow-sm: 0 1px 3px rgba(17, 24, 39, .06), 0 1px 2px rgba(17, 24, 39, .04);--shadow-md: 0 4px 6px -1px rgba(17, 24, 39, .07), 0 2px 4px -2px rgba(17, 24, 39, .05);--shadow-lg: 0 10px 15px -3px rgba(17, 24, 39, .08), 0 4px 6px -4px rgba(17, 24, 39, .04);--shadow-xl: 0 20px 25px -5px rgba(17, 24, 39, .08), 0 8px 10px -6px rgba(17, 24, 39, .04);--shadow-pill: 0 2px 12px rgba(17, 24, 39, .06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--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;--space-16: 64px;--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--header-height: 52px;--content-max-width: 860px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-apple-standard: cubic-bezier(.42, 0, .58, 1);--ease-apple-out: cubic-bezier(.25, .1, .25, 1);--ease-apple-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring-gentle: cubic-bezier(.34, 1.56, .64, 1);--ease-spring-snappy: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring-soft: cubic-bezier(.33, 1, .68, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-cinematic: 1s;--duration-spring: .6s;--glass-bg: rgba(255, 255, 255, .72);--glass-bg-strong: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .5);--glass-blur: 20px;--glass-saturate: 1.8;--radius-pill: 980px;--text-display-1: clamp(3rem, 8vw, 6rem);--text-display-2: clamp(2.5rem, 5vw, 4rem);--text-display-eyebrow: .8125rem;--text-subtitle: clamp(1.3125rem, 2vw, 1.75rem);--leading-display: 1.05;--tracking-display: -.025em;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--bp-sm: 640px;--bp-md: 1024px;--bp-lg: 1440px;--tap-target: 44px;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}:root{--dt-paper: #ffffff;--dt-paper-soft: #f7f8fa;--dt-ink: #1a1a2e;--dt-ink-soft: #6b6d7a;--dt-ink-faint: #9b9da8;--dt-accent: #1a1a2e;--dt-accent-soft: rgba(26, 26, 46, .06);--pmc-purple: #615CED;--pmc-purple-soft: rgba(97, 92, 237, .08);--pmc-purple-hover: #5147d8;--dt-rule: rgba(26, 26, 46, .08);--dt-rule-strong: rgba(26, 26, 46, .14);--dt-warm-glow: none;--dt-font-display: "Fraunces", "Iowan Old Style", Charter, Georgia, "Songti SC", "Source Han Serif SC", "Noto Serif SC", STSong, SimSun, serif;--dt-font-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;--dt-font-mono: Monaco, "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Courier New", monospace;--dt-content-width: 1180px;--dt-reading-width: 720px;--dt-font-emphasis: "Instrument Serif", "Iowan Old Style", Georgia, "Times New Roman", serif;--dt-glass-bg: rgba(255, 255, 255, .64);--dt-glass-border: rgba(255, 255, 255, .5);--dt-glass-blur: 20px;--dt-glass-saturate: 1.8;--duration-reveal: .7s;--duration-reveal-stagger: 80ms;--ease-reveal: cubic-bezier(.22, 1, .36, 1);--dt-panel-dark-bg: #0f1117;--dt-panel-dark-fg: #f0f0f0;--dt-panel-dark-muted: #8b8d97}em,.font-emphasis{font-family:var(--dt-font-emphasis);font-style:italic;font-weight:400}body{background:var(--dt-paper);color:var(--dt-ink);font-family:var(--dt-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Variable.woff2) format("woff2-variations");font-weight:100 800;font-display:swap}[data-theme=light]{--bg-base: #FFFFFF;--bg-surface: #FFFFFF;--bg-surface-hover: #F7F8FA;--bg-surface-active: #F2F3F5;--bg-sidebar: #FFFFFF;--bg-overlay: rgba(0, 0, 0, .4);--text-primary: #1D2129;--text-secondary: #86909C;--text-tertiary: #C9CDD4;--text-inverse: #FFFFFF;--text-link: #1a1a2e;--text-on-primary: #FFFFFF;--border-default: #E5E6EB;--border-strong: #C9CDD4;--border-subtle: #F0F1F5;--border-focus: #1a1a2e;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 10px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 20px -3px rgba(0, 0, 0, .07), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 30px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--bubble-user-bg: #EEF2FF;--bubble-user-text: #1D2129;--bubble-assistant-bg: transparent;--bubble-assistant-text: #1D2129;--ant-primary-color: #1a1a2e;--ant-bg-color: #FFFFFF;--ant-bg-color-container: #FFFFFF;--ant-bg-color-elevated: #FFFFFF;--ant-border-color-base: #E5E6EB;--ant-text-color: #1D2129;--ant-text-color-secondary: #86909C;--ant-input-bg-color: #FFFFFF;--ant-input-border-color: #E5E6EB}[data-theme=dark]{--neutral-0: #0C0F14;--neutral-50: #111520;--neutral-100: #161A22;--neutral-200: #1E2330;--neutral-300: #272E3A;--neutral-400: #3D4654;--neutral-500: #6B7280;--neutral-600: #86909C;--neutral-700: #C9CDD4;--neutral-800: #E5E6EB;--neutral-900: #F2F3F5;--neutral-950: #FFFFFF;--bg-base: var(--neutral-0);--bg-surface: var(--neutral-100);--bg-surface-hover: var(--neutral-200);--bg-surface-active: var(--neutral-300);--bg-sidebar: var(--neutral-50);--bg-overlay: rgba(0, 0, 0, .6);--text-primary: #F2F3F5;--text-secondary: #86909C;--text-tertiary: #6B7280;--text-inverse: #1D2129;--text-link: #7f7f9e;--text-on-primary: #FFFFFF;--border-default: #272E3A;--border-strong: #3D4654;--border-focus: #7f7f9e;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 10px -1px rgba(0, 0, 0, .35), 0 2px 4px -2px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 20px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 30px -5px rgba(0, 0, 0, .45), 0 8px 10px -6px rgba(0, 0, 0, .35);--bubble-user-bg: #2A2D47;--bubble-user-text: #F2F3F5;--bubble-assistant-bg: transparent;--bubble-assistant-text: #F2F3F5;--color-primary-50: #1E1B3A;--color-primary-100: #2A2550;--color-primary-200: #3D3499;--color-success-light: #0B2E1A;--color-error-light: #3B1212;--color-warning-light: #3B2E0A;--ant-primary-color: #7f7f9e;--ant-primary-color-hover: #A093FF;--ant-bg-color: #161A22;--ant-bg-color-container: #161A22;--ant-bg-color-elevated: #1E2330;--ant-border-color-base: #272E3A;--ant-text-color: #F2F3F5;--ant-text-color-secondary: #86909C;--ant-input-bg-color: #1E2330;--ant-input-border-color: #272E3A}[data-theme=dark] .adaptive-rules{background:linear-gradient(135deg,#2a1a0a,#1f140a)!important;border-color:#4a3520!important}[data-theme=dark] .adaptive-rules .rule-card{background:#1e2330cc!important}[data-theme=dark] .adaptive-rules .rules-title,[data-theme=dark] .adaptive-rules .rule-key{color:#d98a4a!important}[data-theme=dark] .adaptive-rules .rule-val{color:#e5c8a8!important}[data-theme=dark] .meta-score.high{background:#0b2e1a!important;color:#6ee7b7!important}[data-theme=dark] .meta-score.mid{background:#3b2e0a!important;color:#fbbf24!important}[data-theme=dark] .meta-score.low{background:#3b1212!important;color:#fca5a5!important}[data-theme=dark] .tl-node.done .tl-dot{background:#0b2e1a!important;border-color:#10b981!important;color:#6ee7b7!important}[data-theme=dark] .tl-node.current .tl-dot{background:#1e1b3a!important;border-color:#7f7f9e!important;color:#a093ff!important}[data-theme=dark] .node-card.current{background:linear-gradient(135deg,rgba(139,127,240,.08),transparent)!important}[data-theme=dark] .node-week-tag{background:#1e1b3a!important;color:#a093ff!important}[data-theme=dark] .node-card.done .node-week-tag{background:#0b2e1a!important;color:#6ee7b7!important}[data-theme=dark] .res-chip{background:var(--neutral-200)!important}[data-theme=dark] .milestone-item.in_progress{background:#2a1a0a!important}[data-theme=dark] .milestone-item.completed{background:#0b2e1a!important}[data-theme=dark] .section-card{border-color:var(--neutral-300)!important}[data-theme=dark] .overview-card,[data-theme=dark] .behavior-item{background:var(--neutral-100)!important;border-color:var(--neutral-300)!important}[data-theme=dark] .dim-card,[data-theme=dark] .suggestion-item{background:var(--neutral-100)!important}[data-theme=dark] .knowledge-item .k-bar{background:var(--neutral-300)!important}[data-theme=dark] .ov-trend.down{background:#3b1212!important;color:#fca5a5!important}[data-theme=dark] .ov-trend.up{background:#0b2e1a!important;color:#6ee7b7!important}[data-theme=dark] .suggestion-item.high .s-priority{background:#3b1212!important;color:#fca5a5!important}[data-theme=dark] .suggestion-item.medium .s-priority{background:#3b2e0a!important;color:#fbbf24!important}[data-theme=dark] .suggestion-item.low .s-priority{background:#1e1b3a!important;color:#a093ff!important}[data-theme=dark] .card-icon[style*=F1F2FE],[data-theme=dark] .ov-icon[style*=F1F2FE],[data-theme=dark] .stat-icon[style*=F1F2FE]{background:#1e1b3a!important}[data-theme=dark] .card-icon[style*=F0FDF4],[data-theme=dark] .ov-icon[style*=F0FDF4],[data-theme=dark] .stat-icon[style*=F0FDF4]{background:#0b2e1a!important}[data-theme=dark] .card-icon[style*=FEE2E2],[data-theme=dark] .ov-icon[style*=FEE2E2],[data-theme=dark] .stat-icon[style*=FEE2E2]{background:#3b1212!important}[data-theme=dark] .card-icon[style*=FEF3C7],[data-theme=dark] .ov-icon[style*=FEF3C7],[data-theme=dark] .stat-icon[style*=FEF3C7]{background:#3b2e0a!important}.tap-target{min-width:var(--tap-target);min-height:var(--tap-target)}.focus-ring:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.safe-top{padding-top:var(--safe-area-inset-top)}.safe-bottom{padding-bottom:var(--safe-area-inset-bottom)}.safe-left{padding-left:var(--safe-area-inset-left)}.safe-right{padding-right:var(--safe-area-inset-right)}.container-app{max-width:var(--content-max-width);margin-inline:auto;padding-inline:var(--space-6)}.container-landing{max-width:1200px;margin-inline:auto;padding-inline:var(--space-8)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-base);overflow-x:clip;transition:background-color var(--duration-normal) var(--ease-out-expo),color var(--duration-normal) var(--ease-out-expo)}a{color:var(--text-link);text-decoration:none;transition:opacity var(--duration-fast) ease}a:hover{opacity:.75}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;border:1.5px solid var(--border-default);background:var(--bg-surface);border-radius:var(--radius-md);outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}input:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #615ced1f}img,svg{display:block;max-width:100%}ul,ol{list-style:none}.reveal-hidden{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal-visible{opacity:1;transform:translateY(0)}::selection{background-color:#615ced26;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400);background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}.text-gradient{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce-dot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out-expo) both}.animate-fade-in{animation:fadeIn .3s ease both}.animate-slide-in-left{animation:slideInLeft .4s var(--ease-out-expo) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(7){animation-delay:.24s}.stagger>*:nth-child(8){animation-delay:.28s}.stagger>*:nth-child(9){animation-delay:.32s}.stagger>*:nth-child(10){animation-delay:.36s}.stagger>*:nth-child(11){animation-delay:.4s}.stagger>*:nth-child(12){animation-delay:.44s}.stagger>*:nth-child(13){animation-delay:.48s}.stagger>*:nth-child(14){animation-delay:.52s}.stagger>*:nth-child(15){animation-delay:.56s}.stagger>*:nth-child(16){animation-delay:.6s}.stagger>*:nth-child(17){animation-delay:.64s}.stagger>*:nth-child(18){animation-delay:.68s}.stagger>*:nth-child(19){animation-delay:.72s}.stagger>*:nth-child(20){animation-delay:.76s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(hover:none){.hover-raise:hover{transform:none;box-shadow:none}}.reveal{opacity:0;transform:translateY(24px) scale(.98);transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-spring-soft)}.reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}.reveal-left{transform:translate(-24px) scale(.98)}.reveal-right{transform:translate(24px) scale(.98)}.reveal-scale{transform:scale(.92)}.reveal-left.is-visible,.reveal-right.is-visible,.reveal-scale.is-visible{transform:translate(0) scale(1)}@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;transition:none}}.hover-raise-spring{transition:transform var(--duration-spring) var(--ease-spring-gentle),box-shadow var(--duration-normal) var(--ease-apple-out);will-change:transform}.hover-raise-spring:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-xl)}@media(hover:none){.hover-raise-spring:hover{transform:none;box-shadow:none}}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border)}.press{transition:transform var(--duration-fast) var(--ease-spring-soft)}.press:active{transform:scale(.96)}.scroll-reveal{opacity:0;transition:opacity var(--duration-reveal) var(--ease-reveal),transform var(--duration-reveal) var(--ease-reveal);will-change:opacity,transform}.scroll-reveal-up{transform:translateY(32px)}.scroll-reveal-down{transform:translateY(-32px)}.scroll-reveal-left{transform:translate(-24px)}.scroll-reveal-right{transform:translate(24px)}.scroll-reveal-scale{transform:scale(.94)}.scroll-reveal-fade{transform:none}.scroll-reveal.is-visible{opacity:1;transform:translate(0) scale(1)}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}
