*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--gray:#f5f5f7;--text:#1d1d1f;--muted:#86868b;--faint:#d2d2d7;--blue:#0071e3;--font:-apple-system, "SF Pro Text", "Helvetica Neue", sans-serif;--font-display:-apple-system, "SF Pro Display", "Helvetica Neue", sans-serif}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}.app{flex-direction:column;max-width:640px;height:100vh;margin:0 auto;display:flex}.header{flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 32px 18px;display:flex}.wordmark{font-family:var(--font-display);color:var(--text);letter-spacing:-.022em;font-size:17px;font-weight:600}.header-right{align-items:center;gap:10px;display:flex}.header-link{color:var(--blue);cursor:pointer;font-size:14px;font-weight:400;font-family:var(--font);white-space:nowrap;background:0 0;border:none;padding:0}.theme-picker-wrap{position:relative}.theme-btn{background:var(--gray);cursor:pointer;width:30px;height:30px;color:var(--muted);border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.theme-btn:hover{background:var(--gray);filter:brightness(.96)}.theme-icon{fill:currentColor;width:14px;height:14px}.theme-panel{background:var(--bg);border:1px solid var(--faint);z-index:100;border-radius:14px;width:248px;padding:16px;animation:.18s forwards up;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #0000001f}.theme-panel-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:600}.theme-swatches{flex-wrap:wrap;gap:8px;display:flex}.theme-swatch{cursor:pointer;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:transform .12s,box-shadow .12s}.theme-swatch:hover{transform:scale(1.1)}.theme-swatch.swatch-white{border-color:var(--faint)}.theme-swatch.swatch-dark{border-color:#6e6e73}.theme-swatch.active{box-shadow:0 0 0 2.5px var(--bg), 0 0 0 5px var(--blue)}.theme-current-label{color:var(--muted);letter-spacing:-.005em;margin-top:12px;font-size:12px;font-weight:500}.mode-badge-wrap{position:relative}.mode-badge{font-size:12px;font-family:var(--font);color:var(--muted);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-weight:500;transition:color .15s}.mode-badge:hover{color:var(--text)}.mode-panel{background:var(--bg);border:1px solid var(--faint);z-index:100;border-radius:14px;width:230px;padding:14px;animation:.18s forwards up;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #0000001f}.mode-panel-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:600}.mode-pills{background:var(--gray);border-radius:10px;flex-direction:row;gap:2px;padding:3px;display:flex}.mode-pill{cursor:pointer;font-family:var(--font);color:var(--muted);letter-spacing:-.01em;text-align:center;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;padding:7px 10px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.mode-pill:hover{color:var(--text)}.mode-pill.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #00000017}.explain-row{margin-top:10px}.explain-toggle{background:var(--gray);border-radius:8px;gap:2px;padding:3px;display:flex}.toggle-opt{font-size:12px;font-family:var(--font);color:var(--muted);cursor:pointer;letter-spacing:-.005em;white-space:nowrap;text-align:center;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 10px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.toggle-opt.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #0000001a}.chat{scrollbar-width:none;flex-direction:column;flex:1;padding:0 32px;display:flex;overflow-y:auto}.chat::-webkit-scrollbar{display:none}.welcome{opacity:0;padding-top:40px;padding-bottom:40px;animation:.5s forwards up}.welcome h1{font-family:var(--font-display);letter-spacing:-.018em;color:var(--text);margin-bottom:10px;font-size:22px;font-weight:500;line-height:1.35}.welcome h1 span{color:var(--muted);font-weight:400}.welcome p{color:var(--muted);letter-spacing:-.008em;max-width:360px;font-size:15px;font-weight:400;line-height:1.6}.welcome-mode{opacity:0;margin-top:28px;animation:.5s 80ms forwards up}.welcome-mode-label{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600}.starters{background:var(--faint);opacity:0;border-radius:14px;flex-direction:column;gap:1px;margin-top:24px;animation:.5s .18s forwards up;display:flex;overflow:hidden}.starter{background:var(--gray);cursor:pointer;text-align:left;font-family:var(--font);border:none;justify-content:space-between;align-items:center;padding:16px 20px;transition:filter .1s;display:flex}.starter:hover{filter:brightness(.96)}.starter:active{filter:brightness(.93)}.starter-text{color:var(--text);letter-spacing:-.01em;font-size:15px}.starter-arrow{color:var(--muted);font-size:18px;font-weight:300}.starter-body{flex-direction:column;gap:3px;display:flex}.starter-sub{color:var(--muted);letter-spacing:-.005em;font-size:12.5px}.msg{opacity:0;margin-bottom:24px;animation:.3s forwards up}.msg.user{justify-content:flex-end;display:flex}.msg.user .bubble{background:var(--gray);color:var(--text);letter-spacing:-.01em;border-radius:18px 18px 4px;max-width:75%;padding:12px 16px;font-size:15px;line-height:1.5}.msg.ai .name{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.msg.ai .bubble{color:var(--text);letter-spacing:-.012em;background:0 0;border-radius:0;padding:0;font-size:16px;line-height:1.68;transition:background .25s,border-radius .25s,padding .25s}.msg.ai .bubble p{margin-bottom:12px}.msg.ai .bubble p:last-child{margin-bottom:0}.feedback-row{gap:4px;margin-top:8px;padding-left:2px;display:flex}.feedback-btn{cursor:pointer;width:26px;height:26px;color:var(--faint);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .12s;display:flex}.feedback-btn svg{width:14px;height:14px}.feedback-btn:hover{color:var(--muted);background:var(--gray)}.feedback-btn.active-up{color:#22c55e}.feedback-btn.active-down{color:var(--muted)}.typing{align-items:center;gap:5px;padding:4px 0 24px;display:flex}.t-dot{background:var(--faint);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.t-dot:nth-child(2){animation-delay:.15s}.t-dot:nth-child(3){animation-delay:.3s}@keyframes blink{0%,60%,to{opacity:.35;transform:scale(1)}30%{opacity:1;transform:scale(1.25)}}.anchor{height:1px}.bottom{flex-shrink:0;padding:16px 32px 36px}.limit-banner{background:var(--gray);color:var(--muted);text-align:center;border-radius:12px;margin-bottom:12px;padding:14px 18px;font-size:14px;line-height:1.5}.input-row{background:var(--gray);border-radius:100px;align-items:flex-end;gap:8px;padding:10px 8px 10px 20px;display:flex}.input-row textarea{resize:none;font-family:var(--font);color:var(--text);letter-spacing:-.012em;background:0 0;border:none;outline:none;flex:1;min-height:26px;max-height:120px;padding:5px 0;font-size:17px;line-height:1.55}.input-row textarea::placeholder{color:var(--muted)}.send-btn{background:var(--blue);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .15s,transform .1s;display:flex}.send-btn:hover{opacity:.85}.send-btn:active{transform:scale(.93)}.send-btn:disabled{background:var(--faint);cursor:default;transform:none}.send-btn svg{width:15px;height:15px}.caption{color:var(--faint);text-align:center;margin-top:14px;font-size:12px}.caption-legal{margin-top:5px;display:block}.caption-legal-link{color:var(--faint);text-decoration:none;transition:color .15s}.caption-legal-link:hover{color:var(--muted)}html[data-dark] .msg.ai .bubble{background:#2a2a2a;border-radius:14px;padding:14px 16px}html[data-dark] .mode-pill.active{background:#3a3a3c;box-shadow:0 1px 4px #00000073}html[data-dark] .toggle-opt.active{box-shadow:0 1px 4px #00000080}html[data-dark] .mode-panel,html[data-dark] .theme-panel{box-shadow:0 8px 32px #00000080}html[data-dark] .t-dot{background:#48484a}.clerk-avatar{width:28px!important;height:28px!important}.landing{background:var(--bg,#fff);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:48px 32px 40px;display:flex;position:relative}.landing-inner{opacity:0;flex-direction:column;align-items:center;width:100%;max-width:480px;animation:.6s forwards up;display:flex}.landing-wordmark{font-family:var(--font-display,-apple-system, sans-serif);color:var(--text,#1d1d1f);letter-spacing:-.02em;margin-bottom:52px;font-size:15px;font-weight:600}.landing-headline{font-family:var(--font-display,-apple-system, sans-serif);letter-spacing:-.025em;color:var(--text,#1d1d1f);margin-bottom:20px;font-size:clamp(28px,6vw,38px);font-weight:500;line-height:1.2}.landing-headline span{color:var(--muted,#86868b);font-weight:400}.landing-desc{color:var(--muted,#86868b);letter-spacing:-.01em;max-width:380px;margin-bottom:44px;font-size:16px;line-height:1.65}.landing-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-btn-primary{background:var(--blue,#0071e3);color:#fff;font-size:15px;font-family:var(--font,-apple-system, sans-serif);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:none;border-radius:980px;padding:13px 28px;font-weight:500;transition:opacity .15s,transform .1s}.landing-btn-primary:hover{opacity:.85}.landing-btn-primary:active{transform:scale(.97)}.landing-btn-secondary{color:var(--blue,#0071e3);font-size:15px;font-family:var(--font,-apple-system, sans-serif);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid;border-radius:980px;padding:12px 28px;font-weight:500;transition:opacity .15s,transform .1s}.landing-btn-secondary:hover{opacity:.7}.landing-btn-secondary:active{transform:scale(.97)}.landing-try-link{color:var(--muted,#86868b);letter-spacing:-.01em;margin-top:20px;font-size:14px;text-decoration:none;transition:color .15s;display:inline-block}.landing-try-link:hover{color:var(--text,#1d1d1f)}.landing-footer{color:var(--faint,#d2d2d7);letter-spacing:-.005em;font-size:12px;position:absolute;bottom:28px}.landing-loader{background:var(--bg,#fff);justify-content:center;align-items:center;height:100vh;display:flex}.landing-loader-wordmark{font-family:var(--font-display,-apple-system, sans-serif);color:var(--faint,#d2d2d7);letter-spacing:-.02em;font-size:15px;font-weight:600}.auth-page{background:var(--bg,#fff);justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.legal-page{color:#1d1d1f;background:#fff;flex-direction:column;align-items:center;min-height:100vh;display:flex}.legal-header{width:100%;max-width:680px;padding:28px 32px 0}.legal-wordmark{color:#1d1d1f;letter-spacing:-.02em;font-size:15px;font-weight:600;font-family:var(--font-display,-apple-system, sans-serif);text-decoration:none}.legal-wordmark:hover{opacity:.6}.legal-main{flex:1;width:100%;max-width:680px;padding:56px 32px 80px}.legal-eyebrow{color:#86868b;letter-spacing:.05em;text-transform:uppercase;margin:0 0 16px;font-size:12px;font-weight:600}.legal-title{color:#1d1d1f;letter-spacing:-.03em;font-size:36px;font-weight:700;line-height:1.1;font-family:var(--font-display,-apple-system, sans-serif);margin:0 0 10px}.legal-date{color:#86868b;letter-spacing:-.005em;margin:0 0 48px;font-size:14px}.legal-section{margin-bottom:40px}.legal-section h2{color:#1d1d1f;letter-spacing:-.02em;font-size:17px;font-weight:600;font-family:var(--font-display,-apple-system, sans-serif);margin:0 0 12px}.legal-section p{color:#3d3d3f;letter-spacing:-.005em;margin:0 0 14px;font-size:15px;line-height:1.7}.legal-section p:last-child{margin-bottom:0}.legal-link{color:#0071e3;text-decoration:none}.legal-link:hover{text-decoration:underline}.legal-footer{border-top:1px solid #f0f0f2;align-items:center;gap:10px;width:100%;max-width:680px;padding:24px 32px 40px;display:flex}.legal-footer-link{color:#86868b;letter-spacing:-.01em;font-size:13px;text-decoration:none;transition:color .15s}.legal-footer-link:hover{color:#1d1d1f}.legal-footer-dot{color:#d2d2d7;font-size:13px}.modal-backdrop{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.2s forwards fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg,#fff);text-align:center;border-radius:20px;width:100%;max-width:380px;padding:36px 32px 32px;animation:.25s cubic-bezier(.34,1.56,.64,1) forwards modal-up;position:relative;box-shadow:0 24px 64px #0000002e}@keyframes modal-up{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close{color:var(--faint,#d2d2d7);cursor:pointer;font-size:20px;line-height:1;font-family:var(--font);background:0 0;border:none;border-radius:6px;padding:4px 6px;transition:color .15s;position:absolute;top:14px;right:16px}.modal-close:hover{color:var(--muted,#86868b)}.modal-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--blue,#0071e3);margin-bottom:10px;font-size:11px;font-weight:600}.modal-title{font-family:var(--font-display,-apple-system, sans-serif);letter-spacing:-.018em;color:var(--text,#1d1d1f);margin-bottom:12px;font-size:20px;font-weight:600;line-height:1.3}.modal-body{color:var(--muted,#86868b);letter-spacing:-.008em;margin-bottom:28px;font-size:15px;line-height:1.6}.modal-actions{flex-direction:column;gap:10px;display:flex}.modal-btn-primary{background:var(--blue,#0071e3);color:#fff;font-size:15px;font-family:var(--font,-apple-system, sans-serif);letter-spacing:-.01em;cursor:pointer;text-align:center;border:none;border-radius:980px;padding:13px 24px;font-weight:500;text-decoration:none;transition:opacity .15s,transform .1s;display:block}.modal-btn-primary:hover:not(:disabled){opacity:.85}.modal-btn-primary:active:not(:disabled){transform:scale(.97)}.modal-btn-primary:disabled{opacity:.5;cursor:default}.modal-btn-secondary{font-size:14px;font-family:var(--font,-apple-system, sans-serif);color:var(--muted,#86868b);cursor:pointer;letter-spacing:-.005em;background:0 0;border:none;padding:6px;transition:color .15s}.modal-btn-secondary:hover{color:var(--text,#1d1d1f)}.modal-link{color:var(--blue,#0071e3);text-decoration:none}.modal-link:hover{text-decoration:underline}.terms-modal{max-width:340px}html[data-dark] .modal-backdrop{background:#000000a6}html[data-dark] .modal{box-shadow:0 24px 64px #00000080}.engagement-banner{background:var(--gray);border-radius:14px;align-items:center;gap:10px;margin-bottom:10px;padding:11px 14px;animation:.28s up;display:flex}.engagement-banner-text{font-size:14px;font-family:var(--font,-apple-system, sans-serif);color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.engagement-banner-actions{flex-shrink:0;gap:6px;display:flex}.engagement-banner-btn{background:var(--bg);border:1px solid var(--faint);font-size:13px;font-family:var(--font,-apple-system, sans-serif);color:var(--text);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border-radius:980px;padding:5px 13px;font-weight:500;transition:border-color .15s,background .15s}.engagement-banner-btn:hover{border-color:var(--muted);background:var(--gray)}.engagement-banner-dismiss{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;padding:2px 4px;font-size:18px;line-height:1;transition:color .15s}.engagement-banner-dismiss:hover{color:var(--muted)}.upgrade-btn{background:var(--blue,#0071e3);color:#fff;height:30px;font-size:13px;font-family:var(--font,-apple-system, sans-serif);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:none;border-radius:980px;align-items:center;padding:0 12px;font-weight:500;transition:opacity .15s,transform .1s;display:inline-flex}.upgrade-btn:hover:not(:disabled){opacity:.85}.upgrade-btn:active:not(:disabled){transform:scale(.97)}.upgrade-btn:disabled{opacity:.55;cursor:default}html[data-dark] .upgrade-btn{background:#0a84ff}.upgrade-banner{color:#1b5e20;font-size:13.5px;font-family:var(--font,-apple-system, sans-serif);letter-spacing:-.01em;background:#e8f5e9;border-radius:10px;margin:0 0 10px;padding:10px 14px;animation:.25s up}html[data-dark] .upgrade-banner{color:#a5d6a7;background:#1a2e1a}@keyframes up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
