:root{color-scheme:dark;--bg:#10131a;--panel:#171c26;--panel2:#202633;--line:#2b3342;--text:#edf0f7;--muted:#9aa5b7;--accent:#7667ff;--accent2:#9d92ff;--green:#65ddb0}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,Segoe UI,Arial,sans-serif}.app{display:flex;height:100dvh;min-height:560px}.sidebar{width:255px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:10px}.brand{display:flex;align-items:center;gap:11px;padding:0 6px 22px}.brand b{font-size:21px;display:block;letter-spacing:.4px}.brand small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.logo,.welcome-logo{display:grid;place-items:center;background:linear-gradient(135deg,#8b7dff,#5544db);color:#fff;font-weight:900;border-radius:13px;box-shadow:0 8px 24px #6755ff30}.logo{width:43px;height:43px;font-size:17px}.btn{border:1px solid var(--line);background:#252c39;color:var(--text);padding:11px 13px;border-radius:10px;font-weight:650;cursor:pointer;transition:.15s}.btn:hover{filter:brightness(1.15)}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.full{width:100%}.side-label{font-size:10px;color:var(--muted);letter-spacing:1.4px;margin:23px 8px 2px}.side-bottom{display:flex;gap:8px;align-items:center;margin-top:auto;color:var(--muted);font-size:12px;padding:12px 7px}.status-dot{height:8px;width:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px #65ddb055}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 30px;border-bottom:1px solid #ffffff0c}.topbar h1{font-size:18px;margin:0}.topbar p{font-size:12px;color:var(--muted);margin:3px 0 0}.pill{font-size:10px;letter-spacing:1px;padding:6px 9px;border:1px solid #65ddb044;border-radius:20px;color:var(--green)}.messages{flex:1;overflow:auto;padding:28px max(22px,calc((100% - 790px)/2));scroll-behavior:smooth}.welcome{text-align:center;margin:auto;max-width:560px;padding:8vh 0}.welcome-logo{width:64px;height:64px;font-size:23px;margin:0 auto 20px}.welcome h2{font-size:27px;margin:0 0 7px}.welcome p{color:var(--muted);margin:0 0 25px}.suggestions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.suggestions button{background:var(--panel);border:1px solid var(--line);color:#cbd3e2;padding:10px 12px;border-radius:11px;cursor:pointer}.message{max-width:800px;margin:0 auto 25px;white-space:pre-wrap;overflow-wrap:anywhere}.message .role{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--accent2);margin-bottom:7px}.message.user .role{color:#9ba8bd}.message .content{line-height:1.75;font-size:14px}.message.error .content{color:#ff9b9b}.composer-wrap{padding:12px 22px 18px;border-top:1px solid #ffffff0c}.composer{max-width:850px;margin:auto;display:flex;align-items:flex-end;gap:10px;padding:9px;background:var(--panel2);border:1px solid var(--line);border-radius:15px}.composer textarea{flex:1;resize:none;max-height:180px;border:0;outline:0;background:transparent;color:var(--text);font:14px/1.5 inherit;padding:8px;min-width:0}.composer textarea::placeholder{color:#8994a7}.composer button{height:39px;width:42px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:20px;cursor:pointer}.composer button:disabled{opacity:.5;cursor:wait}.disclaimer{text-align:center;color:#778296;font-size:10px;padding-top:8px}.modal{position:fixed;inset:0;background:#05070bd9;display:grid;place-items:center;padding:18px;z-index:10}.hidden{display:none!important}.modal-card{position:relative;width:min(100%,490px);max-height:90dvh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 25px 90px #0008}.modal-card h2{font-size:21px;margin:0 0 6px}.modal-card p{color:var(--muted);font-size:13px;margin:0 0 20px}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:var(--muted);font-size:27px;cursor:pointer}.modal-icon{font-size:28px;margin-bottom:10px}.modal-card form{display:flex;flex-direction:column;gap:10px}.modal-card label{font-size:12px;color:#c7cfdd;margin-top:5px}.modal-card input[type=password],.modal-card select,.modal-card textarea{width:100%;padding:11px;background:#10131a;border:1px solid var(--line);border-radius:9px;color:var(--text);outline:none;font:inherit}.modal-card input:focus,.modal-card textarea:focus,.modal-card select:focus{border-color:var(--accent)}.modal-card .check{display:flex;align-items:center;gap:10px;font-size:13px;margin:0}.check input{accent-color:var(--accent);width:16px;height:16px}.notice{margin-top:14px;padding:10px;border-radius:8px;background:#252c39;font-size:12px}.notice.bad{color:#ffadad}.notice.good{color:var(--green)}
@media(max-width:700px){.sidebar{width:65px;padding:15px 8px;align-items:center}.brand{padding:0 0 16px}.brand>div:last-child,.sidebar .btn:not(:first-of-type),.side-label,.side-bottom span:not(.status-dot){display:none}.sidebar .btn{font-size:0;padding:11px 7px}.sidebar .btn:first-of-type{font-size:0}.sidebar .btn:first-of-type::first-letter{font-size:16px}.topbar{padding:17px}.topbar .pill{display:none}.messages{padding:20px 14px}.welcome h2{font-size:23px}.composer-wrap{padding:10px}.modal-card{padding:22px}}
