/* Overview illustrations: white product surfaces on a soft colour field, with soft slate accents. */
.overview-art.is-spot{padding:12px;background:#fff}
.art{--ink:#1f2933;--ink-soft:#3f4854;--muted:#6b7480;--line:#e5e8ec;--wash:#f3f5f7;--accent:#475569;--accent-soft:#e7ebf0;position:absolute;inset:12px;border-radius:16px;overflow:hidden;isolation:isolate;color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.35;-webkit-font-smoothing:antialiased;background:radial-gradient(48% 58% at 6% 10%,rgba(147,190,226,.5),transparent 70%),radial-gradient(42% 46% at 94% 6%,rgba(255,196,164,.42),transparent 70%),radial-gradient(48% 58% at 96% 96%,rgba(167,160,255,.36),transparent 70%),radial-gradient(40% 40% at 4% 96%,rgba(147,190,226,.2),transparent 70%),#f6f7f9}
.art:before{content:'';position:absolute;inset:0;opacity:.6;background:radial-gradient(circle at 50% 50%,transparent 0 149px,rgba(30,41,59,.05) 150px 151px,transparent 152px 229px,rgba(30,41,59,.035) 230px 231px,transparent 232px)}
.art strong{font-weight:600}
.stage{position:absolute;left:0;top:0;z-index:1;width:520px;height:380px;transform-origin:0 0}
.stage>*{position:absolute}
.art-logo{display:grid;place-items:center;flex-shrink:0}
.art-logo svg{width:100%;height:100%;fill:var(--brand,currentColor)}
.art .ic{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.art .mark{fill:currentColor}
@keyframes art-rise{from{opacity:0;transform:translateY(6px)}}
@keyframes art-blink{50%{opacity:0}}

/* Shared surfaces */
.sp-modal,.chat-window{background:#fff;border:1px solid rgba(30,41,59,.08);box-shadow:0 1px 2px rgba(30,41,59,.05),0 24px 48px -16px rgba(30,41,59,.16),0 60px 100px -40px rgba(30,41,59,.2)}
.sp-modal{padding:18px;border-radius:18px}
.sp-primary{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:9px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(180deg,#566376,var(--accent));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(51,65,85,.18),0 6px 14px -8px rgba(51,65,85,.45)}
.sp-secondary{display:inline-flex;align-items:center;justify-content:center;height:38px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-soft);background:#fff;border:1px solid var(--line)}

/* Step 1 · Add sources */
.sp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.sp-head strong{font-size:16px;letter-spacing:-.3px}
.sp-x{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--muted);background:var(--wash)}
.sp-x .ic{width:13px;height:13px}
.sp-search{display:flex;align-items:center;gap:8px;height:40px;margin-bottom:12px;padding:0 12px;border-radius:10px;border:1px solid var(--line);font-size:13px;color:#a1a1aa;box-shadow:0 1px 2px rgba(30,41,59,.04)}
.sp-search .ic{width:15px;height:15px;color:var(--muted)}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.sp-option{position:relative;display:flex;align-items:center;gap:9px;height:44px;padding:0 12px;border-radius:11px;border:1px solid var(--line);font-size:12.5px;font-weight:500;white-space:nowrap}
.sp-option .art-logo{width:18px;height:18px}
.sp-option.is-on{border-color:#a3afbf;background:#f8fafc;box-shadow:0 0 0 3px rgba(71,85,105,.08)}
.sp-tick{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent);box-shadow:0 0 0 2px #fff}
.sp-tick .ic{width:10px;height:10px;stroke-width:2.6}
.sp-more{justify-content:center;color:var(--muted);border-style:dashed}
.sp-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid #f1f1f3;font-size:12.5px;color:var(--muted)}
.sp-selected{display:flex;align-items:center;gap:8px}
.sp-mini{display:flex;padding-left:5px}
.sp-mini .art-logo{width:22px;height:22px;margin-left:-5px;padding:4px;border-radius:50%;background:#fff;border:1px solid var(--line)}

/* Step 2 · Approve access */
.sp-consent{display:flex;flex-direction:column;align-items:center;padding:24px;text-align:center}
.sp-pair{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.sp-app{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);box-shadow:0 6px 14px -8px rgba(30,41,59,.3)}
.sp-app .art-logo{width:24px;height:24px}
.sp-app-mark{color:#fff;border:0;background:linear-gradient(180deg,#566376,var(--accent))}
.sp-app-mark .mark{width:20px;height:20px}
.sp-link{display:flex;gap:4px}
.sp-link i{width:4px;height:4px;border-radius:50%;background:#d4d4d8}
.sp-title{font-size:16px;line-height:1.3;letter-spacing:-.3px}
.sp-sub{margin:4px 0 16px;font-size:12px;color:var(--muted)}
.sp-list{align-self:stretch;display:grid;margin-bottom:18px;padding:4px 12px;text-align:left;border:1px solid #f1f1f3;border-radius:12px}
.sp-list span{display:flex;align-items:center;gap:10px;height:36px;font-size:12.5px;color:var(--ink-soft)}
.sp-list span+span{border-top:1px solid #f4f4f5}
.sp-list .ic{width:18px;height:18px;padding:4px;border-radius:50%;stroke-width:2.4}
.sp-list .is-yes .ic{color:var(--accent);background:var(--accent-soft)}
.sp-list .is-no{color:#a1a1aa}
.sp-list .is-no .ic{color:#a1a1aa;background:var(--wash)}
.sp-actions{align-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sp-actions .sp-primary{height:38px}

/* Step 3 · Ask in the assistant */
.chat-window{border-radius:16px;overflow:hidden}
.chat-back{height:300px;opacity:.75;transform:scale(.94);transform-origin:top center}
.chat-front{height:322px;display:flex;flex-direction:column}
.chat-bar{position:relative;height:40px;flex-shrink:0;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #f1f1f3;background:#fafafa}
.chat-dots{display:flex;gap:5px}
.chat-dots i{width:8px;height:8px;border-radius:50%;background:#e4e4e7}
.chat-app{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600}
.chat-app .art-logo{width:16px;height:16px}
.chat-thread{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:16px 18px 6px}
.chat-hint{position:absolute;inset:0;margin:0;display:grid;place-items:center;font-size:13px;color:var(--muted);transition:opacity .3s}
.is-sent .chat-hint{opacity:0}
.chat-bubble{display:none;align-self:flex-end;max-width:310px;padding:11px 14px;border-radius:16px 16px 4px 16px;font-size:14px;line-height:1.45;color:var(--ink);background:var(--wash)}
.is-sent .chat-bubble{display:block;animation:art-rise .35s cubic-bezier(.2,.7,.2,1) both}
.chat-composer{flex-shrink:0;margin:8px 14px 14px;padding:12px 10px 10px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:0 1px 2px rgba(30,41,59,.04);transition:border-color .2s,box-shadow .2s}
.is-typing .chat-composer{border-color:#b4bfcc;box-shadow:0 0 0 4px rgba(71,85,105,.08)}
.chat-input{min-height:40px;font-size:14px;line-height:1.45}
.ask-placeholder{color:#a1a1aa}
.is-typing .ask-placeholder{display:none}
.ask-caret{display:inline-block;width:1.5px;height:1.2em;margin:0 1px;vertical-align:-.22em;background:var(--accent);animation:art-blink 1.1s steps(1) infinite}
.chat-tools{display:flex;align-items:center;gap:8px;margin-top:6px}
.chat-plus{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line)}
.chat-plus .ic{width:13px;height:13px}
.chat-send{width:32px;height:32px;margin-left:auto;border-radius:9px;display:grid;place-items:center;color:#fff;background:#d5dbe2;transition:background .2s,transform .15s}
.is-typing .chat-send{background:linear-gradient(180deg,#566376,var(--accent))}
.is-pressed .chat-send{transform:scale(.88)}
.chat-send .ic{width:15px;height:15px;stroke-width:2}

@media(max-width:760px){
  .overview-art.is-spot{min-height:0;aspect-ratio:556/430;padding:8px}
  .art{inset:8px;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){
  .art *,.art *:before,.art *:after{animation:none!important;transition:none!important}
}

/* Compact overview: keep step numbers with their copy and align corner geometry. */
#overview .overview-row{min-height:370px}
#overview .overview-copy{justify-content:center;gap:16px;padding:36px}
#overview .overview-number{display:block;width:auto;height:auto;padding:0;border:0;border-radius:0;background:none;font-size:12px;line-height:1.4;font-weight:500;letter-spacing:1px;color:#80909f}
#overview .overview-copy h4{margin:0 0 14px}
#overview .overview-copy p{margin-bottom:0;line-height:1.7}
#overview .overview-art.is-spot{min-height:370px}
#overview .art{border-radius:8px}
@media(max-width:1000px) and (min-width:761px){#overview .overview-copy{padding:28px}#overview .overview-row,#overview .overview-art.is-spot{min-height:340px}}
@media(max-width:760px){#overview .overview-row{min-height:0}#overview .overview-copy{padding:28px 26px 22px;gap:12px}#overview .overview-art.is-spot{min-height:0;aspect-ratio:556/430}#overview .art{border-radius:8px}}
