:root{--bg-0: #0a0f1a;--bg-1: #0f1623;--bg-2: #151d2c;--bg-3: #1c2540;--line: #1f2a44;--line-soft: #182238;--text: #e6ecf5;--text-2: #a8b3c7;--text-3: #6b7894;--accent: #f0a23a;--accent-soft: #f0a23a1a;--accent-line: #f0a23a55;--good: #4ad6a3;--bad: #ff6b6b;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 0 rgba(255,255,255,.02), 0 12px 32px rgba(0,0,0,.35);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;background:var(--bg-0);color:var(--text);font-size:15px;line-height:1.55;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}.app{height:100vh;position:relative;overflow:hidden}.main{height:100vh;width:100%;position:relative;z-index:1;filter:blur(0);transition:filter .24s ease}.app.drawer-open .main{filter:brightness(.96)}@media (max-width: 900px){.app.drawer-open.is-mobile .main{filter:brightness(.6)}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:300px;background:var(--bg-1);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;z-index:50;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);will-change:transform;box-shadow:0 0 #0000}.app.drawer-open .sidebar{transform:translate(0);box-shadow:16px 0 48px #0000008c,0 0 0 1px #0006}@media (max-width: 900px){.sidebar.is-mobile{width:min(86vw,320px)}}@media (min-width: 901px){.sidebar.is-desktop{width:300px}}.sidebar-header{padding:18px 18px 14px;border-bottom:1px solid var(--line-soft)}.sidebar-title-row{display:flex;align-items:center;justify-content:space-between}.sidebar h2{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}.sidebar-close{width:28px;height:28px;border-radius:6px;color:var(--text-3);font-size:20px;line-height:1;display:grid;place-items:center;transition:background .15s ease,color .15s ease}.sidebar-close:hover{background:var(--bg-2);color:var(--accent)}.sidebar-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-sub{margin-top:6px;color:var(--text-3);font-size:12px}.doc-list{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.doc-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;transition:border-color .15s ease}.doc-card:hover{border-color:var(--accent-line)}.doc-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.doc-type{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}.doc-name{font-size:13px;color:var(--text);line-height:1.4}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:999px;border:1px solid transparent}.badge-ok{color:var(--good);background:#4ad6a31a;border-color:#4ad6a34d}.badge-demo{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.sidebar-footer{border-top:1px solid var(--line-soft);padding:12px 16px 16px}.footer-disclaimer{font-size:10.5px;line-height:1.5;color:var(--text-3)}.main{display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 80% -10%,rgba(240,162,58,.04),transparent 60%),var(--bg-0);min-width:0}.chat-wrap{display:flex;flex-direction:column;height:100vh}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line-soft);background:#0f162399;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{height:48px;width:auto;display:block;border-radius:6px}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-text p{font-size:11px;color:var(--text-3);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-scroll{flex:1;overflow-y:auto;padding:28px 28px 16px;display:flex;flex-direction:column;gap:18px}.empty-state{max-width:640px;margin:8% auto 0;text-align:left}.empty-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:12px}.empty-state h2{font-size:28px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--text);margin-bottom:12px}.empty-sub{color:var(--text-2);font-size:15px;max-width:56ch}.msg{display:flex;gap:12px;max-width:820px;width:100%}.msg-user{align-self:flex-end;flex-direction:row-reverse}.msg-avatar{flex:0 0 30px;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.04em}.msg-user .msg-avatar{background:var(--bg-3);color:var(--text-2);border:1px solid var(--line)}.msg-assistant .msg-avatar{background:linear-gradient(135deg,var(--accent),#c97a14);color:#1a1206;box-shadow:0 0 0 1px #f0a23a59}.msg-body{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;min-width:0;max-width:calc(100% - 50px)}.msg-user .msg-body{background:var(--bg-3);border-color:var(--line)}.msg-content{font-size:14.5px;line-height:1.65;color:var(--text);word-wrap:break-word}.msg-content p{margin:0 0 10px}.msg-content p:last-child{margin-bottom:0}.msg-content ul{margin:6px 0 10px 18px}.msg-content li{margin-bottom:4px}.msg-content strong{color:var(--accent);font-weight:600}.msg-content code{background:var(--bg-2);border:1px solid var(--line);padding:1px 6px;border-radius:4px;font-size:12.5px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-2)}.msg-pending{color:var(--text-3)}.status-line{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-3);padding:4px 0 4px 42px;font-style:italic}.dot-pulse{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 0 var(--accent-line);animation:pulse 1.4s infinite}@keyframes pulse{0%{box-shadow:0 0 #f0a23a99}70%{box-shadow:0 0 0 10px #f0a23a00}to{box-shadow:0 0 #f0a23a00}}.composer{border-top:1px solid var(--line-soft);padding:14px 28px 16px;background:#0f162399}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{background:var(--bg-2);border:1px solid var(--line);color:var(--text-2);padding:7px 12px;font-size:12.5px;border-radius:999px;text-align:left;transition:all .15s ease;max-width:360px;line-height:1.35}.chip:hover:not(:disabled){border-color:var(--accent-line);color:var(--text);background:var(--bg-3)}.chip:disabled{opacity:.5;cursor:not-allowed}.input-row{display:flex;gap:10px}.input{flex:1;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;color:var(--text);font-size:15px;outline:none;transition:border-color .15s ease,background .15s ease}.input:focus{border-color:var(--accent-line);background:var(--bg-2)}.input:disabled{opacity:.6}.input::placeholder{color:var(--text-3)}.send{background:var(--accent);color:#1a1206;font-weight:600;padding:0 22px;border-radius:var(--radius);font-size:14px;letter-spacing:.02em;transition:background .15s ease}.send:hover:not(:disabled){background:#ffb84d}.send:disabled{background:var(--bg-3);color:var(--text-3);cursor:not-allowed}.chat-footer{text-align:center;font-size:10.5px;color:var(--text-3);padding:10px 28px 14px;background:#0a0f1a99}.chat-scroll::-webkit-scrollbar,.doc-list::-webkit-scrollbar{width:8px}.chat-scroll::-webkit-scrollbar-track,.doc-list::-webkit-scrollbar-track{background:transparent}.chat-scroll::-webkit-scrollbar-thumb,.doc-list::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:4px}.chat-scroll::-webkit-scrollbar-thumb:hover,.doc-list::-webkit-scrollbar-thumb:hover{background:var(--line)}.hamburger{display:flex;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:0;border-radius:8px;margin-right:4px;position:relative;transition:background .15s ease}.hamburger:hover{background:var(--bg-2)}.hamburger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hamburger span{display:block;position:absolute;width:18px;height:2px;background:var(--text-2);border-radius:2px;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .18s ease,background .15s ease,top .24s cubic-bezier(.4,0,.2,1)}.hamburger:hover span{background:var(--text)}.hamburger span:nth-child(1){top:12px}.hamburger span:nth-child(2){top:17px}.hamburger span:nth-child(3){top:22px}.hamburger.is-open span:nth-child(1){top:17px;transform:rotate(45deg);background:var(--accent)}.hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.is-open span:nth-child(3){top:17px;transform:rotate(-45deg);background:var(--accent)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05081059;opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:40}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}@media (max-width: 900px){.sidebar-backdrop{background:#05081099}}@media (max-width: 900px){.sidebar.is-desktop{display:none}.chat-header{padding:14px 16px}.chat-scroll{padding:18px 16px 12px}.composer{padding:12px 16px 14px}.chat-footer{padding:10px 16px 14px}.empty-state h2{font-size:22px}.empty-state{margin-top:6%}.msg-body{padding:11px 14px}.msg-content{font-size:14px}.chip{font-size:12px;padding:6px 11px;max-width:100%}.input{font-size:16px;padding:12px 14px}.send{padding:0 18px;font-size:13px}.brand-logo{height:40px}}@media (max-width: 480px){.chat-header{padding:12px 14px}.chat-scroll{padding:14px 14px 10px;gap:14px}.composer{padding:10px 14px 12px}}
