﻿:root{font-family:Segoe UI,system-ui,sans-serif;color-scheme:dark;color:#e4e8f2;background:#0b0e16;--line:#242b3d;--muted:#919ab1;--accent:#8f91ff}*{box-sizing:border-box}body{margin:0;display:flex;height:100dvh}button,textarea{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);border-radius:10px;background:#1d2340;padding:12px 16px}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:wait}.sidebar{width:270px;background:#101522;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;gap:12px;text-decoration:none;color:var(--accent);font-size:30px;align-items:center}.brand span{font-size:19px;color:#fff;letter-spacing:2px}small{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:5px}.new{background:#232943;text-align:left}h2{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0}nav{flex:1;overflow:auto}nav button{display:block;background:transparent;border-color:transparent;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px 0}nav button.selected{background:#242b46;border-color:#454c79}footer{color:var(--muted);font-size:12px}.dot{display:inline-block;width:6px;height:6px;background:#76d6ac;border-radius:50%;margin-right:6px}main{flex:1;min-width:0;display:flex;flex-direction:column}header{padding:22px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}#connection{font-size:12px;border:1px solid var(--line);padding:8px 12px;border-radius:20px;color:#b6bcff}#history{flex:1;overflow:auto;padding:32px max(24px,calc((100% - 850px)/2));scroll-behavior:smooth}.welcome{text-align:center;padding:10vh 0;color:var(--muted)}.welcome .mark{font-size:64px;color:var(--accent)}.welcome h1{color:#f3f3ff;font-size:30px}.msg{padding:20px 24px;border:1px solid var(--line);background:#121827;border-radius:16px;margin:0 0 20px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.msg.user{background:#1b2038;border-color:#353d65}.speaker{font-size:11px;letter-spacing:1.5px;color:var(--accent);margin-bottom:9px;font-weight:700}.error{color:#ffb1b1;font-size:13px}.state{font-size:11px;color:var(--muted);margin-top:8px}form{margin:0 auto;display:flex;gap:12px;width:calc(100% - 48px);max-width:850px;padding:12px;background:#171d2d;border:1px solid #3a4260;border-radius:16px}textarea{flex:1;min-width:0;background:transparent;border:0;outline:none;resize:vertical;max-height:200px;color:#fff;padding:10px}textarea:focus-visible{outline:1px solid var(--accent);border-radius:6px}#send{align-self:flex-end;background:#7778e8;border:0;color:#fff}.hint{text-align:center;font-size:11px;color:var(--muted);margin:12px 20px 20px}#notice{color:#ffcb9b;font-size:13px;text-align:center;padding:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.sidebar{width:160px;padding:20px 10px;gap:15px}.brand{font-size:22px;gap:6px}.brand span{font-size:13px;letter-spacing:1px}.brand small{font-size:10px}header{padding:16px;flex-wrap:wrap}#history{padding:16px}.msg{padding:15px}form{width:calc(100% - 24px);gap:4px}#send{padding:12px 8px}.hint{font-size:10px}}@media(max-width:430px){body{flex-direction:column}.sidebar{width:100%;padding:12px;flex-direction:row;align-items:center;gap:10px;border-right:0;border-bottom:1px solid var(--line)}.sidebar h2,.sidebar footer,.brand small{display:none}.brand{flex-shrink:0}.sidebar .new{padding:8px;font-size:12px}.sidebar nav{max-height:70px}.sidebar nav button{padding:5px;font-size:11px}main{min-height:0}.welcome{padding:2vh 0}.welcome h1{font-size:24px}}
#queries{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px;border-bottom:1px solid var(--line)}#queries button{padding:7px 12px;font-size:12px;background:#171d2d}#approvals{max-height:45dvh;overflow:auto;padding:0 24px}.approval{border:1px solid #b19352;border-radius:12px;padding:18px;margin:8px auto;max-width:850px;background:#252131}.approval p{font-size:13px;line-height:1.5}.approval pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#101522;border-radius:8px;padding:10px;font-size:12px}.approval-controls{display:flex;gap:12px;margin-top:12px}.approval-controls button:first-child{background:#43468d}.approval summary{cursor:pointer;font-size:12px}@media(max-width:430px){#queries{padding:8px}#approvals{padding:0 12px;max-height:50dvh}}
.login-page{justify-content:center;align-items:center}.login-card{flex:none;width:min(440px,calc(100% - 32px));background:#121827;border:1px solid var(--line);padding:32px;border-radius:20px}.login-card h1{font-size:23px}.login-card form{width:100%;display:flex;flex-direction:column;margin:0}.login-card label{font-size:13px;color:var(--muted)}.login-card input{padding:12px;border-radius:8px;border:1px solid var(--line);background:#0b0e16;color:#fff;font:inherit}.login-card #login-error{color:#ffb1b1;font-size:13px}#logout{font-size:12px;padding:8px 12px}
#project{display:block;width:100%;margin-top:8px;font:inherit;font-size:12px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#171d2d;color:inherit}.sidebar label{font-size:12px;color:var(--muted)}@media(max-width:430px){.sidebar label{max-width:130px;font-size:10px}#project{margin-top:3px;padding:5px;width:120px}}
