:root{--bg:#070a14;--panel:#101629;--line:#29345b;--text:#edf4ff;--muted:#94a3c5;--cyan:#48ddff;--violet:#ae7cff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#1a2050,transparent 42%),var(--bg);color:var(--text);font:14px Segoe UI,Arial;display:flex;height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer;color:#fff;border:1px solid #5f64d9;border-radius:10px;padding:10px;background:linear-gradient(120deg,#2468a1,#743bb4)}aside{width:270px;background:#0b1020dd;border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:10px}h1{font-size:20px;margin:0 0 15px;background:linear-gradient(90deg,var(--cyan),var(--violet));color:transparent;background-clip:text}h3{font-size:11px;letter-spacing:1px;color:var(--muted);margin:18px 0 3px}.muted{margin-top:auto;background:transparent;border-color:var(--line);color:var(--muted)}#chats{overflow:auto}.chat{display:flex;gap:4px;margin:5px 0}.chat button:first-child{flex:1;text-align:left;background:#151d34;border-color:var(--line)}.chat button:last-child{padding:5px;background:transparent;border-color:transparent;color:#ff9da8}main{flex:1;display:flex;flex-direction:column;min-width:0}header{padding:16px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}small{display:block;color:var(--cyan);margin-top:4px}#messages{flex:1;overflow:auto;padding:28px;max-width:1050px;width:100%;margin:auto}.welcome{text-align:center;margin-top:18vh;font-size:28px;font-weight:700;color:var(--cyan)}.welcome span{font-size:15px;color:var(--muted)}.message{margin:14px 0;padding:15px;border:1px solid var(--line);border-radius:14px;white-space:pre-wrap;line-height:1.55}.user{margin-left:15%;background:#17264b}.assistant{margin-right:8%;background:#10162a}.role{font-size:11px;color:var(--cyan);margin-bottom:8px}.composer{padding:15px 8%;border-top:1px solid var(--line);background:#0b1020}.composer textarea{width:100%;resize:vertical;background:#11192e;color:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.composerTools{display:flex;gap:8px;margin-top:8px;align-items:center}.composerTools select{flex:1}.composerTools input,.composerTools select{color:#dbeafe;background:#11192e;border:1px solid var(--line);padding:8px;border-radius:8px}.logs{font:12px ui-monospace,monospace;color:#9ee7ff;white-space:pre-wrap;max-height:120px;overflow:auto}.logs:empty{display:none}dialog{width:min(700px,92vw);border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:28px}.close{float:right;background:transparent;border:0;font-size:22px}.field{margin:12px 0}.field label{display:block;color:var(--muted);margin-bottom:5px}.field input,.field select{width:100%;padding:9px;background:#090e1e;border:1px solid var(--line);border-radius:8px;color:#fff}.key,.approval{padding:10px;border:1px solid var(--line);margin:8px 0;border-radius:8px}.error{color:#ff9da8}.login{justify-content:center;align-items:center}.card{width:360px;padding:35px;background:var(--panel);border:1px solid var(--line);border-radius:18px;display:grid;gap:14px}.card input{padding:12px;border-radius:9px;border:1px solid var(--line);background:#090e1e;color:white}@media(max-width:700px){aside{width:70px;padding:10px}aside h1,aside h3,.muted{display:none}aside button{font-size:0;padding:12px}main{width:calc(100vw - 70px)}.composer{padding:12px}.composerTools input{max-width:100px}}
.fileButton,.attachment{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#121b32;color:var(--text);cursor:pointer}.fileButton input{display:none}.attachment{display:inline-flex;align-items:center;gap:6px;margin:0 6px 8px 0}.attachment button,.modelRow button{padding:2px 7px;background:transparent;border-color:var(--line)}#dropZone.drag{outline:2px dashed var(--cyan);outline-offset:-8px;background:#112344}.modelChoices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.modelChoice{padding:7px 9px;background:#162343;border-color:var(--line);font-size:12px}.modelList{margin:10px 0 16px}.modelRow{display:flex;align-items:center;gap:9px;padding:9px;margin:5px 0;background:#101a31;border:1px solid var(--line);border-radius:9px}.modelRow span{flex:1}.tabs{display:flex;gap:8px;margin:10px 0}.tabs button{background:#17264b}.mutedText{color:var(--muted)}dialog p{line-height:1.55;color:var(--muted)}
