/* Any K-i? superpowers + model picker (4 Nov 2026). Dark glass, cyan #7de9df -> violet #bc9cf7, ChatGPT density:
   17px settings title, 11px section headings, 13px rows, 16px icons, 32px composer buttons. Loaded last. */
:root{--sp-c:#7de9df;--sp-v:#bc9cf7;--sp-glass:rgba(14,18,26,.86);--sp-line:rgba(125,233,223,.16);--sp-ink:#e8ecf3;--sp-mut:#8e98ac}

/* ---------- model picker ---------- */
.sp-pk-sheet{padding-bottom:10px}
.sp-pk-title{text-align:left;font:600 13px/1.2 system-ui,sans-serif;color:var(--sp-ink);padding:4px 14px 8px}
.sp-pk-list{display:flex;flex-direction:column;gap:2px;max-height:min(70vh,560px);overflow-y:auto;padding:0 6px}
.sp-pk-sec{text-align:left;font:600 11px/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-mut);padding:12px 10px 4px}
.sp-pk-sec span{text-transform:none;letter-spacing:0;font-weight:400;margin-left:6px;opacity:.8}
.sp-pk-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:4px;border-radius:10px;padding:0 4px 0 0}
.sp-pk-row:hover{background:rgba(255,255,255,.04)}
.sp-pk-row.is-sel{background:linear-gradient(90deg,rgba(125,233,223,.12),rgba(188,156,247,.10))}
.sp-pk-main{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;text-align:left;background:none;border:0;color:var(--sp-ink);padding:7px 10px;cursor:pointer;min-width:0}
.sp-pk-name{font:600 13px/1.25 system-ui,sans-serif}
.sp-pk-row.is-paid .sp-pk-name::after{content:"Paid";margin-left:6px;font:600 10px/1 system-ui;padding:2px 5px;border-radius:5px;color:#f2c66d;background:rgba(242,198,109,.12);vertical-align:1px}
.sp-pk-desc{grid-column:1;font:12px/1.3 system-ui,sans-serif;color:var(--sp-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-pk-check{grid-row:1/3;grid-column:2;color:var(--sp-c);font-size:13px}
.sp-drop{display:inline-flex;border:1px solid var(--sp-line);border-radius:999px;overflow:hidden;height:22px}
.sp-drop button{border:0;background:none;color:var(--sp-mut);font:600 11px/1 system-ui;padding:0 7px;cursor:pointer}
.sp-drop button+button{border-left:1px solid var(--sp-line)}
.sp-drop button.is-on{background:linear-gradient(135deg,var(--sp-c),var(--sp-v));color:#05070d}
.sp-pk-exp{width:24px;height:24px;border:0;border-radius:6px;background:none;color:var(--sp-mut);font-size:12px;cursor:pointer;transition:transform .15s}
.sp-pk-exp.is-open{transform:rotate(180deg);color:var(--sp-c)}
.sp-pk-sub{grid-column:1/-1;display:flex;flex-direction:column;gap:1px;padding:0 6px 6px 18px}
.sp-pk-model{display:flex;justify-content:space-between;gap:8px;border:0;background:none;color:var(--sp-ink);padding:5px 8px;border-radius:7px;cursor:pointer;text-align:left}
.sp-pk-model:hover:not(:disabled){background:rgba(125,233,223,.07)}
.sp-pk-model code{font:11.5px/1.3 ui-monospace,Menlo,Consolas,monospace;color:#cfe9f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-pk-model span{font:11px/1.3 system-ui;color:var(--sp-mut);white-space:nowrap}
.sp-pk-model.is-sel code{color:var(--sp-c)}
.sp-pk-model.is-off{opacity:.45;cursor:default}

/* ---------- + menu superpowers + active pill ---------- */
.sp-plus-head{font:600 11px/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-mut);padding:10px 14px 4px}
.sp-plus-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;border:0;background:none;color:var(--sp-ink);padding:7px 14px;border-radius:9px;text-align:left;cursor:pointer}
.sp-plus-row:hover{background:rgba(255,255,255,.05)}
.sp-plus-row.is-on{background:linear-gradient(90deg,rgba(125,233,223,.14),rgba(188,156,247,.12))}
.sp-plus-name{font:600 13px/1.25 system-ui,sans-serif}
.sp-plus-hint{font:12px/1.25 system-ui,sans-serif;color:var(--sp-mut)}
.sp-power-pill{margin-right:auto!important;max-width:46%;overflow:hidden;display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 3px 0 8px;margin:0 4px;border-radius:999px;font:600 11px/1 system-ui,sans-serif;color:#05070d;background:linear-gradient(135deg,var(--sp-c),var(--sp-v));white-space:nowrap;align-self:center}
.sp-power-pill button{width:16px;height:16px;border:0;border-radius:50%;background:rgba(5,7,13,.18);color:#05070d;font:700 12px/1 system-ui;cursor:pointer;padding:0}

/* ---------- dock: right panel on desktop, slide-up sheet on the phone ---------- */
.sp-dock{position:fixed;z-index:2600;display:flex;flex-direction:column;background:var(--sp-glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--sp-line);color:var(--sp-ink);
  right:12px;top:64px;bottom:12px;width:min(440px,42vw);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.55);transform:translateX(calc(100% + 24px));transition:transform .22s ease}
.sp-dock.is-open{transform:none}
.sp-dock header{display:flex;align-items:center;gap:8px;padding:10px 10px 8px 14px;border-bottom:1px solid var(--sp-line)}
.sp-dock header strong{flex:1;font:600 13px/1.3 system-ui,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-dock-tools{display:flex;gap:4px}
.sp-dock-btn{height:26px;padding:0 9px;border-radius:7px;border:1px solid var(--sp-line);background:rgba(255,255,255,.03);color:var(--sp-ink);font:600 12px/1 system-ui;cursor:pointer}
.sp-dock-btn:hover{border-color:var(--sp-c)}
.sp-dock-x{width:26px;height:26px;border:0;border-radius:7px;background:none;color:var(--sp-mut);font:18px/1 system-ui;cursor:pointer}
.sp-dock-x:hover{background:rgba(255,255,255,.06);color:var(--sp-ink)}
.sp-dock-grab{display:none}
.sp-dock-body{flex:1;min-height:0;overflow:auto;padding:10px 12px 14px}
.sp-canvas{width:100%;height:100%;min-height:300px;resize:none;border:0;outline:0;background:transparent;color:var(--sp-ink);font:14px/1.6 system-ui,sans-serif}
.sp-canvas.is-code{font:12.5px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre;tab-size:2}
.sp-insp h4{font:600 11px/1 system-ui;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-mut);margin:14px 0 6px}
.sp-insp-note{font:12px/1.4 system-ui;color:#f2c66d;margin:0 0 6px}
.sp-tbl-wrap{overflow:auto;border:1px solid var(--sp-line);border-radius:9px}
.sp-tbl{width:100%;border-collapse:collapse;font:12.5px/1.35 system-ui,sans-serif}
.sp-tbl th,.sp-tbl td{padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.05);text-align:left;white-space:nowrap}
.sp-tbl th{font-weight:600;color:var(--sp-mut);background:rgba(255,255,255,.02);position:sticky;top:0}
.sp-tbl td:nth-child(n+2){font-variant-numeric:tabular-nums}
.sp-pre{margin:0;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;color:#cfe9f2}
@media (max-width:800px){
  .sp-dock{left:0;right:0;top:auto;bottom:0;width:auto;height:min(76dvh,640px);border-radius:16px 16px 0 0;transform:translateY(105%)}
  .sp-dock-grab{display:block;width:36px;height:4px;border-radius:2px;background:rgba(255,255,255,.22);margin:7px auto 0}
}

/* ---------- reply pieces ---------- */
.sp-research{margin:8px 0 2px;border:1px solid var(--sp-line);border-radius:10px;background:rgba(125,233,223,.04)}
.sp-research summary{list-style:none;cursor:pointer;padding:6px 10px;font:600 12px/1.2 system-ui,sans-serif;color:var(--sp-c)}
.sp-research summary::-webkit-details-marker{display:none}
.sp-research summary i{font-style:normal;margin-left:4px;display:inline-block;transition:transform .15s}
.sp-research[open] summary i{transform:rotate(180deg)}
.sp-research ol{margin:0;padding:0 12px 8px 30px;font:12.5px/1.45 system-ui,sans-serif}
.sp-research li a{color:#cfe9f2}
.sp-research li small{margin-left:6px;color:var(--sp-mut)}
.sp-copyblock{margin:8px 0;border:1px solid var(--sp-line);border-radius:10px;overflow:hidden}
.sp-cb-head{display:flex;align-items:center;justify-content:space-between;padding:5px 6px 5px 10px;background:rgba(255,255,255,.03);font:600 11px/1 system-ui;color:var(--sp-mut)}
.sp-cb-copy{height:24px;padding:0 10px;border:0;border-radius:6px;background:linear-gradient(135deg,var(--sp-c),var(--sp-v));color:#05070d;font:700 11px/1 system-ui;cursor:pointer}
.sp-cb-text{padding:9px 10px;font:14px/1.5 system-ui,sans-serif;white-space:pre-wrap;user-select:text}
.sp-open-canvas{margin-left:auto;height:22px;padding:0 8px;border-radius:6px;border:1px solid var(--sp-line);background:none;color:var(--sp-c);font:600 11px/1 system-ui;cursor:pointer}
.ak-actions .ak-stepup{font-size:12px!important;height:26px;padding:0 10px!important}

/* ---------- "/" and "@chat" popover ---------- */
.sp-pop{position:fixed;z-index:3000;max-height:300px;overflow:auto;padding:4px;border-radius:12px;background:var(--sp-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--sp-line);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.sp-pop-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;border:0;background:none;color:var(--sp-ink);padding:6px 10px;border-radius:8px;text-align:left;cursor:pointer}
.sp-pop-row strong{font:600 13px/1.25 system-ui,sans-serif}
.sp-pop-row span{font:12px/1.25 system-ui;color:var(--sp-mut);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-pop-row.is-act,.sp-pop-row:hover{background:rgba(125,233,223,.09)}
.sp-pop-empty{padding:8px 10px;font:12px/1.3 system-ui;color:var(--sp-mut)}

/* ---------- drawer: search + folders ---------- */
.ps-chatsearch{padding:4px 10px 6px}
.ps-chatsearch input{width:100%;height:30px;border-radius:8px;border:1px solid var(--sp-line);background:rgba(255,255,255,.04);color:var(--sp-ink);padding:0 10px;font:13px/1 system-ui,sans-serif;outline:0}
.ps-chatsearch input:focus{border-color:var(--sp-c)}
.is-searching>*:not(.ps-chatsearch):not(.ps-chatsearch-res){display:none!important}
.ps-folder>summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer}
.ps-folder>summary::-webkit-details-marker{display:none}
.ps-folder>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7}
.ps-folder>summary i{margin-left:auto;font-style:normal;opacity:.6}
#ps-queue{display:none!important}

/* ---------- settings density (ChatGPT scale) ---------- */
.sp-dialog .sp-title{font-size:17px!important}
.sp-dialog .sp-group>h3{font-size:11px!important;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-muted)}
.sp-dialog .sp-row,.sp-dialog .sp-row strong,.sp-dialog .sp-row p,.sp-dialog .sp-tab{font-size:13px!important}
.sp-dialog .sp-tab svg,.sp-dialog .sp-close svg{width:16px!important;height:16px!important}
.sp-dialog .sp-input{width:100%;min-width:200px;height:30px;border-radius:8px;border:1px solid var(--sp-line);background:var(--sp-card);color:var(--sp-text);padding:0 10px;font:13px/1.3 system-ui,sans-serif}
.sp-dialog .sp-ta{height:auto;min-height:72px;padding:8px 10px;resize:vertical}
.sp-dialog .sp-select{height:30px;border-radius:8px;border:1px solid var(--sp-line);background:var(--sp-card);color:var(--sp-text);padding:0 8px;font:13px/1 system-ui}
.sp-dialog .sp-profile .sp-row{align-items:flex-start}
.sp-dialog .sp-fact{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--sp-line);font-size:13px}
.sp-dialog .sp-facts{display:flex;flex-direction:column;margin:6px 0}

/* ---------- composer buttons: 32px everywhere ---------- */
body.ps .ps-send:not(.ps-stopbtn),body.ps.ps-has-text .ps-send:not(.ps-stopbtn),body.ps.ps-busy:not(.ps-has-text) .ps-stopbtn,body.ps #ps-plus,body.ps .ps-plus,body.ps #dictation-button{width:32px!important;height:32px!important;min-width:32px}
body.ps .ps-send svg,body.ps .ps-stopbtn svg,body.ps .ps-plus svg{width:16px;height:16px}
body.ps.ps-busy.ps-has-text .ps-send:not(.ps-stopbtn){width:auto!important;height:32px!important;padding:0 12px 0 9px!important}
body.ps.ps-busy.ps-has-text .ps-send:not(.ps-stopbtn) .ps-bump-lbl{font-size:13px!important}

/* ---------- Code tab: the artwork fills the whole main pane (no boxed card) ---------- */
body.ps.cv-stage-video.ps-wide.coding-chats.ps-welcome #ps-pablocard{
  position:fixed!important;inset:0 0 0 0!important;left:0!important;top:0!important;transform:none!important;
  width:auto!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;
  border-radius:0!important;box-shadow:none!important;z-index:0!important;overflow:hidden!important;background:#05070d!important}
body.ps.cv-stage-video.ps-wide.ps-dock.coding-chats.ps-welcome #ps-pablocard{left:var(--ps-dockw,288px)!important}
body.ps.cv-stage-video.ps-wide #ps-pablocard .cv-stage-loop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 40%;z-index:0}
body.ps.cv-stage-video.ps-wide.coding-chats.ps-welcome #ps-pablocard::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,7,13,.55) 0,rgba(5,7,13,0) 22%,rgba(5,7,13,0) 58%,rgba(5,7,13,.82) 100%)}
body.ps.cv-stage-video.ps-wide.coding-chats.ps-welcome{background:#05070d!important}
/* Phone: the loop already covers the screen; keep it edge to edge under a clean overlay. */
body.ps.cv-stage-video:not(.ps-wide) .cv-stage-loop{inset:0!important;width:100vw!important;object-fit:cover!important}
body.ps.cv-stage-video:not(.ps-wide).coding-chats::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(5,7,13,.45) 0,rgba(5,7,13,0) 25%,rgba(5,7,13,0) 60%,rgba(5,7,13,.8) 100%)}

.sp-power-pill span{overflow:hidden;text-overflow:ellipsis}
.sp-dialog .sp-profile .sp-row{display:flex!important;flex-direction:column;align-items:stretch!important;gap:6px}
.sp-dialog .sp-profile .sp-row-control{width:100%}
.sp-dialog .sp-profile .sp-row-control .sp-input{width:100%}

/* Phone Code home: Pablo's stage fills the screen; the centre horse and his bubble step aside so the art reads clean. */
body.ps.cv-stage-video.coding-chats.ps-welcome:not(.ps-wide):not(.ps-squad) #anyki-clean-center-daniel-wrap,
body.ps.cv-stage-video.coding-chats.ps-welcome:not(.ps-wide):not(.ps-squad) #horse-avatar-mount,
body.ps.cv-stage-video.coding-chats.ps-welcome:not(.ps-wide):not(.ps-squad) #cv-stal{display:none!important}

/* 4 Nov (Jamie): clean chat flow like Claude / ChatGPT / Gemini. No message cards, no header bar, no boxed "Copy".
   User = compact right-aligned glass pill. Assistant = borderless prose in a 760px column. Icon-only actions under it. */
body #messages{max-width:760px!important;width:100%!important;margin:0 auto!important;gap:22px!important;padding-left:16px!important;padding-right:16px!important;box-sizing:border-box}
body #messages article.message{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:100%!important;width:100%!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important}
body #messages article.message::before,body #messages article.message::after{display:none!important}
body #messages article.message .message-meta{display:none!important}
body #messages article.message .message-body{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;max-width:100%!important;font-size:15px!important;line-height:1.65!important;color:#e6ecf4!important}
body #messages article.message .message-body p{margin:0 0 .75em}
body #messages article.message .message-body p:last-child{margin-bottom:0}
body #messages article.message.user{display:flex!important;flex-direction:column!important;align-items:flex-end!important}
body #messages article.message.user .message-body{width:auto!important;max-width:70%!important;background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.07)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px!important;padding:8px 14px!important;font-size:14px!important;line-height:1.5!important}
body #messages article.message.user .message-body p{margin:0}
body #messages .anyki-msg-actions{display:flex!important;align-items:center;gap:6px!important;margin:4px 0 0!important;padding:0!important;border:0!important;background:none!important}
body #messages article.message.user .anyki-msg-actions{opacity:0;transition:opacity .15s}
body #messages article.message.user:hover .anyki-msg-actions,body #messages article.message.user:focus-within .anyki-msg-actions{opacity:1}
body #messages .ak-msg-icon{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;border:0!important;border-radius:50%!important;background:none!important;color:#9aa0a6!important;cursor:pointer;box-shadow:none!important}
body #messages .ak-msg-icon:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
body #messages article.message.user .ak-msg-icon svg{width:14px;height:14px}
body #messages .ak-msg-icon svg{width:16px;height:16px}
@media (hover:none){body #messages article.message.user .anyki-msg-actions{opacity:.8}}

/* One primary circle on the right: voice wave when the box is empty, up arrow when there is text. No Daniel button. */
body .ps-daniel,body #ps-daniel,body #cv-stal{display:none!important}
body.ps:not(.ps-busy) .composer .ps-send:not(.ps-stopbtn),body.ps.ps-busy.ps-has-text .composer .ps-send:not(.ps-stopbtn){display:inline-flex!important;width:32px!important;height:32px!important;min-width:32px;border-radius:50%!important;padding:0!important;align-items:center;justify-content:center;opacity:1!important;background:linear-gradient(135deg,#7de9df,#bc9cf7)!important;color:#05070d!important}
body.ps .ps-send .ps-ico-up,body.ps .ps-send .ps-ico-wave{display:none;line-height:0}
body.ps.ps-has-text .ps-send .ps-ico-up{display:inline-flex}
body.ps:not(.ps-has-text) .ps-send .ps-ico-wave{display:inline-flex}
body.ps .ps-send .ps-ico-up svg,body.ps .ps-send .ps-ico-wave svg{width:17px!important;height:17px!important;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body.ps:not(.ps-busy) .ps-send .ps-bump-lbl{display:none!important}
/* No floating Daniel avatar in the top-right corner once a chat is open (home keeps him centred). */
body.ps:not(.ps-welcome):not(.coding-chats) #anyki-clean-center-daniel-wrap{display:none!important}

body #messages .ak-msg-icon.is-on{color:#7de9df!important}
body #messages article.message.assistant .anyki-msg-actions{margin-left:-6px!important}
/* ⋯ / ↻ popover: compact dark glass, 13px rows, 16px icons */
.ak-pop{position:fixed;z-index:5000;min-width:220px;max-width:300px;padding:6px;border-radius:14px;background:rgba(22,26,34,.92);border:1px solid rgba(255,255,255,.09);box-shadow:0 12px 32px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.ak-pop-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:9px;background:none;color:#e3e7ec;font:400 13px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;cursor:pointer}
.ak-pop-row:hover,.ak-pop-row:focus-visible{background:rgba(255,255,255,.08);outline:none}
.ak-pop-row svg{flex:0 0 16px;width:16px;height:16px;color:#9aa0a6}
.ak-pop-row span{flex:1}
.ak-pop-details{padding:10px 12px}
.ak-pop-title{font:600 13px/1.3 system-ui,sans-serif;color:#fff;margin:0 0 8px}
.ak-pop-kv{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font:400 12.5px/1.3 system-ui,sans-serif;color:#9aa0a6}
.ak-pop-kv code{color:#e3e7ec;font:12px/1.3 ui-monospace,Consolas,monospace;text-align:right;word-break:break-all}
.ak-flash{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:5001;padding:7px 14px;border-radius:999px;background:rgba(22,26,34,.95);border:1px solid rgba(255,255,255,.1);color:#e3e7ec;font:13px/1 system-ui,sans-serif}
/* Code blocks: language label left (12px muted), bare 16px copy icon right */
body #messages .code-block .code-header{display:flex!important;align-items:center;justify-content:space-between;padding:6px 8px 6px 12px!important;background:rgba(255,255,255,.04)!important;border:0!important}
body #messages .code-block .code-lang{font:12px/1 system-ui,sans-serif;color:#9aa0a6;text-transform:none}
body #messages .code-block .code-copy{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;border:0!important;border-radius:50%!important;background:none!important;color:#9aa0a6!important;box-shadow:none!important;cursor:pointer}
body #messages .code-block .code-copy:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
body #messages article.message.assistant,body #messages article.message.assistant .message-body,body #messages article.message.assistant .message-body *{text-align:left!important}
body #messages article.message.assistant .anyki-msg-actions{justify-content:flex-start!important}
body #messages article.message.assistant{align-items:flex-start!important}
body #messages article.message.assistant .message-body{width:100%!important}

/* Dan -> Mecha Dan 3D fibre-optic canopy (web/fibre-canopy.js): pure black glass behind Dan, old fibre layer off. */
#ak-canopy{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none!important;z-index:0!important;display:block}
#anyki-connected-fibre-canvas{display:none!important}
body.ps.ps-wide .conversation-panel,body .conversation-panel{background:#000!important}
#anyki-single-clean-daniel{transition:filter .4s ease}
body.ak-mecha-dan #anyki-single-clean-daniel{filter:drop-shadow(0 0 14px rgba(125,233,223,.55)) drop-shadow(0 0 28px rgba(188,156,247,.35))!important}
#ak-mecha-dan{position:absolute;z-index:1;pointer-events:none;object-fit:contain;opacity:0;transition:opacity .25s;filter:drop-shadow(0 0 16px rgba(125,233,223,.55)) drop-shadow(0 0 30px rgba(188,156,247,.35))}
/* Desktop: the conversation column keeps its full width so short replies sit hard left (it was shrinking to the text and centring). */
body .conversation-panel > .conversation-content{width:min(100%,820px)!important;max-width:820px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
body #messages{width:100%!important}
body.ps:not(.ps-welcome):not(.ak-mecha-dan) #ak-canopy{opacity:.45;transition:opacity .4s}
body,body.ps{background:#000!important}
.horse-avatar-fibres,svg.horse-avatar-fibres{display:none!important}
/* Dan + greeting dead centre of the chat panel (same axis as the chips card and composer), not half the window width. */
body.ps.ps-wide #anyki-clean-center-daniel-wrap{left:170px!important}
/* Greeting stays readable over the rising fibres */
#anyki-daniel-live-bubble,.ps-home-greet{text-shadow:0 0 6px #000,0 0 14px #000,0 0 22px rgba(0,0,0,.9)!important;position:relative;z-index:3}
/* Greeting: dark glass pill so it stays readable over Mecha glow */
#anyki-clean-center-daniel-wrap #anyki-daniel-live-bubble,.ps-home-greet{background:rgba(4,6,10,.72)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:14px!important;padding:6px 14px!important;text-shadow:0 1px 2px #000,0 0 10px #000!important;box-shadow:0 4px 18px rgba(0,0,0,.55)}
/* Roaming Blue Ghost across the header to "Chat" and back (translate, so its own animations keep running) */
@keyframes ak-ghost-roam{0%{translate:0 0;scale:1 1}8%{translate:0 -2px}46%{translate:calc(-1 * var(--ak-ghost-travel,200px)) 0;scale:1 1}50%{translate:calc(-1 * var(--ak-ghost-travel,200px)) -3px;scale:-1 1}54%{translate:calc(-1 * var(--ak-ghost-travel,200px)) 0}92%{translate:0 -2px;scale:-1 1}96%{scale:1 1}100%{translate:0 0;scale:1 1}}
body.ps #ps-ghost-top.ak-ghost-roam,body.ps.daniel-on-moon #ps-ghost-top.ak-ghost-roam{animation:ak-ghost-roam 14s ease-in-out infinite!important;position:relative;z-index:30}
body.ps:not(.ps-welcome).ak-mecha-dan #ak-canopy{opacity:.55;transition:opacity .4s}

/* Chat open + Mecha: Dan stands at the nexus behind the messages; text gets a dark halo */
body.ak-mecha-dan #messages article.message.assistant .message-body,body.ak-mecha-dan #messages .turn-card,body.ak-mecha-dan .task-work,body.ak-mecha-dan .turn-card{text-shadow:0 0 4px #000,0 0 10px #000,0 0 18px rgba(0,0,0,.9)}
#ak-mecha-dan{border-radius:0!important;background:none!important;border:0!important;outline:0!important;box-shadow:none!important;max-width:none!important;max-height:none!important;min-width:0!important;padding:0!important;margin:0!important;clip-path:none!important;transform:none!important}
/* In a running chat the work panel's mecha mascot is Mecha Dan: full size in overdrive (scale, so the layout doesn't move) */
#ps-repo,.ps-repo{display:none!important}

/* Stage Dan (fibre-canopy.js): one Dan on the stage, Mecha cross-fades over him in place. 4 Nov: no hard visibility cut on body.ak-mecha-dan any more (it blinked Dan out before Mecha had faded in); the canopy crossfade alone decides opacity. */
.ak-stage-dan{position:absolute;z-index:1;pointer-events:none;transition:opacity .25s}
#ak-stage-dan{filter:drop-shadow(0 0 10px rgba(125,233,223,.35))}
#ak-mecha-dan{filter:drop-shadow(0 0 16px rgba(125,233,223,.6)) drop-shadow(0 0 30px rgba(188,156,247,.4))!important}
#work-focus-hub>img[data-mecha-mascot]{display:none!important}
/* chat text stays readable over Dan and the weave */
body #messages article.message.assistant .message-body,body .task-work,body .turn-card{text-shadow:0 0 4px #000,0 0 10px #000}

/* JEV telemetry boxes (desktop only; fibre-canopy.js) */
#ak-telemetry{position:absolute;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;height:66px;pointer-events:none}
.ak-tbox{--c:125,233,223;--lv:0;position:relative;min-width:0;padding:7px 10px 6px;border-radius:10px;background:rgba(6,9,14,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(var(--c),calc(.22 + var(--lv) * .6));box-shadow:0 0 calc(6px + var(--lv) * 22px) rgba(var(--c),calc(.08 + var(--lv) * .45)),inset 0 1px 0 rgba(255,255,255,.04);
  font:500 11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;color:#c9d3df;overflow:hidden;transition:border-color .3s}
.ak-t-cyan{--c:125,233,223}.ak-t-violet{--c:188,156,247}.ak-t-mint{--c:125,255,178}.ak-t-amber{--c:255,181,71}
.ak-tbox-h{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.ak-tbox-h i{width:6px;height:6px;border-radius:50%;background:rgb(var(--c));box-shadow:0 0 calc(4px + var(--lv) * 10px) rgb(var(--c));opacity:calc(.5 + var(--lv) * .5)}
.ak-tbox-h b{color:rgb(var(--c));font-weight:700;letter-spacing:.02em;text-shadow:0 0 calc(var(--lv) * 10px) rgba(var(--c),.9)}
.ak-tbox-st{margin-left:auto;font-size:10px;color:#8b96a3;text-transform:uppercase;letter-spacing:.06em}
.ak-tbox.is-live .ak-tbox-st{color:rgb(var(--c))}
.ak-tbox-l1,.ak-tbox-l2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ak-tbox-l2{color:#7f8a97;font-size:10.5px}
@media (max-width:899px){#ak-telemetry{display:none!important}}
body.ak-telemetry-on #ps-chips{translate:0 -80px!important}
body.ak-telemetry-on .conversation-panel > .conversation-content{padding-bottom:84px!important;box-sizing:border-box}
/* Box 1 model.lane shows the live model status, so the floating activity strip is not needed on desktop */
body.ak-telemetry-on #ps-activity{display:none!important}
#cv-stal{display:none!important}
/* 4 Nov: Memory Vault dropdown, Project Vault picker */
.sp-vault{background:rgba(120,240,190,.05);border-color:rgba(120,240,190,.28)}
.sp-vault summary{color:#8ff0c6}
.sp-research h5{margin:4px 12px 3px;font:700 10.5px/1.2 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--sp-mut)}
.sp-vault ol li span{color:#d9efe6}
.sp-vault-facts{margin:0;padding:0 12px 9px 26px;font:12px/1.45 system-ui,sans-serif;color:#c4d3dc;max-height:260px;overflow:auto}
.sp-vault-facts li{margin:2px 0;word-break:break-word}
.sp-src-fact{margin:1px 0 4px;font:11.5px/1.4 system-ui,sans-serif;color:var(--sp-mut)}
.sp-vault-row{gap:5px;cursor:default}
.sp-vault-select{width:100%;height:30px;border-radius:8px;border:1px solid var(--sp-line);background:rgba(5,7,13,.6);color:var(--sp-ink);font:13px/1 system-ui,sans-serif;padding:0 8px}
.sp-vault-pill{background:linear-gradient(135deg,#8ff0c6,#7de9df)}
/* 4 Nov: the reply icon row (👍 👎 ↻ ⧉ ⋯) and dropdowns sit above Dan, who stands bottom-left on desktop */
#messages .anyki-msg-actions,#messages .sp-research{position:relative;z-index:6}

/* 4 Nov (Jamie): Code mode = Don Pablo's animated stage (smoking, turning round with the plate) as the whole
   background for every coding option. No Daniel, no Mecha Dan, no blue ghost, no funnel trees, no group picture. */
body.ps.coding-chats #anyki-clean-center-daniel-wrap,body.ps.coding-chats #anyki-single-clean-daniel,body.ps.coding-chats #ak-stage-dan,
body.ps.coding-chats #ak-mecha-dan,body.ps.coding-chats #ak-canopy,body.ps.coding-chats #ak-telemetry,body.ps.coding-chats #ps-ghost-top,
body.ps.coding-chats #anyki-ghost-btn,body.ps.coding-chats #anyki-svg-moon,body.ps.coding-chats #horse-avatar-mount,body.ps.coding-chats .horse-avatar-stage,
body.ps.coding-chats .syndicate-scene,body.ps.coding-chats #syndicate-stage,body.ps.coding-chats #anyki-connected-fibre-canvas,body.ps.coding-chats #ps-anim,
body.ps.coding-chats #ps-pablocard,body.ps.coding-chats .ps-daniel-turn,body.ps.coding-chats .ps-home-video{display:none!important}
body.ps.coding-chats{background:#05070d!important}
body.ps.coding-chats::before{display:none!important}
body.ps.cv-stage-video.coding-chats .cv-stage-loop{display:block!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;object-fit:cover!important;object-position:34% 50%;z-index:0!important;pointer-events:none;background:#05070d}
body.ps.ps-wide.ps-dock.cv-stage-video.coding-chats .cv-stage-loop{left:var(--ps-dockw,288px)!important;width:calc(100vw - var(--ps-dockw,288px))!important;object-position:50% 45%}
body.ps.cv-stage-video.coding-chats .conversation-panel,body.ps.cv-stage-video.coding-chats .workspace,body.ps.cv-stage-video.coding-chats main,body.ps.cv-stage-video.coding-chats .app-shell{background:transparent!important}
/* desktop: Pablo's line sits over the stage, like on the phone */
body.ps.ps-wide.coding-chats.ps-squad.ps-welcome .ps-pablo{display:flex!important;position:fixed!important;left:auto!important;right:28px!important;top:72px!important;width:360px!important;z-index:700;flex-direction:column;align-items:center;pointer-events:none}
body.ps.ps-wide.coding-chats .ps-pablo-face{display:none!important}
/* 5 Nov (Jamie): Normal Dan and Mecha Dan never show together. Mecha Dan exists only as #ak-mecha-dan (fibre-canopy.js
   shows exactly one of them); the old mecha layers inside the horse avatar and the work hub never show. */
body.ps .horse-avatar-mecha,body.ps [data-mecha-mascot]{display:none!important}
body.ps:not(.ak-mecha-dan) #ak-mecha-dan{display:none!important}
body.ps.ak-mecha-dan #ak-stage-dan{display:none!important}
body.ps.ak-mecha-dan #anyki-single-clean-daniel{visibility:hidden!important;opacity:0!important}
/* 5 Nov (Jamie): the first message sat on the top edge (y about 35px); the thread starts in the reading zone. */
body.ps.ps-wide #messages{padding-top:110px!important}
@media (max-width:800px){body.ps #messages{padding-top:76px!important}}
/* 5 Nov (Jamie): Gemini-style picker: name left, $ / $$ on paid, one-line description only on the picked one. */
.sp-pk-price,.sp-price{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;font:700 11px/18px system-ui,sans-serif;color:#05070d;background:linear-gradient(135deg,#7de9df,#bc9cf7);vertical-align:middle}
.sp-pk-row .sp-pk-desc{display:block;margin-top:2px;font-size:12.5px;color:#9aa6b8}
.sp-pk-exp,.sp-pk-sub{display:none!important}
.sp-pk-row.is-paid .sp-pk-name::after{content:none!important;display:none!important}
/* 5 Nov (Jamie): Blue Ghost glides smoothly back and forth (ping-pong, ease-in-out), no mid-way flip or jump. */
@keyframes ak-ghost-glide{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--ak-ghost-travel,200px)),0,0)}}
body.ps #ps-ghost-top.ak-ghost-roam,body.ps.daniel-on-moon #ps-ghost-top.ak-ghost-roam{animation:ak-ghost-glide 7s ease-in-out infinite alternate!important;translate:none!important;scale:none!important;will-change:transform}
@media (prefers-reduced-motion:reduce){body.ps #ps-ghost-top.ak-ghost-roam{animation:none!important}}
/* Picker as a small menu above the composer (phone-shell.js placeDial) */
.ps-sheet.ps-pop{position:fixed!important;transform:none!important;border-radius:16px!important;padding:8px 8px 6px!important;overflow-y:auto;box-shadow:0 18px 50px rgba(0,0,0,.6);border:1px solid rgba(122,156,184,.22);z-index:2600}
.ps-sheet.ps-pop:not(.is-open){display:none!important}
.ps-sheet.ps-pop .ps-grab{display:none}
.ps-sheet.ps-pop .sp-pk-title{padding:4px 10px 6px;font-size:12px;color:#9aa6b8}
.sp-pk-row .sp-pk-main{display:grid;grid-template-columns:1fr 18px;grid-template-rows:auto auto;align-items:center;min-height:50px;width:100%;text-align:left;padding:6px 10px}
.sp-pk-row .sp-pk-name{grid-column:1;grid-row:1}
.sp-pk-row .sp-pk-desc{grid-column:1;grid-row:2;display:block!important;margin-top:1px;font-size:12px;line-height:1.35;color:#9aa6b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-pk-row .sp-pk-check{grid-column:2;grid-row:1/3;text-align:center;color:#7de9df}
.sp-pk-def,.sp-def{font-style:normal;font-size:10.5px;color:#7de9df;margin-left:4px}

/* ---------- 6 Nov: Claude-sized compact + popover ---------- */
.ps-sheet.ps-menu-sheet.ps-plus-pop{position:fixed!important;width:228px!important;max-width:calc(100vw - 16px)!important;right:auto!important;top:auto!important;transform:none!important;padding:5px!important;border-radius:10px!important;background:rgba(20,22,28,.98)!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 12px 32px rgba(0,0,0,.6)!important;max-height:70vh!important;overflow-y:auto!important;z-index:9999!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-grab,.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-dial-title{display:none!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-menu-list{display:flex;flex-direction:column;gap:1px;padding:0!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-row{display:flex;align-items:center;gap:9px;min-height:30px!important;height:30px!important;padding:0 9px!important;border-radius:6px!important;font-size:13px!important;line-height:1.2!important;background:transparent!important;border:0!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-row:hover{background:rgba(255,255,255,.07)!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-row.is-on{background:rgba(125,233,223,.15)!important;color:#7de9df!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-ico,.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-ico svg{width:15px!important;height:15px!important;flex:0 0 15px!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .ps-lbl{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px!important}
.ps-plus-chev{margin-left:auto;opacity:.55;font-size:14px;line-height:1}
.ps-plus-sep{height:1px;background:rgba(255,255,255,.08);margin:4px 4px}
.ps-sheet.ps-menu-sheet.ps-plus-pop .sp-vault-row{padding:3px 9px!important;min-height:28px!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .sp-vault-row .sp-plus-name{display:none!important}
.ps-sheet.ps-menu-sheet.ps-plus-pop .sp-vault-select{margin:0!important;width:100%!important;font-size:12px!important;padding:3px 6px!important;height:24px!important}