:root{--bg:#05080d;--panel:#0b111b;--panel2:#101826;--line:#223046;--text:#edf3ff;--muted:#8ba0ba;--gold:#d6ac55;--blue:#4ea1ff;--red:#ff6a79}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#0d1a2b 0,#05080d 45%);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}button,input,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 280px;grid-template-rows:64px calc(100vh - 64px);min-height:100vh}header{grid-column:1/4;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);background:#070b12e8;backdrop-filter:blur(14px)}.brand{display:flex;gap:10px;align-items:center}.brand b{letter-spacing:.13em}.brand small{display:block;color:var(--muted);font-size:11px}.orb{width:18px;height:18px;border-radius:50%;display:inline-block;background:radial-gradient(circle at 38% 35%,#fff7c4 0,var(--gold) 16%,#2f6da5 48%,#05080d 72%);box-shadow:0 0 22px #4ea1ff66}.orb.live:after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#58e39a;transform:translate(13px,-1px);box-shadow:0 0 8px #58e39a}.orb.big{width:78px;height:78px;margin:auto;box-shadow:0 0 70px #4ea1ff55}.header-actions{display:flex;gap:10px;align-items:center}.pill{font-size:11px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.pill.ok{color:#7ce5ad;border-color:#246b4a}.ghost,.button,.send{border:1px solid var(--line);background:#111a28;color:var(--text);border-radius:9px;padding:8px 11px;cursor:pointer}.ghost:hover,.button:hover{border-color:#3c5477}.button{display:inline-block;text-decoration:none;background:linear-gradient(135deg,#1a5ea1,#1b3150);border-color:#336da6}.danger{color:#ff9aa4}.full{width:100%;margin-top:8px}aside{padding:18px;border-right:1px solid var(--line);background:#080d15;overflow:auto}aside h3{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:18px 0 8px}.status-card{display:grid;grid-template-columns:70px 1fr;gap:6px;font-size:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.status-card span{color:var(--muted)}.toggle{display:flex;gap:8px;align-items:center;padding:6px 0}.files{display:grid;gap:6px}.file{font-size:11px;padding:7px 8px;border-radius:7px;background:var(--panel2);overflow:hidden;text-overflow:ellipsis}.upload{display:block;margin-top:8px;padding:8px;border:1px dashed #38506e;border-radius:8px;text-align:center;color:var(--muted);cursor:pointer}.side-bottom{margin-top:24px}.chat{position:relative;overflow:auto;padding:0 0 100px}.hero{text-align:center;max-width:650px;margin:13vh auto 0;padding:30px}.hero h1{font-size:42px;margin:20px 0 8px}.hero p{color:var(--muted)}.principle{margin-top:22px;font-size:12px;letter-spacing:.08em;color:var(--gold)}.messages{max-width:820px;margin:0 auto;padding:26px 24px}.msg{margin:0 0 22px}.who{display:block;font-size:10px;letter-spacing:.14em;color:var(--muted);margin-bottom:6px}.bubble{white-space:pre-wrap;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.msg.user .bubble{background:#111a26}.msg.user .who{color:var(--blue)}.msg.assistant .who{color:var(--gold)}.citations{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.citations a{font-size:11px;color:#91c4ff;text-decoration:none;border:1px solid #27496d;padding:4px 7px;border-radius:999px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.typing{max-width:820px;margin:0 auto;padding:0 24px 18px;color:var(--muted)}.composer{position:fixed;bottom:18px;left:calc(250px + (100vw - 250px - 280px)/2);transform:translateX(-50%);width:min(760px,calc(100vw - 570px));display:flex;gap:9px;padding:10px;background:#0a1019e8;border:1px solid #2d4059;border-radius:16px;backdrop-filter:blur(16px);box-shadow:0 16px 60px #000}.composer textarea{flex:1;resize:none;max-height:180px;background:transparent;border:0;outline:0;color:var(--text);padding:8px}.send{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1c70c6,#a37b31);font-size:22px}.cov-panel{border-left:1px solid var(--line);background:#080d15;overflow:auto}.panel-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--line)}.cov-list{padding:10px}.cov-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px;border-bottom:1px solid #182337;font-size:11px}.cov-row b{overflow:hidden;text-overflow:ellipsis}.cov-row span{color:var(--gold)}.cov-row small{grid-column:1/3;color:var(--muted)}.install-card{width:min(560px,calc(100% - 28px));margin:10vh auto;padding:28px;border:1px solid var(--line);border-radius:18px;background:#0a1019e8;box-shadow:0 30px 100px #000}.install-card h1{margin:24px 0 8px}.install-card p{color:var(--muted)}.install-card label{display:block;margin:14px 0;color:var(--muted);font-size:12px}.install-card input{width:100%;margin-top:6px;padding:11px;background:#05080d;border:1px solid var(--line);color:var(--text);border-radius:9px}.alert{padding:10px;background:#3a1420;border:1px solid #743043;border-radius:8px}.muted{color:var(--muted)}code{color:#d7e8ff}.login{max-width:420px}
@media(max-width:1000px){.app-shell{grid-template-columns:210px 1fr;grid-template-rows:64px calc(100vh - 64px)}header{grid-column:1/3}.cov-panel{display:none}.composer{left:calc(210px + (100vw - 210px)/2);width:min(700px,calc(100vw - 250px))}}
@media(max-width:720px){.app-shell{display:block}header{height:58px;position:sticky;top:0;z-index:10}.header-actions .pill{display:none}aside{display:flex;gap:8px;align-items:center;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}aside h3,.status-card,.files,.side-bottom{display:none}.toggle,.upload{white-space:nowrap;margin:0}.chat{height:calc(100vh - 112px)}.hero{margin:6vh auto 0}.hero h1{font-size:34px}.messages{padding:16px 12px 110px}.composer{left:10px;right:10px;bottom:10px;transform:none;width:auto}.bubble{font-size:14px}}
.requirements{display:grid;gap:7px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#07101a}.req-ok{color:#6ee7c3}.req-fail{color:#ff8ca2}
