JFIF $ d d 7 * Z qn )ZP 0 !1 A "#a$2Qr D8 a Ri [f \m I ykI w0 c u F c Rı?lO7 к _f˓ [C $殷WF< _W ԣ s Kc ëI zyQy /_LK ℂ ;C",p F A : /] =H ~ , l s / 9 ć: [=/#f ; ) x { ٛE Q )~ = 𘙲r*2~ a _V = ' ku m F D } KYYC )( { * g& f `툪 r y ` = ^ c J. I ]( * `wq 1dđ #̩ ͑ 0 ; H ] u 搂 @:~ ו K L N s h } O I R* 8 :2 ! lD JV o ( 3 = M ( z Ȱ+i *N A r6K n S l ) ! J J Ӂ* % ݉?|D } d5: eP0 R; {$X' x F @ .ÊB {,WJ uQ ɲRI ;9 Q E琯 6 2fT .DU J ;*c P A\IL Nj! J ۱+ O\ ͔ ] ޒ S J ȧ c%A N ol ՎprU L Zԛe r E2= X D Xg VQeӓ k y P7 U* o m Q I s ,K `) 6\G3t?pgjr m ۛجw luGt f h 9uyP 0D;Uڽ"OXl i f $ ) &|ML 0 Z rm1 [ H XP l P R0 'G=i 2N +0 e 2 ]] 9 VT P O 7 h(F * 癈 ' = Q VZD F,d ߬ ~ T X G[ `le 69C R(!S2! P < 0 x < !1AQ "Raq 02Br #S CTb ? Ζ "]mH5WR 7 k.ۛ ! } Q~ + yԏ z |@ T20 S~ K e k *zF f^2X *( @ 8 r ? C I uI|֓>^Ex LgNU Y+{.R Ѫ τV YT D I 6 2 '8Y2 7'\T P.6 d &˦ @V q i |8 -O Ε ] ʔ U= T L 8= ;6c | !qfF3 a ů& ~$ l} 'NW U s$U k^S V : U#6w + +s &r+n ڐ { @ 29gL u " T Ù M=6 (^ "7 r}=6Yݾ lC u hquymp Ǧ G jhs ǜNl ɻ} o 7 #S6 a w 4 ! OS r D 5 7 % | ?x> L | / nD 6?/8 w # [ ) L 7 +6〼T A T g ! %5 Mm Z /c -{1_Je "| ^$ 'O & ޱմ < H vNqϡQ$ < 6 &Nݛ ֨tǻN (9 n ru~'όN sMG& ,uH Kw *Ī 5@ u6 BԒ i YN * f 0 _ GhKW u lT <nj- 0{ M L~ | /a v\ E = ?1 \ɟuq Ђ Y O a K ޡP q $ H8o Q˼EV ~ k 0 h' L Pp M -M" m^ !6l nմ 쮝C U T . ! :vMǨb h ډ Vc r @~p # !1QAa q ? AL0L x LU 4 d ; x " 16ad0 7.\ߋ 0 = P l v/ " c A Ay A|2pO8"d MV #1] = \ " ˡ ] k v I9 d ۓ & q ) ǐq E ꞅ v "P )q X &Q З non]я u ג./ ; gZ$ M QР 2M ]h ni 0 P $ێ 3CɏGjώy : m c # S_ l@ '_ \m|C 2`K _ 1 cIvGc $? PCQ S+D ? K aײ k Fr b 8 ύ NEدg ĝ U 3 6 #Ik+ v { v i ( ވ ? a e) X xy/*@Q Ǽ Ծ ) $ IWO l c G; !i k{ gOŀ L ('x T rb $ w) R $ & N1E td U3Uȉ1p M"N* (DNy d96.(jQ) X 5 c QɎMy W ? Q *!R > 6=7)Xj 5`J ] e 8%t ! + ' ! 1Q 5 !1 AQaq ё #2 "0BRb ? G t^ ## .l lQ T $ v , ,m 㵜5u bV =sY+ @d { N ! dn O < .- B; _w J t 6;Q Jd. Q c%p{ 1 ,sND dF H I0 Гo X ш e黅X ۢ F :)[ F G X ƹ / w _c MeD ,ʡc c . W D tA $ j@ : ) - #u c1< @ۗ9F ) KJ- hpP] _ x [ q B lb p ʖ w q " LFGd ƶ * s +ډ_Zc " ? % t[I P 6 J ]# =ɺ V v v CGs Gh1 > )6 |e y ? L ӣ m,4 G W Ui ` ] uJVo VDG< SB 6ϏQ @ TiU l y O U 0 kfV ~ ~}S Z @ *WU Ui ## ; s /[ = ! 7}" W N ] ' (L ! ~ y5 g9T̅J kbM' +s :S +B) v @ M j e C f j E 0 Y\Qn z G 1 д~ W o{T 9?` Rm yhsy3 !HAD ] m c1 ~ 2 L S u7x T ;j$ `} 4-> L# vzŏ I L S ֭ T { r jGK C ; b pU= - ` Bs K. S F w4 M q] Z dH S 0 ) tLg
.ai-agent-layout {
display: grid;
gap: var(--cs-sidebar-gap);
grid-template-columns: minmax(0, 1fr) var(--cs-sidebar-width);
grid-template-areas: 'main sidebar';
align-items: start;
@media screen and (width <= 782px) {
grid-template-columns: minmax(0, 1fr);
grid-template-areas: 'main' 'sidebar';
}
}
.ai-agent-layout__main {
grid-area: main;
display: flex;
flex-direction: column;
gap: 20px;
min-inline-size: 0;
min-block-size: 600px;
padding: 20px;
background: var(--cs-color-surface-subtle);
border: 1px solid var(--cs-color-border-subtle);
border-radius: var(--cs-card-radius);
}
.ai-agent-loading {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding-block: 48px;
color: var(--cs-color-text-secondary);
}
.ai-agent-layout__sidebar {
grid-area: sidebar;
}
/* History rail */
.ai-agent-history {
display: flex;
flex-direction: column;
gap: 8px;
min-block-size: 0;
position: relative;
}
.ai-agent-history--loading {
flex-direction: row;
align-items: center;
gap: 6px;
color: var(--cs-color-text-secondary);
font-size: 13px;
}
.ai-agent-history__empty {
color: var(--cs-color-text-subtle);
font-style: italic;
}
.ai-agent-history__list {
margin: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 6px;
flex: 1 1 auto;
min-block-size: 0;
overflow-y: auto;
padding-block-end: 24px;
scrollbar-width: thin;
}
.ai-agent-history__item {
display: flex;
align-items: stretch;
border: 1px solid var(--cs-color-border-subtle);
border-radius: 5px;
background: var(--cs-color-surface);
margin: 0;
&.is-active {
border-color: var(--cs-color-accent);
box-shadow: inset 3px 0 0 var(--cs-color-accent);
}
}
.ai-agent-history__open {
flex: 1 1 0;
min-inline-size: 0;
display: flex;
flex-direction: column;
gap: 6px;
align-items: flex-start;
padding-block: 8px;
padding-inline: 12px;
background: none;
border: 0;
cursor: pointer;
text-align: start;
}
.ai-agent-history__title {
display: block;
inline-size: 100%;
font-weight: 600;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ai-agent-history__status {
display: inline-block;
padding: 0 8px;
border-radius: 999px;
font-size: 11px;
font-weight: 600;
line-height: 18px;
background: var(--cs-color-surface-muted);
color: var(--cs-color-text-secondary);
&.is-plan {
background: #e5f0fb;
color: var(--cs-color-accent);
}
&.is-done {
background: #edfaef;
color: #007017;
}
&.is-failed {
background: #fcf0f1;
color: #b32d2e;
}
}
.ai-agent-history__delete {
flex: 0 0 auto;
border: 0;
background: none;
cursor: pointer;
color: var(--cs-color-text-subtle);
font-size: 18px;
padding-inline: 10px;
opacity: 0;
pointer-events: none;
transition: opacity 120ms ease, color 120ms ease;
&:focus-visible,
&:hover {
color: var(--cs-color-error);
}
.ai-agent-history__item:hover &,
.ai-agent-history__item:focus-within & {
opacity: 1;
pointer-events: auto;
}
}
.ai-agent-history__delete-icon {
block-size: 18px;
inline-size: 18px;
display: block;
}
.ai-agent-history::after {
content: '';
position: absolute;
inset-inline: 0;
inset-block-end: 0;
block-size: 48px;
pointer-events: none;
background: linear-gradient(to bottom, rgb(255 255 255 / 0%), #fff 85%);
}
/* Conversation thread */
.ai-agent-thread {
display: flex;
flex-direction: column;
gap: 20px;
}
.ai-agent-message {
padding-block: 10px;
padding-inline: 14px;
border-radius: var(--cs-card-radius);
max-inline-size: 90%;
&.is-user {
align-self: flex-end;
background: color-mix(in srgb, var(--cs-color-surface-subtle) 97%, #000 3%);
}
&.is-assistant {
align-self: flex-start;
background: var(--cs-color-surface);
}
}
.ai-agent-message__role {
display: block;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
color: var(--cs-color-text-subtle);
margin-block-end: 4px;
}
.ai-agent-message__content {
white-space: pre-wrap;
}
.ai-agent-typing {
display: flex;
align-items: center;
gap: 8px;
color: var(--cs-color-text-secondary);
animation: ai-agent-fade-in 0.25s ease;
}
.ai-agent-plan,
.ai-agent-result {
animation: ai-agent-fade-in 0.25s ease;
border-radius: var(--cs-card-radius);
background: var(--cs-color-surface);
padding: 16px;
}
@keyframes ai-agent-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.ai-agent-typing__dots {
display: inline-flex;
gap: 4px;
i {
inline-size: 6px;
block-size: 6px;
border-radius: 50%;
background: var(--cs-color-accent);
animation: ai-agent-blink 1.4s infinite both;
&:nth-child(2) {
animation-delay: 0.2s;
}
&:nth-child(3) {
animation-delay: 0.4s;
}
}
}
@keyframes ai-agent-blink {
0%,
80%,
100% {
opacity: 0.2;
}
40% {
opacity: 1;
}
}
/* Plan card */
.ai-agent-plan__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-block-end: 12px;
}
.ai-agent-plan__title {
margin: 0;
font-size: 15px;
}
.ai-agent-plan__badge {
font-size: 11px;
font-weight: 600;
padding-block: 2px;
padding-inline: 8px;
border-radius: 999px;
background: var(--cs-color-surface-muted);
color: var(--cs-color-text-secondary);
white-space: nowrap;
&.is-bundle {
background: #e5f0fb;
color: var(--cs-color-accent);
}
&.is-done {
background: #edfaef;
color: #007017;
}
}
.ai-agent-plan__overview {
margin-block: 0 16px;
color: var(--cs-color-text);
line-height: 1.6;
white-space: pre-wrap;
}
.ai-agent-plan__parts-heading {
margin-block: 0 8px;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.02em;
color: var(--cs-color-text-secondary);
}
.ai-agent-plan__parts {
margin: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 8px;
}
.ai-agent-plan__part {
display: grid;
grid-template-columns: auto 1fr;
gap: 4px 10px;
align-items: center;
padding: 10px 12px;
margin: 0;
background: var(--cs-color-surface-subtle);
border: 0;
border-radius: var(--cs-control-radius);
.badge {
align-self: start;
}
}
.ai-agent-plan__part-name {
font-weight: 600;
}
.ai-agent-plan__part-desc {
grid-column: 2;
margin: 0;
color: var(--cs-color-text-muted);
font-size: 13px;
line-height: 1.5;
}
.ai-agent-plan__actions {
display: flex;
gap: 8px;
margin-block-start: 16px;
}
/* Result card */
.ai-agent-result__lead {
color: var(--cs-color-text-secondary);
margin-block: 0 12px;
}
.ai-agent-result__rows {
margin: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 8px;
}
.ai-agent-result__row {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 12px;
margin: 0;
background: var(--cs-color-surface-subtle);
border-radius: var(--cs-control-radius);
}
.ai-agent-result__name {
font-weight: 600;
flex: 1;
}
.ai-agent-result__status.is-error {
color: var(--cs-color-error);
font-size: 12px;
}
.ai-agent-result__status.is-deleted {
color: var(--cs-color-error);
font-weight: 600;
text-decoration: underline;
text-decoration-color: var(--cs-color-error);
}
.ai-agent-result__status.is-checking {
display: inline-flex;
align-items: center;
gap: 4px;
color: var(--cs-color-text-subtle);
font-size: 12px;
}
.ai-agent-result__link {
white-space: nowrap;
}
.ai-agent-result__edit {
margin-block-start: 16px;
padding-block-start: 16px;
border-block-start: 1px solid var(--cs-color-surface-muted);
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.ai-agent-result__edit-head {
inline-size: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
font-size: 13px;
color: var(--cs-color-text-secondary);
}
.ai-agent-result__edit-actions {
display: flex;
align-items: center;
gap: 16px;
}
/* Borderless treatment for the inline preview / make-changes / select buttons. */
.ai-agent-result .button-link {
border: 0;
box-shadow: none;
padding-inline: 2px;
}
/* Use plugin accent colour for preview/edit links. */
.wp-core-ui .ai-agent-result .ai-agent-result__row .button-link,
.ai-agent-result .ai-agent-result__link {
color: var(--cs-color-accent);
&:hover {
color: var(--cs-color-accent-hover);
}
}
/* Error panel */
// The agent asking to widen the context. Deliberately not styled as an error:
// nothing has gone wrong, and the user is being asked to consent.
.ai-agent-context-request {
border: 1px solid #c3d9ed;
border-radius: var(--cs-card-radius);
padding: 16px;
background: var(--cs-color-surface-info);
.ai-agent-context-request__detail {
margin-block: 0 12px;
font-size: 13px;
color: var(--cs-color-text-secondary);
}
.ai-agent-context-request__actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
}
// Shown in place of the typing indicator once the user stops waiting on a
// generation the cloud may still be running.
.ai-agent-stopped {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
border: 1px solid var(--cs-color-border-subtle);
border-radius: var(--cs-card-radius);
padding: 12px 16px;
background: var(--cs-color-surface-subtle);
p {
margin: 0;
font-size: 13px;
color: var(--cs-color-text-secondary);
}
}
.ai-agent-error {
border: 1px solid #f0c33c;
border-radius: var(--cs-card-radius);
padding: 16px;
background: #fcf9e8;
p {
margin-block: 0 12px;
}
}
/* Prompt box */
.ai-agent-prompt {
border: 1px solid var(--cs-color-border-subtle);
border-radius: var(--cs-card-radius);
background: var(--cs-color-surface);
padding: 8px;
&:focus-within {
border-color: var(--cs-color-accent);
box-shadow: 0 0 0 1px var(--cs-color-accent);
}
}
.ai-agent-prompt__input {
box-sizing: border-box;
inline-size: 100%;
max-inline-size: 100%;
border: 0;
resize: vertical;
min-block-size: 90px;
font-size: 14px;
padding: 6px;
background: var(--cs-color-surface);
color: var(--cs-color-text);
&:focus {
outline: none;
box-shadow: none;
}
&:disabled {
background: var(--cs-color-surface);
color: var(--cs-color-text);
opacity: 1;
}
}
.ai-agent-prompt__footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-block-start: 6px;
}
.ai-agent-prompt__hint {
font-size: 12px;
color: var(--cs-color-text-muted);
}
.ai-agent-result__edit .ai-agent-prompt {
inline-size: 100%;
}
/* Push the composer to the bottom of the main column. */
.ai-agent-layout__main > .ai-agent-prompt {
margin-block-start: auto;
}
/* Empty state — starter prompts in the blank area. */
.ai-agent-empty {
flex: 1 1 auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
text-align: center;
padding: 24px;
}
.ai-agent-empty__eyebrow {
margin: 0;
font-size: 11px;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--cs-color-text-muted);
}
.ai-agent-empty__chips {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
max-inline-size: 560px;
}
.ai-agent-empty__chip {
padding: 8px 16px;
border: 1px solid var(--cs-color-border-subtle);
border-radius: 999px;
background: var(--cs-color-surface);
color: var(--cs-color-text);
font-size: 14px;
line-height: 1.5;
cursor: pointer;
&:hover {
border-color: var(--cs-color-accent);
color: var(--cs-color-accent);
}
}
/* Sidebar */
.ai-agent-sidebar {
border: 1px solid var(--cs-color-border-subtle);
border-radius: var(--cs-card-radius);
background: var(--cs-color-surface);
overflow: hidden;
display: flex;
flex-direction: column;
max-block-size: 634px;
}
.ai-agent-sidebar__tabs {
display: flex;
border-block-end: 1px solid var(--cs-color-border-subtle);
}
.ai-agent-sidebar__tab {
flex: 1;
padding-block: 12px;
padding-inline: 8px;
border: 0;
background: var(--cs-color-surface-subtle);
cursor: pointer;
font-weight: 600;
color: var(--cs-color-text-secondary);
border-block-end: 2px solid transparent;
&:hover {
color: var(--cs-color-accent);
}
&.is-active {
background: var(--cs-color-surface);
color: var(--cs-color-accent);
border-block-end-color: var(--cs-color-accent);
}
}
.ai-agent-sidebar__panel {
display: flex;
flex-direction: column;
gap: 20px;
padding: 16px;
min-block-size: 0;
overflow: hidden;
}
.ai-agent-sidebar__panel[hidden] {
display: none;
}
.ai-agent-sidebar__heading {
margin-block: 0 8px;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.02em;
color: var(--cs-color-text-secondary);
}
.ai-agent-examples {
display: flex;
flex-direction: column;
gap: 6px;
}
.ai-agent-examples__chip {
text-align: start;
padding-block: 8px;
padding-inline: 10px;
border: 1px solid var(--cs-color-border-subtle);
border-radius: 5px;
background: var(--cs-color-surface-subtle);
cursor: pointer;
&:disabled {
opacity: 0.5;
cursor: not-allowed;
}
&:hover:not(:disabled) {
border-color: var(--cs-color-accent);
color: var(--cs-color-accent);
}
}
.ai-agent-quota__row {
margin-block-end: 10px;
}
.ai-agent-quota__label {
display: flex;
justify-content: space-between;
font-size: 12px;
color: var(--cs-color-text-secondary);
margin-block-end: 4px;
}
.ai-agent-quota__fill {
block-size: 100%;
background: var(--cs-color-accent);
}
.ai-agent-quota__track {
block-size: 8px;
border-radius: 999px;
background: var(--cs-color-surface-muted);
overflow: hidden;
&.is-warning .ai-agent-quota__fill {
background: var(--cs-color-error);
}
}
.ai-agent-message-limit__value {
margin: 0;
font-size: 13px;
color: var(--cs-color-text-secondary);
&.is-warning {
color: var(--cs-color-error);
}
}