/* Circuits DIY — search tools (voice, image, AI Mode). */
.cds-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:46px;min-width:42px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:rgb(var(--cd-muted,100 116 139));cursor:pointer;transition:background .15s,color .15s}
.cds-btn svg{width:20px;height:20px}
.cds-btn:hover{background:var(--cd-primary-soft,rgba(37,99,235,.1));color:var(--cd-primary,#2563eb)}
.cds-btn:focus-visible{outline:2px solid var(--cd-primary,#2563eb);outline-offset:2px}
.cds-btn[hidden]{display:none}
.cds-btn.is-listening{color:#fff;background:#dc2626;animation:cds-pulse 1.2s ease-in-out infinite}
@keyframes cds-pulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}50%{box-shadow:0 0 0 7px rgba(220,38,38,0)}}
.cds-btn--ai{padding:0 12px;border:1px solid var(--cd-primary,#2563eb);color:var(--cd-primary,#2563eb);font-size:.85rem;font-weight:700;background:var(--cd-primary-soft,rgba(37,99,235,.08))}
.cds-btn--ai svg{width:17px;height:17px}
.cds-btn--ai:hover{background:var(--cd-primary,#2563eb);color:#fff}
.cds-btn--sm{height:44px;min-width:38px}
@media (max-width:520px){.cds-btn{min-width:36px;padding:0 6px}.cds-btn--ai span{display:none}.cds-btn--ai{padding:0 8px}}

/* dialog */
.cds-tool-open{overflow:hidden}
.cds-tool{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}
@media (min-width:640px){.cds-tool{align-items:center;padding:24px}}
.cds-tool__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}
.cds-tool__panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:520px;max-height:92vh;border-radius:18px 18px 0 0;background:rgb(var(--cd-raised,255 255 255));color:rgb(var(--cd-ink,15 23 42));box-shadow:0 30px 60px -20px rgba(15,23,42,.5)}
@media (min-width:640px){.cds-tool__panel{border-radius:18px}}
.cds-tool__panel--ai{max-width:640px;height:min(720px,92vh)}
.cds-tool__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid rgb(var(--cd-line,226 232 240))}
.cds-tool__head h2{margin:0;font-size:1.08rem;font-weight:800}
.cds-tool__badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:.7rem;font-weight:700;vertical-align:middle;color:var(--cd-primary,#2563eb);background:var(--cd-primary-soft,rgba(37,99,235,.1))}
.cds-tool__x{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:rgb(var(--cd-muted,100 116 139));font-size:26px;line-height:1;cursor:pointer}
.cds-tool__x:hover{background:rgb(var(--cd-line,226 232 240))}
.cds-tool__body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:18px;overflow-y:auto}
.cds-tool__lead{margin:0;font-size:.95rem;line-height:1.55}
.cds-tool__note{margin:0;font-size:.8rem;color:rgb(var(--cd-muted,100 116 139))}
.cds-tool__pick{display:flex;flex-wrap:wrap;gap:10px}
.cds-tool__btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border:0;border-radius:10px;background:var(--cd-primary,#2563eb);color:#fff;font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none}
.cds-tool__btn:hover{background:var(--cd-primary-hover,#1d4ed8);color:#fff}
.cds-tool__btn--ghost{background:transparent;color:var(--cd-primary,#2563eb);border:1px solid var(--cd-primary,#2563eb)}
.cds-tool__btn--ghost:hover{background:var(--cd-primary-soft,rgba(37,99,235,.1));color:var(--cd-primary,#2563eb)}
.cds-tool__work{display:grid;gap:10px}
.cds-tool__preview{max-height:220px;width:100%;object-fit:contain;border-radius:12px;background:rgb(var(--cd-line,226 232 240))}
.cds-tool__status{margin:0;font-size:.9rem}
.cds-tool__bar{height:6px;border-radius:999px;background:rgb(var(--cd-line,226 232 240));overflow:hidden}
.cds-tool__bar i{display:block;height:100%;width:5%;background:var(--cd-primary,#2563eb);transition:width .3s}
.cds-tool__result{display:grid;gap:10px}
.cds-tool__go{display:flex;gap:8px}
.cds-input{flex:1;min-width:0;height:44px;padding:10px 12px;border:1px solid rgb(var(--cd-line-2,203 213 225));border-radius:10px;background:rgb(var(--cd-raised,255 255 255));color:rgb(var(--cd-ink,15 23 42));font:inherit;font-size:1rem}
.cds-input:focus{outline:none;border-color:var(--cd-primary,#2563eb);box-shadow:0 0 0 3px var(--cd-primary-soft,rgba(37,99,235,.15))}
.cds-tool__chips{display:flex;flex-wrap:wrap;gap:6px}
.cds-chip{padding:4px 10px;border:1px solid rgb(var(--cd-line-2,203 213 225));border-radius:999px;font-size:.82rem;font-weight:600;text-decoration:none;color:rgb(var(--cd-ink,15 23 42))}
.cds-chip:hover{border-color:var(--cd-primary,#2563eb);color:var(--cd-primary,#2563eb)}
.cds-tool__link{justify-self:start;padding:0;border:0;background:none;color:var(--cd-primary,#2563eb);font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none}

/* AI Mode */
.cds-ai__log{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:2px}
.cds-ai__msg{max-width:92%;padding:10px 13px;border-radius:14px;font-size:.93rem;line-height:1.55}
.cds-ai__msg p{margin:0 0 6px}.cds-ai__msg p:last-child{margin-bottom:0}
.cds-ai__msg ul{margin:4px 0 6px;padding-left:18px}
.cds-ai__msg--bot{align-self:flex-start;background:rgb(var(--cd-line,241 245 249) / .6)}
.cds-ai__msg--me{align-self:flex-end;background:var(--cd-primary,#2563eb);color:#fff}
.cds-ai__cite{font-weight:700;font-size:.8em;text-decoration:none;color:var(--cd-primary,#2563eb)}
.cds-ai__notice{font-size:.85rem;color:rgb(var(--cd-muted,100 116 139))}
.cds-ai__sources{display:grid;gap:6px;margin-top:8px}
.cds-ai__label{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--cd-muted,100 116 139))}
.cds-ai__src{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid rgb(var(--cd-line,226 232 240));border-radius:10px;background:rgb(var(--cd-raised,255 255 255));text-decoration:none;color:rgb(var(--cd-ink,15 23 42))}
.cds-ai__src:hover{border-color:var(--cd-primary,#2563eb)}
.cds-ai__src strong{display:block;font-size:.88rem}
.cds-ai__src small{display:block;margin-top:2px;font-size:.78rem;color:rgb(var(--cd-muted,100 116 139))}
.cds-ai__n{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;font-size:.75rem;font-weight:800;color:var(--cd-primary,#2563eb);background:var(--cd-primary-soft,rgba(37,99,235,.1))}
.cds-ai__form{display:flex;gap:8px;align-items:flex-end}
.cds-ai__form textarea{resize:none;height:auto;min-height:44px;max-height:140px}
.cds-ai__typing{display:flex;gap:4px;padding:4px 0}
.cds-ai__typing i{width:7px;height:7px;border-radius:50%;background:rgb(var(--cd-muted,100 116 139));animation:cds-dot 1s infinite ease-in-out}
.cds-ai__typing i:nth-child(2){animation-delay:.15s}.cds-ai__typing i:nth-child(3){animation-delay:.3s}
@keyframes cds-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.cds-btn.is-listening,.cds-ai__typing i{animation:none}}
