.hidden{display:none!important}
.chat-login{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--demo-page,#f5f7fb)}
.chat-login-card{width:min(440px,100%);padding:32px;border:1px solid var(--demo-line,#e4e8ef);border-radius:20px;background:var(--demo-top,#fff);box-shadow:0 20px 60px #17213d18}
.chat-login-card .demo-brand-mark{margin-bottom:18px}
.demo-eyebrow{color:var(--demo-accent,#1769ff);font-size:11px;font-weight:800;letter-spacing:.12em}
.chat-login-card h1{margin:12px 0 8px;font-size:25px;letter-spacing:-.03em}
.chat-login-card p{margin:0 0 22px;color:var(--demo-muted,#748096);font-size:13px;line-height:1.7}
.chat-login-card form{display:grid;gap:11px}
.chat-login-card input{width:100%;padding:12px 13px;border:1px solid var(--demo-line,#e4e8ef);border-radius:10px;background:var(--demo-page,#f8f9fb);color:var(--demo-ink,#17213d);font:inherit}
.chat-login-card input:focus,.chat-composer textarea:focus,.chat-toolbar select:focus{outline:2px solid color-mix(in srgb,var(--demo-accent,#1769ff) 30%,transparent);outline-offset:1px}
.demo-primary{border:0;border-radius:9px;padding:11px 15px;background:var(--demo-accent,#1769ff);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.demo-primary:disabled{opacity:.55;cursor:wait}
.chat-nav-current,.chat-nav-link{display:flex;align-items:center;min-height:36px;padding:9px 10px;border-radius:8px;font-size:12px;text-decoration:none}
.chat-nav-current{background:var(--demo-active,#edf3ff);color:var(--demo-accent,#1769ff);font-weight:800}
.chat-nav-link{color:var(--demo-muted,#748096)}
.chat-nav-link:hover{background:var(--demo-active,#edf3ff);color:var(--demo-accent,#1769ff)}
.chat-logout{margin-top:8px;width:100%;padding:9px 10px;border:1px solid var(--demo-line,#e4e8ef);border-radius:8px;background:transparent;color:var(--demo-muted,#748096);font:inherit;font-size:12px;text-align:left;cursor:pointer}
.chat-logout:hover{border-color:var(--demo-accent,#1769ff);color:var(--demo-accent,#1769ff)}
.chat-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;color:var(--demo-muted,#748096);font-size:11px}
.chat-header-meta span{border:1px solid var(--demo-line,#e4e8ef);border-radius:99px;padding:7px 10px;background:var(--demo-top,#fff)}
.chat-toolbar{display:flex;gap:10px;margin-bottom:22px;padding:12px;border:1px solid var(--demo-line,#e4e8ef);border-radius:12px;background:var(--demo-top,#fff)}
.chat-toolbar label{display:grid;gap:5px;min-width:0;flex:1;color:var(--demo-muted,#748096);font-size:10px;font-weight:700}
.chat-toolbar select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--demo-line,#e4e8ef);border-radius:8px;background:var(--demo-page,#f8f9fb);color:var(--demo-ink,#17213d);font:inherit;font-size:12px}
.chat-history{min-height:320px;max-height:calc(100vh - 310px);overflow:auto;padding:8px 4px 24px;scroll-behavior:smooth}
.chat-welcome{text-align:center;padding:70px 16px 30px;color:var(--demo-muted,#748096)}
.chat-welcome h2{margin:0 0 9px;color:var(--demo-ink,#17213d);font-size:23px;letter-spacing:-.03em}
.chat-welcome p{margin:0;font-size:12px;line-height:1.7}
.chat-message{display:flex;gap:11px;align-items:flex-start;margin:0 0 20px}
.chat-message.user{justify-content:flex-end}
.chat-message.user .chat-avatar{order:2;background:#dce7fa;color:#354563}
.chat-message.user .chat-bubble{order:1;background:var(--demo-user,#e9f0ff);border-radius:15px 15px 4px 15px}
.chat-message.assistant .chat-bubble{background:var(--demo-assistant,#fff);border:1px solid var(--demo-line,#e4e8ef);border-radius:4px 15px 15px 15px}
.chat-avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:var(--demo-accent,#1769ff);color:#fff;font-size:11px;font-weight:800}
.chat-bubble{max-width:min(760px,82%);padding:12px 15px;color:var(--demo-ink,#17213d);font-size:13px;line-height:1.75}
.chat-bubble p{margin:0 0 9px}.chat-bubble p:last-child{margin-bottom:0}
.chat-bubble>small{display:block;margin-top:9px;color:var(--demo-muted,#748096);font-size:10px;line-height:1.4}
.chat-message.failed .chat-bubble{border-color:#e78b8b;background:#fff7f7}
.chat-composer{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--demo-line,#e4e8ef);border-radius:15px;background:var(--demo-top,#fff);box-shadow:0 8px 30px #17213d12}
.chat-composer textarea{width:100%;min-height:74px;resize:vertical;border:0;background:transparent;color:var(--demo-ink,#17213d);font:inherit;font-size:13px;line-height:1.6}
.chat-composer textarea::placeholder{color:#9aa4b5}.chat-composer textarea:focus{outline:none}
.chat-composer>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.chat-status{color:var(--demo-muted,#748096);font-size:11px}.chat-status.bad{color:#bf3f3f}
.chat-error{min-height:18px;margin-top:9px;color:#bf3f3f;font-size:12px;line-height:1.5}
.chat-source{margin-top:13px;padding:10px 11px;border:1px solid var(--demo-line,#e4e8ef);border-radius:8px;background:var(--demo-source,#f8faff);color:var(--demo-muted,#748096);font-size:11px;line-height:1.6}
.chat-source b{color:var(--demo-ink,#17213d)}
.demo-suggestion{cursor:pointer}
.demo-suggestion:hover{border-color:var(--demo-accent,#1769ff);color:var(--demo-accent,#1769ff)}
.demo-footer{display:flex;justify-content:center;gap:20px;padding:25px;color:#718096;font-size:12px}.demo-footer a{color:inherit}
@media (max-width:760px){.demo-shell{display:block}.demo-sidebar{min-height:auto;padding:13px;gap:9px;border-right:0;border-bottom:1px solid var(--demo-line,#e4e8ef)}.demo-sidebar-title{margin-top:3px}.demo-sidebar-foot{margin-top:7px}.chat-logout{margin-top:0}.demo-main-head{height:auto;min-height:74px;padding:14px 18px;gap:12px;align-items:flex-start}.chat-header-meta{justify-content:flex-start}.demo-conversation{width:calc(100% - 28px);padding:18px 0}.chat-toolbar{display:grid;grid-template-columns:1fr}.chat-history{max-height:none;min-height:250px}.chat-bubble{max-width:calc(100vw - 100px);font-size:12px}.chat-login{padding:16px}.chat-login-card{padding:24px}.comparison-grid{grid-template-columns:1fr;padding:0 16px 35px}.comparison-header{padding:38px 16px 22px}.comparison-header h1{font-size:27px}.demo-footer{flex-wrap:wrap;gap:12px 18px;padding:20px 16px}}
