/* AI Playground 2.0 — isolated, responsive, accessible, white-label. */
.wap-widget{box-sizing:border-box;width:100%;max-width:790px;margin:16px auto 16px 0!important;justify-self:start;align-self:flex-start;border:1px solid var(--wap-border,#d6e0e9);background:var(--wap-bg,#fff);color:var(--wap-assistant-text,#1c2937);font:inherit;line-height:1.55;box-shadow:0 4px 20px rgba(15,35,54,.07);overflow:hidden}
.wap-widget *{box-sizing:border-box}.wap-widget .wap-header{padding:19px 22px;background:var(--wap-header-bg,#fff);border-bottom:1px solid var(--wap-border,#d6e0e9)}
.wap-widget .wap-header strong{display:block;color:var(--wap-heading,#092e52);font-size:1.18rem;font-weight:700;letter-spacing:-.018em}
.wap-widget .wap-intro{padding:18px 22px;background:var(--wap-bg,#fff);border-bottom:1px solid var(--wap-border,#d6e0e9);font-size:.95rem}
.wap-widget .wap-intro strong{display:block;margin-bottom:6px}
.wap-widget .wap-log{display:flex;flex-direction:column;gap:16px;max-height:580px;min-height:210px;overflow:auto;padding:22px;background:var(--wap-chat-bg,#f8fafc);scroll-behavior:smooth}
.wap-widget .wap-bubble{width:fit-content;max-width:92%;padding:15px 17px;margin:0!important;font-size:.96rem;overflow-wrap:anywhere;line-height:1.65}
.wap-widget .wap-bubble.wap-assistant{align-self:flex-start;background:var(--wap-assistant-bg,#fff);color:var(--wap-assistant-text,#1c2937);border:1px solid var(--wap-border,#d6e0e9)}
.wap-widget .wap-bubble.wap-visitor{align-self:flex-end;background:var(--wap-visitor-bg,#17618b);color:var(--wap-visitor-text,#fff)}
.wap-widget .wap-bubble p{margin:0 0 .8em!important;color:inherit!important}.wap-widget .wap-bubble p:last-child{margin-bottom:0!important}
.wap-widget .wap-subheading{font-size:1rem;line-height:1.35;margin:1.1em 0 .35em;font-weight:700;color:inherit}.wap-widget .wap-subheading:first-child{margin-top:0}
.wap-widget .wap-bubble ul,.wap-widget .wap-bubble ol{display:block;margin:.4em 0 .9em!important;padding-left:1.45em!important;list-style-position:outside!important}.wap-widget .wap-bubble ul{list-style-type:disc!important}.wap-widget .wap-bubble ol{list-style-type:decimal!important}.wap-widget .wap-bubble li{display:list-item!important;margin:.2em 0!important;line-height:1.55}
.wap-widget a,.wap-widget .wap-citation{color:var(--wap-link,#0d648f);text-decoration:underline;text-underline-offset:2px}.wap-widget a:focus-visible,.wap-widget button:focus-visible,.wap-widget textarea:focus-visible{outline:2px solid var(--wap-button-bg,#17618b);outline-offset:2px}
.wap-widget .wap-citation{font-size:.88em;font-weight:650;white-space:nowrap}
.wap-widget .wap-sources{margin-top:16px;padding-top:14px;border-top:1px solid var(--wap-border,#d6e0e9);font-size:.81rem;color:var(--wap-meta,#526372)}
.wap-widget .wap-sources>strong{display:block;font-size:.85rem;margin-bottom:8px;color:var(--wap-assistant-text,#1c2937)}
.wap-widget .wap-source-list{display:flex!important;flex-direction:column;gap:9px;list-style:none!important;margin:0!important;padding:0!important}
.wap-widget .wap-source-list li{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:5px!important;margin:0!important;padding:0!important;list-style:none!important}
.wap-widget .wap-source-number{font-variant-numeric:tabular-nums;opacity:.8}.wap-widget .wap-source-stage{font-size:.74rem;opacity:.74;margin-left:5px}
.wap-widget .wap-progress{font-size:.83rem;margin:0!important;min-height:0;padding:0 20px;color:var(--wap-meta,#526372);background:var(--wap-bg,#fff)}.wap-widget .wap-progress:not(:empty){padding-top:10px;padding-bottom:3px}
.wap-widget .wap-form{display:flex;align-items:flex-end;gap:8px;padding:14px 17px;border-top:1px solid var(--wap-border,#d6e0e9);background:var(--wap-bg,#fff)}
.wap-widget .wap-form textarea{flex:1;min-width:0;resize:vertical;min-height:51px;max-height:190px;padding:11px 12px;border:1px solid var(--wap-input-border,#c7d4e0)!important;border-radius:0!important;background:var(--wap-input-bg,#fff)!important;color:var(--wap-input-text,#1c2937)!important;line-height:1.45;font:inherit;font-size:.95rem}
.wap-widget .wap-form textarea::placeholder{color:var(--wap-placeholder,#7b899b);opacity:1}
.wap-widget .wap-form button{appearance:none;border:1px solid transparent;border-radius:0!important;min-height:51px;min-width:51px;margin:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;font-size:.93rem;font-weight:650;padding:10px 16px;transition:background-color .15s ease}
.wap-widget .wap-form button[type=submit]{background:var(--wap-button-bg,#17618b);color:var(--wap-button-text,#fff)}.wap-widget .wap-form button[type=submit]:hover{background:var(--wap-button-hover,#124d70)}
.wap-widget .wap-form .wap-mic{background:var(--wap-mic-bg,#e7f0f7);color:var(--wap-mic-icon,#123750);padding:11px}.wap-widget .wap-form .wap-mic:hover{background:var(--wap-mic-hover,#d3e5f2)}
.wap-widget .wap-form .wap-mic.wap-listening{outline:2px solid var(--wap-mic-icon,#123750);outline-offset:2px}
.wap-widget button:disabled{opacity:.5;cursor:not-allowed}.wap-widget [hidden]{display:none!important}
.wap-widget .wap-answer-notice{margin:0!important;padding:0 18px 15px;background:var(--wap-bg,#fff);color:var(--wap-meta,#526372);font-size:.74rem;line-height:1.45}
/* Keep Copy Answer with its answer instead of underneath the fundraising CTA. */
.wap-widget .wap-answer-actions{display:flex;justify-content:flex-start;align-items:center;margin:17px 0 4px!important;}
.wap-widget .wap-copy{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:0;border:1px solid var(--wap-border,#d4dce5);border-radius:0;background:var(--wap-assistant-bg,#fff);color:var(--wap-link,#0d648f);font:inherit;font-size:.83rem;line-height:1.3;font-weight:700;cursor:pointer;text-decoration:none;transition:background-color .16s ease,border-color .16s ease}
.wap-widget .wap-copy:hover{background:var(--wap-chat-bg,#f7f9fc);border-color:var(--wap-link,#0d648f)}
.wap-widget .wap-copy svg{width:16px;height:16px;display:block;stroke:currentColor;flex-shrink:0}

.wap-widget .wap-loading-dots{display:inline-block;color:var(--wap-meta,#526372);animation:wap-pulse 1.4s ease-in-out infinite}@keyframes wap-pulse{0%,100%{opacity:1}50%{opacity:.55}}
/* CTA 3.0.3: headline, context, then a large dedicated action row. */
.wap-widget .wap-donation{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:20px;padding:20px 0 5px;border-top:1px solid var(--wap-border,#d6e0e9);background:transparent}
.wap-widget .wap-donation-copy{min-width:0;width:100%}
.wap-widget .wap-donation-copy .wap-donation-title{display:block;margin:0;font-family:"Figtree Black","Figtree",ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.45rem,2.3vw,1.85rem);font-weight:900;letter-spacing:-.025em;line-height:1.2;color:var(--wap-heading,#002F5D)}
.wap-widget .wap-donation-copy p{font-size:1rem;margin:10px 0 0!important;line-height:1.6;color:var(--wap-assistant-text,#1c2937)!important}
.wap-widget .wap-donation-action{display:flex;justify-content:flex-start;margin-top:18px;width:100%}
.wap-widget .wap-donation-link{display:inline-flex;justify-content:center;align-items:center;min-width:250px;min-height:53px;max-width:100%;padding:13px 24px;border:1px solid transparent;border-radius:0;text-decoration:none!important;text-align:center;white-space:normal;background:var(--wap-donation-bg,#002F5D);color:var(--wap-donation-text,#fff)!important;font-size:1rem;font-weight:800;line-height:1.35;box-shadow:0 3px 0 rgba(0,47,93,.12);transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}
.wap-widget .wap-donation-link:hover{background:var(--wap-donation-hover,#174C7A);transform:translateY(-1px);box-shadow:0 5px 13px rgba(0,47,93,.14)}
.wap-widget .wap-donation-link:focus-visible{outline:3px solid var(--wap-link,#0d648f);outline-offset:3px}

@media(max-width:600px){.wap-widget{margin:10px 0}.wap-widget .wap-header{padding:15px}.wap-widget .wap-log{min-height:180px;max-height:65vh;padding:12px;gap:12px}.wap-widget .wap-bubble{max-width:97%;padding:12px;font-size:.94rem}.wap-widget .wap-form{padding:10px;gap:6px}.wap-widget .wap-form button{min-width:44px;min-height:49px;padding:9px 11px}.wap-widget .wap-form textarea{min-height:49px}.wap-widget .wap-donation{align-items:stretch}.wap-widget .wap-donation-copy .wap-donation-title{font-size:1.5rem}.wap-widget .wap-donation-link{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.wap-widget .wap-log{scroll-behavior:auto}.wap-widget .wap-loading-dots{animation:none}}

/* v3.0.1: compact classic working box: blinking blue dot + cycling messages. */
.wap-widget .wap-activity{width:fit-content;max-width:100%;min-width:min(310px,100%);padding:16px 19px;background:var(--wap-assistant-bg,#fff);border:1px solid var(--wap-border,#d4dce5);box-shadow:0 3px 12px rgba(0,47,93,.05);color:var(--wap-assistant-text,#1c2937)}
.wap-widget .wap-activity-top{display:flex;align-items:center;gap:11px;min-height:22px}
.wap-widget .wap-activity-dot{display:inline-block;flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--wap-button-bg,#002f5d);box-shadow:0 0 0 3px rgba(18,105,170,.10);animation:wap3-activity-pulse 1.35s ease-in-out infinite}
.wap-widget .wap-activity-label{color:var(--wap-heading,#002f5d);font-weight:750;font-size:.94rem;line-height:1.45}
.wap-widget .wap-activity-message{font-size:.88rem;line-height:1.5;color:var(--wap-assistant-text,#1c2937);margin:12px 0 0!important;min-height:1.55em;transition:opacity .22s ease}
.wap-widget .wap-activity-note{color:var(--wap-meta,#526372);font-size:.76rem;margin-top:9px;line-height:1.5}
@keyframes wap3-activity-pulse{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 3px rgba(18,105,170,.10)}50%{opacity:.28;transform:scale(.78);box-shadow:0 0 0 7px rgba(18,105,170,0)}}
.wap-widget .wap-saved-note{font-size:.83rem;color:var(--wap-meta,#526372)}
.wap-widget .wap-disclaimer{display:none!important;padding:0 18px 13px;background:var(--wap-bg,#fff);font-size:.73rem;color:var(--wap-meta,#526372)}
.wap-widget .wap-log:empty:before{content:'Your researched answer will appear here.';align-self:flex-start;margin:0;text-align:left;color:var(--wap-meta,#526372);opacity:.75;font-size:.88rem}
@media(prefers-reduced-motion:reduce){.wap-widget .wap-activity-dot{animation:none}}
/* Only one small activity box while waiting; answered bubbles return to normal styling. */
.wap-widget .wap-bubble.wap-assistant.wap-loading{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}

@media(prefers-reduced-motion:reduce){.wap-widget .wap-donation-link{transition:none}.wap-widget .wap-donation-link:hover{transform:none}}

/* 3.1.0: Fluent Forms follow-up appears only if the free research engine fails. */
.wap-widget .wap-fallback-host h3{font-size:1.18rem;margin:0 0 10px;font-weight:750;color:var(--wap-heading,#002F5D)}
.wap-widget .wap-fallback-host p{font-size:.94rem;line-height:1.55;margin:0 0 14px!important}
.wap-widget .wap-fallback-question{font-size:.85rem;padding:10px 12px;border-left:3px solid var(--wap-heading,#002F5D);background:var(--wap-chat-bg,#f7f9fc);overflow-wrap:anywhere}
.wap-widget .wap-fallback-form{margin-top:14px;max-width:100%;}
.wap-widget .wap-fallback-form input,.wap-widget .wap-fallback-form textarea{max-width:100%;}
.wap-widget .wap-fallback-form button[type="submit"]{background:var(--wap-button-bg,#002F5D)!important;color:var(--wap-button-text,#fff)!important;border-radius:0!important;}

/* v3.1.2: follow-up forms are full-width and readable in the answer pane. */
.wap-widget .wap-bubble.wap-followup-message {width:100%;max-width:100%;padding:17px 20px;background:var(--wap-assistant-bg,#fff);}
.wap-widget .wap-followup-message .wap-fallback-host {width:100%;max-width:100%;}
.wap-widget .wap-followup-message .wap-fallback-form {width:100%;}
.wap-widget .wap-followup-message .wap-fallback-form form {max-width:100%;}
.wap-widget .wap-followup-message input:not([type=hidden]),.wap-widget .wap-followup-message textarea {width:100%;box-sizing:border-box;}

/* TechEdNews 3.1.5: follow-up form remains outside the scrolling chat log. */
.wap-widget .wap-fallback-host:not([hidden]){padding:20px 22px;border-top:1px solid var(--wap-border,#d6e0e9);background:var(--wap-assistant-bg,#fff)}
.wap-widget .wap-fallback-host .wap-fallback-privacy{margin-top:14px!important;font-size:.76rem;color:var(--wap-meta,#526372)}
.wap-widget .wap-fallback-host .wap-fallback-form{width:100%}
.wap-widget .wap-fallback-host .wap-fallback-form form{max-width:100%}
@media(max-width:600px){.wap-widget .wap-fallback-host:not([hidden]){padding:15px}}
