:root{--bg: #f2f5fb;--bg-2: #f2f5fb;--panel: #ffffff;--line: #d7e3f3;--text: #11213f;--muted: #6a7d99;--brand: #012478;--brand-2: #0f57c9;--ok: #1f8f48;--err: #b63a4f}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;font-family:Sora,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}button,select,textarea{font:inherit;color:inherit}.layout{width:100%;height:100dvh;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:0;overflow:hidden}.mobile-overlay{display:none}.sidebar,.chat-shell{background:var(--panel);border:1px solid var(--line)}.sidebar{width:258px;border-radius:20px 0 0 20px;border-right:0;padding:18px 14px;display:flex;flex-direction:column;gap:14px;transition:width .2s ease,transform .2s ease,padding .2s ease}.sidebar.closed{width:0;padding-left:0;padding-right:0;overflow:hidden}.sb-head{display:flex;align-items:flex-start;gap:10px}.logo-dot{width:30px;height:30px;border-radius:10px;background:linear-gradient(130deg,var(--brand),var(--brand-2))}.sb-head h1{margin:0;font-size:50px;line-height:.94;letter-spacing:-.02em}.sb-head p{margin:6px 0 0 3px;color:var(--muted);font-size:14px;line-height:1}.new-chat{border:1px solid transparent;border-radius:12px;background:var(--brand);color:#fff;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;cursor:pointer}.new-chat svg,.history-item svg,.icon svg,.send svg,.connect svg{width:17px;height:17px}.history-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.history{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.history-item{border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;gap:6px;padding:4px}.history-main{flex:1;border:0;background:transparent;display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;cursor:pointer;text-align:left}.history-item span{font-size:12px;color:var(--muted)}.history-item.active{background:#eef5ff;border-color:#aac4ef}.history-actions{display:inline-flex}.history-delete{width:28px;height:28px;border:1px solid transparent;border-radius:8px;background:transparent;display:grid;place-items:center;color:#7b8da8;cursor:pointer}.history-delete:hover{background:#f1f5fb;color:#29476e}.history-delete:focus-visible,.history-main:focus-visible{outline:2px solid #87aee9;outline-offset:1px}.chat-shell{min-width:0;min-height:0;border-radius:0 20px 20px 0;padding:16px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.top,.mini-status,.status,.chat-stage{width:min(1080px,100%);margin:0 auto}.top{border:1px solid var(--line);border-radius:14px;background:#fff;padding:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.icon{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;place-items:center;cursor:pointer}.top-controls{display:flex;gap:8px}.top-controls select{border:1px solid var(--line);border-radius:11px;background:#fff;height:36px;min-width:170px;padding:0 10px}.prod-input{border:1px solid var(--line);border-radius:11px;background:#fff;height:36px;width:150px;padding:0 10px}.connect{border:1px solid var(--line);border-radius:11px;background:#f4f8ff;color:#2a4c77;height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.connect:disabled{opacity:.6;cursor:not-allowed}.mini-status{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:7px;color:#5f7391;font-size:12px;padding-bottom:2px;min-height:0;align-self:start}.status-pill{border:1px solid var(--line);border-radius:999px;background:#fff;padding:4px 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:28px;white-space:nowrap;flex:0 0 auto}.status-pill .dot{width:8px;height:8px;border-radius:999px;background:#9daec7;box-shadow:0 0 0 3px #9daec733}.status-pill .dot.ok{background:#22a447;box-shadow:0 0 0 3px #22a4472e}.status-pill .dot.warn{background:#d68028;box-shadow:0 0 0 3px #d680282e}.status-pill.date{color:#516582}.status{border:1px solid #cad9ef;border-radius:11px;background:#f5f9ff;color:#325680;padding:8px 10px;font-size:13px}.status.success{border-color:#bde5ca;background:#effaf2;color:var(--ok)}.status.error{border-color:#efc3cc;background:#fff4f6;color:var(--err)}.chat-stage{min-height:0;flex:1;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;grid-template-rows:1fr auto;overflow:hidden}.feed{min-height:0;overflow-y:auto;overflow-x:hidden;border:0;border-radius:0;background:transparent;padding:14px;display:flex;flex-direction:column;gap:10px}.welcome{min-height:100%;display:grid;place-content:center;gap:12px}.welcome h2{margin:0;font-size:clamp(30px,4vw,56px);font-weight:600;letter-spacing:-.03em;color:#8e98a9;text-align:center}.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.chips button{border:1px dashed #c7d5eb;border-radius:999px;background:#fff;color:#4f6482;font-size:12px;padding:7px 11px;cursor:pointer}.note{border:1px dashed #c4d4ec;border-radius:11px;background:#f5f9ff;color:var(--muted);padding:10px}.note.error{border-color:#efc3cc;color:var(--err);background:#fff4f6}.md-p{margin:0 0 10px;line-height:1.55;white-space:pre-wrap}.md-p:last-child{margin-bottom:0}.md-inline-code,.md-pre{font-family:Cascadia Mono,Consolas,SFMono-Regular,monospace}.md-inline-code{background:#eef4ff;border:1px solid #d7e3f3;border-radius:6px;padding:.1rem .35rem;font-size:.92em}.md-pre{margin:0 0 12px;padding:12px 14px;border-radius:12px;border:1px solid #d7e3f3;background:#f8fbff;overflow-x:auto}.md-pre code{display:block;font-size:.92rem;line-height:1.5;white-space:pre}.md-ul,.md-ol{margin:0 0 12px 1.25rem;padding:0}.md-li{margin:0 0 6px;line-height:1.55}.md-quote{margin:0 0 12px;padding:8px 12px;border-left:3px solid #aac4ef;background:#f7fbff;color:#37506f}.md-table-wrap{overflow-x:auto;margin:0 0 12px}.md-table{width:100%;border-collapse:collapse;font-size:.95rem}.md-table th,.md-table td{border:1px solid #d7e3f3;padding:8px 10px;text-align:left}.md-table th{background:#eef5ff}.msg-row{display:flex}.msg-row.user{justify-content:flex-end}.msg-row.assistant{justify-content:flex-start}.msg{max-width:min(740px,90%);border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 12px}.msg-row.user .msg{border-color:transparent;background:linear-gradient(135deg,#0f4fc0,#1f67da);color:#fff}.msg header{font-size:12px;font-weight:700;opacity:.85;margin-bottom:6px}.msg p{margin:0;white-space:pre-wrap;line-height:1.45}.typing{color:var(--muted);font-size:12px}.tech{margin-top:8px;padding-top:7px;border-top:1px dashed #ccd8ec}.tech summary{cursor:pointer;font-size:12px;color:#365d93}.tech-grid{margin-top:6px;display:grid;gap:3px;font-size:12px}.tech-error{margin-top:6px;font-size:12px;color:var(--err)}.composer{border:0;border-top:1px solid #e4ecf8;border-radius:0;background:#fbfdff;padding:9px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.composer textarea{border:1px solid var(--line);border-radius:12px;background:#fff;min-height:54px;max-height:180px;resize:vertical;width:100%;padding:10px}.send{width:44px;height:44px;border:1px solid transparent;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer}.send:disabled{opacity:.55;cursor:not-allowed}button:focus,select:focus,textarea:focus{outline:2px solid #b8cdf0;outline-offset:1px}@media (max-width: 1020px){.layout{grid-template-columns:1fr;padding:10px}.mobile-overlay{display:none}.mobile-overlay.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#08132a59;z-index:30}.sidebar{position:fixed;top:10px;left:10px;bottom:10px;width:min(280px,86vw);border-radius:16px;border-right:1px solid var(--line);transform:translate(-110%);z-index:31;box-shadow:0 20px 48px #0510254d}.sidebar.open{transform:translate(0)}.sidebar.closed{width:min(280px,86vw);padding:18px 14px;transform:translate(-110%)}.chat-shell{border-radius:16px}}@media (max-width: 760px){.top{flex-direction:column;align-items:stretch}.top-controls{flex-direction:column}.top-controls select,.prod-input{width:100%;min-width:0}.connect{width:100%;justify-content:center}.composer{grid-template-columns:1fr}.send{width:100%;height:40px}}
