:root{--bg-app:#f3f0ed;--bg-cool:#eef2f3;--bg-warm:#f3f0ed;--bg-surface:#fff;--text-primary:#1f1f1f;--text-secondary:#6b6b6b;--text-muted:#b0aaaa;--text-on-button:#fff;--action:#3e7e8c;--action-hover:#356d79;--action-soft:#3e7e8c1a;--positive:#7faf8b;--positive-strong:#5e9270;--positive-soft:#dceee2;--deep-teal:#2c5f6b;--teal:#3e7e8c;--mustard:#d9a87c;--orange:#d9a87c;--coral:#c4868e;--purple:#8e7e9a;--pink:#c4868e;--step1:#d9a87c;--step1-text:#1f1f1f;--step2:#c4868e;--step2-text:#fff;--step3:#8e7e9a;--step3-text:#fff;--step4:#6b7f8e;--step4-text:#fff;--step1-fill:#d9a87c1f;--step1-bg:#d9a87c14;--step1-border:#d9a87c40;--step1-accent:#d9a87c;--step2-fill:#c4868e1f;--step2-bg:#c4868e14;--step2-border:#c4868e40;--step2-accent:#c4868e;--step3-fill:#8e7e9a1f;--step3-bg:#8e7e9a14;--step3-border:#8e7e9a40;--step3-accent:#8e7e9a;--step4-fill:#6b7f8e1f;--step4-bg:#6b7f8e14;--step4-border:#6b7f8e40;--step4-accent:#6b7f8e;--card-purple:#8e7e9a1a;--card-peach:#d9a87c1a;--card-warm:#d9a87c1a;--card-blue:#6b7f8e1a;--card-green:#dceee2;--edu-bg:#3e7e8c14;--edu-border:#3e7e8c33;--edu-text:#3e7e8c;--card-bg:#fff;--card-border:#0000000f;--card-shadow:0 1px 3px #0000000a, 0 4px 12px #00000008;--card-radius:20px;--radius-sm:14px;--radius-md:18px;--radius-lg:22px;--radius-full:9999px;--bg-deep:#f3f0ed;--bg-elevated:#fff;--accent-warm:#3e7e8c;--accent-glow:#2c5f6b;--accent-soft:#3e7e8c1a;--accent-fill:#3e7e8c1f;--card-bg-hover:#00000005;--card-bg-selected:#3e7e8c1a;--card-border-selected:#3e7e8c66;--result-text:#2c5f6b;--result-fill:#3e7e8c1a;--brand:#3e7e8c;--brand-soft:#3e7e8c1a;--gradient-button:#3e7e8c}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,-apple-system,sans-serif}#root{background:var(--bg-app);justify-content:center;align-items:center;display:flex}.phone-frame{background:var(--bg-app);width:100%;max-width:430px;height:100%;max-height:932px;position:relative;overflow:hidden}@media (width>=431px){.phone-frame{border-radius:40px;height:90vh;max-height:932px;box-shadow:0 0 0 1px #0000000f,0 20px 60px #0000001f}}.screen{flex-direction:column;padding:0;display:flex;position:absolute;inset:0;overflow:hidden}h1{letter-spacing:-.02em;color:var(--text-primary);font-size:24px;font-weight:800;line-height:1.25}h2{letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:1.3}h3{font-size:16px;font-weight:700;line-height:1.4}p{color:var(--text-secondary);font-size:14px;font-weight:450;line-height:1.65}.btn-primary{background:var(--action);width:100%;color:var(--text-on-button);border-radius:var(--radius-full);cursor:pointer;border:none;padding:16px 24px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #3e7e8c40}.btn-primary:hover{background:var(--action-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-secondary{background:var(--card-bg);width:100%;color:var(--text-primary);border:1px solid var(--card-border);border-radius:var(--radius-full);cursor:pointer;padding:15px 24px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:500;transition:all .2s}.card{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px}.glass-card{background:var(--card-bg);border-radius:var(--card-radius);border:1px solid var(--card-border);padding:20px}.header-bar{padding:14px 20px;padding-top:max(14px, env(safe-area-inset-top));z-index:10;justify-content:space-between;align-items:center;display:flex}.header-btn{background:var(--card-bg);border:1px solid var(--card-border);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.header-title{color:var(--text-secondary);font-size:14px;font-weight:600}.message{border-radius:18px;max-width:82%;padding:12px 16px;font-size:13.5px;line-height:1.55;animation:.25s messageIn}@keyframes messageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.ai{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.message.user{background:var(--action);color:var(--text-on-button);border-bottom-right-radius:4px;align-self:flex-end}.chat-input-bar{padding:10px 14px;padding-bottom:max(10px, env(safe-area-inset-bottom));background:var(--bg-app);border-top:1px solid var(--card-border);gap:8px;display:flex}.chat-input-bar textarea{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-full);color:var(--text-primary);resize:none;outline:none;flex:1;min-height:42px;max-height:80px;padding:11px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;line-height:1.4}.chat-input-bar textarea::placeholder{color:var(--text-muted)}.chat-input-bar button{background:var(--action);width:42px;height:42px;color:var(--text-on-button);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex}.chat-input-bar button:disabled{opacity:.25;cursor:not-allowed}.typing-indicator{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px 18px 18px 4px;align-self:flex-start;gap:4px;padding:12px 16px;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:.8;transform:translateY(-3px)}}.fade-in{animation:.4s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.disclaimer{color:var(--text-muted);text-align:center;padding:0 20px;font-size:11px;line-height:1.5}.disclaimer a{color:var(--teal);text-decoration:none}.logo-text{letter-spacing:-.03em;color:var(--teal);font-size:32px;font-weight:800}.progress-dots{justify-content:center;gap:5px;padding:8px 0;display:flex}.progress-dot{background:#ffffff59;border-radius:50%;width:7px;height:7px;transition:all .3s}.progress-dot.active{background:#ffffffe6;border-radius:4px;width:22px}.progress-dot.done{background:#ffffff80}.sidebar-overlay{z-index:90;background:#00000040;animation:.2s fadeInFast;position:absolute;inset:0}@keyframes fadeInFast{0%{opacity:0}to{opacity:1}}.sidebar{background:var(--bg-surface);border-right:1px solid var(--card-border);z-index:100;width:80%;max-width:320px;padding-top:max(16px, env(safe-area-inset-top));flex-direction:column;animation:.25s slideIn;display:flex;position:absolute;top:0;bottom:0;left:0}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header{border-bottom:1px solid var(--card-border);padding:20px 20px 16px}.sidebar-section{padding:12px 16px}.sidebar-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:8px 4px 6px;font-size:11px;font-weight:600}.sidebar-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;transition:all .15s;display:flex}.sidebar-item:hover{color:var(--text-primary);background:#00000005}.sidebar-item-icon{text-align:center;width:20px;font-size:16px}.sidebar-chat-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:10px 12px;font-size:13px;line-height:1.4;transition:all .15s;overflow:hidden}.sidebar-chat-item:hover{color:var(--text-primary);background:#00000005}.option-pill{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;text-align:left;width:100%;box-shadow:var(--card-shadow);padding:14px 18px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:550;transition:all .2s}.text-input{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);resize:none;outline:none;padding:16px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;line-height:1.5}.text-input::placeholder{color:var(--text-muted)}.text-input:focus{border-color:var(--action)}
