@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#090b10;--panel:#0e1118;--line:#202530;--muted:#8992a3;--text:#f2f4f8;--accent:#c9d2e4}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}.app{display:flex;min-height:100vh}.sidebar{width:258px;background:#0b0e14;border-right:1px solid var(--line);padding:25px 17px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 30px}.brand-mark{width:38px;height:38px;border:1px solid #596477;border-radius:12px;display:grid;place-items:center;font:800 21px Manrope;background:linear-gradient(145deg,#222b3a,#10141d)}.brand strong{display:block;letter-spacing:3px;font:800 14px Manrope}.brand small,.profile small{display:block;color:#758093;font-size:9px;letter-spacing:1.7px;margin-top:4px}.new-chat{width:100%;border:1px solid #303846;background:#151b25;color:#e9edf5;border-radius:10px;padding:12px;text-align:left;font:600 13px 'DM Sans';cursor:pointer}.new-chat:hover,.suggestions button:hover{border-color:#65748d;background:#1a2230}.side-label{font-size:9px;letter-spacing:2px;color:#697386;margin:29px 9px 12px}.chat-list{overflow:auto;flex:1}.chat-item{display:flex;align-items:center;gap:7px;padding:10px;border-radius:8px;color:#aeb6c4;font-size:12px;cursor:pointer}.chat-item.active,.chat-item:hover{background:#171d27;color:white}.chat-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chat-item button{border:0;background:none;color:#7e8798;cursor:pointer}.side-bottom{margin-top:18px}.status{display:flex;align-items:center;gap:8px;color:#8791a1;font-size:10px;padding:12px 8px;border-bottom:1px solid var(--line)}.status i{width:7px;height:7px;border-radius:50%;background:#d5a95e}.status i.online{background:#69c69b;box-shadow:0 0 9px #69c69b66}.profile{display:flex;align-items:center;gap:10px;padding:17px 6px 0}.avatar{width:31px;height:31px;border-radius:10px;background:#222b3a;display:grid;place-items:center;font-weight:800}.profile b{font-size:11px}.profile small{letter-spacing:0;font-size:9px}.profile button{margin-left:auto;background:none;border:0;color:#aab2c0;font-size:20px;cursor:pointer}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 36px;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:2px;color:#8792a4}.top-title{font:800 15px Manrope;letter-spacing:2px;margin-top:3px}.top-title span{font-size:10px;color:#8e9bb0;letter-spacing:1px}.top-right{display:flex;align-items:center;gap:17px}.private-pill{font-size:9px;letter-spacing:1.2px;color:#9ba8bc;border:1px solid #303948;padding:7px 10px;border-radius:20px}.icon-btn{border:1px solid #2a3240;background:#111722;color:#c7cfdd;border-radius:9px;width:35px;height:35px;cursor:pointer}.conversation{flex:1;overflow:auto;padding:45px 22px 20px}.welcome{max-width:680px;margin:3vh auto 0;text-align:center}.orb{width:76px;height:76px;margin:0 auto 25px;border-radius:24px;background:radial-gradient(circle at 35% 25%,#39485f,#111722 70%);border:1px solid #39475b;box-shadow:0 0 65px #5d71901c;display:grid;place-items:center}.orb div{font:800 35px Manrope;color:#dce4f2;text-shadow:0 0 22px #a6b8d5}.welcome-kicker{font-size:9px;letter-spacing:3px;color:#8492a8}.welcome h1{font:700 clamp(30px,5vw,48px) Manrope;letter-spacing:-1.8px;margin:13px 0}.welcome h1 em{font-style:normal;color:#9eacc2}.welcome p{max-width:440px;margin:0 auto;color:#8e98a9;font-size:13px;line-height:1.7}.suggestions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:31px}.suggestions button{display:flex;gap:9px;align-items:center;border:1px solid #283140;background:#10151e;color:#c6cfdd;padding:11px 14px;border-radius:9px;font-size:11px;cursor:pointer}.suggestions button:first-letter{color:#aabbd5}.messages{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.message{display:flex;gap:12px;align-items:flex-start;max-width:100%}.message.user{justify-content:flex-end}.message .bubble{max-width:min(78%,680px);padding:13px 16px;border-radius:14px;background:#141a24;border:1px solid #252e3c;color:#e5eaf2;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.message.user .bubble{background:#202a39;border-color:#354256}.message .mini-avatar{flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:#222d3d;display:grid;place-items:center;font:700 12px Manrope;color:#dce5f5}.composer{width:min(780px,calc(100% - 44px));margin:0 auto;padding:12px 0 17px}.composer-box{border:1px solid #303948;background:#111720;border-radius:14px;padding:12px 13px 9px;box-shadow:0 10px 40px #0003}.composer textarea{width:100%;resize:none;border:0;outline:0;background:transparent;color:#f3f5f8;font:13px 'DM Sans';min-height:30px;max-height:150px}.composer textarea::placeholder{color:#778294}.composer-bottom{display:flex;justify-content:space-between;align-items:center;color:#6f7a8b;font-size:9px}.composer-bottom button{width:31px;height:31px;border:0;border-radius:9px;background:#dce4f0;color:#111722;font-size:20px;cursor:pointer;font-weight:700}.composer-bottom button:disabled{opacity:.45;cursor:wait}.disclaimer{text-align:center;color:#657082;font-size:9px;margin-top:10px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font:700 23px Manrope;margin:5px 0 18px}dialog{width:min(440px,calc(100% - 30px));background:#10151e;color:#eef2f8;border:1px solid #303a49;border-radius:17px;padding:24px;box-shadow:0 25px 90px #0009}dialog::backdrop{background:#000a}.setting-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #27303d;padding:16px 0}.setting-row b{font-size:13px}.setting-row p,.settings-note{font-size:11px;color:#8792a3;line-height:1.6}.tag{font-size:8px;letter-spacing:1px;color:#aab7cb;border:1px solid #394658;border-radius:15px;padding:5px 7px}.primary-btn{width:100%;padding:11px;background:#dce4f0;border:0;border-radius:9px;font-weight:700;cursor:pointer}.mobile-only{display:none}
@media(max-width:760px){.sidebar{position:fixed;z-index:5;inset:0 auto 0 0;transform:translateX(-100%);transition:.2s;width:270px;box-shadow:15px 0 45px #0008}.sidebar.open{transform:translateX(0)}.topbar{padding:0 17px;height:68px}.mobile-only{display:block;margin-right:12px}.topbar>div:first-of-type{margin-right:auto}.private-pill{display:none}.conversation{padding:35px 15px 15px}.welcome{margin-top:5vh}.suggestions{flex-direction:column;max-width:300px;margin:25px auto}.suggestions button{justify-content:center}.composer{width:calc(100% - 28px)}.message .bubble{max-width:88%}}
.composer-actions{display:flex;gap:8px;align-items:center}
.composer-bottom .voice-btn{width:auto;padding:0 12px;background:#1a2230;color:#dce4f0;font-size:12px;border:1px solid #303948}
.composer-bottom .voice-btn.on{background:#c9302c;border-color:#c9302c;animation:voicePulse 1.4s infinite}
.composer-bottom .voice-btn.speaking{background:#2f6fd6;border-color:#2f6fd6}
@keyframes voicePulse{0%{box-shadow:0 0 0 0 #c9302c99}70%{box-shadow:0 0 0 10px #c9302c00}100%{box-shadow:0 0 0 0 #c9302c00}}
/* Chat drží na místě (přání Tomíka 31. 10.): stránka se nehýbe, posouvá se jen konverzace, psací pole zůstává dole. */
.app{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.main{height:100%;min-height:0}
.conversation{min-height:0;overscroll-behavior:contain}
html,body{height:100%;overflow:hidden}
