*{box-sizing:border-box} :root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f5f7fb}body{margin:0;min-height:100vh}button,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{background:#111c3b;color:white;padding:28px 22px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;margin-bottom:54px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#8b7cff,#5b5ce2);display:grid;place-items:center;font-size:23px;font-weight:800}.brand strong{display:block;font-size:18px}.brand small{display:block;color:#aeb9d6;font-size:11px;margin-top:3px}.side-label,.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.4px;color:#9aa8ca}.side-card{display:flex;gap:10px;margin-top:14px;padding:14px 12px;border:1px solid #354267;background:#1a284d;border-radius:12px}.status-dot,.pulse{width:8px;height:8px;border-radius:50%;background:#38d39f;display:inline-block;flex:none;margin-top:5px}.side-card strong{font-size:12px;display:block}.side-card small{font-size:11px;color:#aeb9d6;display:block;margin-top:5px}.side-note{margin-top:26px;padding:15px;border-radius:12px;background:#1a284d;color:#c5cde1;font-size:12px;line-height:1.6}.side-note span{color:#a99cff;font-size:18px}.side-note p{margin:8px 0 0}.sidebar-footer{margin-top:auto;color:#8391b4;font-size:11px;padding-top:30px}.main{max-width:1100px;width:100%;margin:auto;padding:38px 46px 22px;display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}h1{font-size:26px;letter-spacing:-.8px;margin:7px 0 0}.top-pill{border:1px solid #dce2ee;border-radius:30px;padding:9px 13px;font-size:12px;color:#4c5872;background:white;display:flex;align-items:center;gap:9px}.welcome{text-align:center;max-width:650px;margin:38px auto 26px}.welcome-icon{margin:auto;width:54px;height:54px;border-radius:17px;background:#eeecff;color:#6959e8;display:grid;place-items:center;font-size:26px}.welcome h2{font-size:25px;margin:18px 0 8px}.welcome>p{color:#68748b;font-size:14px;line-height:1.65;margin:0 auto;max-width:530px}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;text-align:left}.suggestion{background:white;border:1px solid #e1e6ef;border-radius:11px;padding:13px 14px;color:#34415a;font-size:12px;text-align:left;cursor:pointer}.suggestion:hover{border-color:#a9a0ff;box-shadow:0 5px 18px #26345a0d}.chat-panel{margin-top:auto;border:1px solid #e0e5ef;background:white;border-radius:17px;padding:16px;box-shadow:0 12px 35px #25365b08}.messages{max-height:38vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:2px 2px 12px}.message{max-width:82%;padding:12px 15px;border-radius:14px;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{align-self:flex-end;background:#6259dc;color:white;border-bottom-right-radius:5px}.message.assistant{align-self:flex-start;background:#f1f3f8;color:#29354c;border-bottom-left-radius:5px}.message.error{background:#fff1f0;color:#9b3029}.composer{position:relative;border:1px solid #dce2ec;border-radius:13px;padding:10px 10px 30px;display:flex;align-items:flex-end;gap:10px}.composer:focus-within{border-color:#8c83ef;box-shadow:0 0 0 3px #8175ec18}textarea{resize:none;border:0;outline:0;flex:1;min-height:42px;max-height:130px;padding:10px 7px;color:#25314a;font-size:13px;background:transparent}textarea::placeholder{color:#9aa4b7}.send-button{border:0;border-radius:10px;background:#6259dc;color:white;padding:10px 13px;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:12px;font-weight:700}.send-button:disabled{opacity:.55;cursor:not-allowed}.composer-hint{position:absolute;bottom:8px;left:17px;color:#9aa4b7;font-size:10px}.disclaimer{text-align:center;color:#929caf;font-size:10px;line-height:1.5;margin:14px auto 0;max-width:720px}.typing{display:flex;gap:4px;padding:4px 0}.typing i{width:6px;height:6px;background:#9ca6ba;border-radius:50%;animation:bounce 1s infinite alternate}@keyframes bounce{to{transform:translateY(-4px);opacity:.45}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;padding:15px 18px}.brand{margin:0}.side-label,.side-card,.side-note,.sidebar-footer{display:none}.main{padding:25px 16px 18px;min-height:calc(100vh - 72px)}.topbar{margin-bottom:15px}h1{font-size:22px}.welcome{margin:22px auto 18px}.welcome h2{font-size:22px}.suggestions{grid-template-columns:1fr}.messages{max-height:32vh}.message{max-width:94%}}