﻿:root{--bg:#0c0e12;--panel:#151820;--panel2:#1c202a;--line:#2a303d;--text:#f4f5f7;--muted:#969eae;--accent:#72e1b5;--accent2:#4eb48e;--danger:#ff7c87}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea,select{font:inherit}button{border:0;border-radius:10px;padding:10px 15px;background:var(--accent);color:#07120e;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.06)}button:disabled{opacity:.5;cursor:wait}
input,textarea,select{width:100%;margin-top:6px;background:#0e1117;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent2)}textarea{resize:vertical}
label{display:block;color:var(--muted);font-size:13px}.hidden{display:none!important}.error{color:var(--danger);min-height:24px;margin-top:10px}
.login-shell{min-height:100%;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#17342a 0,transparent 34%),var(--bg)}
.login-card{width:min(390px,100%);background:rgba(21,24,32,.92);border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 30px 80px #0008}.login-card h1{margin:14px 0 2px}.login-card p{color:var(--muted);margin:0 0 24px}.login-card label{margin:14px 0}.login-card button{width:100%;margin-top:8px}
  .mark{width:50px;height:50px;border-radius:15px;background:var(--accent);display:grid;place-items:center;color:#07120e;font-size:25px;font-weight:900}.mark.small{width:32px;height:32px;border-radius:9px;font-size:16px}.brand-logo{width:40px;height:40px;border-radius:11px;object-fit:cover;display:block;box-shadow:0 0 0 1px #ffffff22}.login-logo{width:72px;height:72px;border-radius:19px}
.app{height:100%;display:grid;grid-template-columns:280px 1fr}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:10px;padding:20px}.sidebar nav{display:flex;gap:6px;padding:0 14px 14px}.nav{flex:1;background:transparent;color:var(--muted);padding:8px}.nav.active{background:var(--panel2);color:var(--text)}#chat-tools{display:flex;flex-direction:column;min-height:0;flex:1;padding:0 12px}.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.chat-list{overflow:auto;padding:10px 0}.chat-item{display:flex;gap:5px;margin:3px 0}.chat-item button{background:transparent;color:var(--muted);font-weight:500;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.chat-item.active button{background:var(--panel2);color:var(--text)}
.account{border-top:1px solid var(--line);padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.account small{display:block;color:var(--muted);margin-top:2px}.icon{background:transparent;color:var(--muted);padding:8px;font-size:20px}
main{min-width:0;min-height:0}.view{height:100%;display:flex;flex-direction:column}.view header{height:66px;flex:none;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:14px}.view header h2{font-size:16px;margin:0;flex:1}.danger-text{background:transparent;color:var(--danger);font-weight:600}
  .messages{flex:1;overflow:auto;padding:32px max(24px,calc((100% - 820px)/2))}.empty{text-align:center;color:var(--muted);padding-top:20vh}.empty h2{color:var(--text);font-size:28px;margin-bottom:4px}.message{display:grid;grid-template-columns:38px 1fr;gap:13px;margin:0 0 27px}.avatar{width:36px;height:36px;border-radius:11px;background:var(--panel2);display:grid;place-items:center;font-size:12px;font-weight:800}.message.assistant .avatar{background:var(--accent);color:#07120e}.bubble{overflow-wrap:anywhere;padding-top:6px;min-width:0}.message-author{color:var(--muted);font-size:12px;font-weight:700;margin-bottom:5px}.message.user .bubble{color:#d9dde5}.message.user .message-content{white-space:pre-wrap}
.message-content>*:first-child{margin-top:0}.message-content>*:last-child{margin-bottom:0}.message-content p{margin:0 0 14px}.message-content h1,.message-content h2,.message-content h3,.message-content h4{line-height:1.25;margin:24px 0 10px}.message-content h1{font-size:25px}.message-content h2{font-size:21px}.message-content h3{font-size:18px}.message-content ul,.message-content ol{margin:8px 0 16px;padding-left:26px}.message-content li{margin:5px 0}.message-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.message-content code{background:#171c24;border:1px solid var(--line);border-radius:5px;padding:1px 5px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.message-content pre{background:#090b0f;border:1px solid var(--line);border-radius:12px;padding:14px;overflow:auto;margin:12px 0 18px}.message-content pre code{border:0;background:transparent;padding:0;white-space:pre}.message-content blockquote{border-left:3px solid var(--accent2);color:#c9ced8;margin:14px 0;padding:4px 0 4px 14px}.message-content hr{border:0;border-top:1px solid var(--line);margin:20px 0}.table-wrap{max-width:100%;overflow:auto;margin:12px 0 20px;border:1px solid var(--line);border-radius:10px}.message-content table{border-collapse:collapse;width:100%;min-width:560px}.message-content th,.message-content td{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.message-content th{background:var(--panel2)}.message-content tr:last-child td{border-bottom:0}.message-content th:last-child,.message-content td:last-child{border-right:0}
.mode-badge{display:inline-flex;border:1px solid #2f7d61;background:#17382d;color:#9af0ce;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;margin-bottom:8px}.mode-badge.deep{border-color:#7661b5;background:#29223e;color:#cabfff}.message-files,.message-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.message-files span,.message-links a,.attachment-chip{display:inline-flex;align-items:center;gap:5px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12px;color:#cbd1dc}.message-links a{text-decoration:none}.message-links a:hover{border-color:var(--accent);color:var(--accent)}.sources{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.sources strong{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.sources a{color:var(--accent);font-size:13px;text-decoration:none}.sources a:hover{text-decoration:underline}
.composer{display:flex;flex-direction:column;gap:8px;width:min(860px,calc(100% - 32px));margin:0 auto 22px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:10px}.composer.deep-mode{border-color:#715eb0;box-shadow:0 0 0 1px #715eb044}.composer-row{display:flex;gap:10px;align-items:flex-end}.composer textarea{border:0;background:transparent;margin:0;max-height:180px;min-height:44px}.composer-row>button{flex:none}.composer-tools{display:flex;align-items:center;gap:8px;padding:0 2px}.composer-tools small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attach-button,.mic-button{flex:none;cursor:pointer;background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:12px;padding:6px 9px}.mic-button.requesting{border-color:#d0a248}.mic-button.recording{background:#5b2028;border-color:#e55c6b;color:#fff;animation:mic-pulse 1.2s infinite}.mic-status{font-size:12px;color:#d9c382;padding:0 4px}.mic-status.error{color:#ff8c96}.message-mode{width:auto;max-width:245px;margin:0;padding:6px 28px 6px 9px;border-radius:8px;font-size:12px}.attachment-list{display:flex;flex-wrap:wrap;gap:6px}.attachment-chip button{background:transparent;color:var(--muted);padding:0 2px;font-size:17px;line-height:1}.audio-transcript{color:var(--muted);font-size:12px;margin-top:8px;white-space:pre-wrap;border-left:2px solid var(--line);padding-left:9px}@keyframes mic-pulse{50%{box-shadow:0 0 0 4px #e55c6b33}}
  .project-create{background:transparent;color:var(--muted);text-align:left;padding:9px 10px;margin-top:5px}.project-create:hover{color:var(--text)}.project-group{margin:8px 0 13px}.project-header{display:flex;align-items:center;gap:2px;padding:3px 5px}.project-header strong{font-size:12px;color:#d8dde6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.project-header button{background:transparent;color:var(--muted);padding:3px 5px;font-size:13px}.project-header button:hover{color:var(--text)}.project-empty{display:block;color:#666e7d;padding:6px 13px;font-size:11px}.chat-project-select{width:auto;max-width:210px;margin:0;padding:6px 28px 6px 9px;font-size:12px}.composer.image-mode{border-color:#3d7197;box-shadow:0 0 0 1px #3d719744}.chat-image-quality{width:auto;max-width:190px;margin:0;padding:6px 28px 6px 9px;border-radius:8px;font-size:12px}.attach-button.disabled{opacity:.45;cursor:not-allowed}.mode-badge.image{border-color:#39779e;background:#183348;color:#a9dcff}.chat-image-link{display:block;width:min(520px,100%);margin-top:12px}.chat-image{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.image-message-meta{display:block;color:var(--muted);margin-top:6px}.gallery-help{color:var(--muted);margin:0 0 18px}.page{overflow:auto;padding:28px;width:min(1000px,100%);margin:auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:24px}.panel .row{display:flex;align-items:flex-end;gap:14px;margin-top:14px}.panel .row label{flex:1}.panel small{display:block;color:var(--muted);margin-top:12px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.image-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.image-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.image-card div{padding:12px}.image-card p{margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.image-card small{color:var(--muted)}
  .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.users{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.user-row{display:grid;grid-template-columns:2fr .7fr 1fr auto minmax(170px,auto);gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.user-row:last-child{border:0}.user-row small{display:block;color:var(--muted)}.user-row input{margin:0}.user-row button{background:var(--panel2);color:var(--text)}.deep-toggle{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap;font-size:12px;color:#cbd1dc}.deep-toggle input{width:17px;height:17px;accent-color:var(--accent)}.user-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.role-toggle{font-size:11px;padding:7px 9px}
  .modal{position:fixed;inset:0;z-index:20;background:#000a;display:grid;place-items:center;padding:20px}.modal-card{width:min(620px,100%);max-height:min(760px,92vh);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 30px 100px #000}.modal-header{display:flex;align-items:center;margin-bottom:16px}.modal-header h3{margin:0;flex:1}.modal-header button{background:transparent;color:var(--muted);font-size:24px;padding:2px 8px}.project-access-note{color:var(--muted);font-size:13px}.project-members{display:flex;flex-direction:column;gap:7px;margin:14px 0;max-height:390px;overflow:auto}.project-member{display:grid;grid-template-columns:22px 1fr 130px;align-items:center;gap:9px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin:0}.project-member>strong,.project-member:not(label){grid-column:1/-1}.project-member input{width:17px;height:17px;margin:0;accent-color:var(--accent)}.project-member select{margin:0;padding:6px 25px 6px 8px;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.toast{position:fixed;right:20px;bottom:20px;background:#f5f7f6;color:#111;padding:12px 16px;border-radius:10px;box-shadow:0 10px 40px #0008}.mobile-only{display:none}
@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:5;width:min(310px,86vw);height:100%;transform:translateX(-105%);transition:.2s}.sidebar.open{transform:none}.mobile-only{display:block}.view header{padding:0 8px}.view header h2{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-project-select{max-width:125px}.messages{padding:24px 16px}.grid{grid-template-columns:1fr 1fr}.user-row{grid-template-columns:1fr auto}.user-row>*:nth-child(2),.user-row>*:nth-child(3){display:none}.deep-toggle{grid-column:1}.user-actions{grid-column:2;grid-row:1/3}.composer-tools{flex-wrap:wrap}.composer-tools small{display:none}.message-mode{max-width:160px}.chat-image-quality{max-width:155px}.attach-button span,.mic-button span{display:none}}
