.ai-panel{position:relative;margin:26px 0 8px;padding:26px;border-radius:22px;border:1px solid #2c4a66;background:radial-gradient(120% 140% at 0% 0%,#14304a 0%,#0e1b2c 45%,#0b1422 100%);color:#e2eefb;overflow:hidden}
.ai-panel:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(120deg,#38bdf8,#38bdf8 45%,#22d3ee);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;pointer-events:none}
.ai-head{display:flex;gap:16px;align-items:flex-start}
.ai-orb{flex:0 0 44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:20px;color:#0b1422;background:linear-gradient(135deg,#67e8f9,#38bdf8);box-shadow:0 8px 28px #38bdf855}
.ai-busy .ai-orb{animation:ai-pulse 1.4s ease-in-out infinite}
.ai-kicker{font:600 11.5px/1 var(--mono,monospace);letter-spacing:2.2px;color:#7dd3fc}
.ai-head h2{margin:8px 0 6px;font-size:22px;letter-spacing:-.4px}
.ai-sub{margin:0;color:#9fb6cd;font-size:13.5px;line-height:1.6;max-width:640px}
.ai-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.ai-explain,.ai-send{font:600 14px/1 var(--sans,inherit);border-radius:12px;padding:12px 16px;cursor:pointer;border:1px solid #3b5f80;background:#12263a;color:#dff4ff;transition:transform .15s,background .15s,border-color .15s}
.ai-explain:first-child{background:linear-gradient(135deg,#22d3ee,#2dd4bf);border-color:transparent;color:#06121f}
.ai-explain:hover:not(:disabled),.ai-send:hover:not(:disabled){transform:translateY(-1px);border-color:#67e8f9}
.ai-copy-status{font-size:12px;color:#9fb6cd;min-width:82px;align-self:center}
.ai-explain:disabled,.ai-send:disabled{opacity:.55;cursor:progress}
.ai-status{min-height:20px;margin:8px 0 0;color:#fcd48a;font-size:13.5px}
.ai-output{margin-top:14px;padding:20px;border-radius:16px;background:#0a1624cc;border:1px solid #23405a;animation:ai-in .35s ease-out}
.ai-headline{margin:0 0 10px;font-size:19px;line-height:1.5;color:#f0f9ff}
.ai-summary{margin:0 0 6px;font-size:15px;line-height:1.85;color:#cfe1f3}
.ai-section{margin-top:16px;padding-top:14px;border-top:1px solid #1f3850}
.ai-section h4{margin:0 0 10px;font-size:13px;letter-spacing:.4px;color:#7dd3fc;text-transform:uppercase}
.ai-section ul{margin:0;padding-inline-start:20px;display:grid;gap:8px}
.ai-section li{font-size:14.5px;line-height:1.75;color:#d9e8f6}
.ai-evidence{display:block;color:#7f9bb7;font-size:12.5px;font-family:var(--mono,monospace)}
.ai-next-steps li::marker{color:#4ade80}.ai-not-checked li::marker{color:#fbbf24}
.ai-chat{margin-top:18px;animation:ai-in .35s ease-out}
.ai-chat-title{margin:0 0 10px;font-size:14px;color:#b9d6ee}
.ai-log{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;padding:2px}
.ai-log:empty{display:none}
.ai-msg{max-width:85%;padding:11px 14px;border-radius:14px;font-size:14.5px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-msg-user{align-self:flex-end;background:#1d4ed8;color:#eef4ff;border-bottom-right-radius:4px}
.ai-msg-error{align-self:flex-start;background:#2a1a12;border:1px solid #6b4a1f;color:#fcd48a;border-bottom-left-radius:4px;font-size:13.5px}
.ai-msg-assistant{align-self:flex-start;background:#132a40;border:1px solid #24435f;color:#dceaf7;border-bottom-left-radius:4px}
.ai-form{display:flex;gap:10px;margin-top:12px;align-items:flex-end}
.ai-form textarea{flex:1;resize:vertical;min-height:46px;max-height:180px;padding:12px 14px;border-radius:12px;border:1px solid #31506b;background:#071222;color:#e7f3ff;font:14.5px/1.5 var(--sans,inherit)}
.ai-form textarea:focus,.ai-explain:focus-visible,.ai-send:focus-visible{outline:2px solid #67e8f9;outline-offset:2px}
.ai-send{background:linear-gradient(135deg,#22d3ee,#2dd4bf);border-color:transparent;color:#06121f;padding:14px 18px}
.ai-note{margin:16px 0 0;color:#7f97b1;font-size:12.5px;line-height:1.6}
[hidden].ai-output,[hidden].ai-chat{display:none}
@keyframes ai-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ai-pulse{50%{transform:scale(.9);box-shadow:0 0 0 8px #38bdf81a}}
@media(max-width:600px){.ai-panel{padding:18px;border-radius:18px}.ai-head h2{font-size:19px}.ai-explain{flex:1 1 100%}.ai-msg{max-width:94%}}
@media(prefers-reduced-motion:reduce){.ai-output,.ai-chat,.ai-busy .ai-orb{animation:none}.ai-explain,.ai-send{transition:none}}
.ai-typing{display:inline-flex;gap:5px;padding:4px 2px}.ai-typing i{width:7px;height:7px;border-radius:50%;background:#7dd3fc;animation:ai-dot 1s ease-in-out infinite}.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes ai-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ai-widget{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--sans,inherit)}
.ai-fab{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;padding:10px 18px 10px 10px;cursor:pointer;color:#06121f;font:700 14.5px/1 var(--sans,inherit);background:linear-gradient(135deg,#22d3ee,#2dd4bf);box-shadow:0 12px 34px #22d3ee40,0 2px 8px #0006;transition:transform .2s,box-shadow .2s}
.ai-fab:hover{transform:translateY(-2px);box-shadow:0 16px 40px #22d3ee55,0 2px 8px #0006}
.ai-fab:focus-visible{outline:2px solid #e0f2fe;outline-offset:3px}
.ai-fab-orb{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#06121f;color:#67e8f9;font-size:15px}
.ai-fab-open .ai-fab-label{display:none}.ai-fab-open{padding:10px}
.ai-fab-hint{max-width:270px;padding:13px 16px;border-radius:16px 16px 4px 16px;background:#0f1f33;border:1px solid #2c4a66;color:#dceaf7;font-size:13.5px;line-height:1.55;box-shadow:0 14px 40px #0008;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.ai-fab-hint:empty{display:none}.ai-fab-hint strong{display:block;color:#f0f9ff;margin-bottom:3px}
.ai-fab-hint-in{opacity:1;transform:none}
.ai-dock{width:min(400px,calc(100vw - 32px));height:min(600px,calc(100dvh - 120px));display:flex;flex-direction:column;border-radius:22px;border:1px solid #2c4a66;background:linear-gradient(180deg,#0f2034,#0a1422);color:#e2eefb;box-shadow:0 30px 80px #000a;overflow:hidden;animation:ai-in .25s ease-out}
.ai-dock[hidden]{display:none}
.ai-dock-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;border-bottom:1px solid #1f3850;background:#0d1b2c}
.ai-dock-head>div{flex:1;min-width:0}.ai-dock-head strong{display:block;font-size:15.5px}.ai-dock-head small{color:#8fa9c4;font-size:12.5px}
.ai-dock-orb{flex:0 0 36px;height:36px;border-radius:12px;font-size:16px}
.ai-dock-icon{width:34px;height:34px;border-radius:10px;border:1px solid #2c4a66;background:#12263a;color:#cfe6fb;font-size:17px;cursor:pointer}
.ai-dock-icon:hover:not(:disabled){border-color:#67e8f9}.ai-dock-icon:focus-visible{outline:2px solid #67e8f9;outline-offset:2px}
.ai-dock-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 16px 12px}
.ai-dock-log{flex:1;max-height:none;min-height:0}
.ai-dock-log:empty{display:flex}
.ai-dock-intro{margin:auto 0 4px}
.ai-dock-hello{margin:0 0 14px;font-size:15px;line-height:1.6;color:#e6f3ff}
.ai-chips{display:grid;gap:8px}
.ai-chip{text-align:start;border:1px solid #2c4a66;background:#10233a;color:#cfe6fb;border-radius:12px;padding:10px 12px;font:13.5px/1.45 var(--sans,inherit);cursor:pointer}
.ai-chip:hover{border-color:#67e8f9;background:#14304a}.ai-chip:focus-visible{outline:2px solid #67e8f9;outline-offset:2px}
.ai-dock-auth{display:flex;flex-wrap:wrap;gap:10px}.ai-dock-auth a{text-decoration:none;text-align:center;flex:1 1 140px}
.ai-dock .ai-status{margin:6px 0 0;min-height:0}
.ai-dock .ai-form{margin-top:10px}.ai-dock .ai-form textarea{min-height:44px;resize:none}
.ai-dock .ai-note{margin:8px 0 0;font-size:11.5px}
.ai-dock .ai-msg{max-width:90%}
@media(max-width:600px){.ai-widget{right:12px;bottom:12px;left:12px}.ai-dock{width:100%;height:calc(100dvh - 96px);border-radius:18px}.ai-fab-label{display:none}.ai-fab{padding:10px}}
@media(prefers-reduced-motion:reduce){.ai-typing i,.ai-dock{animation:none}.ai-fab,.ai-fab-hint{transition:none}}
@media print{.ai-widget{display:none}}

/* The copy pill. "button.ai-copy" inside the panels outranks page-wide button styles (e.g. .ip-workspace button). */
.ai-panel button.ai-copy,.ai-dock button.ai-copy{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;width:auto;min-height:0;
  margin:12px 0 2px;padding:6px 12px 6px 10px;border-radius:999px;border:1px solid rgba(145,188,220,.24);background:rgba(18,38,58,.55);
  color:#9fb6cd;font:600 12.5px/1.2 var(--sans,inherit);letter-spacing:.1px;box-shadow:none;cursor:pointer;
  transition:color .15s,border-color .15s,background .15s}
.ai-panel button.ai-copy:hover,.ai-dock button.ai-copy:hover{color:#e6f6ff;border-color:rgba(119,220,255,.5);background:rgba(34,211,238,.08);transform:none}
.ai-panel button.ai-copy:focus-visible,.ai-dock button.ai-copy:focus-visible{outline:2px solid #67e8f9;outline-offset:2px}
.ai-panel button.ai-copy.done,.ai-dock button.ai-copy.done{color:#5eead4;border-color:rgba(94,234,212,.5);background:rgba(94,234,212,.08)}
.ai-dock button.ai-copy{margin:-2px 0 6px 4px;padding:4px 10px 4px 8px;font-size:12px}
