.asw-panel{flex-direction:column;width:380px;height:min(560px,100vh - 110px);display:flex}.asw-head-actions{align-items:center;gap:var(--gap-sm);display:flex}.asw-link{min-height:28px;padding:0 var(--gap-md);border-radius:var(--r-input);color:var(--fbw-ink-soft);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer;transition:color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);background:0 0;border:0}.asw-link:hover:not(:disabled){color:var(--fbw-ink);background:var(--fbw-surface)}.asw-link:disabled{opacity:.5;cursor:not-allowed}.asw-log{min-height:0;padding:var(--gap-lg);gap:var(--gap-lg);overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.asw-empty p{margin:0 0 var(--gap-lg);color:var(--fbw-ink-soft);font-size:var(--fs-lg);line-height:1.55}.asw-suggest{align-items:flex-start;gap:var(--gap-sm);flex-direction:column;display:flex}.asw-suggest button{min-height:32px;padding:var(--gap-sm) var(--gap-lg);border:1px solid var(--fbw-line);border-radius:var(--r-btn);background:var(--fbw-surface);color:var(--fbw-ink);font:inherit;font-size:var(--fs-lg);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.asw-suggest button:hover:not(:disabled){border-color:var(--fbw-accent)}.asw-msg{font-size:var(--fs-lg);color:var(--fbw-ink);overflow-wrap:anywhere;line-height:1.55}.asw-user{max-width:85%;padding:var(--gap-md) var(--gap-lg);border-radius:var(--r-btn) var(--r-btn) var(--r-input) var(--r-btn);background:var(--fbw-surface);white-space:pre-wrap;align-self:flex-end}.asw-shot-inline{margin-top:var(--gap-sm);border-radius:var(--r-input);border:1px solid var(--fbw-line);max-width:100%;max-height:90px;display:block}.asw-bot p,.asw-bot ul,.asw-bot ol{margin:0 0 var(--gap-md)}.asw-bot ul,.asw-bot ol{padding-left:var(--gap-xl)}.asw-bot li+li{margin-top:var(--gap-xs)}.asw-bot .asw-h{font-weight:var(--fw-semibold)}.asw-bot code{padding:1px var(--gap-xs);border-radius:var(--r-input);background:var(--fbw-surface);font-size:var(--fs-md)}.asw-thinking{color:var(--fbw-ink-faint)}.asw-error{color:var(--bad);font-size:var(--fs-lg);margin:0}.asw-note{color:var(--fbw-ink-soft);font-size:var(--fs-md);margin:0}.asw-rate{align-items:center;gap:var(--gap-2xs);min-height:28px;display:flex}.asw-rate button{border-radius:var(--r-input);cursor:pointer;width:28px;height:28px;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;place-items:center;display:inline-grid}.asw-rate button:hover{background:var(--fbw-surface)}.asw-rate svg{width:14px;height:14px;stroke:var(--fbw-ink-soft)}.asw-compose{padding:var(--gap-md) var(--gap-lg) var(--gap-md);border-top:1px solid var(--fbw-line);gap:var(--gap-md);flex-direction:column;flex:none;display:flex}.asw-row{align-items:flex-end;gap:var(--gap-md);display:flex}.fbw-textarea.asw-input{resize:none;flex:auto;min-height:40px;max-height:120px}.asw-row-actions .fbw-send{white-space:nowrap}.asw-row-actions{align-items:center;gap:var(--gap-sm);display:flex}.asw-icon{border:1px solid var(--fbw-line);border-radius:var(--r-btn);background:var(--fbw-surface);cursor:pointer;width:34px;height:34px;transition:border-color var(--dur-fast) var(--ease);place-items:center;display:inline-grid}.asw-icon:hover:not(:disabled){border-color:var(--fbw-accent)}.asw-icon:disabled{opacity:.5;cursor:not-allowed}.asw-icon svg{width:15px;height:15px;stroke:var(--fbw-ink-soft)}.asw-disclaimer{color:var(--fbw-ink-faint);font-size:var(--fs-sm);margin:0}.asw button:focus-visible{outline:2px solid var(--fbw-accent);outline-offset:2px}.asw textarea:focus-visible{outline:none}:root:has(.cad-hud) .asw:has(.asw-panel){z-index:var(--z-float)}.asw-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.asw-spot{z-index:var(--z-float);pointer-events:none;border:2px solid var(--accent);border-radius:var(--r-btn);animation:1.2s ease-in-out infinite asw-breathe;position:fixed}.asw-spot-ok{z-index:var(--z-float);min-height:30px;padding:0 var(--gap-lg);border-radius:var(--r-btn);background:var(--accent);color:var(--accent-ink);font:600 13px/30px var(--font);cursor:pointer;box-shadow:var(--shadow-overlay);border:0;position:fixed}.asw-spot-ok:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes asw-breathe{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.asw-spot{animation:none}}@media (max-width:480px){.asw-panel{width:calc(100vw - 24px);height:calc(100vh - 90px)}}
