@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";@import"https://api.fontshare.com/v2/css?f[]=clash-display@200,300,400,500,600,700&f[]=satoshi@300,400,500,600,700,900&display=swap";:root{--bg-primary: #f2f2f2;--bg-secondary: #ebebeb;--bg-sidebar: #111111;--bg-surface: #ffffff;--bg-input: #ffffff;--bg-chat: #f2f2f2;--bg-user-msg: transparent;--bg-ai-msg: transparent;--card-bg: #ffffff;--card-border: rgba(30, 30, 30, .06);--modal-bg: #ffffff;--modal-border: rgba(30, 30, 30, .08);--modal-overlay: rgba(17, 17, 17, .35);--sheet-bg: #ffffff;--text-primary: #111111;--text-secondary: #838282;--text-muted: #b6b5b5;--text-placeholder: #b6b5b5;--text-inverse: #f2f2f2;--accent-primary: #111111;--accent-secondary: #838282;--accent-warm: #d97757;--accent-green: #111111;--accent-glow: rgba(17, 17, 17, .04);--btn-primary-bg: #111111;--btn-primary-text: #f2f2f2;--btn-secondary-bg: transparent;--btn-secondary-text: #838282;--btn-secondary-border: rgba(30, 30, 30, .1);--btn-disabled-bg: rgba(30, 30, 30, .15);--btn-hover-bg: rgba(30, 30, 30, .04);--input-bg: #ffffff;--input-border: rgba(30, 30, 30, .08);--input-border-focus: rgba(30, 30, 30, .25);--input-text: #111111;--input-shadow-focus: 0 0 0 2px rgba(17, 17, 17, .08);--border-subtle: rgba(30, 30, 30, .06);--border-medium: rgba(30, 30, 30, .1);--border-focus: rgba(30, 30, 30, .25);--glass-surface: rgba(30, 30, 30, .02);--glass-hover: rgba(30, 30, 30, .04);--shadow-sm: 0 1px 4px rgba(30, 30, 30, .04);--shadow-md: 0 2px 12px rgba(30, 30, 30, .04);--shadow-lg: 0 24px 60px rgba(30, 30, 30, .12);--shadow-xl: 0 32px 80px rgba(0, 0, 0, .15);--scrollbar-thumb: rgba(30, 30, 30, .12);--scrollbar-thumb-hover: rgba(30, 30, 30, .22);--code-bg: rgba(30, 30, 30, .04);--code-bg-user: rgba(255, 255, 255, .12);--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--insight-bg: #f2f2f2;--insight-border: #111111;--chart-center: #ffffff;--nav-bg: rgba(242, 242, 242, .9);--nav-border: rgba(30, 30, 30, .06);--logo-filter: invert(1);--wave-bar-color: #111111;--font-sans: "Satoshi", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Clash Display", "Inter", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--sidebar-collapsed-width: 52px;--sidebar-expanded-width: 260px;--chat-max-width: 780px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--sidebar-transition: .22s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-sidebar: #0a0a0a;--bg-surface: #1e1e1e;--bg-input: #252525;--bg-chat: #0f0f0f;--bg-user-msg: transparent;--bg-ai-msg: transparent;--card-bg: #1e1e1e;--card-border: rgba(255, 255, 255, .06);--modal-bg: #1e1e1e;--modal-border: rgba(255, 255, 255, .08);--modal-overlay: rgba(0, 0, 0, .6);--sheet-bg: #1a1a1a;--text-primary: #f2f2f2;--text-secondary: #9a9a9a;--text-muted: #666666;--text-placeholder: #555555;--text-inverse: #111111;--accent-primary: #f2f2f2;--accent-secondary: #9a9a9a;--accent-warm: #e89070;--accent-green: #f2f2f2;--accent-glow: rgba(255, 255, 255, .04);--btn-primary-bg: #f2f2f2;--btn-primary-text: #111111;--btn-secondary-bg: transparent;--btn-secondary-text: #9a9a9a;--btn-secondary-border: rgba(255, 255, 255, .1);--btn-disabled-bg: rgba(255, 255, 255, .1);--btn-hover-bg: rgba(255, 255, 255, .06);--input-bg: #252525;--input-border: rgba(255, 255, 255, .08);--input-border-focus: rgba(255, 255, 255, .25);--input-text: #f2f2f2;--input-shadow-focus: 0 0 0 2px rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--border-focus: rgba(255, 255, 255, .25);--glass-surface: rgba(255, 255, 255, .03);--glass-hover: rgba(255, 255, 255, .06);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .3);--shadow-md: 0 2px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .4);--shadow-xl: 0 32px 80px rgba(0, 0, 0, .5);--scrollbar-thumb: rgba(255, 255, 255, .1);--scrollbar-thumb-hover: rgba(255, 255, 255, .2);--code-bg: rgba(255, 255, 255, .06);--code-bg-user: rgba(255, 255, 255, .12);--insight-bg: #1a1a1a;--insight-border: #f2f2f2;--chart-center: #1e1e1e;--nav-bg: rgba(15, 15, 15, .9);--nav-border: rgba(255, 255, 255, .06);--wave-bar-color: #f2f2f2;--logo-filter: invert(0)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sidebar-root{position:relative;flex-shrink:0;height:100vh;background:var(--bg-sidebar);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;transition:width var(--sidebar-transition);overflow:hidden;z-index:50}.sidebar-root.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-root.expanded{width:var(--sidebar-expanded-width)}.nav-icon-btn{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:none;background:transparent;color:#ffffff80;font-size:13.5px;font-weight:500;font-family:var(--font-sans);cursor:pointer;border-radius:8px;transition:background .15s,color .15s;white-space:nowrap;text-align:left;text-decoration:none}.nav-icon-btn:hover{background:#ffffff0d;color:#fff}.nav-icon-btn.active{background:#ffffff14;color:#fff}.sidebar-label{opacity:0;width:0;overflow:hidden;transition:opacity .2s,width .2s;white-space:nowrap}.sidebar-root.expanded .sidebar-label{opacity:1;width:auto}.chat-input-box{position:relative;background:var(--bg-surface);border:1px solid var(--input-border);border-radius:16px;transition:border-color .2s ease;width:100%;padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--shadow-md)}.chat-input-box:focus-within{border-color:var(--input-border-focus)}.chat-input-box textarea{width:100%;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:14.5px;font-weight:400;line-height:1.6;resize:none;overflow-y:auto;min-height:24px;max-height:220px;padding:0}.chat-input-box textarea::placeholder{color:var(--text-placeholder)}@keyframes planSlideIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes planFloatUp{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}to{opacity:.5;transform:translateY(-40px) scale(.92);filter:blur(4px)}}@keyframes planExpand{0%{opacity:.5;transform:scale(.92);filter:blur(4px)}to{opacity:1;transform:scale(1);filter:blur(0px)}}@keyframes checkmarkPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.plan-slide-in{animation:planSlideIn .5s var(--ease-spring) forwards}.plan-float-up{animation:planFloatUp .6s var(--ease-out-expo) forwards}.plan-expand{animation:planExpand .4s var(--ease-spring) forwards}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-in{animation:messageIn .3s var(--ease-out-expo) forwards}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.loading-dot{width:5px;height:5px;background:var(--text-muted);border-radius:50%;animation:dotBounce 1.4s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.16s}.loading-dot:nth-child(3){animation-delay:.32s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes orbGlow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-fade-in-up{animation:fadeInUp .8s var(--ease-out-expo) forwards}.orb-glow{animation:orbGlow 4s ease-in-out infinite}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-sheet-anim{animation:slideUpSheet .4s var(--ease-spring) forwards}.backdrop-fade-in{animation:fadeIn .25s ease-out forwards}@media(max-width:768px){:root{--sidebar-collapsed-width: 0px;--sidebar-expanded-width: 280px;--chat-max-width: 100%}[data-theme=dark]{--sidebar-expanded-width: 280px}.sidebar-root{position:fixed!important;top:0;left:0;bottom:0;z-index:1000!important;transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1)!important;width:var(--sidebar-expanded-width)!important;visibility:hidden}.sidebar-root.expanded{transform:translate(0);visibility:visible}.drawer-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.mobile-horizontal-scroll{flex-direction:row!important;overflow-x:auto;width:100%;padding-bottom:8px!important;-webkit-overflow-scrolling:touch;align-items:flex-start!important}.mobile-horizontal-scroll::-webkit-scrollbar{display:none}.locked-weeks-panel .week-group-col{flex-direction:row!important}.locked-weeks-panel .week-divider{width:1px!important;height:28px!important;margin:0 4px!important}.chat-messages-area{padding-bottom:20px}.week-drawer-mobile{inset:0 0 0 auto!important;width:85%!important;max-width:340px!important;height:100vh!important;max-height:100vh!important;border-radius:20px 0 0 20px!important;transform:none!important;animation:none!important;z-index:1000!important;box-shadow:-10px 0 30px #0000004d!important}.mobile-header{padding-top:max(env(safe-area-inset-top,16px),16px)!important;min-height:56px!important}.sidebar-root .sidebar-header{padding-top:max(env(safe-area-inset-top,12px),12px)!important}.journey-grid{grid-template-columns:1fr!important;gap:16px!important}.journey-flex-col{flex-direction:column!important}.chart-scroll-container{overflow-x:auto;padding-bottom:12px}.hide-on-mobile{display:none!important}.show-on-mobile{display:flex!important}.flex-col-mobile{flex-direction:column!important}.grid-col-1-mobile{grid-template-columns:1fr!important}.flex-col-reverse-mobile{flex-direction:column-reverse!important}.w-full-mobile{width:100%!important}.h-auto-mobile{height:auto!important}.text-center-mobile{text-align:center!important}.p-mobile-sm{padding:12px!important}.p-mobile-md{padding:16px!important}.m-0-mobile{margin:0!important}.gap-mobile-sm{gap:8px!important}.text-mobile-lg{font-size:24px!important}.text-mobile-md{font-size:18px!important}.text-mobile-sm{font-size:14px!important}.stack-mobile>*{width:100%!important;margin-bottom:16px!important}.stack-mobile>*:last-child{margin-bottom:0!important}.modal-mobile{max-width:calc(100vw - 40px)!important;max-height:90vh!important;overflow-y:auto!important}.stat-grid-mobile{grid-template-columns:1fr 1fr!important}.voice-btn-mobile{min-width:56px!important;min-height:56px!important}}@media(max-width:480px){.stat-grid-mobile{grid-template-columns:1fr!important}.footer-grid-mobile{grid-template-columns:1fr!important;gap:24px!important}}@media(min-width:769px){.show-on-mobile{display:none!important}}@keyframes micPulseRing{0%{box-shadow:0 0 #ef444480,0 0 #ef444440}50%{box-shadow:0 0 0 8px #ef444426,0 0 0 16px #ef444400}to{box-shadow:0 0 #ef444400,0 0 #ef444400}}.mic-recording{animation:micPulseRing 1.4s ease-out infinite!important}@keyframes waveBar{0%,to{height:3px}50%{height:16px}}.wave-bar{width:2.5px;height:3px;border-radius:2px;background:var(--wave-bar-color);animation:waveBar .7s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.upgrade-btn{padding:7px 16px;border-radius:100px;background:var(--btn-primary-bg);border:none;color:var(--btn-primary-text);font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.upgrade-btn:hover{opacity:.82}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-warm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;font-family:var(--font-sans);cursor:pointer;flex-shrink:0;letter-spacing:.03em;-webkit-user-select:none;user-select:none}[data-theme] *{transition-property:background-color,border-color,color,box-shadow;transition-duration:0s}
