:root{color-scheme:light dark}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;background:#1a1d24;color:#e8eef2}#app{max-width:860px;margin:0 auto;padding:24px;height:100vh;display:flex;flex-direction:column}.container{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}h1{margin:8px 0 0;font-size:20px;font-weight:600;opacity:.9}.chat{border:1px solid #2d3340;background:#232832;border-radius:12px;padding:12px;flex:1;overflow:auto;min-height:0}.row{display:flex;gap:8px}.input{flex:1;padding:12px 14px;border:1px solid #2d3340;border-radius:10px;background:#232832;color:#e8eef2;font-size:16px}.btn{padding:12px 16px;border:0;border-radius:10px;background:#45a29e;color:#0d1419;cursor:pointer;font-size:16px}.btn:hover{filter:brightness(.95)}.bubble{max-width:80%;width:fit-content;padding:10px 12px;border-radius:12px;margin:8px 0;line-height:1.35;white-space:normal}.bubble.user{background:#2d3847;margin-left:auto}.bubble.bot{background:#1e242e;border:1px solid #2d3340}.bubble.error{color:#ff6b6b}.hint{opacity:.6;font-size:12px}.bubble h1,.bubble h2,.bubble h3{margin:.3em 0}.bubble p{margin:.4em 0}.bubble ul,.bubble ol{margin:.4em 1em;padding-left:1.2em}.bubble code{background:#181c23;padding:.1em .3em;border-radius:6px}.bubble pre{background:#181c23;padding:10px;border-radius:8px;overflow:auto}.bubble pre code{background:transparent;padding:0}.reco-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:8px 0}.reco{display:block;padding:12px;border:1px solid #2d3340;border-radius:10px;background:#1e242e;color:#e8eef2;text-decoration:none}.reco-name{font-weight:600;margin-bottom:4px}.reco-fit{font-size:12px;opacity:.8;margin-bottom:6px}.reco-why{font-size:13px}.reco-price{margin-top:6px;font-weight:600}.references{margin:10px 0 0;padding:10px;border:1px solid #343a48;border-radius:8px;background:#1e242e}.references h4{margin:0 0 6px;font-size:12px;letter-spacing:.02em;text-transform:uppercase;opacity:.75}.sources{margin:0;padding-left:16px}.sources li{margin:4px 0}.sources a{color:#7db8e6;text-decoration:none}.sources a:hover{text-decoration:underline}.recommendations{margin:10px 0 0;padding:10px;border:1px solid #343a48;border-radius:8px;background:#1e242e}.recommendations h4{margin:0 0 6px;font-size:12px;letter-spacing:.02em;text-transform:uppercase;opacity:.75}.status{margin-top:8px;font-size:12px;opacity:.7}.btn:disabled{opacity:.6;cursor:not-allowed}.input:disabled{opacity:.7}
