*{box-sizing:border-box}body{color:#141413;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf9f5;min-width:320px;margin:0;font-family:Inter,system-ui,sans-serif;font-weight:400}button,input,textarea,select{font-family:Inter,system-ui,sans-serif;font-weight:400}button{cursor:pointer}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);background-color:#14141373;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--radius-lg);background-color:var(--surface-card);border:1px solid var(--hairline);width:min(100%,440px);max-height:80vh;box-shadow:var(--shadow-dark);flex-direction:column;display:flex;overflow:auto}.dialog header{border-bottom:1px solid var(--hairline);background-color:var(--surface-card);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.dialog header h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:20px;font-weight:400}.dialog form{padding:18px 22px 10px}.dialog form input{border-radius:var(--radius-md);background-color:var(--canvas);border:1px solid var(--hairline);height:40px}.user-results{flex-direction:column;gap:4px;padding:6px 14px 18px;display:flex}.user-results>button{border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.user-results>button:hover:not(:disabled){background-color:var(--surface-cream-strong);border-color:var(--hairline)}.user-results>button:disabled{opacity:.5;cursor:not-allowed}.user-results .avatar{background-color:var(--surface-dark);color:var(--on-dark);width:34px;height:34px;font-size:13px}.user-results span:not(.avatar){flex-direction:column;flex:1;min-width:0;display:flex}.user-results span b{font-family:var(--font-sans);color:var(--ink);font-size:13.5px;font-weight:500}.user-results small{color:var(--muted);margin-top:1px;font-size:11.5px}.user-results p{color:var(--muted);text-align:center;margin:0;padding:18px 0;font-size:13.5px}:root{--canvas:#faf9f5;--surface-soft:#f5f0e8;--surface-card:#efe9de;--surface-cream-strong:#e8e0d2;--surface-dark:#181715;--surface-dark-elevated:#252320;--surface-dark-soft:#1f1e1b;--hairline:#e6dfd8;--hairline-soft:#ebe6df;--primary:#cc785c;--primary-active:#a9583e;--primary-disabled:#e6dfd8;--accent-teal:#5db8a6;--accent-amber:#e8a55a;--ink:#141413;--body-strong:#252523;--body:#3d3d3a;--muted:#6c6a64;--muted-soft:#8e8b82;--on-primary:#fff;--on-dark:#faf9f5;--on-dark-soft:#a09d96;--success:#5db872;--error:#c64545;--font-display:"Cormorant Garamond", "EB Garamond", Garamond, Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px;--shadow-subtle:0 1px 3px #1414130f;--shadow-card:0 2px 8px #14141314;--shadow-dark:0 8px 24px #00000059}body{background-color:var(--canvas);color:var(--ink);font-family:var(--font-sans);margin:0;padding:0}.brand-glyph{color:var(--primary);justify-content:center;align-items:center;display:inline-flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:8px;font-size:1.45rem;font-weight:500;text-decoration:none;display:inline-flex}.brand .highlight{color:var(--primary)}.status-dot{background-color:var(--accent-teal);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.pulsing{animation:2s ease-in-out infinite tealPulse;box-shadow:0 0 #5db8a680}@keyframes tealPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.typing-indicator{align-items:center;gap:3px;height:12px;display:inline-flex}.typing-indicator span{background-color:var(--primary);border-radius:50%;width:4.5px;height:4.5px;animation:1.3s ease-in-out infinite both bounceDot}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounceDot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.auth-shell{background-color:var(--canvas);grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.auth-shell.centered{grid-template-columns:1fr;place-items:center;padding:32px 20px}.auth-hero-section{background-color:var(--surface-dark);color:var(--on-dark);border-right:1px solid var(--surface-dark-elevated);flex-direction:column;justify-content:center;padding:64px;display:flex;position:relative;overflow:hidden}.auth-hero-content{z-index:2;max-width:560px;position:relative}.auth-hero-badge{border-radius:var(--radius-pill);background-color:#cc785c1f;border:1px solid #cc785c66;align-items:center;gap:8px;margin-bottom:24px;padding:4px 12px;display:inline-flex}.auth-hero-badge-text{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);font-size:12px;font-weight:500}.auth-hero-headline{font-family:var(--font-display);letter-spacing:-.025em;color:var(--on-dark);margin:0 0 20px;font-size:3.25rem;font-weight:400;line-height:1.12}.auth-hero-headline .coral-text{color:var(--primary)}.auth-hero-subline{font-family:var(--font-sans);color:var(--on-dark-soft);margin:0 0 36px;font-size:1.05rem;font-weight:400;line-height:1.6}.dark-mockup-card{background-color:var(--surface-dark-soft);border:1px solid var(--surface-dark-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-dark);font-family:var(--font-mono);color:var(--on-dark-soft);padding:20px 24px;font-size:13px;line-height:1.6}.dark-mockup-header{border-bottom:1px solid var(--surface-dark-elevated);color:var(--on-dark-soft);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;font-size:12px;display:flex}.dark-mockup-dots{gap:6px;display:flex}.dark-mockup-dots span{background-color:var(--surface-dark-elevated);border-radius:50%;width:8px;height:8px}.dark-mockup-prompt{color:var(--on-dark);margin-bottom:12px}.dark-mockup-response{color:var(--primary);border-left:2px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background-color:#cc785c14;padding:10px 14px}.auth-form-section{background-color:var(--canvas);justify-content:center;align-items:center;padding:48px 32px;display:flex}.auth-card{background-color:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:min(100%,420px);box-shadow:var(--shadow-subtle);padding:36px 32px}.auth-card h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:20px 0 8px;font-size:2.2rem;font-weight:400;line-height:1.15}.auth-card>p{color:var(--muted);margin:0 0 24px;font-size:14px;line-height:1.55}.auth-card form{gap:18px;display:grid}label{font-family:var(--font-sans);color:var(--body-strong);gap:6px;font-size:13px;font-weight:500;display:grid}input{border:1px solid var(--hairline);border-radius:var(--radius-md);width:100%;height:40px;font-size:14px;font-family:var(--font-sans);background-color:var(--canvas);color:var(--ink);outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #cc785c26}.primary{border-radius:var(--radius-md);width:100%;height:40px;font-size:14px;font-weight:500;font-family:var(--font-sans);color:var(--on-primary);background-color:var(--primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;transition:background-color .15s,transform .1s;display:flex}.primary:hover:not(:disabled){background-color:var(--primary-active)}.primary:active:not(:disabled){background-color:var(--primary-active);transform:scale(.99)}.primary:disabled{background-color:var(--primary-disabled);color:var(--muted);cursor:not-allowed}.link{color:var(--primary);margin-top:20px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-block}.link:hover{color:var(--primary-active);text-decoration:underline}.error{color:var(--error);border-radius:var(--radius-sm);background-color:#c645450f;border:1px solid #c6454533;margin:0;padding:8px 12px;font-size:13px}.chat-shell{background-color:var(--canvas);grid-template-columns:320px 1fr;height:100vh;display:grid;overflow:hidden}.chat-shell aside{background-color:var(--canvas);border-right:1px solid var(--hairline);flex-direction:column;display:flex}.sidebar-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.sidebar-head .brand{font-size:1.25rem}.chat-title{justify-content:space-between;align-items:center;padding:18px 20px 10px;display:flex}.chat-title h2,header h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:20px;font-weight:400}.icon{border-radius:var(--radius-md);border:1px solid var(--hairline);background-color:var(--canvas);width:34px;height:34px;color:var(--body);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon:hover{background-color:var(--surface-card);border-color:var(--hairline);color:var(--ink)}.search{border-radius:var(--radius-md);background-color:var(--surface-card);border:1px solid var(--hairline);width:calc(100% - 36px);height:36px;margin:6px 18px 14px;font-size:13.5px}.search:focus{background-color:var(--canvas)}.chat-list{flex-direction:column;flex:1;gap:4px;padding:0 12px 12px;display:flex;overflow-y:auto}.chat-row{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:11px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.chat-row:hover{background-color:var(--surface-soft)}.chat-row.selected{background-color:var(--surface-card);border-color:var(--hairline)}.avatar{background-color:var(--surface-cream-strong);width:36px;height:36px;color:var(--ink);font-family:var(--font-sans);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.chat-row.selected .avatar{background-color:var(--primary);color:var(--on-primary)}.chat-copy{flex-direction:column;flex:1;min-width:0;display:flex}.chat-copy b{font-family:var(--font-sans);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.chat-copy small,header small{color:var(--muted);margin-top:1px;font-size:12px}.unread{border-radius:var(--radius-pill);background-color:var(--primary);min-width:20px;height:20px;color:var(--on-primary);font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;animation:.25s cubic-bezier(.175,.885,.32,1.275) unreadPop;display:flex;box-shadow:0 1px 3px #cc785c66}@keyframes unreadPop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.user-profile-summary{border-top:1px solid var(--hairline);background-color:var(--canvas);align-items:center;gap:10px;padding:14px 18px;display:flex}.user-profile-summary .avatar{background-color:var(--surface-dark);color:var(--on-dark)}.logout{height:42px;color:var(--muted);cursor:pointer;border:none;border-top:1px solid var(--hairline);background-color:#0000;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 18px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.logout:hover{background-color:var(--surface-soft);color:var(--error)}.conversation{background-color:var(--canvas);grid-template-rows:auto 1fr auto;min-width:0;display:grid}header{background-color:var(--canvas);border-bottom:1px solid var(--hairline);align-items:center;gap:14px;padding:16px 24px;display:flex}header .avatar{background-color:var(--surface-dark);color:var(--on-dark)}.messages{flex-direction:column;gap:16px;padding:28px;display:flex;overflow-y:auto}.bubble{border-radius:var(--radius-lg);background-color:var(--surface-card);border:1px solid var(--hairline);max-width:min(72%,580px);box-shadow:var(--shadow-subtle);border-bottom-left-radius:4px;flex-direction:column;align-self:flex-start;padding:12px 18px;display:flex;position:relative}.bubble.mine{border-radius:var(--radius-lg);border-bottom-right-radius:4px;border-bottom-left-radius:var(--radius-lg);background-color:var(--surface-dark);color:var(--on-dark);border:1px solid var(--surface-dark-elevated);box-shadow:var(--shadow-card);align-self:flex-end}.bubble b{color:var(--primary);margin-bottom:3px;font-size:12px;font-weight:500}.bubble.mine b{color:var(--primary)}.bubble p{white-space:pre-wrap;color:var(--body-strong);margin:2px 0 4px;font-size:14.5px;line-height:1.55}.bubble.mine p{color:var(--on-dark)}.bubble small{color:var(--muted-soft);align-self:flex-end;margin-top:2px;font-size:10.5px}.bubble.mine small{color:var(--on-dark-soft)}.actions{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-sm);box-shadow:var(--shadow-subtle);z-index:5;gap:2px;padding:2px;display:none;position:absolute;top:-14px;right:10px}.bubble:hover .actions{display:flex}.actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:5px;transition:all .15s;display:grid}.actions button:hover,.bubble.mine .actions button:hover{background-color:var(--surface-card);color:var(--ink)}.load{border:1px solid var(--hairline);border-radius:var(--radius-md);background-color:var(--surface-card);color:var(--body);cursor:pointer;align-self:center;padding:6px 14px;font-size:12.5px;font-weight:500;transition:all .15s}.load:hover{background-color:var(--surface-cream-strong);color:var(--ink)}.composer{background-color:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);grid-template-columns:1fr auto;align-items:center;gap:10px;margin:12px 24px 20px;padding:6px 12px 6px 16px;transition:border-color .15s,box-shadow .15s;display:grid}.composer:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #cc785c26}.composer>span{color:var(--muted);background:var(--canvas);border-radius:var(--radius-sm);border:1px solid var(--hairline);grid-column:1/-1;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;font-weight:500;display:flex}.composer>span button{color:var(--error);cursor:pointer;background:0 0;border:none;font-size:11.5px;font-weight:500}.composer input{height:40px;color:var(--ink);background-color:#0000;border:none;border-radius:0;padding:0;font-size:14.5px}.composer input:focus{box-shadow:none;background-color:#0000;border-color:#0000}.send{border-radius:var(--radius-md);background-color:var(--primary);width:36px;height:36px;color:var(--on-primary);cursor:pointer;border:none;place-items:center;transition:background-color .15s;display:grid}.send:hover{background-color:var(--primary-active)}.empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty h2{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin-top:16px;margin-bottom:8px;font-size:2.2rem;font-weight:400}.empty svg{color:var(--primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background-color:#1414131f}::-webkit-scrollbar-thumb:hover{background-color:#14141338}@media (width<=1024px){.auth-shell{grid-template-columns:1fr}.auth-hero-section{display:none}}@media (width<=720px){.chat-shell{grid-template-columns:1fr}.chat-shell aside{display:none}.bubble{max-width:88%}}
