/* Homepage AI chat panel. Layout uses the shared Snowbench tokens from sb.css. */

.sb-ai-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--s5);background:rgba(var(--night-rgb),.52);backdrop-filter:blur(4px)}
.sb-ai-dialog{width:min(760px,calc(100vw - 32px));max-height:80vh;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--panel);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-panel);box-shadow:var(--e2)}
.sb-ai-header{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);flex:none}
.sb-ai-title{font-size:17px;line-height:1.3;font-weight:600;letter-spacing:-.01em;min-width:0}
.sb-ai-actions{display:flex;align-items:center;gap:var(--s2);margin-left:auto;flex:none}
.sb-ai-actions .btn{min-height:44px}
.sb-ai-actions .btn-icon{width:44px;height:44px;font-size:22px;line-height:1}
.sb-ai-note{padding:var(--s2) var(--s4);font-size:12px;line-height:1.5;color:var(--text-3);background:var(--sunk);border-bottom:1px solid var(--line);flex:none}
.sb-ai-messages{display:flex;flex:1;min-height:180px;flex-direction:column;gap:var(--s3);overflow-y:auto;padding:var(--s4);overscroll-behavior:contain;scroll-behavior:smooth}
.sb-ai-empty{margin:auto 0;color:var(--text-3);font-size:14px;line-height:1.6;text-align:center}
.sb-ai-message{display:flex;flex-direction:column;gap:var(--s1);max-width:88%;min-width:0}
.sb-ai-message.user{align-self:flex-end;align-items:flex-end}
.sb-ai-message.assistant{align-self:flex-start;align-items:flex-start}
.sb-ai-bubble{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-panel);font-size:14px;line-height:1.65;overflow-wrap:anywhere;min-width:0}
.sb-ai-message.user .sb-ai-bubble{background:var(--ink);border-color:var(--ink);color:#fff;border-bottom-right-radius:var(--r-tag)}
.sb-ai-message.assistant .sb-ai-bubble{background:var(--sunk);border-bottom-left-radius:var(--r-tag)}
.sb-ai-content p{margin:0 0 var(--s2)}
.sb-ai-content p:last-child{margin-bottom:0}
.sb-ai-content ul,.sb-ai-content ol{margin:0 0 var(--s2);padding-left:22px}
.sb-ai-content li+li{margin-top:var(--s1)}
.sb-ai-sources{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:var(--s1);font-size:12px;line-height:1.45}
.sb-ai-sources-title{color:var(--text-2);font-weight:600}
.sb-ai-source{display:block;color:var(--text-2);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px;overflow-wrap:anywhere}
.sb-ai-source:hover,.sb-ai-source:focus-visible{color:var(--text)}
.sb-ai-retry{margin-top:var(--s3);min-height:44px}
.sb-ai-typing{display:inline-flex;align-items:center;gap:4px;min-height:20px}
.sb-ai-typing i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55;animation:sb-ai-pulse 1.1s var(--ease) infinite}
.sb-ai-typing i:nth-child(2){animation-delay:120ms}.sb-ai-typing i:nth-child(3){animation-delay:240ms}
@keyframes sb-ai-pulse{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
.sb-ai-composer{position:sticky;bottom:0;display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4) calc(var(--s3) + var(--safe-area-bottom));border-top:1px solid var(--line);background:var(--panel);flex:none}
.sb-ai-composer .field{flex:1;min-width:0;height:44px;padding:0 12px;background:var(--panel)}
.sb-ai-composer input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:16px;line-height:1.4}
.sb-ai-composer .btn{flex:none;min-width:72px;min-height:44px;padding:0 14px}
.sb-ai-counter{display:none;flex:none;color:var(--warn);font:500 11px/1 var(--mono);white-space:nowrap}
.sb-ai-counter.on{display:block}
.sb-ai-fallback{display:inline-flex;margin-top:var(--s3);min-height:44px;align-items:center;color:var(--text-2);text-decoration:underline;text-underline-offset:3px}

@media (max-width:760px){
  .sb-ai-overlay{align-items:stretch;padding:0;background:var(--panel);backdrop-filter:none}
  .sb-ai-dialog{width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0}
  .sb-ai-header{padding-top:calc(var(--s3) + var(--safe-area-top));padding-left:calc(var(--s4) + var(--safe-area-left));padding-right:calc(var(--s3) + var(--safe-area-right));}
  .sb-ai-messages{padding-left:calc(var(--s4) + var(--safe-area-left));padding-right:calc(var(--s4) + var(--safe-area-right));}
  .sb-ai-composer{padding-left:calc(var(--s4) + var(--safe-area-left));padding-right:calc(var(--s4) + var(--safe-area-right));}
  .sb-ai-message{max-width:94%}
}
