/* Mercatus Assist v2 (option AS, preview). Red / black / white, dark by default; respects prefers-reduced-motion. Loaded lazily by js/assist/assist.js. */
.as-root{--as-red:#e2283b;--as-red2:#ff5a5f;--as-ink:#f5f1f1;--as-mute:#a99fa1;--as-line:rgba(255,255,255,.1);--as-line2:rgba(255,255,255,.18);--as-bg:#0b0909;--as-card:rgba(255,255,255,.035);--as-ease:cubic-bezier(.22,1,.36,1);
  position:relative;display:flex;flex-direction:column;gap:12px;color:var(--as-ink);background:linear-gradient(180deg,rgba(226,40,59,.06),rgba(0,0,0,0) 140px),var(--as-bg);
  border:1px solid var(--as-line);border-radius:18px;padding:16px;font:400 15px/1.55 Inter,system-ui,sans-serif;contain:layout paint;isolation:isolate}
.as-root *{box-sizing:border-box}
.as-root a{color:#fff;text-decoration-color:rgba(226,40,59,.6);text-underline-offset:3px}
.as-root :focus-visible{outline:2px solid var(--as-red2);outline-offset:2px;border-radius:8px}
.as-root .mm-sr{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}
.as-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.as-orb{position:relative;width:34px;height:34px;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 6%,var(--as-red2) 18%,var(--as-red) 46%,#2a0508 78%);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 22px rgba(226,40,59,.35)}
.as-orb i{position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(226,40,59,.45);animation:as-pulse 3.2s var(--as-ease) infinite}
.as-root.busy .as-orb i{animation-duration:1.1s;border-color:#fff}
@keyframes as-pulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
.as-ttl{display:flex;flex-direction:column;min-width:0;flex:1}.as-ttl b{font:700 16px/1.2 "Space Mono",ui-monospace,monospace;letter-spacing:.02em}.as-sub{color:var(--as-mute);font-size:12.5px}
.as-pill{font:700 11px/1 "Space Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:999px;border:1px solid var(--as-line2);color:var(--as-mute);white-space:nowrap}
.as-pill.live{color:#fff;border-color:rgba(46,204,113,.55);background:rgba(46,204,113,.12)}.as-pill.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#2ecc71;margin-right:6px;vertical-align:1px}
.as-pill.demo{color:#ffcf8a;border-color:rgba(255,191,90,.45);background:rgba(255,191,90,.08)}
.as-x{background:none;border:1px solid var(--as-line2);color:#fff;width:34px;height:34px;border-radius:10px;cursor:pointer}
.as-tabs{display:flex;gap:4px;border-bottom:1px solid var(--as-line);overflow-x:auto;scrollbar-width:none}
.as-tabs button{background:none;border:0;color:var(--as-mute);padding:9px 12px;font:600 13.5px/1 Inter,system-ui,sans-serif;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.as-tabs button[aria-selected=true]{color:#fff;border-bottom-color:var(--as-red)}
.as-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.as-seg{display:inline-flex;border:1px solid var(--as-line2);border-radius:10px;overflow:hidden}
.as-seg button{background:none;border:0;color:var(--as-mute);padding:7px 11px;font:600 12.5px/1 Inter,system-ui,sans-serif;cursor:pointer}
.as-seg button[aria-checked=true]{background:#fff;color:#0b0909}
.as-lang select{background:#141011;color:#fff;border:1px solid var(--as-line2);border-radius:10px;padding:7px 9px;font:500 13px/1.1 Inter,system-ui,sans-serif;max-width:100%}
.as-tg{background:none;border:1px solid var(--as-line2);color:#fff;border-radius:10px;padding:6px 10px;font:600 12.5px/1 Inter,system-ui,sans-serif;cursor:pointer;min-height:32px}
.as-tg[aria-pressed=true]{background:rgba(226,40,59,.18);border-color:var(--as-red)}
.as-panel[hidden]{display:none}
.as-log{display:flex;flex-direction:column;gap:12px;min-height:180px;max-height:min(58vh,560px);overflow-y:auto;padding:4px 2px;scroll-behavior:smooth;overscroll-behavior:contain}
.as-msg{max-width:100%;border-radius:14px;padding:11px 14px;border:1px solid var(--as-line);background:var(--as-card);animation:as-in .38s var(--as-ease) both;overflow-wrap:anywhere}
.as-msg.u{align-self:flex-end;max-width:85%;background:#fff;color:#0b0909;border-color:#fff}.as-msg.u p{margin:0}
.as-msg.b{align-self:stretch;border-left:2px solid var(--as-red)}
.as-msg.restored{animation:none}
.as-msg p{margin:.15em 0 .55em}.as-msg ul{margin:.2em 0 .6em;padding-left:1.15em}.as-msg li{margin:.18em 0}
@keyframes as-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.as-body.streaming::after{content:"";display:inline-block;width:7px;height:15px;margin-left:2px;background:var(--as-red2);vertical-align:-2px;animation:as-blink .8s steps(2) infinite}
@keyframes as-blink{50%{opacity:0}}
.as-think{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px;font:500 12px/1.3 "Space Mono",ui-monospace,monospace;color:var(--as-mute)}
.as-think li{display:flex;gap:8px;align-items:center}.as-think li::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--as-mute);flex:none}
.as-think li.on{color:#fff}.as-think li.on::before{border-color:var(--as-red2);border-top-color:transparent;animation:as-spin .7s linear infinite}
.as-think li.done::before{background:var(--as-red);border-color:var(--as-red)}
.as-think em{font-style:normal;color:var(--as-mute);margin-left:auto;text-align:right}
.as-think.fold{opacity:.7}
@keyframes as-spin{to{transform:rotate(360deg)}}
.as-cite{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;margin-left:2px;border-radius:6px;background:rgba(226,40,59,.2);border:1px solid rgba(226,40,59,.55);color:#fff!important;font:700 10.5px/1 "Space Mono",ui-monospace,monospace;text-decoration:none!important;vertical-align:2px}
.as-cite:hover{background:var(--as-red)}
.as-srcs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.as-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 9px;border-radius:999px;border:1px solid var(--as-line2);background:rgba(255,255,255,.04);font-size:12.5px;text-decoration:none!important;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .2s,background .2s}
.as-chip b{font:700 10.5px/1 "Space Mono",monospace;color:var(--as-red2)}.as-chip span{color:var(--as-mute);overflow:hidden;text-overflow:ellipsis}
.as-chip:hover{border-color:var(--as-red);background:rgba(226,40,59,.12)}
.as-conf{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--as-mute)}
.as-meter{position:relative;width:96px;height:6px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden}
.as-meter i{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--v));background:linear-gradient(90deg,#fff,var(--as-red2) 60%,var(--as-red));animation:as-grow .7s var(--as-ease) both}
@keyframes as-grow{from{transform:scaleX(0)}}
.as-conf b{color:#fff;font-weight:600}
.as-lab{display:inline-block;font:700 10px/1 "Space Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:6px;border:1px solid var(--as-line2);color:var(--as-mute)}
.as-lab.live{color:#b8f5cf;border-color:rgba(46,204,113,.45)}.as-lab.demo{color:#ffcf8a;border-color:rgba(255,191,90,.45)}
.as-meta{font-size:12px;color:var(--as-mute);margin-top:6px!important}
.as-note{font-size:12.5px;color:var(--as-mute)}
.as-acts,.as-follow,.as-starters,.as-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.as-act,.as-chipq{display:inline-flex;align-items:center;padding:7px 11px;border-radius:10px;border:1px solid var(--as-line2);background:none;color:#fff;font:600 12.5px/1.2 Inter,system-ui,sans-serif;cursor:pointer;text-decoration:none!important;transition:transform .2s var(--as-ease),border-color .2s,background .2s}
.as-act.pri{background:var(--as-red);border-color:var(--as-red)}
.as-act:hover,.as-chipq:hover{border-color:var(--as-red);background:rgba(226,40,59,.12);transform:translateY(-1px)}
.as-chipq{font-weight:500;border-style:dashed}
.as-form{display:flex;gap:8px;align-items:flex-end;margin-top:10px;padding:6px;border:1px solid var(--as-line2);border-radius:14px;background:#0f0c0c}
.as-form:focus-within{border-color:var(--as-red)}
.as-in,.as-jd{flex:1;resize:none;background:none;border:0;color:#fff;font:400 15px/1.45 Inter,system-ui,sans-serif;padding:8px;min-height:40px;outline:none}
.as-jd{width:100%;border:1px solid var(--as-line2);border-radius:12px;background:#0f0c0c;resize:vertical;min-height:140px}
.as-jd:focus{border-color:var(--as-red)}
.as-send{background:var(--as-red);color:#fff;border:0;border-radius:10px;padding:10px 16px;font:700 13.5px/1 Inter,system-ui,sans-serif;cursor:pointer;min-height:40px}
.as-send:hover{background:var(--as-red2)}
.as-root.busy .as-send{opacity:.6;cursor:progress}
.as-mic{background:none;border:1px solid var(--as-line2);border-radius:10px;width:40px;height:40px;cursor:pointer;color:#fff}
.as-mic.on{border-color:var(--as-red);background:rgba(226,40,59,.2);animation:as-rec 1.2s ease-in-out infinite}
@keyframes as-rec{50%{box-shadow:0 0 0 6px rgba(226,40,59,.18)}}
.as-foot{margin:6px 2px 0;font-size:11.5px;color:var(--as-mute)}
.as-how{font-size:12.5px;color:var(--as-mute);border-top:1px solid var(--as-line);padding-top:8px}.as-how summary{cursor:pointer;color:#fff;font-weight:600}.as-how ul{padding-left:1.1em}.as-how li{margin:.3em 0}
.as-lens{margin-top:10px;border:1px solid var(--as-line);border-radius:12px;padding:8px 10px;background:rgba(0,0,0,.35)}
.as-lens summary{cursor:pointer;font:600 12.5px/1.3 Inter,system-ui,sans-serif;color:#fff;display:flex;align-items:center;gap:8px}
.as-dot{width:8px;height:8px;border-radius:50%;background:var(--as-red);box-shadow:0 0 10px var(--as-red)}
.as-arch{display:block;width:100%;height:auto;margin:8px 0 4px;color:var(--as-red2);font:600 10.5px Inter,system-ui,sans-serif}
.as-arch .as-node rect{fill:#141011;stroke:rgba(255,255,255,.22);stroke-width:1}
.as-arch .as-node text{fill:#fff}
.as-arch .k-model rect{stroke:var(--as-red2)}.as-arch .k-guard rect{stroke:#fff;stroke-dasharray:3 3}.as-arch .k-human rect{fill:#fff}.as-arch .k-human text{fill:#0b0909}
.as-arch .k-data rect{stroke:#8d8d8d}.as-arch .k-server rect{fill:#2a0d11;stroke:var(--as-red)}.as-arch .k-edge rect{stroke:rgba(255,255,255,.45)}.as-arch .k-client rect{stroke:#fff}
.as-arch .as-node{animation:as-in .45s var(--as-ease) both;animation-delay:calc(var(--i)*70ms)}
.as-edge{fill:none;stroke:currentColor;stroke-width:1.4;stroke-dasharray:5 5;animation:as-flow 1.2s linear infinite}
.as-elab{fill:var(--as-mute);font-size:9px}
@keyframes as-flow{to{stroke-dashoffset:-20}}
.as-note .lg{display:inline-block;width:9px;height:9px;border-radius:3px;margin:0 3px 0 8px;vertical-align:-1px;border:1px solid #fff;background:#141011}
.as-note .lg.k-model{border-color:var(--as-red2)}.as-note .lg.k-server{background:#2a0d11;border-color:var(--as-red)}.as-note .lg.k-human{background:#fff}.as-note .lg.k-guard{border-style:dashed}.as-note .lg.k-data{border-color:#8d8d8d}.as-note .lg.k-edge{border-color:rgba(255,255,255,.45)}
.as-evid{margin-top:10px;border:1px solid var(--as-line);border-radius:12px;padding:8px 12px;background:rgba(255,255,255,.02)}
.as-k{font:700 11px/1 "Space Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--as-red2);margin:4px 0 6px!important}
.as-evid ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.as-evid li{font-size:13px}
.as-lev{display:inline-block;min-width:74px;font:700 10px/1 "Space Mono",monospace;text-transform:uppercase;padding:4px 6px;border-radius:6px;margin-right:6px;text-align:center}
.as-lev.ok{background:rgba(46,204,113,.15);color:#b8f5cf}.as-lev.mid{background:rgba(255,255,255,.08);color:#ddd}.as-lev.gap{background:rgba(226,40,59,.18);color:#ffb3b8}
.as-fitout,.as-exout{margin-top:12px}
.as-fitm{margin-top:10px}
/* overlay + launcher */
.as-ov{position:fixed;inset:0;z-index:2147480600;display:flex;align-items:flex-end;justify-content:flex-end;padding:18px;background:rgba(0,0,0,.45);opacity:0;transition:opacity .18s}
.as-ov.on{opacity:1}.as-ov[hidden]{display:none}
.as-box{width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;transform:translateY(12px);transition:transform .25s var(--as-ease,ease)}
.as-ov.on .as-box{transform:none}
.as-box .as-root{box-shadow:0 30px 80px rgba(0,0,0,.6)}
.as-launch{position:fixed;left:18px;bottom:76px;z-index:2147480400;display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(11,9,9,.9);color:#fff;font:600 13px/1 Inter,system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.as-launch i{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 8%,#ff5a5f 22%,#e2283b 50%,#2a0508 80%)}
.as-launch:hover{border-color:#e2283b}
.as-launch:focus-visible{outline:2px solid #ff5a5f;outline-offset:2px}
@media (max-width:560px){.as-ttl{flex:1 1 calc(100% - 60px)}.as-pill{order:4;margin-left:46px}.as-head .as-x{order:3}}
@media (max-width:767px){.as-ov{padding:0;align-items:stretch}.as-box{width:100%;max-height:100vh;height:100%}.as-box .as-root{border-radius:0;min-height:100%}.as-launch{bottom:calc(var(--mm-dock-b,84px) + 52px);left:12px}
  .as-root{padding:12px;font-size:14.5px}.as-log{max-height:none;min-height:240px}.as-msg.u{max-width:92%}.as-tools{gap:6px}}
/* always above the other bottom-left pills (case-study tools bar, home 'Tailor this page' chip); a fixed position that never moves = no layout shift */
@media (prefers-reduced-motion:reduce){.as-root *,.as-launch,.as-ov,.as-box{animation:none!important;transition:none!important}.as-edge{stroke-dasharray:none}}
