@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#e9edf4;background-color:#0a0d13;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:#0a0d13}#root{min-height:100vh;width:100%}a{font-weight:500;color:#7dd3fc;text-decoration:inherit;transition:color .15s ease}a:hover{color:#bae6fd}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#e9edf40d;color:#e9edf4;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}button:hover{background-color:#e9edf417}button:focus,button:focus-visible{outline:2px solid rgba(233,237,244,.5);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:#e9edf4;line-height:1.2;font-weight:600;letter-spacing:-.015em}input,select,textarea{font-family:inherit;background-color:#e9edf40a;border:1px solid rgba(233,237,244,.1);color:#e9edf4}input::placeholder,textarea::placeholder{color:#5c6577}.btn{border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:root{--bg-primary: #0a0d13;--bg-secondary: #10141d;--bg-tertiary: #141926;--bg-card: #10141d;--bg-card-hover: #141926;--bg-glass: #10141d;--accent-cyan: #7dd3fc;--accent-purple: #a78bfa;--accent-good: #4ade80;--accent-gradient: #e9edf4;--glow-cyan: none;--glow-purple: none;--glow-mixed: none;--text-primary: #e9edf4;--text-secondary: #96a0b4;--text-muted: #5c6577;--white: #ffffff;--border-subtle: rgba(233, 237, 244, .08);--border-light: rgba(233, 237, 244, .14);--border-glow: rgba(233, 237, 244, .25);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--shadow-glow: none;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--fs-micro: 11px;--fs-caption: 12px;--fs-small: 13px;--fs-body: 15px;--fs-lead: 17px;--fs-title: 21px;--fs-display: 30px;--mono: "SF Mono", ui-monospace, Menlo, monospace;--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 32px;--spacing-xl: 48px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:var(--fs-body);line-height:1.6;min-height:100vh}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-nav{background:#0a0d13db;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1rem 2rem;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:100}.nav-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.nav-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.nav-brand a{color:var(--text-primary);font-size:var(--fs-title);font-weight:700;text-decoration:none;letter-spacing:-.5px}.nav-links{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius-sm);transition:all .3s ease;font-weight:500;font-size:var(--fs-small);white-space:nowrap}.nav-link:hover{color:var(--text-primary);background:#e9edf40f}.nav-auth{display:flex;align-items:center;gap:1rem}.user-greeting{color:var(--text-secondary);font-weight:500;font-size:var(--fs-small)}.container{max-width:1400px;margin:0 auto;padding:2rem;flex:1;min-width:0;width:100%}.chat-footer{text-align:center;padding:2rem;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:#0a0d13b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:auto;flex-shrink:0}.footer-links{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem}.footer-links a{color:var(--text-muted);text-decoration:none;font-size:var(--fs-small);transition:color .2s ease}.footer-links a:hover{color:var(--text-primary)}.footer-sep{color:var(--border-subtle);font-size:var(--fs-caption)}.btn{padding:9px 18px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-weight:600;font-size:var(--fs-small);font-family:inherit;line-height:1.4;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--accent-gradient);color:var(--bg-primary);border-color:transparent}.btn-primary:hover{background:#fff}.btn-secondary{background:var(--bg-glass);border:1px solid var(--border-light);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-glow)}.btn-danger{background:#ef444424;border:1px solid rgba(239,68,68,.4);color:#fecaca}.btn-danger:hover{background:#ef444438;border-color:#ef44448c}.home-page{padding:4rem 0 5rem;max-width:940px;margin:0 auto;text-align:left}.home-title{font-size:var(--fs-display);margin-bottom:10px;color:var(--text-primary);font-weight:600;line-height:1.12;letter-spacing:-.02em}.home-subtitle{font-size:var(--fs-lead);color:var(--text-secondary);margin:0 0 3rem;line-height:1.55;max-width:52ch}.legal-page{max-width:980px;margin:0 auto;padding-top:1rem;display:flex;flex-direction:column;gap:2rem}.legal-hero{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem}.legal-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--accent-cyan);font-size:var(--fs-caption);margin-bottom:.75rem}.legal-hero h1{margin:0 0 .75rem}.legal-subtitle{color:var(--text-secondary);line-height:1.7;margin:0}.legal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.legal-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.4rem}.legal-card h2{margin-top:0;margin-bottom:.75rem;color:var(--text-primary)}.legal-card p{margin:0;color:var(--text-secondary);line-height:1.7}.legal-card a{color:var(--accent-cyan)}.legal-actions{display:flex;gap:1rem;flex-wrap:wrap}.account-danger-zone{border-color:#ef44444d}.account-danger-zone h2,.account-deletion-status h2{margin-top:0}.account-hint,.account-copy-state{color:var(--text-secondary);margin-top:0}.account-deletion-status.success{border-color:#22c55e4d}.account-deletion-status.danger{border-color:#ef444459}.account-deletion-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.account-deletion-actions a{text-decoration:none}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:var(--spacing-lg)}.feature-card{padding:22px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:background .15s ease,border-color .15s ease;cursor:pointer;height:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start}.feature-card:hover{background:var(--bg-card-hover);border-color:var(--border-glow)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:18px;border-radius:9px;background:#e9edf40d;border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:19px;flex-shrink:0;transition:color .15s ease,border-color .15s ease}.feature-card:hover .feature-icon{color:var(--text-primary);border-color:var(--border-light)}.feature-title{font-size:var(--fs-body);margin-bottom:5px;color:var(--text-primary);font-weight:600;letter-spacing:-.005em}.feature-desc{color:var(--text-secondary);line-height:1.55;font-size:var(--fs-small);margin:0}.accounts-page{max-width:800px;margin:0 auto}.accounts-header{text-align:left;margin-bottom:2rem}.accounts-header h1{font-size:var(--fs-title);font-weight:600;letter-spacing:-.015em;color:var(--text-primary);margin:0 0 6px}.accounts-header p{font-size:var(--fs-small);color:var(--text-secondary);margin:0}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:var(--radius-md);margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.websocket-banner-copy{display:flex;align-items:center;gap:.75rem}.websocket-banner-copy p{margin:0}.close-error{background:none;border:none;font-size:var(--fs-title);cursor:pointer;color:inherit}.link-account-section{background:var(--bg-card);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);margin-bottom:2rem}.plaid-info-card h2{margin-top:0;margin-bottom:16px;color:var(--text-primary);font-size:var(--fs-body);font-weight:600}.plaid-info-card ul{color:var(--text-secondary);padding-left:0;margin-bottom:1.25rem}.plaid-consent-copy{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.plaid-consent-copy a{color:var(--accent-cyan)}.link-account-btn{width:100%;padding:14px;background:var(--accent-gradient);color:var(--bg-primary);border:none;border-radius:var(--radius-xl);font-size:var(--fs-lead);font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:var(--glow-cyan)}.link-account-btn:hover{box-shadow:var(--glow-mixed),var(--shadow-md)}.link-account-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:11px;background:#e9edf40d;border:1px solid var(--border-subtle);font-size:22px;color:var(--text-muted);margin-bottom:1rem}.empty-state h3{color:var(--text-primary)}.empty-state p{color:var(--text-muted)}.success-banner{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#4ade80;padding:1rem;border-radius:var(--radius-md);margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.success-icon,.error-icon{margin-right:.5rem;font-size:16px;flex-shrink:0}.success-icon{color:var(--accent-good)}.error-icon{color:#f87171}.close-success{background:none;border:none;font-size:var(--fs-title);cursor:pointer;color:inherit}.loading-hint{text-align:center;color:var(--text-muted);font-size:var(--fs-small);margin-top:1rem}.loading-state{text-align:center;padding:3rem;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent-cyan);border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.2);border-top-color:var(--bg-primary);border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}.linked-accounts-section{background:var(--bg-card);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.partial-error-panel{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#fde68a;padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.partial-error-panel h3{margin-top:0}.linked-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.linked-header h2{margin:0;color:var(--text-primary);font-weight:700}.institution-badge{display:inline-flex;align-items:center;gap:7px;background:#e9edf40d;color:var(--text-secondary);padding:5px 11px;border-radius:99px;font-size:var(--fs-caption);font-weight:500;border:1px solid var(--border-subtle)}.linked-header-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.refreshing-indicator{color:var(--text-secondary, rgba(255, 255, 255, .6));font-size:var(--fs-small);font-weight:500;opacity:.85}.total-balance-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px;margin-bottom:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.total-balance-card .balance-label{color:var(--text-muted);font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.11em;text-transform:uppercase;margin-bottom:0}.total-balance-card .balance-amount{font-size:28px;font-weight:600;color:var(--text-primary);letter-spacing:-.015em;font-variant-numeric:tabular-nums}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-stat-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;justify-content:center}.summary-stat-label{color:var(--text-muted);font-size:var(--fs-small);margin-bottom:.35rem}.summary-stat-value{color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums}.institution-list{display:flex;flex-direction:column;gap:1.25rem}.institution-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem}.institution-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}.institution-card-header h3{margin:0 0 .25rem}.institution-meta{margin:0;color:var(--text-muted);font-size:var(--fs-small)}.institution-actions{display:flex;gap:.75rem;flex-wrap:wrap}.institution-summary-row{display:flex;justify-content:space-between;gap:1rem;color:var(--text-secondary);font-size:var(--fs-small);margin-bottom:1rem}.institution-warning{color:#fde68a;margin-bottom:1rem}.reconnect-btn{background:#e9edf412;border:1px solid rgba(233,237,244,.16);color:var(--text-primary);padding:.75rem 1.1rem;border-radius:var(--radius-xl);cursor:pointer;transition:all .3s ease}.reconnect-btn:hover{background:#e9edf41a;border-color:#e9edf438}.reconnect-btn:disabled{opacity:.5;cursor:not-allowed}.accounts-list{display:flex;flex-direction:column;gap:1rem}.account-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:all .3s ease}.account-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-sm)}.account-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#e9edf40a;border:1px solid var(--border-subtle);font-size:15px;color:var(--text-muted);flex-shrink:0}.account-info{flex:1;min-width:0}.account-info h3{margin:0 0 .25rem;color:var(--text-primary);font-size:var(--fs-lead);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-type{margin:0;color:var(--text-muted);font-size:var(--fs-small)}.account-balances{text-align:right;min-width:120px}.balance-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;gap:1rem}.balance-row .balance-label{color:var(--text-muted);font-size:var(--fs-caption)}.balance-row .balance-value{color:var(--text-primary);font-weight:600;font-size:var(--fs-body)}.account-card--liability{border-color:#f8717140}.liability-tag{display:inline-block;margin-top:.4rem;padding:.1rem .5rem;border-radius:var(--radius-xl);background:#f871711f;border:1px solid rgba(248,113,113,.3);color:#f87171;font-size:var(--fs-micro);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.balance-value--liability{color:#f87171}.disconnect-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);text-align:center}.disconnect-btn{background:transparent;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1.5rem;border-radius:var(--radius-xl);font-size:var(--fs-small);font-weight:500;cursor:pointer;transition:all .3s ease}.disconnect-btn:hover{background:#ef44441a;border-color:#ef444480}.disconnect-btn:disabled{opacity:.5;cursor:not-allowed}.disconnect-hint{color:var(--text-muted);font-size:var(--fs-caption);margin-top:.75rem}.security-badges{display:flex;justify-content:center;gap:8px;margin-top:1.5rem;flex-wrap:wrap}.security-badges .badge{display:inline-flex;align-items:center;gap:7px;background:#e9edf40a;border:1px solid var(--border-subtle);padding:6px 12px;border-radius:99px;font-size:var(--fs-caption);color:var(--text-secondary)}.conversation-section{flex:1;display:flex;flex-direction:column;width:100%;max-width:none;margin:0;padding:0;background:transparent;border:none;border-radius:0;min-height:0;overflow-x:hidden}.conversation-section h2{color:var(--text-primary);max-width:768px;margin:0 auto;width:100%;padding:.75rem 1rem;font-weight:700}.canonical-income-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.canonical-income-title{font-weight:600;color:var(--text-primary)}.canonical-income-row{display:grid;grid-template-columns:80px 1fr;gap:8px 16px;align-items:center}.canonical-income-label{font-size:var(--fs-small);color:var(--text-secondary)}.canonical-income-value{font-size:var(--fs-body);font-weight:600;color:var(--text-primary)}.canonical-income-meta{grid-column:2 / -1;font-size:var(--fs-caption);color:var(--text-secondary);display:flex;gap:12px}.canonical-income-placeholder{font-size:var(--fs-small);color:var(--text-secondary)}.canonical-income-value.muted{font-weight:500;color:var(--text-secondary)}.net-worth-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.net-worth-title{font-weight:600;color:var(--text-primary)}.net-worth-list{display:flex;flex-direction:column;gap:6px}.net-worth-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:12px;font-size:var(--fs-small);color:var(--text-secondary)}.net-worth-row span:nth-child(2){color:var(--text-primary);font-weight:600}.net-worth-row .positive{color:#4ade80}.net-worth-row .negative{color:#fca5a5}.net-worth-placeholder{font-size:var(--fs-small);color:var(--text-secondary)}.connection-status{display:inline-flex;align-items:center;gap:7px;padding:0;border:none;background:none;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--text-muted);margin-bottom:0}.connection-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-connected .connection-dot{background:var(--accent-good)}.status-disconnected .connection-dot{background:#f87171}.conversation-interface{flex:1;display:flex;flex-direction:column;gap:0;min-height:0;overflow-x:hidden}.conversation-messages{flex:1;height:auto;overflow-y:auto;padding:1rem;border:none;border-radius:0;background:transparent;display:flex;flex-direction:column;gap:15px;max-width:768px;margin:0 auto;width:100%}.conversation-messages:after{content:"";min-height:60vh;flex-shrink:0}.conversation-messages::-webkit-scrollbar{width:6px}.conversation-messages::-webkit-scrollbar-track{background:transparent}.conversation-messages::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.message{padding:14px 18px;border-radius:var(--radius-lg);max-width:85%;word-wrap:break-word;overflow-wrap:break-word;min-width:0}.user-message{background:var(--bg-secondary);border:1px solid var(--border-subtle);margin-left:auto;border-radius:var(--radius-lg);align-self:flex-end;max-width:80%}.assistant-message{background:none;border:none;border-radius:0;margin-right:auto;align-self:stretch;max-width:100%;padding:2px 0 10px}.system-message{background:none;border:none;border-left:2px solid var(--border-light);border-radius:0;margin:4px auto 4px 0;padding:2px 0 2px 14px;max-width:100%;color:var(--text-secondary);font-size:var(--fs-small)}.message-sender{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--text-muted);opacity:1;margin-bottom:8px}.user-message .message-sender,.assistant-message .message-sender,.system-message .message-sender{color:var(--text-muted)}.message-thinking{margin-bottom:10px;border-left:2px solid var(--border-subtle, rgba(127, 127, 127, .3));padding-left:12px}.message-thinking>summary{cursor:pointer;font-size:.85em;color:var(--text-muted);list-style:none;-webkit-user-select:none;user-select:none}.message-thinking>summary:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .15s ease}.message-thinking[open]>summary:before{transform:rotate(90deg)}.message-thinking-body{margin-top:6px;font-size:.9em;line-height:1.5;color:var(--text-muted);overflow-wrap:break-word;word-break:break-word}.message-content{line-height:1.6;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;min-width:0}.message-content p{margin:.5em 0}.message-content code{background:#0000004d;padding:2px 6px;border-radius:4px;font-family:var(--mono);font-size:.9em;color:var(--text-primary)}.message-content pre{background:#0006;padding:16px;border-radius:var(--radius-md);overflow-x:auto;margin:12px 0;border:1px solid var(--border-subtle)}.message-content pre code{background:transparent;padding:0;color:var(--text-primary)}.message-content table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.9em;background:#0003;border-radius:var(--radius-md);overflow-x:auto;display:block}.message-content thead{background:#0000004d}.message-content th{padding:10px 14px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.message-content td{padding:10px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.message-content tr:last-child td{border-bottom:none}.message-content tr:hover{background:#ffffff08}.message-content tbody tr:nth-child(2n){background:#0000001a}.message-actions{display:flex;gap:6px;margin-top:6px;opacity:0;transition:opacity .12s ease}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1}@media (hover: none){.message-actions{opacity:1}}.copy-button{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm, 6px);background:none;cursor:pointer;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);transition:color .12s ease,border-color .12s ease,background .12s ease}.copy-button:hover{color:var(--text-primary);border-color:var(--border-subtle);background:var(--bg-secondary)}.copy-button:focus-visible{outline:2px solid var(--border-light);outline-offset:2px;opacity:1}.copy-button[data-state=copied]{color:var(--text-primary)}.copy-button[data-state=failed]{color:var(--text-secondary)}@media (prefers-reduced-motion: reduce){.message-actions,.copy-button{transition:none}}.loading-indicator{padding:2px 0 10px;border:none;border-radius:0;background:none;max-width:100%;margin-right:auto;color:var(--text-muted);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.file-attachment-container{max-width:768px;width:100%;margin:0 auto 8px}.attachment-previews{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.attachment-preview{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px;width:100px}.attachment-thumbnail{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm)}.pdf-preview{width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e9edf40f;border-radius:var(--radius-sm);color:var(--text-muted)}.pdf-icon{width:32px;height:32px}.pdf-label{font-size:var(--fs-micro);font-weight:600;margin-top:4px}.attachment-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background-color .2s ease}.attachment-remove:hover{background:#dc2626;transform:scale(1.1)}.attachment-filename{font-size:var(--fs-micro);color:var(--text-secondary);margin-top:6px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}.attachment-dropzone{display:flex;align-items:center;gap:8px;padding:7px 12px;background:transparent;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease}.attachment-dropzone:hover:not(.disabled){border-color:var(--border-light);background:#e9edf408}.attachment-dropzone.dragging{border-color:var(--border-glow);background:#e9edf40d}.attachment-dropzone.disabled{opacity:.5;cursor:not-allowed}.attachment-icon{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.attachment-dropzone:hover:not(.disabled) .attachment-icon{color:var(--text-secondary)}.attachment-hint{font-size:var(--fs-caption);color:var(--text-muted)}.attachment-dropzone:hover:not(.disabled) .attachment-hint{color:var(--text-secondary)}.attachment-error{margin-top:8px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:#f87171;font-size:var(--fs-small)}.text-input-area{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;max-width:768px;margin:0 auto 18px;width:100%;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:border-color .15s ease}.text-input-area:focus-within{border-color:var(--border-glow)}#text-input{flex:1;padding:9px 0;border:none;border-radius:0;background:transparent;color:var(--text-primary);resize:none;min-height:40px;max-height:200px;font-family:inherit;font-size:var(--fs-body);line-height:1.5}#text-input:focus{outline:none;border:none;box-shadow:none}#text-input::placeholder{color:var(--text-muted)}#sendBtn{padding:8px 16px;background:var(--accent-gradient);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:var(--fs-small);flex-shrink:0;transition:background .15s ease,opacity .15s ease}#sendBtn:hover:not(:disabled){background:#fff}#sendBtn:disabled{opacity:.32;cursor:not-allowed}.input-error{padding:12px;background:#ef44441a;color:#fca5a5;border-radius:var(--radius-sm);font-size:var(--fs-small);border-left:3px solid #ef4444}.websocket-error-actions{margin-top:.75rem}.websocket-retry-btn{padding:8px 16px;font-size:var(--fs-small);flex-shrink:0}html:has(.ask-claude-layout),body:has(.ask-claude-layout){height:100%;overflow:hidden}.app-wrapper:has(.ask-claude-layout){height:100vh;min-height:0}.app-wrapper:has(.ask-claude-layout)>.container{padding:0;min-height:0;display:flex;flex-direction:column}.app-wrapper:has(.ask-claude-layout)>.chat-footer{display:none}.ask-claude-layout{display:flex;flex-direction:column;flex:1;min-height:0;gap:0;overflow:hidden}.conversation-sidebar{position:fixed;top:0;left:0;height:100vh;width:300px;z-index:200;background:#0a0d13f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:var(--spacing-sm);transform:translate(-100%);transition:transform .3s ease;overflow:hidden}.conversation-sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.sidebar-toggle-btn{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--fs-lead);transition:all .2s ease;line-height:1}.sidebar-toggle-btn:hover{background:var(--bg-glass);color:var(--text-primary);border-color:var(--border-light)}.chat-header{display:flex;align-items:center;gap:.75rem;max-width:768px;margin:0 auto;width:100%;padding:.75rem 1rem}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-subtle)}.sidebar-header h3{margin:0;font-size:var(--fs-lead);color:var(--text-primary);font-weight:600}.sidebar-toggle{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all .2s ease}.sidebar-toggle:hover{background:var(--bg-glass);color:var(--text-primary)}.toggle-icon{font-size:var(--fs-small)}.new-conversation-btn{width:100%;display:flex;align-items:center;gap:9px;padding:9px 12px;background:#e9edf40a;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--fs-small);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease;margin-bottom:var(--spacing-sm)}.new-conversation-btn:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.conversations-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.conversations-list::-webkit-scrollbar{width:4px}.conversations-list::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.conversation-item{padding:12px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;position:relative;background:var(--bg-glass);border:1px solid transparent}.conversation-item:hover{background:#e9edf40b;border-color:var(--border-glow)}.conversation-item.active{background:#e9edf412;border-color:var(--border-glow)}.conversation-title{font-size:var(--fs-small);font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:20px}.conversation-meta{display:flex;justify-content:space-between;font-size:var(--fs-caption);color:var(--text-muted)}.archive-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-lead);padding:4px;border-radius:var(--radius-sm);opacity:0;transition:all .2s ease}.conversation-item:hover .archive-btn{opacity:1}.archive-btn:hover{background:#ef44441a;color:#fca5a5}.sidebar-loading,.sidebar-error,.sidebar-empty{padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--fs-small)}.sidebar-error{color:#fca5a5}.refresh-btn{width:100%;padding:8px 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--fs-small);cursor:pointer;transition:all .2s ease;margin-top:var(--spacing-xs)}.refresh-btn:hover:not(:disabled){background:var(--bg-glass);border-color:var(--border-light);color:var(--text-primary)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.ask-claude-main{flex:1;display:flex;flex-direction:column;min-height:0;background:transparent;overflow:hidden}.form-page{max-width:800px;margin:0 auto;padding:2rem}.form-header{text-align:center;margin-bottom:2rem}.form-header h1{color:var(--text-primary)}.progress-bar{width:100%;height:8px;background:var(--bg-glass);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--accent-gradient);transition:width .3s ease}.form-container{background:var(--bg-card);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border-subtle);margin-bottom:2rem}.form-section h2{color:var(--text-primary);margin-bottom:1.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--fs-body);background:#0003;color:var(--text-primary);transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #e9edf40f}.form-group input[aria-invalid=true],.form-group select[aria-invalid=true]{border-color:#ff6b6b}.field-error{margin:.4rem 0 0;color:#ff6b6b;font-size:var(--fs-small);line-height:1.3}.form-navigation{display:flex;justify-content:space-between;margin-top:2rem}.nav-btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-xl);font-size:var(--fs-body);font-weight:600;cursor:pointer;transition:all .3s ease}.prev-btn{background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border-subtle)}.prev-btn:hover{background:#ffffff1a;border-color:var(--border-light)}.next-btn,.submit-btn{background:var(--accent-gradient);color:var(--bg-primary);box-shadow:var(--glow-cyan)}.next-btn:hover,.submit-btn:hover{box-shadow:var(--glow-mixed),var(--shadow-md)}.results-page{max-width:1000px;margin:0 auto;padding:2rem}.results-header{text-align:center;margin-bottom:3rem}.results-header h1{color:var(--text-primary)}.results-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.result-section h2{color:var(--text-primary);margin-bottom:1rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.result-card{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);margin-bottom:1rem}.result-card h3{color:var(--text-primary);margin-bottom:.5rem}.next-steps{display:flex;flex-direction:column;gap:1rem}.step{display:flex;align-items:center;gap:1rem;background:var(--bg-glass);padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.step-number{background:var(--accent-gradient);color:var(--bg-primary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.results-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.mobile-nav-btn{display:none}.sidebar-nav-links{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--spacing-xs)}.sidebar-nav-item{display:block;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-small);transition:all .2s ease}.sidebar-nav-item:hover{background:#e9edf40b;color:var(--text-primary)}.sidebar-nav-item.active{background:#e9edf412;color:var(--text-primary)}.sidebar-section-label{font-size:var(--fs-caption);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 14px 4px}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border-subtle);padding:var(--spacing-sm)}.sidebar-user-info{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-small);color:var(--bg-primary);flex-shrink:0}.sidebar-user-details{min-width:0}.sidebar-user-name{font-size:var(--fs-small);font-weight:500;color:var(--text-primary)}.sidebar-user-email{font-size:var(--fs-caption);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout-btn{width:100%;padding:8px 12px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-small);cursor:pointer;transition:all .2s ease}.sidebar-account-link{display:block;width:100%;padding:8px 12px;margin-bottom:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-small);text-align:center;transition:all .2s ease}.sidebar-account-link:hover{background:#e9edf40b;border-color:#e9edf429;color:var(--text-primary)}.sidebar-logout-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.sidebar-collapse-btn{display:none}@media (min-width: 769px){.conversation-sidebar{transform:translate(0);transition:width .2s ease}.sidebar-backdrop,.sidebar-toggle{display:none}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:var(--radius-sm);transition:all .2s ease}.sidebar-collapse-btn:hover{background:var(--bg-glass);color:var(--text-primary)}.app-wrapper{padding-left:300px;transition:padding-left .2s ease}.app-wrapper.sidebar-collapsed{padding-left:60px}.app-wrapper.no-sidebar{padding-left:0}.conversation-sidebar.collapsed{width:60px;align-items:center;padding:var(--spacing-xs)}.conversation-sidebar.collapsed .sidebar-header{justify-content:center}.conversation-sidebar.collapsed .sidebar-header h3,.conversation-sidebar.collapsed .new-conversation-btn,.conversation-sidebar.collapsed .sidebar-nav-links,.conversation-sidebar.collapsed .sidebar-section-label,.conversation-sidebar.collapsed .conversations-list,.conversation-sidebar.collapsed .sidebar-footer,.main-nav{display:none}.ask-claude-layout{height:auto}}@media (max-width: 768px){.mobile-nav-btn{display:block;position:fixed;top:12px;left:12px;z-index:150;background:#0a0d13db;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--fs-lead);line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.mobile-nav-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-light)}.ask-claude-layout{height:auto}.nav-container{flex-direction:column;gap:1rem}.nav-links{justify-content:center}.home-title{font-size:25px}.features-grid{grid-template-columns:1fr}.main-nav,.chat-footer{display:none}.container{padding:20px 16px 32px}.conversation-messages{max-width:100%;padding:.75rem;gap:10px}.message{padding:10px 14px;max-width:95%}.text-input-area{max-width:100%;padding:10px;gap:8px}.chat-header,.conversation-section h2{max-width:100%;padding:.5rem .75rem}.file-attachment-container{max-width:100%}#text-input{padding:10px 12px;min-height:40px}}@media (max-width: 480px){.nav-brand a{font-size:var(--fs-lead)}.home-title{font-size:var(--fs-title)}.home-subtitle{font-size:var(--fs-body)}.message-sender{font-size:var(--fs-caption)}.conversation-section h2{font-size:var(--fs-lead)}}.plaid-benefits li svg,.institution-badge svg,.security-badges .badge svg,.btn svg,.chat-header svg{vertical-align:-.14em}.plaid-benefits{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:11px}.plaid-benefits li{display:flex;align-items:flex-start;gap:11px;font-size:var(--fs-small);line-height:1.5;color:var(--text-secondary)}.plaid-benefit-icon{font-size:16px;color:var(--text-muted);flex-shrink:0;margin-top:1px}.institution-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid transparent;font-weight:600;letter-spacing:.02em;flex-shrink:0;font-variant-numeric:tabular-nums}.institution-identity{display:flex;align-items:center;gap:13px;min-width:0}.institution-identity h3{font-size:var(--fs-body);font-weight:600;letter-spacing:-.005em}.chat-header{border-bottom:1px solid var(--border-subtle);min-height:44px;padding:0 1rem}.summary-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.summary-stat-label{color:var(--text-muted);font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.11em;text-transform:uppercase}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.composer-dock{position:relative;flex-shrink:0;padding:0 1rem}.composer-dock:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:40px;background:linear-gradient(to top,var(--bg-primary),transparent);pointer-events:none}.composer-dock .text-input-area,.composer-dock .file-attachment-container{padding-left:0;padding-right:0}.composer-dock .text-input-area{padding:8px 8px 8px 14px}@media (max-width: 768px){.chat-header{padding:.5rem .75rem .5rem 68px}.composer-dock{padding:0 .75rem}.composer-dock .text-input-area{padding:7px 7px 7px 12px;margin-bottom:12px}}.voice{max-width:680px;margin:0 auto;padding:40px 0 64px;display:flex;flex-direction:column;gap:28px}.voice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.voice-title{font-size:var(--fs-title);font-weight:600;letter-spacing:-.015em;color:var(--text-primary);margin:0 0 6px}.voice-sub{font-size:var(--fs-small);line-height:1.55;color:var(--text-secondary);margin:0;max-width:46ch}.voice-status{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;margin-top:4px;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.voice-status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.voice-status--active .voice-status-dot,.voice-status--connected .voice-status-dot{background:var(--accent-good)}.voice-status--connecting .voice-status-dot{background:var(--accent-cyan);animation:voice-blink 1.2s ease-in-out infinite}.voice-status--failed .voice-status-dot{background:#f87171}@keyframes voice-blink{50%{opacity:.25}}.voice-error{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:#f8717114;border:1px solid rgba(248,113,113,.24);color:#fca5a5;font-size:var(--fs-small);line-height:1.5}.voice-error-icon{font-size:16px;flex-shrink:0;margin-top:1px}.voice-stage{--in: 0;--out: 0;display:flex;flex-direction:column;align-items:center;gap:18px;padding:44px 0 38px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card)}.voice-orb{position:relative;width:96px;height:96px;display:grid;place-items:center;border:none;background:none;padding:0;cursor:pointer;border-radius:50%}.voice-orb:disabled{cursor:wait;opacity:.6}.voice-orb-face{position:relative;z-index:2;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary);transition:background .15s ease,border-color .15s ease,color .15s ease}.voice-orb:hover:not(:disabled) .voice-orb-face{background:var(--bg-card-hover);border-color:var(--border-glow)}.is-live .voice-orb-face{background:var(--text-primary);border-color:transparent;color:var(--bg-primary)}.voice-orb:focus-visible{outline:2px solid var(--border-glow);outline-offset:4px}.voice-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;z-index:1}.voice-ring--in{border:1px solid rgba(233,237,244,.55);transform:scale(calc(.63 + var(--in) * .34));opacity:calc(var(--in) * .9)}.voice-ring--out{border:1px solid var(--accent-cyan);background:radial-gradient(circle,rgba(125,211,252,.13),transparent 68%);transform:scale(calc(.66 + var(--out) * .42));opacity:calc(var(--out) * .95)}.voice-hint{margin:0;font-size:var(--fs-small);color:var(--text-secondary);text-align:center;min-height:1.4em}.voice-transcript{display:flex;flex-direction:column;gap:20px;min-height:120px}.voice-empty{margin:0;font-size:var(--fs-small);color:var(--text-muted)}.voice-speaker{display:block;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--text-muted);margin-bottom:7px}.voice-text{margin:0;font-size:var(--fs-body);line-height:1.62;color:var(--text-primary);white-space:pre-wrap}.voice-turn--user{align-self:flex-end;max-width:82%;padding:12px 15px;border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-subtle)}.voice-turn--assistant{align-self:stretch}.voice-composer{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-light);transition:border-color .15s ease}.voice-composer:focus-within{border-color:var(--border-glow)}.voice-composer input{flex:1;min-width:0;padding:9px 0;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--fs-body)}.voice-composer input:focus{outline:none}.voice-composer input::placeholder{color:var(--text-muted)}.voice-composer input:disabled{cursor:not-allowed}.voice-composer button{flex-shrink:0;padding:8px 16px;border:none;border-radius:8px;background:var(--accent-gradient);color:var(--bg-primary);font-family:inherit;font-weight:600;font-size:var(--fs-small);cursor:pointer;transition:background .15s ease,opacity .15s ease}.voice-composer button:hover:not(:disabled){background:#fff}.voice-composer button:disabled{opacity:.32;cursor:not-allowed}.voice-diag{border-top:1px solid var(--border-subtle);padding-top:16px}.voice-diag summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);transition:color .15s ease}.voice-diag summary::-webkit-details-marker{display:none}.voice-diag summary:hover{color:var(--text-secondary)}.voice-diag summary:before{content:"";width:0;height:0;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform .15s ease}.voice-diag[open] summary:before{transform:rotate(90deg)}.voice-diag-count{font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:99px;background:#e9edf40f;letter-spacing:0}.voice-diag-body{margin-top:14px;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.voice-diag-row{display:grid;grid-template-columns:84px 1fr;gap:12px;font-family:var(--mono);font-size:var(--fs-caption);line-height:1.5;color:var(--text-secondary)}.voice-diag-row time{color:var(--text-muted);font-variant-numeric:tabular-nums}.voice-diag-row.is-error{color:#fca5a5}.voice-diag-body::-webkit-scrollbar{width:6px}.voice-diag-body::-webkit-scrollbar-track{background:transparent}.voice-diag-body::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}@media (max-width: 768px){.voice{padding:24px 0 48px;gap:22px}.voice-head{flex-direction:column;gap:12px}.voice-status{margin-top:0}.voice-stage{padding:34px 0 30px}.voice-turn--user{max-width:92%}.voice-diag-row{grid-template-columns:72px 1fr;gap:10px}}@media (prefers-reduced-motion: reduce){.voice-ring--in,.voice-ring--out{transition:none}.voice-status--connecting .voice-status-dot{animation:none}}.progression-stepper{padding:0 1rem;flex:1;min-width:0}.stepper-mobile{display:none;text-align:center}.stepper-mobile-label{color:var(--text-secondary);font-size:var(--fs-small);font-weight:500}.stepper-desktop{display:flex;align-items:center;justify-content:center;gap:0}.stepper-connector{flex:1;height:2px;max-width:40px;background:var(--border-subtle);transition:background .3s ease}.stepper-connector.connector-completed{background:var(--accent-gradient)}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease;padding:4px 6px;border-radius:var(--radius-sm)}.stepper-step:hover{background:#e9edf40b}.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-caption);transition:background .15s ease,border-color .15s ease,color .15s ease;background:var(--bg-glass);border:2px solid var(--border-subtle);color:var(--text-muted)}.step-number{line-height:1}.step-label{font-size:var(--fs-micro);color:var(--text-muted);white-space:nowrap;transition:color .3s ease;max-width:80px;overflow:hidden;text-overflow:ellipsis;text-align:center}.step-completed .step-circle{background:var(--accent-gradient);border-color:transparent;color:var(--bg-primary)}.step-completed .step-label{color:var(--text-secondary)}.step-check{width:14px;height:14px}.step-current .step-circle{border-color:var(--text-primary);color:var(--text-primary);background:#e9edf41a}.step-current .step-label{color:var(--accent-cyan);font-weight:600}.conversation-page{max-width:900px;margin:0 auto}.conversation-page-header{text-align:center;margin-bottom:2rem}.conversation-page-header h1{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.conversation-voice-controls{display:flex;gap:1rem;align-items:center;justify-content:center;margin-bottom:1rem}.voice-btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;font-size:var(--fs-body);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.voice-btn.start-btn{background:var(--accent-gradient);color:var(--bg-primary)}.voice-btn.stop-btn{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.voice-btn.stop-btn:hover:not(:disabled){background:#ef44444d}.voice-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.recording-indicator{display:flex;align-items:center;gap:.5rem;color:#f87171;font-weight:500;font-size:var(--fs-small)}.recording-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;animation:pulse-recording 1s ease-in-out infinite}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.3}}.conversation-text-input{display:flex;gap:12px;padding:16px;background:var(--bg-glass);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:border-color .3s ease,box-shadow .3s ease}.conversation-text-input:focus-within{border-color:var(--accent-cyan)}.conversation-text-input input{flex:1;padding:12px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0003;color:var(--text-primary);font-family:inherit;font-size:var(--fs-body);transition:background .15s ease,border-color .15s ease,color .15s ease}.conversation-text-input input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #e9edf414}.conversation-text-input input::placeholder{color:var(--text-muted)}.conversation-send-btn{padding:12px 24px;background:var(--accent-gradient);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease}.conversation-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.data-correction-page{max-width:800px;margin:0 auto}.data-correction-header{text-align:center;margin-bottom:2rem}.data-correction-header h1{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.data-correction-empty{text-align:center;padding:4rem 2rem;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.data-correction-empty h3{color:var(--text-primary);margin-bottom:.5rem}.data-correction-empty p{color:var(--text-muted);margin-bottom:1.5rem}.data-correction-list{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:2rem;margin-bottom:2rem}.data-correction-item{display:flex;align-items:center;gap:1rem;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.data-correction-item:last-child{border-bottom:none}.data-correction-label{flex:0 0 200px;font-weight:600;color:var(--text-secondary);font-size:var(--fs-small)}.data-correction-value{flex:1;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0003;color:var(--text-primary);font-family:inherit;font-size:var(--fs-body);transition:background .15s ease,border-color .15s ease,color .15s ease}.data-correction-value:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #e9edf414}.data-correction-actions{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.data-correction-actions .btn{min-width:180px}.submitting-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);gap:1rem}.submitting-overlay p{color:var(--text-secondary);font-size:var(--fs-body)}@media (max-width: 768px){.stepper-desktop{display:none}.stepper-mobile{display:block}.data-correction-item{flex-direction:column;align-items:stretch;gap:.5rem}.data-correction-label{flex:none}.data-correction-actions{flex-direction:column}.data-correction-actions .btn{min-width:auto;width:100%}.conversation-voice-controls{flex-wrap:wrap}}.landing-main{flex:1;display:flex;flex-direction:column}.landing-main .landing{flex:1}html:has(.landing){scroll-behavior:smooth}.landing{--lp-ink: #0a0d13;--lp-raised: #10141d;--lp-raised-2: #141926;--lp-hairline: rgba(233, 237, 244, .08);--lp-text: #e9edf4;--lp-muted: #96a0b4;--lp-faint: #5c6577;--lp-cyan: #7dd3fc;--lp-violet: #a78bfa;--lp-good: #4ade80;--lp-mono: "SF Mono", ui-monospace, Menlo, monospace;background:var(--lp-ink);color:var(--lp-text);font-size:16px;line-height:1.6}.landing a{color:inherit;text-decoration:none}.lp-wrap{max-width:1120px;margin:0 auto;padding:0 32px}.lp-nav{position:sticky;top:0;z-index:10;background:#0a0d13d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--lp-hairline)}.lp-nav-in{display:flex;align-items:center;justify-content:space-between;height:64px}.lp-wordmark{display:flex;align-items:center;gap:10px;font-weight:600;font-size:17px;letter-spacing:.01em}.lp-mark{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--lp-cyan),var(--lp-violet))}.lp-nav-links{display:flex;gap:28px;font-size:14px;color:var(--lp-muted)}.lp-nav-links a:hover{color:var(--lp-text)}.lp-btn{display:inline-flex;align-items:center;gap:8px;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;padding:9px 18px;cursor:pointer;border:1px solid var(--lp-hairline);background:transparent;color:var(--lp-text);transition:background .15s,border-color .15s}.lp-btn:hover{border-color:#e9edf440}.lp-btn--solid{background:var(--lp-text);color:var(--lp-ink);border-color:transparent}.lp-btn--solid:hover{background:#fff;border-color:transparent}.lp-btn--lg{padding:13px 26px;font-size:15px}.lp-hero-section{padding:96px 0 88px;overflow:hidden}.lp-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.lp-kicker{font-family:var(--lp-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-cyan);margin:0 0 20px}.lp-h1{font-size:clamp(38px,5vw,56px);line-height:1.08;font-weight:600;letter-spacing:-.02em;text-wrap:balance;margin:0;background:none;-webkit-text-fill-color:currentColor}.lp-h1 .lp-grad{background:linear-gradient(90deg,var(--lp-cyan),var(--lp-violet));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.lp-sub{margin:22px 0 0;font-size:18px;color:var(--lp-muted);max-width:44ch}.lp-hero-cta{margin-top:34px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.lp-hero-note{margin:18px 0 0;font-size:13px;color:var(--lp-faint)}.lp-hero-note strong{color:var(--lp-muted);font-weight:600}.lp-plan-card{background:var(--lp-raised);border:1px solid var(--lp-hairline);border-radius:16px;padding:26px;box-shadow:0 32px 80px #00000080;position:relative}.lp-plan-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:16px;padding:1px;background:linear-gradient(160deg,rgba(125,211,252,.35),transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.lp-pc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.lp-pc-label{font-family:var(--lp-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-faint)}.lp-pc-pill{font-size:12px;font-weight:600;color:var(--lp-good);background:#4ade801a;padding:3px 10px;border-radius:99px}.lp-pc-num{font-size:34px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.lp-pc-delta{font-size:13px;color:var(--lp-good);margin-left:8px}.lp-bar{margin:20px 0 8px;height:6px;border-radius:99px;background:var(--lp-raised-2);overflow:hidden}.lp-bar-fill{display:block;height:100%;width:68%;border-radius:99px;background:linear-gradient(90deg,var(--lp-cyan),var(--lp-violet));animation:lp-fill 1.2s cubic-bezier(.2,.7,.2,1) both .4s}@keyframes lp-fill{0%{width:0}}.lp-bar-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--lp-faint)}.lp-pc-rows{margin-top:20px;border-top:1px solid var(--lp-hairline)}.lp-pc-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--lp-hairline);font-size:14px}.lp-pc-row span:first-child{color:var(--lp-muted)}.lp-pc-row span:last-child{font-variant-numeric:tabular-nums;font-family:var(--lp-mono);font-size:13px}.lp-chat-snip{margin-top:20px;background:var(--lp-raised-2);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.55;color:var(--lp-muted)}.lp-chat-snip b{color:var(--lp-text);font-weight:600}.lp-section{padding:88px 0;border-top:1px solid var(--lp-hairline);scroll-margin-top:72px}.lp-sec-kicker{font-family:var(--lp-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-faint);margin:0 0 14px}.lp-h2{font-size:clamp(26px,3.2vw,34px);font-weight:600;letter-spacing:-.015em;max-width:24ch;text-wrap:balance;margin:0;background:none;-webkit-text-fill-color:currentColor}.lp-sec-sub{margin:14px 0 0;color:var(--lp-muted);max-width:52ch}.lp-steps{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--lp-hairline);border:1px solid var(--lp-hairline);border-radius:14px;overflow:hidden}.lp-step{background:var(--lp-raised);padding:26px 24px 30px;transition:background .2s}.lp-step:hover{background:var(--lp-raised-2)}.lp-step-n{font-family:var(--lp-mono);font-size:11px;color:var(--lp-faint);letter-spacing:.1em}.lp-step-icon{margin:18px 0 16px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--lp-raised-2);border:1px solid var(--lp-hairline)}.lp-step-icon svg{width:18px;height:18px;stroke:var(--lp-cyan);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.lp-step h3{font-size:16px;font-weight:600;margin:0 0 8px}.lp-step p{font-size:13.5px;color:var(--lp-muted);line-height:1.55;margin:0}.lp-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:52px}.lp-trust h3{font-size:15px;font-weight:600;margin:0 0 8px;display:flex;align-items:center;gap:9px}.lp-trust h3 svg{width:16px;height:16px;stroke:var(--lp-good);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.lp-trust p{font-size:14px;color:var(--lp-muted);margin:0}.lp-cta{padding:110px 0}.lp-cta .lp-wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}.lp-rv{opacity:0;transform:translateY(14px);animation:lp-rv .7s cubic-bezier(.2,.7,.2,1) both}@keyframes lp-rv{to{opacity:1;transform:none}}.lp-d1{animation-delay:.08s}.lp-d2{animation-delay:.16s}.lp-d3{animation-delay:.24s}.lp-d4{animation-delay:.32s}@media (prefers-reduced-motion: reduce){.lp-rv,.lp-bar-fill{animation:none;opacity:1;transform:none}}@media (max-width: 900px){.lp-hero{grid-template-columns:1fr;gap:48px}.lp-steps{grid-template-columns:1fr 1fr}.lp-trust{grid-template-columns:1fr}.lp-nav-links{display:none}}@media (max-width: 560px){.lp-steps{grid-template-columns:1fr}}
