.public-ai { position: fixed; right: 22px; bottom: 24px; z-index: 90; font-family: Inter, "Segoe UI", Arial, sans-serif; }
.public-ai .sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.public-ai-toggle { display: flex; align-items: center; gap: 10px; padding: 8px 15px 8px 9px; border: 1px solid #a9c9ed; border-radius: 999px; background: #fff; color: #123a61; box-shadow: 0 12px 28px rgba(4, 50, 97, .22); font-weight: 800; cursor: pointer; }
.public-ai-orb { display: grid; width: 38px; height: 38px; place-items: center; border: 2px solid #133b82; border-radius: 15px 15px 17px 17px; background: radial-gradient(circle at 35% 26%, #70a8ff, #2f62d6 66%); box-shadow: inset 0 2px 0 rgba(255,255,255,.3); color: #a2f6ff; font: 800 12px/1 ui-monospace, monospace; }
.public-ai-panel { position: absolute; right: 0; bottom: 61px; width: min(365px, calc(100vw - 28px)); overflow: hidden; border: 1px solid #bdd8ee; border-radius: 18px; background: #fff; box-shadow: 0 22px 50px rgba(4, 43, 84, .25); }
.public-ai-head { padding: 15px 16px; background: linear-gradient(135deg, #0b529d, #1d3989); color: #fff; }.public-ai-head strong,.public-ai-head small { display:block; }.public-ai-head strong { font-size:.88rem; }.public-ai-head small { margin-top:2px; color:#d3eaff; font-size:.68rem; font-weight:650; }
.public-ai-messages { display: grid; gap: 10px; min-height: 164px; max-height: 310px; padding: 14px; overflow-y: auto; background: #f7fbff; }.public-ai-message { max-width: 86%; margin: 0; padding: 10px 12px; border-radius: 12px 12px 12px 3px; background: #e5f2ff; color: #274b6b; font-size: .8rem; font-weight: 620; line-height: 1.45; }.public-ai-message.is-user { justify-self: end; border-radius: 12px 12px 3px 12px; background: #0873bd; color: #fff; }.public-ai-message.is-loading { color: #688199; font-style: italic; }
.public-ai-form { display:flex; gap:8px; padding:10px; border-top:1px solid #dcebf5; }.public-ai-form input { min-width:0; flex:1; height:40px; padding:0 11px; border:1px solid #c8ddea; border-radius:10px; outline:0; }.public-ai-form input:focus { border-color:#197bc2; box-shadow:0 0 0 3px rgba(25,123,194,.12); }.public-ai-form button { width:40px; border:0; border-radius:10px; background:#0873bd; color:#fff; font-weight:900; cursor:pointer; }.public-ai-form button:disabled { opacity:.6; cursor:wait; }
@media (max-width: 520px) { .public-ai { right: 14px; bottom: 15px; }.public-ai-toggle > span:last-child { display:none; } }
