/* ============================================================
   Theron OS · Actions + inline verify chip + live HUD
   Matches the OS material: frosted surfaces, candy tints,
   amber only on the primary action, moss/green for "live".
   ============================================================ */

/* ── dock identity for Actions (teal-green "live") ── */
.ic-actions{background:linear-gradient(160deg,#6FE0B4,#21B481 74%);color:#06311f;}
html[data-theme="dark"] .ic-actions{background:linear-gradient(160deg,#5FD0A4,#1FA876 74%);}
#dock [data-dock="actions"] svg{color:#21B481;}
#dock [data-dock="actions"].focused-app{background:linear-gradient(165deg,#6FE0B4,#21B481);}
#dock [data-dock="actions"].focused-app svg{color:#fff;}
.dock-app.has-jobs svg{color:#21B481;}
.dock-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;
  background:#21B481;color:#fff;font-family:var(--ff-mono);font-size:10px;font-weight:600;line-height:16px;text-align:center;
  box-shadow:0 2px 6px -1px rgba(33,180,129,.6);}
.dock-badge.coral{background:var(--c-coral);box-shadow:0 2px 6px -1px color-mix(in srgb,var(--c-coral) 60%,transparent);}

/* ── menubar live pill ── */
#mb-actions{display:none;align-items:center;gap:7px;font-family:var(--ff-mono);font-size:11px;font-weight:500;
  letter-spacing:.03em;color:#178a63;background:color-mix(in srgb,#21B481 14%,transparent);
  border:1px solid color-mix(in srgb,#21B481 40%,transparent);border-radius:var(--r-full);
  padding:4px 11px;cursor:pointer;white-space:nowrap;transition:transform .15s;}
#mb-actions.show{display:inline-flex;}
#mb-actions:hover{transform:translateY(-1px);}
#mb-actions .mba-dot{width:7px;height:7px;border-radius:50%;background:#21B481;position:relative;flex-shrink:0;}
#mb-actions .mba-dot::after{content:'';position:absolute;inset:-3px;border-radius:50%;background:#21B481;opacity:.3;}
@media (prefers-reduced-motion:no-preference){ #mb-actions .mba-dot::after{animation:mbaPing 1.8s var(--ease,ease) infinite;} }
@keyframes mbaPing{0%,100%{transform:scale(.7);opacity:.3;}50%{transform:scale(1.7);opacity:0;}}
#mb-actions.needs{color:var(--c-coral);background:color-mix(in srgb,var(--c-coral) 14%,transparent);border-color:color-mix(in srgb,var(--c-coral) 40%,transparent);}
#mb-actions.needs .mba-dot,#mb-actions.needs .mba-dot::after{background:var(--c-coral);}

/* ── composer ── */
.actionsapp .act-compose{display:flex;gap:9px;align-items:flex-end;}
.act-in{flex:1;resize:none;font-family:var(--ff-ui);font-size:14.5px;line-height:1.5;color:var(--ink-1);
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;outline:none;
  transition:border-color .16s,box-shadow .16s;}
.act-in:focus{border-color:color-mix(in srgb,var(--amber) 55%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.act-in::placeholder{color:var(--ink-3);}
.act-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.act-sg{font-family:var(--ff-ui);font-size:12.5px;color:var(--ink-2);background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-full);padding:6px 13px;cursor:pointer;transition:all .14s;}
.act-sg:hover{color:var(--ink-1);border-color:color-mix(in srgb,var(--ink-3) 50%,var(--line));transform:translateY(-1px);}

/* ── sections ── */
.act-sec{margin-top:22px;}
.act-sec-h{display:flex;align-items:center;gap:9px;margin-bottom:11px;}
.as-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.as-dot.live{background:#21B481;}
.as-dot.live::after{content:'';display:inline-block;}
.as-dot.coral{background:var(--c-coral);}
.as-dot.grape{background:var(--c-grape);}
.as-dot.ok{background:var(--ok);}
@media (prefers-reduced-motion:no-preference){
  .act-sec[data-sec="live"] .as-dot, .act-sec[data-sec="approval"] .as-dot{box-shadow:0 0 0 0 currentColor;animation:asPulse 1.8s ease infinite;color:#21B481;}
  .act-sec[data-sec="approval"] .as-dot{color:var(--c-coral);}
}
@keyframes asPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 50%,transparent);}70%{box-shadow:0 0 0 7px transparent;}100%{box-shadow:0 0 0 0 transparent;}}
.as-t{font-family:var(--ff-display);font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink-1);}
.as-n{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:1px 8px;}
.as-sub{font-size:12px;color:var(--ink-3);margin-left:2px;}
.act-rows{display:flex;flex-direction:column;gap:10px;}

/* ── live / needs cards ── */
.act-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 15px;box-shadow:var(--shadow-1);
  position:relative;overflow:hidden;}
.act-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:.85;}
.act-card.t-coral::before{background:var(--c-coral);}
.act-card.t-sky::before{background:var(--c-sky);}
.act-card.t-grape::before{background:var(--c-grape);}
.act-card.t-plum::before{background:var(--c-plum);}
.act-card.t-amber::before{background:var(--c-amber,var(--accent));}
.ac-top{display:flex;align-items:flex-start;gap:11px;}
.ac-ic{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);}
.ac-ic svg{width:17px;height:17px;}
.ac-ic.spin svg{animation:acSpin 1s linear infinite;}
@keyframes acSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){ .ac-ic.spin svg{animation:none;} }
.ac-m{flex:1;min-width:0;}
.ac-t{font-family:var(--ff-ui);font-weight:600;font-size:14px;color:var(--ink-1);line-height:1.35;text-wrap:pretty;}
.ac-s{font-size:12px;color:var(--ink-3);margin-top:3px;line-height:1.45;}
.ac-s b{color:var(--ink-2);font-weight:600;}
.ac-stage{color:var(--ink-2);font-weight:500;}
.ac-badge{font-family:var(--ff-mono);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 8px;border-radius:var(--r-sm);flex-shrink:0;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);
  display:inline-flex;align-items:center;gap:4px;}
.ac-badge svg{width:12px;height:12px;}
.ac-badge.coral{background:var(--bad-soft);color:var(--c-coral);border-color:color-mix(in srgb,var(--c-coral) 35%,transparent);}
.ac-badge.amber{background:var(--amber-glow);color:var(--accent-ink);border-color:color-mix(in srgb,var(--amber) 35%,transparent);}
.ac-badge.sky{background:color-mix(in srgb,var(--c-sky) 14%,transparent);color:var(--sky-deep,var(--c-sky));border-color:color-mix(in srgb,var(--c-sky) 35%,transparent);}
.ac-badge.grape{background:color-mix(in srgb,var(--c-grape) 14%,transparent);color:var(--c-grape);border-color:color-mix(in srgb,var(--c-grape) 35%,transparent);}
.ac-badge.plum{background:color-mix(in srgb,var(--c-plum) 14%,transparent);color:var(--c-plum);border-color:color-mix(in srgb,var(--c-plum) 35%,transparent);}
.ac-bar{height:4px;border-radius:3px;background:var(--surface-2);margin-top:12px;overflow:hidden;}
.ac-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#6FE0B4,#21B481);transition:width .5s var(--ease,ease);}
.act-card.needs .ac-bar{display:none;}
.ac-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;}

/* ── autopilot ── */
.ap-rule{display:flex;align-items:flex-start;gap:12px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:13px 14px;box-shadow:var(--shadow-1);}
.ap-rule.off{opacity:.6;}
.ap-toggle{width:34px;height:20px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);
  position:relative;cursor:pointer;flex-shrink:0;margin-top:2px;transition:background .18s;}
.ap-toggle i{position:absolute;top:1.5px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--ink-3);transition:transform .18s,background .18s;}
.ap-toggle.on{background:linear-gradient(165deg,#6FE0B4,#21B481);border-color:transparent;}
.ap-toggle.on i{transform:translateX(13px);background:#fff;}
.ap-m{flex:1;min-width:0;}
.ap-when{font-family:var(--ff-ui);font-weight:600;font-size:13.5px;color:var(--ink-1);}
.ap-does{font-size:12.5px;color:var(--ink-2);margin-top:3px;line-height:1.5;text-wrap:pretty;}
.ap-meta{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);margin-top:5px;}
.ap-act{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.ap-x{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--ink-3);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .14s;}
.ap-x:hover{background:var(--bad-soft);color:var(--bad);}
.ap-x svg{width:14px;height:14px;}
.ap-empty{display:flex;align-items:center;gap:13px;background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--r-lg);padding:16px;font-size:13px;color:var(--ink-2);line-height:1.5;}
.ap-empty b{color:var(--ink-1);}
.ap-road{color:var(--ink-3);}
.ap-presets{margin-top:10px;display:flex;flex-direction:column;gap:7px;}
.ap-presets-h{font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 2px;}
.ap-preset{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:1px solid var(--line);
  border-radius:var(--r);padding:10px 12px;cursor:pointer;font-size:12.5px;color:var(--ink-2);line-height:1.45;transition:all .14s;}
.ap-preset:hover{background:var(--surface);border-color:color-mix(in srgb,var(--ink-3) 40%,var(--line));color:var(--ink-1);}
.ap-preset b{color:var(--ink-1);font-weight:600;}
.ap-preset.custom{border-style:dashed;}
.ap-plus{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;background:var(--surface-2);color:var(--ink-3);}
.ap-plus svg{width:14px;height:14px;}

/* ── done rows + inline verify ── */
.done-row{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);flex-wrap:wrap;}
.dr-ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;color:var(--ok);background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent);}
.dr-ic.bad{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent);}
.dr-ic svg{width:15px;height:15px;}
.dr-m{flex:1;min-width:140px;}
.dr-t{font-family:var(--ff-ui);font-weight:600;font-size:13.5px;color:var(--ink-1);line-height:1.35;}
.dr-s{font-size:11.5px;color:var(--ink-3);margin-top:2px;}
.dr-v{margin-left:auto;}
.act-empty{display:flex;align-items:center;gap:13px;background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--r-lg);padding:18px;font-size:13px;color:var(--ink-2);line-height:1.5;}

/* ── reusable inline verify chip ── */
.vchip{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:11px;color:var(--ok);
  background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 32%,transparent);border-radius:var(--r-full);
  padding:3px 9px;cursor:pointer;user-select:none;transition:transform .14s,box-shadow .14s;white-space:nowrap;}
.vchip:hover{transform:translateY(-1px);box-shadow:var(--shadow-1);}
.vchip .vc-ic{display:inline-flex;}
.vchip .vc-ic svg{width:13px;height:13px;}
.vchip .vc-go{font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.vchip.is-fail{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 35%,transparent);}
.vchip.open{box-shadow:0 0 0 2px var(--ok-soft);}
.vchip.is-fail.open{box-shadow:0 0 0 2px var(--bad-soft);}

.vpanel{margin-top:9px;width:100%;background:var(--surface);border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line));
  border-radius:var(--r-lg);padding:13px;box-shadow:var(--shadow-1);animation:vpIn .2s var(--ease,ease);}
.vpanel.invalid{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));}
@keyframes vpIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.vp-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:11px;}
.vp-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:11px;font-weight:600;
  letter-spacing:.04em;padding:4px 10px;border-radius:var(--r-full);}
.vp-badge svg{width:14px;height:14px;}
.vp-badge.ok{color:var(--ok);background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);}
.vp-badge.bad{color:var(--bad);background:var(--bad-soft);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);}
.vp-meta{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);}
.vp-cli{background:#0f1411;border:1px solid #20271f;border-radius:var(--r);overflow:hidden;margin-bottom:11px;}
html[data-theme="light"] .vp-cli{background:#10140f;}
.vp-cli-h{display:flex;align-items:center;gap:7px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.06em;
  color:#7b8a78;padding:7px 11px;border-bottom:1px solid #20271f;}
.vc-dots{display:inline-flex;gap:4px;}
.vc-dots i{width:7px;height:7px;border-radius:50%;background:#39433a;}
.vp-cli-b{font-family:var(--ff-mono);font-size:11.5px;line-height:1.65;color:#cdd6cb;padding:10px 12px;white-space:pre-wrap;}
.vp-cli-b .pr{color:#5fae8a;}
.vp-cli-b .dim{color:#6f7c6d;}
.vp-cli-b .ok{color:#6FE0A4;}
.vp-cli-b .bad{color:#FF8A93;}
.vp-sig{margin-bottom:11px;}
.vp-sig-k{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink-3);margin-bottom:5px;}
.vp-hint{color:var(--ink-3);}
.vp-sigchars{font-family:var(--ff-mono);font-size:12.5px;line-height:1.7;color:var(--ink-2);word-break:break-all;user-select:none;}
.vhx{padding:0 .5px;border-radius:2px;cursor:pointer;transition:background .14s,color .14s;}
.vhx:hover{background:var(--amber-glow);color:var(--ink-1);}
.vhx.tampered{color:var(--bad);background:var(--bad-soft);font-weight:600;}
.vp-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.vp-note{font-size:12px;color:var(--ink-2);line-height:1.45;flex:1;min-width:160px;}
.vpanel.invalid .vp-note{color:var(--bad);}

@media (max-width:560px){
  .actionsapp .act-compose{flex-direction:column;align-items:stretch;}
  .actionsapp .act-compose .pbtn{justify-content:center;}
  .dr-v{margin-left:0;width:100%;}
}

/* ============================================================
   Theron OS · Rewind — agentic Time Machine
   ============================================================ */
.ic-rewind{background:linear-gradient(160deg,#9D90F2,#5B49D6 74%);color:#fff;}
html[data-theme="dark"] .ic-rewind{background:linear-gradient(160deg,#8E80EC,#4C3ACB 74%);}
#dock [data-dock="rewind"] svg{color:#6E5BE0;}
#dock [data-dock="rewind"].focused-app{background:linear-gradient(165deg,#9D90F2,#5B49D6);}
#dock [data-dock="rewind"].focused-app svg{color:#fff;}

.rewindapp .rw{display:grid;grid-template-columns:320px 1fr;height:100%;min-height:0;}
.rw-list{border-right:1px solid var(--line);min-height:0;overflow:auto;background:var(--surface-2);}
.rw-top{position:sticky;top:0;z-index:2;background:var(--surface-2);padding:16px 16px 12px;border-bottom:1px solid var(--line);}
.rw-ttl{font-family:var(--ff-display);font-weight:700;font-size:19px;letter-spacing:-.02em;}
.rw-sub{font-size:11.5px;color:var(--ink-3);line-height:1.45;margin-top:4px;}
.rw-search{display:flex;align-items:center;gap:8px;margin-top:11px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:7px 11px;}
.rw-search svg{width:15px;height:15px;color:var(--ink-3);}
.rw-search input{flex:1;border:0;background:transparent;outline:none;font-family:var(--ff-ui);font-size:13px;color:var(--ink-1);}
.rw-day{font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:14px 16px 6px;}
.rw-node{display:flex;align-items:flex-start;gap:11px;padding:9px 16px;cursor:pointer;position:relative;transition:background .12s;}
.rw-node:hover{background:color-mix(in srgb,var(--surface) 60%,transparent);}
.rw-node.sel{background:var(--surface);}
.rw-rail{position:relative;width:14px;flex-shrink:0;display:flex;justify-content:center;padding-top:4px;}
.rw-rail::before{content:'';position:absolute;top:-10px;bottom:-10px;left:50%;width:1.5px;background:var(--line);transform:translateX(-50%);}
.rw-dot{width:11px;height:11px;border-radius:50%;position:relative;z-index:1;border:2px solid var(--surface-2);background:var(--accent);box-shadow:0 0 0 1px var(--line);}
.rw-node.sel .rw-dot{box-shadow:0 0 0 3px color-mix(in srgb,#6E5BE0 28%,transparent);}
.rw-dot.t-coral{background:var(--c-coral);} .rw-dot.t-sky{background:var(--c-sky);} .rw-dot.t-grape{background:var(--c-grape);}
.rw-dot.t-plum{background:var(--c-plum);} .rw-dot.t-lime{background:var(--c-lime);} .rw-dot.t-amber{background:var(--c-amber);}
.rw-m{flex:1;min-width:0;}
.rw-t{font-family:var(--ff-ui);font-weight:600;font-size:13.5px;color:var(--ink-1);line-height:1.35;text-wrap:pretty;}
.rw-node.tampered .rw-t{color:var(--bad);}
.rw-node.tampered .rw-dot{background:var(--bad);}
.rw-s{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);margin-top:3px;}
.rw-flag{align-self:center;font-family:var(--ff-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 6px;}
.rw-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:40px 24px;color:var(--ink-3);font-size:13px;line-height:1.5;}

.rw-detail{min-height:0;overflow:auto;}
.rd-d-empty{height:100%;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:30px;}
.rd-d-empty .t{font-family:var(--ff-display);font-weight:700;font-size:18px;margin-top:6px;}
.rd-d-empty .s{font-size:13px;color:var(--ink-3);max-width:38ch;line-height:1.5;}
.rd-hd{padding:22px 24px 18px;border-bottom:1px solid var(--line);position:relative;}
.rd-hd::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);}
.rd-hd.t-coral::before{background:var(--c-coral);} .rd-hd.t-sky::before{background:var(--c-sky);} .rd-hd.t-grape::before{background:var(--c-grape);}
.rd-hd.t-plum::before{background:var(--c-plum);} .rd-hd.t-lime::before{background:var(--c-lime);} .rd-hd.t-amber::before{background:var(--c-amber);}
.rd-when{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink-3);}
.rd-when svg{width:13px;height:13px;}
.rd-act{font-family:var(--ff-display);font-weight:700;font-size:21px;letter-spacing:-.02em;margin-top:7px;line-height:1.2;text-wrap:pretty;}
.rd-meta{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);margin-top:6px;}
.rd-undone,.rd-meta .rd-undone{color:var(--accent-ink);}
.rd-body{padding:18px 24px 26px;display:flex;flex-direction:column;gap:14px;}
.rd-block{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 15px;}
.rd-bh{font-family:var(--ff-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;}
.rd-f{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:6px 0;border-top:1px solid var(--line-2);}
.rd-f:first-of-type{border-top:0;}
.rd-k{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);}
.rd-v{font-size:13px;color:var(--ink-1);word-break:break-word;line-height:1.45;}
.rd-restore-row,.rd-undo-row{display:flex;align-items:center;gap:14px;}
.rd-rt{flex:1;font-size:13px;color:var(--ink-2);line-height:1.5;}
.rd-rt b{color:var(--ink-1);font-weight:600;}
.rd-restore-row .pbtn,.rd-undo-row .pbtn{flex-shrink:0;}
.rd-verify-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.rd-vnote{font-size:12px;color:var(--ink-3);line-height:1.4;}

@media (max-width:680px){
  .rewindapp .rw{grid-template-columns:1fr;}
  .rw-list{max-height:240px;border-right:0;border-bottom:1px solid var(--line);}
  .rd-restore-row,.rd-undo-row{flex-direction:column;align-items:stretch;}
  .rd-restore-row .pbtn,.rd-undo-row .pbtn{justify-content:center;}
}

/* ============================================================
   Theron OS · About This Computer
   ============================================================ */
.about-ov{position:fixed;inset:0;z-index:7000;display:flex;align-items:center;justify-content:center;padding:24px;
  background:color-mix(in srgb,var(--ink-1) 38%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;transition:opacity .2s var(--ease,ease);}
.about-ov.on{opacity:1;}
.about-card{position:relative;width:min(440px,94vw);max-height:92vh;overflow:auto;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-3,0 30px 80px -20px rgba(25,14,36,.45));
  padding:30px 26px 22px;text-align:center;transform:translateY(10px) scale(.98);transition:transform .24s var(--bounce,cubic-bezier(.34,1.56,.64,1));}
.about-ov.on .about-card{transform:none;}
.about-x{position:absolute;top:13px;right:13px;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;
  color:var(--ink-3);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .14s;}
.about-x:hover{background:var(--surface-2);color:var(--ink-1);}
.about-x svg{width:16px;height:16px;}
.about-hero{display:flex;flex-direction:column;align-items:center;gap:3px;padding-bottom:18px;}
.about-gem{line-height:0;margin-bottom:8px;filter:drop-shadow(0 6px 16px rgba(120,40,140,.28));}
.about-name{font-family:var(--ff-display);font-weight:700;font-size:26px;letter-spacing:-.025em;}
.about-tag{font-family:var(--ff-serif);font-style:italic;font-size:16px;line-height:1.3;color:var(--accent-ink);max-width:30ch;}
.about-ver{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;}
.about-id{display:flex;align-items:center;gap:11px;text-align:left;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:12px 13px;margin-bottom:13px;}
.about-id-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;color:var(--accent-ink);background:var(--amber-glow);}
.about-id-ic svg{width:17px;height:17px;}
.about-id-m{flex:1;min-width:0;}
.about-id-t{font-family:var(--ff-ui);font-weight:600;font-size:13px;color:var(--ink-1);}
.about-id-k{margin-top:2px;}
.about-id-k code{font-family:var(--ff-mono);font-size:11px;color:var(--accent-ink);word-break:break-all;}
.about-id-s{display:inline-flex;align-items:center;gap:5px;font-family:var(--ff-mono);font-size:10px;font-weight:600;
  letter-spacing:.03em;color:var(--ok);background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);
  border-radius:var(--r-full);padding:4px 9px;flex-shrink:0;}
.about-id-s svg{width:13px;height:13px;}
.about-id-s.bad{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 35%,transparent);}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;}
.about-stat{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:11px 6px;}
.about-stat b{display:block;font-family:var(--ff-display);font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--ink-1);line-height:1.1;}
.about-stat span{font-family:var(--ff-mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;display:block;line-height:1.3;}
.about-note{text-align:left;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:13px 15px;margin-bottom:16px;}
.about-note-h{display:flex;align-items:center;gap:7px;font-family:var(--ff-display);font-weight:700;font-size:13.5px;margin-bottom:6px;}
.about-note-h svg{width:15px;height:15px;color:var(--accent-ink);}
.about-note p{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin:0;}
.about-note b{color:var(--ink-1);font-weight:600;}
.about-actions{display:flex;gap:9px;justify-content:center;margin-bottom:14px;}
.about-foot{font-family:var(--ff-mono);font-size:10px;color:var(--ink-3);line-height:1.6;border-top:1px solid var(--line-2);padding-top:12px;}
.about-foot span{display:inline-flex;align-items:center;gap:4px;}
.about-foot span svg{width:11px;height:11px;}
@media (max-width:440px){ .about-stats{grid-template-columns:repeat(2,1fr);} .about-actions{flex-direction:column;} .about-actions .pbtn{justify-content:center;} }

/* ============================================================
   Theron OS · This Computer (system)
   ============================================================ */
.ic-system{background:linear-gradient(160deg,#8FA0C0,#4E5E84 74%);color:#fff;}
html[data-theme="dark"] .ic-system{background:linear-gradient(160deg,#7E90B4,#42537A 74%);}
#dock [data-dock="system"] svg{color:#5E6E96;}
#dock [data-dock="system"].focused-app{background:linear-gradient(165deg,#8FA0C0,#4E5E84);}
#dock [data-dock="system"].focused-app svg{color:#fff;}

.sysapp{height:100%;}
.sys-scroll{height:100%;overflow:auto;padding:22px 24px 28px;}
.sys-hero{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.sys-gem{line-height:0;flex-shrink:0;filter:drop-shadow(0 6px 16px rgba(120,40,140,.26));}
.sys-name{font-family:var(--ff-display);font-weight:700;font-size:26px;letter-spacing:-.025em;line-height:1.05;}
.sys-tag{font-family:var(--ff-serif);font-style:italic;font-size:16px;color:var(--accent-ink);margin-top:2px;}
.sys-tag b{font-style:normal;font-family:var(--ff-ui);font-weight:600;font-size:14px;color:var(--ink-1);}
.sys-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.sys-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:4px 10px;}
.sys-chip svg{width:12px;height:12px;}
.sys-chip.ok{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 35%,transparent);}
.sys-chip .sd{width:7px;height:7px;border-radius:50%;background:var(--ok);}
@media (prefers-reduced-motion:no-preference){ .sys-chip .sd{box-shadow:0 0 0 0 var(--ok);animation:asPulse 2s ease infinite;color:var(--ok);} }

.sys-id{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:13px 15px;margin-top:18px;}
.sys-id-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;color:var(--accent-ink);background:var(--amber-glow);}
.sys-id-ic svg{width:18px;height:18px;}
.sys-id-m{flex:1;min-width:0;}
.sys-id-t{font-family:var(--ff-ui);font-weight:600;font-size:13.5px;color:var(--ink-1);}
.sys-id-k code{font-family:var(--ff-mono);font-size:11.5px;color:var(--accent-ink);word-break:break-all;}
.sys-id-since{font-family:var(--ff-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);text-align:right;line-height:1.5;flex-shrink:0;}
.sys-id-since b{color:var(--ink-1);font-size:13px;}

.sys-kernel{margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:18px;box-shadow:var(--shadow-1);position:relative;overflow:hidden;}
.sys-kernel::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ok);}
.sk-h{display:flex;align-items:flex-start;gap:14px;}
.sk-t{display:flex;align-items:center;gap:8px;font-family:var(--ff-display);font-weight:700;font-size:16px;letter-spacing:-.01em;}
.sk-t svg{width:17px;height:17px;color:var(--ok);}
.sk-s{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-top:5px;max-width:54ch;}
.sk-s b{color:var(--ink-1);}
.sk-stat{font-family:var(--ff-mono);font-size:10.5px;font-weight:600;color:var(--ok);background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);border-radius:var(--r-full);padding:4px 10px;white-space:nowrap;flex-shrink:0;}
.sk-meta{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0;}
.sk-meta span{font-family:var(--ff-mono);font-size:10px;letter-spacing:.03em;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px 8px;}
.sk-run{display:flex;align-items:center;gap:13px;flex-wrap:wrap;}
.sk-result{font-size:12.5px;color:var(--ink-2);line-height:1.45;flex:1;min-width:200px;display:flex;align-items:center;gap:7px;}
.sk-result b{color:var(--ink-1);}
.sk-result svg{width:15px;height:15px;flex-shrink:0;}
.sk-result.ok{color:var(--ok);} .sk-result.ok b{color:var(--ok);}
.sk-result.bad{color:var(--bad);} .sk-result.bad b{color:var(--bad);}
.sk-result .tspin{display:inline-flex;} .sk-result .tspin svg{animation:acSpin 1s linear infinite;width:15px;height:15px;}

.sys-sect{font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:24px 0 11px;}
.sys-prims{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;}
.sys-prim{display:flex;align-items:center;gap:11px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;box-shadow:var(--shadow-1);cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s;}
.sys-prim:not(.static):hover{transform:translateY(-1px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--ink-3) 40%,var(--line));}
.sys-prim.static{cursor:default;}
.sp-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);}
.sp-ic svg{width:16px;height:16px;}
.sp-m{flex:1;min-width:0;}
.sp-n{display:block;font-family:var(--ff-display);font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--ink-1);}
.sp-r{display:block;font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);margin-top:2px;}
.sp-r b{color:var(--ink-2);font-weight:500;}
.sp-v{font-family:var(--ff-mono);font-size:11px;color:var(--accent-ink);white-space:nowrap;flex-shrink:0;}

.sys-vm{margin-top:18px;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-lg);padding:15px 16px;}
.sys-vm-h{display:flex;align-items:center;gap:8px;font-family:var(--ff-display);font-weight:700;font-size:14.5px;}
.sys-vm-h svg{width:16px;height:16px;color:var(--accent-ink);}
.sys-vm p{font-size:13px;color:var(--ink-2);line-height:1.55;margin:7px 0 0;}
.sys-vm b{color:var(--ink-1);font-weight:600;}
.sys-port{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:13px;}
.sys-port-n{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);line-height:1.4;flex:1;min-width:180px;}
@media (max-width:600px){ .sys-prims{grid-template-columns:1fr;} .sys-hero{flex-direction:column;text-align:center;align-items:center;} .sys-id-since{display:none;} }

/* ============================================================
   Theron OS · Hive — add a specialist
   ============================================================ */
.agent.is-custom{position:relative;}
.agent.is-custom .ag-av{color:var(--c-grape);background:radial-gradient(72% 72% at 36% 28%,color-mix(in srgb,var(--c-grape) 24%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--c-grape) 42%,transparent);}
.ag-x{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;
  color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);opacity:0;cursor:pointer;transition:all .14s;z-index:2;}
.agent.is-custom:hover .ag-x{opacity:1;}
.ag-x:hover{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,transparent);}
.ag-x svg{width:13px;height:13px;}
.agent.add{cursor:pointer;border-style:dashed;background:var(--surface-2);text-align:left;font:inherit;}
.agent.add:hover{transform:translateY(-2px);box-shadow:var(--shadow-1);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));}
.agent.add .ag-av.add{color:var(--accent-ink);background:var(--amber-glow);border:1px solid color-mix(in srgb,var(--amber) 42%,transparent);}
.agent.add .ag-av.add svg{width:20px;height:20px;}
.agent.add .ag-n{color:var(--ink-1);} .agent.add .ag-r{color:var(--ink-3);}

.hive-new{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:15px;background:var(--surface);box-shadow:var(--shadow-1);animation:vpIn .2s var(--ease,ease);}
.hn-newh{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);line-height:1.45;margin-bottom:12px;}
.hn-newh svg{width:15px;height:15px;color:var(--accent-ink);flex-shrink:0;}
.hn-row{display:flex;gap:9px;margin-bottom:9px;}
.hn-in,.hn-ta{font-family:var(--ff-ui);font-size:13.5px;color:var(--ink-1);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 13px;outline:none;transition:border-color .16s,box-shadow .16s;}
.hn-in{flex:1;min-width:0;} .hn-in.wide{flex:1.6;}
.hn-ta{width:100%;box-sizing:border-box;resize:none;line-height:1.5;}
.hn-in:focus,.hn-ta:focus{border-color:color-mix(in srgb,var(--amber) 55%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.hn-in::placeholder,.hn-ta::placeholder{color:var(--ink-3);}
.hn-foot{display:flex;align-items:center;gap:8px;margin-top:11px;flex-wrap:wrap;}
.hn-sp{flex:1;}
@media (max-width:520px){ .hn-row{flex-direction:column;} .hn-in.wide{flex:1;} }

/* ============================================================
   Theron OS · Artifacts — creator + universal viewer
   ============================================================ */
/* shared modal scrim used by doc viewer + creator (scoped to the window) */
.doc-ov,.art-ov{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:18px;
  background:color-mix(in srgb,var(--ink-1) 30%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  opacity:0;transition:opacity .18s var(--ease,ease);}
.doc-ov.on,.art-ov.on{opacity:1;}

/* ── creator ── */
.art-card{width:min(560px,96%);max-height:92%;overflow:auto;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);box-shadow:var(--shadow-2);padding:20px;transform:translateY(8px) scale(.99);transition:transform .22s var(--bounce,ease);}
.art-ov.on .art-card{transform:none;}
.art-h{display:flex;align-items:flex-start;gap:13px;margin-bottom:16px;}
.art-gem{line-height:0;flex-shrink:0;}
.art-t{font-family:var(--ff-display);font-weight:700;font-size:19px;letter-spacing:-.02em;}
.art-s{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-top:3px;}
.art-x{margin-left:auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3);background:transparent;border:1px solid transparent;cursor:pointer;flex-shrink:0;}
.art-x:hover{background:var(--surface-2);color:var(--ink-1);}
.art-x svg{width:16px;height:16px;}
.art-types{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px;}
.art-type{display:flex;align-items:center;gap:11px;text-align:left;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:11px 12px;cursor:pointer;transition:all .14s;}
.art-type:hover{border-color:color-mix(in srgb,var(--ink-3) 40%,var(--line));transform:translateY(-1px);box-shadow:var(--shadow-1);}
.art-type.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--amber-glow);}
.at-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;}
.at-ic svg{width:18px;height:18px;}
.at-m{min-width:0;}
.at-m b{display:block;font-family:var(--ff-display);font-weight:700;font-size:13.5px;letter-spacing:-.01em;}
.at-m i{display:block;font-style:normal;font-size:11px;color:var(--ink-3);line-height:1.35;margin-top:2px;}
.ic-art-doc,.ic-art-text{background:rgba(184,212,227,.34);color:var(--sky-deep);}
.ic-art-code{background:color-mix(in srgb,var(--ink-1) 12%,var(--surface-2));color:var(--ink-1);}
.ic-art-web{background:color-mix(in srgb,var(--c-plum) 18%,transparent);color:var(--c-plum);}
.ic-art-sheet{background:color-mix(in srgb,var(--c-lime) 20%,transparent);color:#4e9b1f;}
.ic-art-data{background:var(--amber-glow);color:var(--accent-ink);}
.ic-art-vector{background:var(--bad-soft);color:var(--c-coral);}
.art-lang{margin-bottom:10px;}
.art-in,.art-prompt{width:100%;box-sizing:border-box;font-family:var(--ff-ui);font-size:14px;color:var(--ink-1);
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:11px 13px;outline:none;transition:border-color .15s,box-shadow .15s;}
.art-prompt{resize:none;line-height:1.5;}
.art-in:focus,.art-prompt:focus{border-color:color-mix(in srgb,var(--amber) 55%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.art-foot{display:flex;align-items:center;gap:10px;margin-top:13px;}
.art-pick{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);}
.art-pick b{color:var(--ink-1);}

/* ── universal viewer ── */
.doc-card{width:min(820px,98%);height:92%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);box-shadow:var(--shadow-2);overflow:hidden;transform:translateY(8px) scale(.99);transition:transform .22s var(--bounce,ease);}
.doc-ov.on .doc-card{transform:none;}
.doc-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;}
.doc-ti{display:flex;align-items:center;gap:9px;min-width:0;flex:1;}
.doc-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;}
.doc-ic svg{width:16px;height:16px;}
.doc-name{font-family:var(--ff-mono);font-size:13px;color:var(--ink-1);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.doc-badge{font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:2px 8px;flex-shrink:0;}
.doc-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.doc-tools .pbtn{white-space:nowrap;}
.doc-x{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3);background:transparent;border:1px solid transparent;cursor:pointer;}
.doc-x:hover{background:var(--bad-soft);color:var(--bad);}
.doc-x svg{width:16px;height:16px;}
.doc-dd{position:relative;}
.doc-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:5;min-width:172px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:5px;}
.doc-menu button{display:block;width:100%;text-align:left;font-family:var(--ff-ui);font-size:13px;color:var(--ink-1);background:transparent;border:0;border-radius:var(--r);padding:8px 10px;cursor:pointer;}
.doc-menu button:hover{background:var(--surface-2);}
.doc-body{flex:1;min-height:0;overflow:auto;}
.doc-empty{padding:40px;text-align:center;color:var(--ink-3);font-size:14px;}
.doc-edit{width:100%;height:100%;box-sizing:border-box;border:0;outline:none;resize:none;background:var(--surface);
  font-family:var(--ff-mono);font-size:13px;line-height:1.6;color:var(--ink-1);padding:20px 24px;}
/* previews */
.art-md{padding:26px 30px;max-width:760px;margin:0 auto;font-size:15px;line-height:1.7;color:var(--ink-1);}
.art-md h1{font-family:var(--ff-display);font-size:26px;letter-spacing:-.02em;margin:0 0 8px;}
.art-md h2{font-family:var(--ff-display);font-size:20px;margin:26px 0 6px;}
.art-md h3{font-family:var(--ff-display);font-size:16px;margin:20px 0 4px;}
.art-md p{margin:11px 0;}.art-md ul,.art-md ol{margin:11px 0;padding-left:24px;}.art-md li{margin:5px 0;}
.art-md code{font-family:var(--ff-mono);font-size:.88em;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;}
.art-pre,.art-code{margin:0;padding:20px 24px;font-family:var(--ff-mono);font-size:12.5px;line-height:1.65;color:var(--ink-1);white-space:pre-wrap;word-break:break-word;}
.art-code{background:color-mix(in srgb,var(--ink-1) 4%,var(--surface));}
.art-code code{font-family:inherit;}
.art-frame{width:100%;height:100%;border:0;background:#fff;}
.art-svg{padding:30px;display:grid;place-items:center;min-height:100%;background:repeating-conic-gradient(var(--surface-2) 0% 25%, transparent 0% 50%) 0/22px 22px;}
.art-svg svg{max-width:100%;max-height:60vh;height:auto;filter:drop-shadow(0 6px 20px rgba(0,0,0,.12));}
.art-tablewrap{padding:18px;overflow:auto;}
.art-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--ff-ui);}
.art-table th,.art-table td{border:1px solid var(--line);padding:7px 11px;text-align:left;}
.art-table th{background:var(--surface-2);font-weight:600;position:sticky;top:0;}
.art-table tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-2) 50%,transparent);}
@media (max-width:600px){ .art-types{grid-template-columns:1fr;} .doc-card{height:96%;width:99%;} }

/* dock — recede when idle so the long rail reads calmer; full on hover/active */
#dock .dock-app{opacity:.42;transition:opacity .16s var(--ease,ease);}
#dock:hover .dock-app,#dock .dock-app.focused-app,#dock .dock-app.running,#dock .dock-app.has-jobs{opacity:1;}
#dock .dock-gem{opacity:1;}

/* dock collapse + pin */
body[data-dockcollapsed="1"] #dock .dock-app:not(.pinned){display:none;}
.dock-collapse{margin-top:6px;width:42px;height:26px;border-radius:11px;border:1px solid color-mix(in srgb,var(--line) 60%,transparent);
  background:color-mix(in srgb,var(--surface-2) 58%,transparent);color:var(--ink-3);display:grid;place-items:center;cursor:pointer;transition:color .14s;flex-shrink:0;}
.dock-collapse:hover{color:var(--ink-1);}
.dock-collapse svg{width:18px;height:18px;transition:transform .2s;}
.dock-collapse.on svg{transform:rotate(180deg);}
html[data-theme="dark"] .dock-collapse{background:color-mix(in srgb,#fff 7%,transparent);border-color:color-mix(in srgb,#fff 9%,transparent);}
/* expanded dock fits any viewport — scroll instead of overflowing the screen */
#dock{max-height:calc(100dvh - 60px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;}
#dock::-webkit-scrollbar{width:0;height:0;}

/* ============================================================
   Theron OS · Code (IDE)
   ============================================================ */
.ic-ide{background:linear-gradient(160deg,#3A3550,#15121F 76%);color:#cdbcff;}
html[data-theme="dark"] .ic-ide{background:linear-gradient(160deg,#46406A,#1A1626 76%);}
#dock [data-dock="ide"] svg{color:#9d8cff;}
#dock [data-dock="ide"].focused-app{background:linear-gradient(165deg,#5B49D6,#2A2140);}
#dock [data-dock="ide"].focused-app svg{color:#fff;}

.ideapp{height:100%;display:flex;flex-direction:column;}
.ide-bar{display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);}
.ide-name{font-family:var(--ff-display);font-weight:700;font-size:14px;letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ide-actions{display:flex;gap:6px;flex-wrap:wrap;}
.ide-main{flex:1;min-height:0;display:grid;grid-template-columns:158px 1fr 1fr;}
.ide-rail{border-right:1px solid var(--line);background:var(--surface-2);min-height:0;overflow:auto;display:flex;flex-direction:column;padding:8px;}
.ide-files{display:flex;flex-direction:column;gap:2px;flex:1;}
.ide-file{display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:0;border-radius:7px;padding:7px 8px;cursor:pointer;color:var(--ink-2);font-family:var(--ff-mono);font-size:12px;}
.ide-file:hover{background:var(--surface);}
.ide-file.on{background:var(--surface);color:var(--ink-1);box-shadow:inset 0 0 0 1px var(--line);}
.if-ic{width:8px;height:8px;border-radius:2px;flex-shrink:0;background:var(--ink-3);}
.if-ic.ide-html{background:#FF6A00;} .if-ic.ide-css{background:#28C2FF;} .if-ic.ide-js{background:#FFB42A;} .if-ic.ide-json{background:#6FC72B;} .if-ic.ide-svg{background:#FF5D7E;}
.if-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.if-x{opacity:0;color:var(--ink-3);display:grid;place-items:center;}
.if-x svg{width:12px;height:12px;}
.ide-file:hover .if-x{opacity:.7;}
.if-x:hover{color:var(--bad);opacity:1;}
.ide-addfile{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:5px;font-family:var(--ff-mono);font-size:11px;color:var(--ink-2);background:transparent;border:1px dashed var(--line);border-radius:7px;padding:7px;cursor:pointer;}
.ide-addfile:hover{color:var(--ink-1);border-color:color-mix(in srgb,var(--ink-3) 40%,var(--line));}
.ide-addfile svg{width:12px;height:12px;}
.ide-editor{min-height:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--ink-1) 3%,var(--surface));}
.ide-ta{width:100%;height:100%;box-sizing:border-box;border:0;outline:none;resize:none;background:transparent;color:var(--ink-1);
  font-family:var(--ff-mono);font-size:12.5px;line-height:1.6;padding:14px 16px;tab-size:2;}
.ide-preview{min-height:0;background:#fff;}
.ide-frame{width:100%;height:100%;border:0;background:#fff;}
[data-ide].preview-only .ide-main{grid-template-columns:158px 0 1fr;}
[data-ide].preview-only .ide-editor{display:none;}
@media (max-width:760px){ .ide-main{grid-template-columns:130px 1fr;} .ide-preview{display:none;} [data-ide].preview-only .ide-main{grid-template-columns:130px 1fr;} [data-ide].preview-only .ide-preview{display:block;} [data-ide].preview-only .ide-editor{display:none;} }
