/* ============================================================
   Theron OS · app surfaces
   Home (brain) · Workspace (self-building) · Hive (agents) ·
   Ledger (falsifiable receipts — the hero) · Lens · Settings
   ============================================================ */

.app{padding:0;color:var(--ink-1);}
.app-pad{padding:22px 24px;}
.app-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--line-2);}
.app-hd .ttl{font-family:var(--ff-display);font-size:24px;font-weight:700;letter-spacing:-.025em;}
.app-hd .ttl em{font-family:var(--ff-serif);font-style:italic;font-weight:400;color:var(--accent-ink);letter-spacing:0;}
.app-hd .sub{font-size:14px;color:var(--ink-2);margin-top:5px;line-height:1.5;max-width:52ch;}
.app-hd .hd-actions{display:flex;align-items:center;gap:9px;flex-shrink:0;}
.eyebrow{font-family:var(--ff-mono);font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);}
.sect-h{display:flex;align-items:center;gap:10px;margin:26px 0 13px;}
.sect-h:first-child{margin-top:6px;}
.sect-h .sh-t{font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
.sect-h .sh-line{flex:1;height:1px;background:var(--line-2);}
.sect-h .sh-n{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);}

/* pill button (in-window) */
.pbtn{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-ui);font-size:13px;font-weight:600;
  border-radius:var(--r-full);padding:9px 15px;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--ink-1);white-space:nowrap;
  transition:background .16s, border-color .16s, color .16s, transform .16s, box-shadow .2s;}
.pbtn svg{width:15px;height:15px;}
.pbtn.amber{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--c-amber),var(--c-burn));color:#fff;border-color:transparent;
  box-shadow:0 10px 24px -8px rgba(255,106,0,.55), inset 0 1px 0 rgba(255,255,255,.55);}
.pbtn.amber::before{content:"";position:absolute;left:6%;right:6%;top:3px;height:42%;border-radius:999px;background:var(--gloss-sheen);pointer-events:none;}
.pbtn.amber:hover{transform:translateY(-1.5px) scale(1.02);box-shadow:0 16px 34px -10px rgba(255,106,0,.62), inset 0 1px 0 rgba(255,255,255,.6);}
.pbtn.amber:active{transform:translateY(0) scale(.99);}
.pbtn.ghost{border-color:var(--line);color:var(--ink-1);}
.pbtn.ghost:hover{border-color:var(--ink-1);}
.pbtn.quiet{color:var(--ink-2);}
.pbtn.quiet:hover{color:var(--ink-1);background:var(--surface-2);}
.pbtn.sm{font-size:12px;padding:6px 11px;}
.pbtn:disabled,.pbtn[disabled]{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none;}

/* ════════ HOME / BRAIN ════════ */
.brain-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:3px;gap:2px;}
.brain-toggle button{font-family:var(--ff-ui);font-size:12.5px;font-weight:600;color:var(--ink-2);border:0;background:transparent;white-space:nowrap;
  border-radius:var(--r-full);padding:6px 14px;cursor:pointer;transition:color .15s, background .15s;display:inline-flex;align-items:center;gap:7px;}
.brain-toggle button.on{background:linear-gradient(180deg,var(--c-amber),var(--c-burn));color:#fff;box-shadow:0 4px 12px -4px rgba(255,106,0,.5),inset 0 1px 0 rgba(255,255,255,.5);}
.brain-toggle button.on .bd{background:#fff!important;}
.brain-toggle button .bd{width:7px;height:7px;border-radius:50%;}

.spaces{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:13px;}
.space{position:relative;border:1px solid var(--line);border-radius:var(--r-md);padding:17px 17px 15px;background:var(--surface);cursor:pointer;overflow:hidden;
  transition:border-color .18s, transform .18s, box-shadow .2s;}
.space:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--ink-1) 22%,var(--line));}
.space .sp-ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.space .sp-ic svg{width:19px;height:19px;}
.space .sp-n{font-family:var(--ff-display);font-size:16px;font-weight:600;letter-spacing:-.01em;}
.space .sp-m{font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.45;}
.space .sp-f{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:11px;border-top:1px solid var(--line-2);
  font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.space .sp-f .vt{color:var(--ok);display:inline-flex;align-items:center;gap:5px;}
.space .sp-f .vt svg{width:11px;height:11px;}

.recents{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
.recent{display:flex;align-items:center;gap:13px;padding:13px 15px;border-top:1px solid var(--line-2);cursor:pointer;transition:background .14s;}
.recent:first-child{border-top:0;}
.recent:hover{background:var(--surface-2);}
.recent .rc-ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.recent .rc-ic svg{width:16px;height:16px;}
.recent .rc-m{flex:1;min-width:0;}
.recent .rc-t{font-size:14px;font-weight:500;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.recent .rc-s{font-size:12px;color:var(--ink-2);margin-top:2px;}
.recent .rc-time{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);white-space:nowrap;}
.recent .rc-v{display:inline-flex;align-items:center;gap:5px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ok);
  background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 34%,transparent);border-radius:var(--r-full);padding:3px 8px;flex-shrink:0;}
.recent .rc-v svg{width:11px;height:11px;}

.activity{display:flex;flex-direction:column;}
.act{display:flex;gap:13px;padding:11px 0;position:relative;}
.act::before{content:'';position:absolute;left:7px;top:24px;bottom:-11px;width:1.5px;background:var(--line-2);}
.act:last-child::before{display:none;}
.act .ad{width:15px;height:15px;border-radius:50%;flex-shrink:0;margin-top:2px;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line);z-index:1;}
.act .am{flex:1;}
.act .at{font-size:13.5px;color:var(--ink-1);line-height:1.5;}
.act .at b{font-weight:600;}
.act .at .ag{color:var(--accent-ink);font-family:var(--ff-mono);font-size:12px;}
.act .atime{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);margin-top:3px;}

/* proactive suggestion card */
/* ── plan-first card (Theron proposes before acting) ── */
.plan-ov{position:fixed;inset:0;z-index:360;display:flex;align-items:center;justify-content:center;padding:24px;
  background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  opacity:0;transition:opacity .22s var(--ease);}
.plan-ov.on{opacity:1;}
.plan-box{width:min(440px,94vw);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:var(--shadow-3);padding:22px 22px 18px;transform:translateY(14px) scale(.97);transition:transform .26s var(--ease-soft);}
.plan-ov.on .plan-box{transform:none;}
.plan-h{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.plan-gem{width:34px;height:34px;flex-shrink:0;line-height:0;filter:drop-shadow(0 2px 6px var(--amber-glow));}
.plan-k{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);}
.plan-t{font-family:var(--ff-display);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink-1);margin-top:2px;}
.plan-intro{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin-bottom:13px;}
.plan-steps{list-style:none;margin:0 0 14px;padding:0;counter-reset:ps;display:flex;flex-direction:column;gap:9px;}
.plan-steps li{counter-increment:ps;display:flex;align-items:flex-start;gap:11px;font-size:13.5px;line-height:1.45;color:var(--ink-1);}
.plan-steps .ps-n{flex-shrink:0;width:21px;height:21px;border-radius:50%;background:var(--accent-grad,linear-gradient(165deg,var(--amber),var(--burn)));
  color:#fff;font-family:var(--ff-mono);font-size:11px;font-weight:600;display:grid;place-items:center;box-shadow:var(--shadow-1);}
.plan-steps .ps-n::before{content:counter(ps);}
.plan-note{font-size:12px;line-height:1.5;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-md);padding:10px 12px;margin-bottom:16px;}
.plan-foot{display:flex;justify-content:flex-end;gap:9px;}

/* ── personalize: reset to original ── */
.pz-reset-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 18px;
  padding:13px 15px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);}
.pz-reset-t{font-size:13.5px;font-weight:600;color:var(--ink-1);}
.pz-reset-s{font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.45;max-width:42ch;}

/* ── pinned (shaped) dock app ──
   No notification-style badge. Pinned is only worth distinguishing in the
   EXPANDED dock (to tell pinned from unpinned); when collapsed, every shown
   app is pinned, so any marker is just noise. Keep it a quiet inset hairline. */
body[data-dockcollapsed="0"] .dock-app.pinned{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 26%,transparent),var(--shadow-1);}

/* ── Spaces switcher (Mission-Control style) ── */
.spaces-ov{position:fixed;inset:0;z-index:340;display:flex;align-items:flex-start;justify-content:center;padding:64px 24px 24px;
  background:color-mix(in srgb,var(--bg) 58%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;transition:opacity .2s var(--ease);overflow:auto;}
.spaces-ov.on{opacity:1;}
.spaces-box{width:min(880px,96vw);transform:translateY(-12px);transition:transform .26s var(--ease-soft);}
.spaces-ov.on .spaces-box{transform:none;}
.spaces-h{text-align:center;margin-bottom:22px;}
.spaces-t{font-family:var(--ff-display);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink-1);}
.spaces-s{font-size:13.5px;color:var(--ink-2);margin-top:5px;max-width:52ch;margin-inline:auto;line-height:1.5;}
.spaces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
.sp-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;cursor:pointer;
  box-shadow:var(--shadow-1);transition:transform .16s var(--ease), box-shadow .18s, border-color .16s;}
.sp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--ink-1) 22%,var(--line));}
.sp-card.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent),var(--shadow-2);}
.sp-prev{height:104px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:14px;
  background:radial-gradient(120% 120% at 30% 20%,var(--surface-2),var(--surface));border-bottom:1px solid var(--line-2);}
.sp-chip{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-1);}
.sp-chip svg{width:18px;height:18px;}
.sp-empty{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em;}
.sp-meta{display:flex;align-items:center;gap:9px;padding:11px 13px;}
.sp-ic{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:#fff;flex-shrink:0;}
.sp-ic svg{width:13px;height:13px;}
.sp-name{flex:1;font-family:var(--ff-display);font-size:14px;font-weight:600;color:var(--ink-1);outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sp-name[contenteditable="true"]{background:var(--surface-2);border-radius:5px;padding:1px 5px;}
.sp-x{width:22px;height:22px;border:0;background:transparent;color:var(--ink-3);border-radius:6px;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .14s,background .14s,color .14s;}
.sp-card:hover .sp-x{opacity:1;}
.sp-x:hover{background:var(--bad-soft);color:var(--bad);}
.sp-x svg{width:12px;height:12px;}
.sp-tag{display:block;margin:0 13px 12px;font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);}
.sp-mem{display:flex;align-items:center;gap:6px;margin:0 13px 10px;font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);}
.sp-mem svg{width:12px;height:12px;vertical-align:-2px;margin-right:2px;opacity:.75;}
.sp-memdot{opacity:.5;}
.sp-model{display:inline-flex;align-items:center;gap:6px;margin:0 13px 11px;padding:3px 9px;border:1px solid var(--line);border-radius:var(--r-full);
  font-family:var(--ff-ui);font-size:11px;font-weight:600;color:var(--ink-2);background:var(--surface-2);width:fit-content;}
.sp-model .sp-mdot{width:7px;height:7px;border-radius:50%;}
.sp-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:170px;border:1.5px dashed var(--line);
  border-radius:var(--r-lg);background:transparent;color:var(--ink-3);cursor:pointer;font-family:var(--ff-ui);font-size:13px;font-weight:500;
  transition:border-color .16s,color .16s,background .16s;}
.sp-new:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--amber-glow);}
.sp-new svg{width:22px;height:22px;}
.spaces-foot{display:flex;justify-content:center;margin-top:20px;}

/* proactive suggestion card */
.fsort-ov{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:22px;
  background:color-mix(in srgb,var(--bg) 50%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .22s var(--ease);}
.fsort-ov.on{opacity:1;}
.fsort-card{width:min(440px,94vw);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 30px 70px -30px rgba(120,40,140,.5);transform:translateY(14px) scale(.97);transition:transform .3s var(--bounce);}
.fsort-ov.on .fsort-card{transform:none;}
.fsort-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.fsort-h b{font-family:var(--ff-display);font-size:17px;font-weight:800;letter-spacing:-.02em;display:block;}
.fsort-h span{font-size:13px;color:var(--ink-2);line-height:1.45;display:block;margin-top:3px;}
.fsort-diff{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto;margin-bottom:14px;}
.fsort-row{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line-2);}
.fsort-n{flex:1;min-width:0;font-size:13px;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fsort-arrow{color:var(--accent-ink);flex-shrink:0;}.fsort-arrow svg{width:15px;height:15px;}
.fsort-to{flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--accent-ink);background:var(--amber-glow);border-radius:999px;padding:3px 11px;}
.fsort-foot{display:flex;justify-content:flex-end;gap:9px;}
.brief{margin-top:14px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-1);}
.brief-h{display:flex;align-items:center;justify-content:space-between;padding:12px 15px 9px;border-bottom:1px solid var(--line-2);}
.brief-k{display:inline-flex;align-items:center;gap:7px;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);}
.brief-k svg{width:13px;height:13px;}
.brief-n{font-family:var(--ff-mono);font-size:11px;color:var(--ok);font-weight:600;}
.brief-body{padding:13px 15px;font-family:var(--ff-serif);font-style:italic;font-size:17px;line-height:1.45;color:var(--ink-1);}
.nudge{display:flex;align-items:center;gap:15px;border:1px solid color-mix(in srgb,var(--amber) 34%,var(--line));border-radius:var(--r-md);
  padding:15px 17px;background:linear-gradient(120deg,var(--amber-glow),transparent 70%);}
.nudge .ng-gem{line-height:0;flex-shrink:0;}
.nudge .ng-m{flex:1;}
.nudge .ng-t{font-family:var(--ff-serif);font-style:italic;font-size:17px;color:var(--ink-1);line-height:1.35;}
.nudge .ng-s{font-size:12.5px;color:var(--ink-2);margin-top:3px;}
.nudge .ng-a{display:flex;gap:8px;flex-shrink:0;}

/* ════════ WORKSPACE — self-building pipeline ════════ */
.flow{display:flex;flex-direction:column;gap:13px;}
.tile{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden;
  animation:tilein .5s var(--ease-soft) both;}
@keyframes tilein{from{opacity:0;transform:translateY(14px) scale(.97);}to{opacity:1;transform:none;}}
.tile-h{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line-2);}
.tile-h .tn{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);width:20px;}
.tile-h .ti{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tile-h .ti svg{width:15px;height:15px;}
.tile-h .tt{font-family:var(--ff-display);font-size:15px;font-weight:600;letter-spacing:-.01em;}
.tile-h .tstat{margin-left:auto;font-family:var(--ff-mono);font-size:11px;color:var(--ink-2);display:inline-flex;align-items:center;gap:7px;}
.tile-h .tstat.done{color:var(--ok);}
.tile-h .tspin{width:14px;height:14px;color:var(--accent-ink);}
@media (prefers-reduced-motion:no-preference){.tile-h .tspin{animation:spin 1.05s linear infinite;transform-box:fill-box;transform-origin:center;}}
@keyframes spin{to{transform:rotate(360deg);}}
.tile-b{padding:15px 16px;}

.src-file{display:flex;align-items:center;gap:13px;}
.src-file .sf-ic{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;color:#1A1100;background:linear-gradient(160deg,#FFC658,#FFAE00);}
.src-file .sf-ic svg{width:20px;height:20px;}
.src-file .sf-m{flex:1;min-width:0;}
.src-file .sf-n{font-family:var(--ff-mono);font-size:13px;color:var(--ink-1);}
.src-file .sf-s{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);margin-top:3px;}

.crew{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;}
.cw{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);
  transition:opacity .4s var(--ease-soft), border-color .35s;}
.cw.pending{opacity:.4;}
.cw.done{border-color:color-mix(in srgb,var(--ok) 40%,var(--line));}
.cw .cw-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-family:var(--ff-display);font-weight:700;font-size:12px;color:var(--ok);
  background:radial-gradient(72% 72% at 36% 28%,color-mix(in srgb,var(--ok) 24%,var(--surface)),var(--surface));
  border:1px solid color-mix(in srgb,var(--ok) 42%,transparent);}
.cw .cw-m{flex:1;min-width:0;}
.cw .cw-n{font-family:var(--ff-display);font-size:13px;font-weight:600;line-height:1.2;}
.cw .cw-r{font-size:11.5px;color:var(--ink-2);}
.cw .cw-sp{flex-shrink:0;color:var(--ink-3);}
.cw .cw-sp svg{width:15px;height:15px;}
.cw.busy .cw-sp svg{color:var(--accent-ink);}
@media (prefers-reduced-motion:no-preference){.cw.busy .cw-sp svg{animation:spin 1.05s linear infinite;transform-box:fill-box;transform-origin:center;}}
.cw.done .cw-sp{color:var(--ok);}

.result-box{font-size:14px;line-height:1.6;color:var(--ink-2);}
.result-box .rtag{display:inline-block;font-family:var(--ff-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent-ink);background:var(--amber-glow);border-radius:var(--r-sm);padding:3px 9px;margin-bottom:11px;}
.result-box b{color:var(--ink-1);font-weight:600;}
.result-box .rfinding{display:flex;align-items:baseline;gap:11px;padding:9px 0;border-top:1px solid var(--line-2);}
.result-box .rfinding:first-of-type{border-top:0;}
.result-box .rfinding .rf-amt{font-family:var(--ff-mono);font-size:14px;color:var(--ok);font-weight:500;white-space:nowrap;}
.result-box .rfinding .rf-t{flex:1;}

/* receipt mini (in workspace) */
.rcpt-mini{border:1px solid var(--ink-1);border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
html[data-theme="dark"] .rcpt-mini{border-color:var(--line);}
.rcpt-mini .rm-h{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);}
.rcpt-mini .rm-id{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);}
.rcpt-mini .rm-b{padding:5px 14px 12px;}
.rcpt-mini .rm-row{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:7px 0;border-bottom:1px solid var(--line-2);align-items:baseline;}
.rcpt-mini .rm-row:last-child{border-bottom:0;}
.rcpt-mini .rm-k{font-family:var(--ff-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);}
.rcpt-mini .rm-v{font-family:var(--ff-mono);font-size:12px;color:var(--ink-1);word-break:break-all;}

/* ════════ HIVE ════════ */
.hive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.hive-lane{display:flex;align-items:center;gap:11px;margin-bottom:14px;padding:12px 15px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--c-lime) 36%,var(--line));background:linear-gradient(120deg,var(--ok-soft),transparent 70%);
  opacity:0;transition:opacity .3s var(--ease);}
.hive-lane.on{opacity:1;}
.hive-lane .hl-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft);flex-shrink:0;}
@media (prefers-reduced-motion:no-preference){.hive-lane.on .hl-dot{animation:hl-pulse 1.1s var(--ease-inout) infinite;}}
@keyframes hl-pulse{0%,100%{box-shadow:0 0 0 3px var(--ok-soft);}50%{box-shadow:0 0 0 7px transparent;}}
.hive-lane .hl-txt{flex:1;font-size:13.5px;font-weight:500;color:var(--ink-1);}
.hive-lane .hl-prog{width:90px;height:5px;border-radius:5px;background:var(--line);overflow:hidden;flex-shrink:0;}
.hive-lane .hl-prog i{display:block;height:100%;width:40%;border-radius:5px;background:linear-gradient(90deg,var(--c-lime),#5FC72B);}
@media (prefers-reduced-motion:no-preference){.hive-lane.on .hl-prog i{animation:hl-prog 1.6s var(--ease-inout) infinite;}}
@keyframes hl-prog{0%{transform:translateX(-110%);}100%{transform:translateX(280%);}}
.agent.working{border-color:color-mix(in srgb,var(--c-lime) 50%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--c-lime) 30%,transparent),var(--shadow-2);}
.agent.working .ag-av{box-shadow:0 0 0 3px var(--ok-soft);}
.agent{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;background:var(--surface);
  transition:transform .18s, box-shadow .2s, border-color .18s;}
.agent:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);}
.agent .ag-av{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  font-family:var(--ff-display);font-weight:700;font-size:15px;color:var(--ok);position:relative;
  background:radial-gradient(72% 72% at 36% 28%,color-mix(in srgb,var(--ok) 24%,var(--surface)),var(--surface));
  border:1px solid color-mix(in srgb,var(--ok) 42%,transparent);}
.agent .ag-m{flex:1;min-width:0;}
.agent .ag-n{font-family:var(--ff-display);font-size:15px;font-weight:600;letter-spacing:-.01em;}
.agent .ag-r{font-size:12.5px;color:var(--ink-2);margin-top:1px;}
.agent .ag-st{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:7px;}
.agent .ag-st .sd{width:6px;height:6px;border-radius:50%;background:var(--ink-3);}
.agent.live .ag-st{color:var(--ok);}.agent.live .ag-st .sd{background:var(--ok);}
.agent.idle .ag-st{color:var(--ink-3);}

.hive-note{display:flex;gap:13px;align-items:flex-start;border:1px dashed var(--line);border-radius:var(--r-md);padding:15px 17px;background:var(--surface-2);}
.hive-note .hn-k{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;padding-top:2px;}
.hive-note .hn-v{font-size:13.5px;line-height:1.6;color:var(--ink-2);}
.hive-note .hn-v b{color:var(--ink-1);font-weight:600;}
.hive-note .hn-v em{font-family:var(--ff-serif);font-style:italic;color:var(--ink-1);}

/* ════════ LEDGER — the hero, falsifiable receipts ════════ */
.ledger{display:grid;grid-template-columns:300px 1fr;height:100%;min-height:0;overflow:hidden;}
.ledger-list{border-right:1px solid var(--line);overflow:auto;min-height:0;display:flex;flex-direction:column;}
.ledger-list .ll-top{padding:15px 16px 12px;border-bottom:1px solid var(--line-2);position:sticky;top:0;background:var(--surface);z-index:2;}
.ledger-list .ll-stat{display:flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--ff-mono);font-size:11px;color:var(--ink-2);}
.ledger-list .ll-stat svg{width:14px;height:14px;flex-shrink:0;color:var(--ok);}
.ledger-list .ll-stat b{color:var(--ok);font-weight:500;}
.ledger-list .ll-search{margin-top:11px;display:flex;align-items:center;gap:9px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 12px;}
.ledger-list .ll-search svg{width:14px;height:14px;color:var(--ink-3);}
.ledger-list .ll-search input{flex:1;border:0;outline:0;background:transparent;font-family:var(--ff-ui);font-size:13px;color:var(--ink-1);}
.lrow{display:flex;align-items:center;gap:11px;padding:12px 16px;border-bottom:1px solid var(--line-2);cursor:pointer;transition:background .13s;}
.lrow:hover{background:var(--surface-2);}
.lrow.sel{background:var(--surface-2);box-shadow:inset 2.5px 0 0 var(--amber);}
.lrow .lr-d{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--ok);}
.lrow.tampered .lr-d{background:var(--bad);}
.lrow .lr-m{flex:1;min-width:0;}
.lrow .lr-t{font-size:13.5px;font-weight:500;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lrow .lr-id{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);margin-top:2px;}
.lrow .lr-time{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-3);white-space:nowrap;}

.ledger-detail{overflow:auto;min-height:0;padding:0;display:flex;flex-direction:column;}
.ld-hd{padding:20px 24px 16px;border-bottom:1px solid var(--line-2);}
.ld-hd .ld-top{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.ld-hd .ld-act{font-family:var(--ff-display);font-size:19px;font-weight:700;letter-spacing:-.02em;}
.ld-hd .ld-meta{font-family:var(--ff-mono);font-size:11.5px;color:var(--ink-3);margin-top:5px;letter-spacing:.04em;}

/* the big verifier badge */
.vbig{display:inline-flex;align-items:center;gap:9px;font-family:var(--ff-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:8px 14px;border-radius:var(--r-full);border:1px solid var(--ok);color:var(--ok);background:var(--ok-soft);
  transition:color .3s, border-color .3s, background .3s;white-space:nowrap;}
.vbig svg{width:15px;height:15px;}
.vbig .x{display:none;}
.vbig .lab-bad{display:none;}
.ld-detail.invalid .vbig{color:var(--bad);border-color:var(--bad);background:var(--bad-soft);}
.ld-detail.invalid .vbig .ok{display:none;}
.ld-detail.invalid .vbig .x{display:block;}
.ld-detail.invalid .vbig .lab-ok{display:none;}
.ld-detail.invalid .vbig .lab-bad{display:inline;}

.ld-body{padding:18px 24px 24px;display:flex;flex-direction:column;gap:18px;}
.ld-block{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
.ld-detail.invalid .ld-block.sig-block{border-color:var(--bad);}
.ld-block .lb-h{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:11px 15px 9px;border-bottom:1px solid var(--line-2);}
.lfield{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:baseline;padding:11px 15px;border-bottom:1px solid var(--line-2);}
.lfield:last-child{border-bottom:0;}
.lfield .lf-k{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);}
.lfield .lf-v{font-family:var(--ff-mono);font-size:13px;color:var(--ink-1);word-break:break-all;line-height:1.55;}
.lfield .lf-v .ag{color:var(--accent-ink);}
.lfield .lf-v .ok{color:var(--ok);}

/* signature — the tamper target */
.sig-wrap{padding:14px 15px;}
.sig-wrap .sw-k{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:9px;display:flex;align-items:center;gap:8px;}
.sig-wrap .sw-k .hint{color:var(--ink-3);font-size:10px;letter-spacing:.02em;text-transform:none;}
.sigchars{font-family:var(--ff-mono);font-size:13.5px;line-height:1.85;color:var(--ink-1);word-break:break-all;user-select:none;cursor:text;}
.sigchars .hx{padding:1px .5px;border-radius:2px;transition:color .15s, background .15s;}
.sigchars .hx:hover{background:var(--amber-glow);}
.sigchars .hx.tampered{color:var(--bad);background:var(--bad-soft);font-weight:700;}

/* merkle proof viz */
.merkle{display:flex;flex-direction:column;gap:8px;padding:14px 15px;}
.mk-row{display:flex;align-items:center;gap:10px;}
.mk-node{flex:1;display:flex;align-items:center;gap:9px;font-family:var(--ff-mono);font-size:11.5px;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 11px;transition:border-color .3s, color .3s, background .3s;}
.mk-node .mk-h{color:var(--ink-1);}
.mk-node.root{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok);}
.mk-node.root .mk-h{color:var(--ok);}
.ld-detail.invalid .mk-node.broken{background:var(--bad-soft);border-color:var(--bad);color:var(--bad);}
.ld-detail.invalid .mk-node.broken .mk-h{color:var(--bad);}
.mk-tag{font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);width:54px;flex-shrink:0;}

/* CLI verifier block */
.cli{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;font-family:var(--ff-mono);font-size:12.5px;}
.cli .cli-h{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line);color:var(--ink-3);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;}
.cli .cli-h .cd{display:flex;gap:5px;}
.cli .cli-h .cd i{width:8px;height:8px;border-radius:50%;background:var(--line);}
.cli .cli-b{padding:13px;line-height:1.7;color:var(--ink-1);white-space:pre-wrap;}
.cli .cli-b .pr{color:var(--accent-ink);}
.cli .cli-b .cm{color:var(--ink-3);}
.cli .cli-b .ok{color:var(--ok);}
.cli .cli-b .bad{color:var(--bad);}
.cli .cli-b .dim{color:var(--ink-2);}

.tamper-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.tamper-bar .tb-note{font-size:13px;color:var(--ink-2);line-height:1.5;flex:1;min-width:200px;}
.tamper-bar .tb-note .em{color:var(--ink-1);font-weight:500;}
.ld-detail.invalid .tamper-bar .tb-note .em{color:var(--bad);}

/* ════════ LENS ════════ */
.lens-drop{border:1.5px dashed var(--line);border-radius:var(--r-md);padding:34px 24px;text-align:center;background:var(--surface-2);
  display:flex;flex-direction:column;align-items:center;gap:13px;}
.lens-drop .lg{line-height:0;}
.lens-drop .lt{font-family:var(--ff-display);font-size:17px;font-weight:600;letter-spacing:-.01em;}
.lens-drop .ls{font-size:13px;color:var(--ink-2);max-width:40ch;line-height:1.5;}

/* ════════ SETTINGS ════════ */
.set-grid{display:grid;grid-template-columns:180px 1fr;gap:0;height:100%;min-height:0;overflow:hidden;}
.set-nav{border-right:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column;gap:2px;}
.set-nav button{display:flex;align-items:center;gap:11px;font-family:var(--ff-ui);font-size:13.5px;font-weight:500;color:var(--ink-2);
  border:0;background:transparent;border-radius:8px;padding:9px 12px;cursor:pointer;text-align:left;transition:background .13s, color .13s;}
.set-nav button svg{width:16px;height:16px;}
.set-nav button.on{background:var(--surface-2);color:var(--ink-1);font-weight:600;}
.set-nav button:hover{color:var(--ink-1);}
.set-body{overflow:auto;min-height:0;padding:22px 26px;}
.set-pane{display:none;flex-direction:column;gap:8px;}
.set-pane.on{display:flex;}
/* ── model pane ── */
.model-list{display:flex;flex-direction:column;gap:10px;}
.model-card{display:flex;align-items:center;gap:14px;text-align:left;width:100%;cursor:pointer;
  padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);transition:border-color .14s,box-shadow .14s,transform .14s;}
.model-card:hover{border-color:var(--ink-3);transform:translateY(-1px);}
.model-card.on{border-color:color-mix(in srgb,var(--amber) 55%,var(--line));background:color-mix(in srgb,var(--amber) 7%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 13%,transparent),var(--shadow-1);}
.mc-dot{width:13px;height:13px;border-radius:50%;flex-shrink:0;}
.mc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.mc-name{font-family:var(--ff-ui);font-size:15px;font-weight:700;color:var(--ink-1);display:flex;align-items:center;gap:9px;}
.mc-active{font-family:var(--ff-mono);font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);background:color-mix(in srgb,var(--amber) 16%,transparent);border-radius:var(--r-full);padding:2px 8px;}
.mc-desc{font-size:12.5px;color:var(--ink-2);line-height:1.45;}
.mc-badge{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.05em;color:var(--ink-3);flex-shrink:0;white-space:nowrap;}
.byo-box{margin-top:14px;padding:15px 16px;border:1px dashed var(--line);border-radius:var(--r-md);background:var(--surface-2);display:flex;flex-direction:column;gap:9px;}
.byo-h{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink-1);}
.byo-h svg{width:15px;height:15px;stroke:var(--accent-ink);fill:none;stroke-width:2;}
.byo-s{font-size:12px;color:var(--ink-2);margin:-2px 0 4px;}
.byo-in{font-family:var(--ff-mono);font-size:12.5px;color:var(--ink-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;outline:none;}
.byo-in:focus{border-color:color-mix(in srgb,var(--amber) 50%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.model-note{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;color:var(--ink-3);}
.model-note svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0;}
.d-amber{background:#FF9E2C;} .d-moss{background:#AEEB6E;} .d-sky{background:#6FD4FF;} .d-violet{background:#C08CFF;} .d-terra{background:#FF8A5C;} .d-plum{background:#C08CFF;} .d-grape{background:#B07BFF;}
.set-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-2);}
.set-row:last-child{border-bottom:0;}
.set-row .sr-m{flex:1;}
.set-row .sr-t{font-size:14.5px;font-weight:500;color:var(--ink-1);}
.set-row .sr-s{font-size:12.5px;color:var(--ink-2);margin-top:3px;line-height:1.5;max-width:50ch;}
.toggle{width:42px;height:24px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;flex-shrink:0;border:0;transition:background .2s var(--ease);}
.toggle::after{content:'';width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .2s var(--ease);}
.toggle.on{background:var(--amber);}
.toggle.on::after{left:21px;}
.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:3px;gap:2px;flex-shrink:0;}
.seg button{font-family:var(--ff-ui);font-size:12.5px;font-weight:600;color:var(--ink-2);border:0;background:transparent;border-radius:var(--r-full);padding:6px 14px;cursor:pointer;transition:color .15s, background .15s;}
.seg button.on{background:linear-gradient(180deg,var(--c-amber),var(--c-burn));color:#fff;box-shadow:0 4px 12px -4px rgba(255,106,0,.5),inset 0 1px 0 rgba(255,255,255,.5);}

.plan-card{border:1px solid var(--ink-1);border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
html[data-theme="dark"] .plan-card{border-color:var(--line);}
.plan-card .pc-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line-2);}
.plan-card .pc-n{font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);}
.plan-card .pc-price{font-family:var(--ff-display);font-size:38px;font-weight:700;letter-spacing:-.03em;margin-top:8px;}
.plan-card .pc-price span{font-family:var(--ff-ui);font-size:14px;font-weight:500;color:var(--ink-2);letter-spacing:0;}
.plan-card ul{list-style:none;margin:0;padding:18px 22px;display:flex;flex-direction:column;gap:11px;}
.plan-card li{font-size:13.5px;color:var(--ink-2);display:flex;gap:10px;align-items:baseline;}
.plan-card li svg{width:15px;height:15px;color:var(--ok);flex-shrink:0;transform:translateY(2px);}
.plan-card li b{color:var(--ink-1);font-weight:600;}

.memory-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
.mem{display:flex;align-items:center;gap:13px;padding:13px 15px;border-top:1px solid var(--line-2);}
.mem:first-child{border-top:0;}
.mem .mem-i{width:30px;height:30px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);flex-shrink:0;}
.mem .mem-i svg{width:15px;height:15px;}
.mem .mem-m{flex:1;min-width:0;}
.mem .mem-t{font-size:13.5px;color:var(--ink-1);}
.mem .mem-s{font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);margin-top:2px;}
.mem .mem-x{color:var(--ink-3);cursor:pointer;display:inline-flex;padding:4px;border-radius:6px;transition:background .13s, color .13s;}
.mem .mem-x:hover{background:var(--bad-soft);color:var(--bad);}
.mem .mem-x svg{width:15px;height:15px;}

/* generic key-value spec list */
.kv{display:flex;flex-direction:column;}
.kv-row{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:11px 0;border-top:1px solid var(--line-2);align-items:baseline;}
.kv-row:first-child{border-top:0;}
.kv-row .kk{font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.kv-row .kvv{font-size:13.5px;color:var(--ink-1);}

/* empty state */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:48px 24px;height:100%;}
.empty .eg{line-height:0;opacity:.9;}
.empty .et{font-family:var(--ff-serif);font-style:italic;font-size:18px;color:var(--ink-2);}
.empty .es{font-size:13px;color:var(--ink-3);max-width:36ch;line-height:1.5;}

@media (max-width:640px){
  .ledger{grid-template-columns:1fr;}
  .ledger-list{border-right:0;border-bottom:1px solid var(--line);max-height:34%;}
  .set-grid{grid-template-columns:1fr;}
  .set-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);}
}

/* ════════ CHAT (primary) ════════ */
.chatapp{display:flex;flex-direction:row;height:100%;}
.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;position:relative;}
.chat-history{width:212px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line-2);background:color-mix(in srgb,var(--surface-2) 50%,transparent);}
.ch-h{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 10px 16px;}
.ch-h-t{font-family:var(--ff-display);font-weight:700;font-size:14px;letter-spacing:-.01em;}
.ch-new{width:28px;height:28px;border-radius:9px;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;
  background:linear-gradient(180deg,var(--c-amber),var(--c-burn));box-shadow:0 4px 12px -4px rgba(255,106,0,.5),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .15s var(--bounce);}
.ch-new:hover{transform:translateY(-1px) scale(1.05);} .ch-new svg{width:15px;height:15px;}
.ch-list{flex:1;overflow:auto;padding:4px 8px 12px;display:flex;flex-direction:column;gap:2px;}
.ch-sess{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;
  border-radius:10px;padding:9px 9px 9px 11px;color:var(--ink-2);transition:background .13s,color .13s;}
.ch-sess:hover{background:var(--surface);color:var(--ink-1);}
.ch-sess.on{background:var(--surface);color:var(--ink-1);box-shadow:var(--shadow-1);font-weight:600;}
.ch-sess-t{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ch-sess-x{flex-shrink:0;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;color:var(--ink-3);opacity:0;transition:opacity .12s,background .12s,color .12s;}
.ch-sess:hover .ch-sess-x{opacity:1;} .ch-sess-x:hover{background:var(--bad-soft);color:var(--bad);} .ch-sess-x svg{width:12px;height:12px;}
.ch-empty-list{font-size:12px;color:var(--ink-3);padding:14px;text-align:center;}
.chat-hist-toggle{display:none;position:absolute;top:10px;left:10px;z-index:5;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;align-items:center;justify-content:center;}
.chat-hist-toggle svg{width:16px;height:16px;}
@media(max-width:720px){
  .chat-history{position:absolute;inset:0 auto 0 0;z-index:8;transform:translateX(-100%);transition:transform .26s var(--ease);box-shadow:var(--shadow-3);}
  .chat-history.open{transform:none;}
  .chat-hist-toggle{display:flex;}
  .chat-scroll{padding-top:52px;}
}
.chat-scroll{flex:1;min-height:0;overflow:auto;padding:20px 22px 8px;display:flex;flex-direction:column;gap:16px;}
.chat-scroll::-webkit-scrollbar{width:9px;}
.chat-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px;border:2px solid var(--surface);}
.msg{display:flex;gap:11px;max-width:100%;}
.msg.user{justify-content:flex-end;}
.msg.user .bubble{background:var(--amber);color:#2A1A00;border-bottom-right-radius:var(--r-sm);max-width:80%;}
.msg.theron{justify-content:flex-start;}
.msg-av{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;line-height:0;
  background:radial-gradient(70% 70% at 35% 28%,var(--amber-glow),var(--surface-2));border:1px solid var(--line);margin-top:2px;}
.msg-main{min-width:0;max-width:82%;display:flex;flex-direction:column;gap:7px;align-items:flex-start;}
.bubble{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-lg);border-bottom-left-radius:var(--r-sm);
  padding:11px 15px;font-size:14.5px;line-height:1.6;color:var(--ink-1);}
.bubble p{margin:0 0 7px;}.bubble p:last-child{margin:0;}
.bubble ul{margin:6px 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;}
.bubble li{font-size:14px;}
.bubble b{font-weight:600;}
.bubble code{font-family:var(--ff-mono);font-size:12.5px;background:var(--code-bg);border:1px solid var(--line);border-radius:5px;padding:1px 5px;}
.bubble.typing{display:inline-flex;gap:5px;align-items:center;}
.bubble.typing i{width:7px;height:7px;border-radius:50%;background:var(--ink-3);opacity:.5;}
@media (prefers-reduced-motion:no-preference){.bubble.typing i{animation:typed 1.1s var(--ease-inout) infinite;}.bubble.typing i:nth-child(2){animation-delay:.18s;}.bubble.typing i:nth-child(3){animation-delay:.36s;}}
@keyframes typed{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}
.msg-receipt{display:inline-flex;align-items:center;gap:7px;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.04em;
  color:var(--ok);background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 32%,transparent);border-radius:var(--r-full);
  padding:4px 10px;cursor:pointer;transition:transform .14s,border-color .14s;}
.msg-receipt:hover{transform:translateY(-1px);border-color:var(--ok);}
.msg-receipt svg{width:12px;height:12px;}
.msg-receipt b{color:var(--accent-ink);font-weight:600;text-transform:uppercase;letter-spacing:.1em;}

.chat-compose{flex-shrink:0;display:flex;align-items:flex-end;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--line-2);background:var(--surface);}
/* interactive quick-reply chips (adaptive space builder interview) */
.chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:2px 8px 8px 46px;animation:cqIn .26s ease both;}
@keyframes cqIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.cq-chip{font-family:var(--ff-ui);font-size:13px;font-weight:600;color:var(--accent-ink);
  background:color-mix(in srgb,var(--amber) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 38%,var(--line));
  border-radius:999px;padding:7px 14px;cursor:pointer;transition:transform .14s,background .16s,box-shadow .16s;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset, var(--shadow-1);}
.cq-chip:hover{background:color-mix(in srgb,var(--amber) 22%,var(--surface));transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.6) inset, var(--shadow-2);}
.cq-chip:active{transform:scale(.96);}
.chat-input{flex:1;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);resize:none;outline:0;
  font-family:var(--ff-ui);font-size:14.5px;line-height:1.5;color:var(--ink-1);padding:10px 13px;max-height:140px;transition:border-color .18s,box-shadow .2s;}
.chat-input:focus{border-color:color-mix(in srgb,var(--amber) 50%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.chat-input::placeholder{color:var(--ink-3);}
.chat-send{position:relative;overflow:hidden;width:42px;height:42px;flex-shrink:0;border:0;border-radius:14px;background:linear-gradient(180deg,var(--c-amber),var(--c-burn));color:#fff;cursor:pointer;
  display:grid;place-items:center;box-shadow:0 8px 20px -8px rgba(255,106,0,.55), inset 0 1px 0 rgba(255,255,255,.55);transition:transform .15s var(--bounce), box-shadow .2s;}
.chat-send::before{content:"";position:absolute;left:14%;right:14%;top:3px;height:40%;border-radius:999px;background:var(--gloss-sheen);pointer-events:none;}
.chat-send:hover{transform:translateY(-2px) scale(1.04);}.chat-send svg{width:18px;height:18px;}
.chat-attach{width:40px;height:40px;flex-shrink:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);
  color:var(--ink-2);cursor:pointer;display:grid;place-items:center;transition:border-color .15s,color .15s,transform .15s;}
.chat-attach:hover{border-color:var(--ink-2);color:var(--ink-1);transform:translateY(-1px);}
.chat-attach svg{width:18px;height:18px;}
/* model chip in composer */
.chat-model{flex-shrink:0;height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;cursor:pointer;
  border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink-1);
  font-family:var(--ff-ui);font-size:13px;font-weight:600;transition:border-color .15s,transform .15s,background .15s;}
.chat-model:hover{border-color:color-mix(in srgb,var(--amber) 45%,var(--line));transform:translateY(-1px);}
.chat-model .cm-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.chat-model .cm-name{white-space:nowrap;}
@media (max-width:520px){ .chat-model .cm-name{display:none;} .chat-model{padding:0 11px;} }
/* attachment tray (pending) */
.chat-tray{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px 0;}
.att-chip{display:flex;align-items:center;gap:9px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:6px 8px 6px 6px;max-width:230px;}
.att-chip img{width:30px;height:30px;border-radius:7px;object-fit:cover;flex-shrink:0;}
.att-chip .ac-ic{width:30px;height:30px;border-radius:7px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent-ink);flex-shrink:0;}
.att-chip .ac-ic svg{width:15px;height:15px;}
.att-chip .ac-m{display:flex;flex-direction:column;min-width:0;}
.att-chip .ac-n{font-size:12.5px;font-weight:500;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.att-chip .ac-s{font-family:var(--ff-mono);font-size:10px;color:var(--ink-3);}
.att-chip .ac-x{flex-shrink:0;width:22px;height:22px;border:0;background:transparent;color:var(--ink-3);border-radius:6px;cursor:pointer;display:grid;place-items:center;}
.att-chip .ac-x:hover{background:var(--bad-soft);color:var(--bad);}.att-chip .ac-x svg{width:13px;height:13px;}
/* drop overlay */
.chat-drop{position:absolute;inset:8px;z-index:6;border:2px dashed color-mix(in srgb,var(--amber) 60%,var(--line));border-radius:var(--r-lg);
  background:color-mix(in srgb,var(--amber-glow) 80%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;pointer-events:none;}
.chat-drop.on{display:flex;animation:bootfade .15s var(--ease) both;}
.chat-drop .cd-inner{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--accent-ink);font-family:var(--ff-ui);font-size:15px;font-weight:600;text-align:center;padding:0 24px;}
.chat-drop .cd-inner svg{width:30px;height:30px;}
/* message attachments */
.msg-atts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.msg-atts .ma-thumb{max-width:160px;max-height:160px;border-radius:var(--r-md);border:1px solid var(--line);object-fit:cover;}
.msg-atts .ma-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 12px;font-size:13px;color:var(--ink-1);}
.msg-atts .ma-chip svg{width:15px;height:15px;color:var(--accent-ink);}

.chat-empty{margin:auto;text-align:center;max-width:42ch;display:flex;flex-direction:column;align-items:center;gap:13px;padding:24px 0;}
.chat-empty .ce-gem{line-height:0;}
.chat-empty .ce-h{font-family:var(--ff-display);font-size:26px;font-weight:700;letter-spacing:-.025em;}
.chat-empty .ce-s{font-size:14px;color:var(--ink-2);line-height:1.55;}
.chat-empty .ce-s b{color:var(--ink-1);font-weight:600;}
.ce-starters{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:4px;}
.ce-chip{display:flex;align-items:center;gap:11px;text-align:left;font-family:var(--ff-ui);font-size:13.5px;color:var(--ink-1);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 14px;cursor:pointer;transition:border-color .15s,transform .15s,background .15s;}
.ce-chip:hover{border-color:var(--ink-2);transform:translateY(-1px);}
.ce-chip svg{width:17px;height:17px;color:var(--accent-ink);flex-shrink:0;}
.ce-key{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);margin-top:4px;}
.ce-key svg{width:13px;height:13px;}.ce-key code{color:var(--ink-2);}

/* ════════ identity / home extras ════════ */
.idcard{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;background:var(--surface);}
.idcard .idc-ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:var(--surface-2);border:1px solid var(--line);color:var(--accent-ink);}
.idcard .idc-ic svg{width:19px;height:19px;}
.idcard .idc-m{flex:1;min-width:0;}
.idcard .idc-t{font-size:14px;font-weight:600;color:var(--ink-1);}
.idcard .idc-k{font-family:var(--ff-mono);font-size:11.5px;color:var(--ink-3);margin-top:3px;word-break:break-all;}
.idcard .idc-k code{color:var(--accent-ink);}
.idcard .idc-s{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.04em;color:var(--ok);flex-shrink:0;}
.idcard .idc-s svg{width:13px;height:13px;}
.home-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:30px 24px;color:var(--ink-3);font-size:13.5px;line-height:1.5;}
.home-empty>div{max-width:34ch;}

/* ════════ workspace / lens inputs ════════ */
.ws-task{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.ws-input,.lens-text,.mem-add{width:100%;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);resize:none;outline:0;
  font-family:var(--ff-ui);font-size:14px;line-height:1.55;color:var(--ink-1);padding:12px 14px;transition:border-color .18s,box-shadow .2s;}
.ws-input:focus,.lens-text:focus,.mem-add:focus{border-color:color-mix(in srgb,var(--amber) 50%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.ws-input::placeholder,.lens-text::placeholder,.mem-add::placeholder{color:var(--ink-3);}
.ws-task .pbtn{align-self:flex-start;}
.lens-text{min-height:130px;}
.ws-working{font-family:var(--ff-mono);font-size:12.5px;color:var(--ink-2);}
.mem-add{flex:1;padding:9px 12px;font-size:13.5px;}

/* ════════ ONBOARDING ════════ */
#onb{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;opacity:1;
  background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}
#onb.out{opacity:0;transition:opacity .35s var(--ease);}
body.onb-open #chatbar,body.onb-open #companion,body.onb-open #dock{opacity:0;pointer-events:none;}
.onb-stage{display:flex;gap:30px;align-items:center;max-width:880px;width:100%;}
.onb-side{width:230px;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;gap:18px;}
@media (max-width:760px){ .onb-stage{flex-direction:column;gap:18px;} .onb-side{width:100%;align-items:center;text-align:center;} }
.onb-gem{line-height:0;filter:drop-shadow(0 10px 26px var(--amber-glow));}
@media (prefers-reduced-motion:no-preference){.onb-gem{animation:fd-hover 6s var(--ease-inout) infinite;}}
.onb-say{font-family:var(--ff-serif);font-style:italic;font-size:20px;line-height:1.45;color:var(--ink-1);}
.onb-say b{font-style:normal;font-weight:600;font-family:var(--ff-ui);}
.onb-say.in{animation:onb-rise .45s var(--ease-soft);}
.onb-card{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:var(--shadow-3);padding:30px 32px;}
.onb-card.in{animation:onb-rise .42s var(--ease-soft);}
@keyframes onb-rise{from{opacity:.3;transform:translateY(12px);}to{opacity:1;transform:none;}}
.onb-dots{display:flex;gap:7px;margin-bottom:18px;}
.onb-dots span{width:22px;height:4px;border-radius:3px;background:var(--line);transition:background .3s;}
.onb-dots span.on{background:var(--amber);}.onb-dots span.done{background:color-mix(in srgb,var(--amber) 45%,var(--line));}
.onb-h{font-family:var(--ff-display);font-size:27px;font-weight:700;letter-spacing:-.03em;}
.onb-opt{font-family:var(--ff-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
  border:1px solid var(--line);border-radius:var(--r-full);padding:3px 9px;vertical-align:middle;margin-left:6px;}
.onb-p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-top:9px;}
.onb-feat{display:flex;flex-direction:column;gap:7px;margin-top:20px;}
.onb-fr{display:flex;align-items:flex-start;gap:13px;font-size:14px;line-height:1.55;color:var(--ink-1);padding:6px 0;}
.onb-fr svg{width:20px;height:20px;color:var(--accent-ink);flex-shrink:0;margin-top:1px;}
.onb-fields{display:flex;flex-direction:column;gap:14px;margin-top:20px;}
.onb-field{display:flex;flex-direction:column;gap:6px;}
.onb-field>span{font-family:var(--ff-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:flex;gap:8px;align-items:center;}
.onb-field>span i{font-style:normal;color:var(--accent-ink);font-size:10px;}
.onb-field input{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);outline:0;
  font-family:var(--ff-ui);font-size:15px;color:var(--ink-1);padding:12px 14px;transition:border-color .18s,box-shadow .2s;}
.onb-field input:focus{border-color:color-mix(in srgb,var(--amber) 50%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.onb-field-row{display:flex;gap:12px;}.onb-field-row .onb-field{flex:1;}
.onb-note{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--ink-2);margin-top:14px;line-height:1.5;}
.onb-note svg{width:15px;height:15px;color:var(--ink-3);flex-shrink:0;margin-top:1px;}
.onb-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;}
.pbtn.lg{font-size:14.5px;padding:12px 22px;}
.onb-perm{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--r-md);padding:16px;background:var(--surface-2);margin-top:18px;}
.onb-perm svg{width:26px;height:26px;color:var(--accent-ink);flex-shrink:0;}
.onb-perm .op-t{font-size:14.5px;font-weight:600;}.onb-perm .op-s{font-size:12.5px;color:var(--ink-2);margin-top:2px;}
.onb-set{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-2);}
.onb-set:last-of-type{border-bottom:0;}.onb-set .os-l{flex:1;}
.onb-set .os-t{font-size:14.5px;font-weight:500;}.onb-set .os-s{font-size:12.5px;color:var(--ink-2);margin-top:2px;}
.onb-int{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.int{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 13px;cursor:pointer;background:var(--surface);transition:border-color .15s,background .15s,transform .15s;}
.int:hover{transform:translateY(-1px);border-color:var(--ink-2);}
.int.on{border-color:color-mix(in srgb,var(--ok) 50%,var(--line));background:var(--ok-soft);}
.int-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-1);flex-shrink:0;}
.int-ic svg{width:16px;height:16px;}
.int-n{flex:1;font-size:13.5px;font-weight:500;}
.int-add{color:var(--ink-3);display:inline-flex;}.int-add svg{width:16px;height:16px;}.int.on .int-add{color:var(--ok);}
/* stripe-style card visual */
.onb-card-visual{margin-top:18px;border-radius:16px;padding:18px;color:#fff;
  background:linear-gradient(135deg,#2A2622,#15110E 70%);box-shadow:var(--shadow-2);border:1px solid rgba(255,255,255,.08);}
.cv-top{display:flex;align-items:center;justify-content:space-between;}
.cv-brand{font-family:var(--ff-mono);font-size:11px;color:rgba(255,255,255,.7);display:inline-flex;align-items:center;gap:7px;}
.cv-brand svg{width:13px;height:13px;}
.cv-chip{width:34px;height:24px;border-radius:5px;background:linear-gradient(135deg,#F4D58A,#C99A3A);}
.cv-num{font-family:var(--ff-mono);font-size:19px;letter-spacing:.12em;margin:22px 0 14px;color:#FFE9C2;}
.cv-row{display:flex;gap:24px;font-family:var(--ff-mono);font-size:12px;color:rgba(255,255,255,.75);}
/* tour spotlight */
body.onb-tour::before{content:'';position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--bg) 52%,transparent);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;animation:onb-fade .4s var(--ease) both;}
.dock-app.onb-spot{z-index:120;box-shadow:0 0 0 4px var(--amber),0 0 0 10px var(--amber-glow);}
@media (prefers-reduced-motion:no-preference){.dock-app.onb-spot{animation:spot-pulse 1.3s var(--ease-inout) infinite;}}
@keyframes spot-pulse{0%,100%{box-shadow:0 0 0 3px var(--amber),0 0 0 8px var(--amber-glow);}50%{box-shadow:0 0 0 4px var(--amber),0 0 0 16px transparent;}}
body.onb-tour #dock{z-index:121;}
/* Theron is the guide — keep her, her bubble and her cursor ABOVE the tour dim */
body.onb-tour #companion{z-index:122;}
body.onb-tour #companion .comp-say{z-index:123;}

/* desktop tour — no dim, just a spotlight ring on the target (keeps the whole app visible) */
.tour-spot{position:relative;z-index:97;box-shadow:0 0 0 3px var(--amber), 0 0 0 9px var(--amber-glow)!important;
  border-radius:13px;transition:box-shadow .2s var(--ease);}
/* whole-window spotlight during the tour — keeps the full app readable */
.tour-winspot{box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 60%,transparent), 0 0 0 7px var(--amber-glow), 0 30px 90px -28px rgba(20,14,4,.6)!important;
  transition:left .5s var(--ease), top .5s var(--ease), width .5s var(--ease), height .5s var(--ease), box-shadow .25s var(--ease);}
@media (prefers-reduced-motion:no-preference){.tour-spot{animation:spot-pulse 1.4s var(--ease-inout) infinite;}}
body.os-tour #companion{z-index:122;}
body.os-tour #companion .comp-say{z-index:123;}

/* ════════ FILES — the brain ════════ */
.filesapp{display:flex;flex-direction:column;height:100%;}
.files-bar{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;padding:16px 20px 12px;border-bottom:1px solid var(--line-2);}
.files-crumbs{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap;}
.crumb{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;cursor:pointer;border-radius:8px;padding:5px 9px;
  font-family:var(--ff-display);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink-2);transition:background .14s,color .14s;}
.crumb:hover{background:var(--surface-2);color:var(--ink-1);}
.crumb.on{color:var(--ink-1);}
.crumb svg{width:16px;height:16px;color:var(--accent-ink);}
.crumb-sep{color:var(--ink-3);font-family:var(--ff-mono);}
.files-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.files-search{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:7px 13px;}
.files-search svg{width:14px;height:14px;color:var(--ink-3);}
.files-search input{border:0;outline:0;background:transparent;font-family:var(--ff-ui);font-size:13px;color:var(--ink-1);width:140px;}
.files-note{padding:11px 20px 0;}
.fn-org{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);}
.fn-org svg{width:14px;height:14px;color:var(--accent-ink);}
.files-grid{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:11px;padding:16px 20px 22px;align-content:start;}
.fnode{position:relative;display:flex;align-items:center;gap:13px;padding:13px;border:1px solid var(--line);border-radius:var(--r-md);
  background:var(--surface);cursor:pointer;transition:transform .14s,box-shadow .18s,border-color .15s,background .15s;}
.fnode:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--ink-1) 18%,var(--line));}
.fnode:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}
.fnode.dragging{opacity:.45;}
.fnode.drop{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow);background:color-mix(in srgb,var(--amber-glow) 60%,var(--surface));}
.fnode.folder .fn-n{font-weight:600;}
.fn-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;}
.fn-ic svg{width:21px;height:21px;}
.fn-m{flex:1;min-width:0;}
.fn-n{font-family:var(--ff-ui);font-size:14px;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;}
.fn-n[contenteditable="true"]{white-space:normal;background:var(--surface-2);border-radius:5px;padding:1px 4px;}
.fn-s{font-size:12px;color:var(--ink-2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fn-x{position:absolute;top:8px;right:8px;width:22px;height:22px;border:0;background:transparent;color:var(--ink-3);border-radius:6px;cursor:pointer;
  display:grid;place-items:center;opacity:0;transition:opacity .14s,background .14s,color .14s;}
.fnode:hover .fn-x{opacity:1;}
.fn-x:hover{background:var(--bad-soft);color:var(--bad);}.fn-x svg{width:13px;height:13px;}
.files-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;color:var(--ink-3);text-align:center;font-size:13px;}
.files-empty svg{width:42px;height:42px;opacity:.6;}

/* ════════ PAYWALL ════════ */
#paywall{position:fixed;inset:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:24px;
  background:color-mix(in srgb,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  opacity:1;}
#paywall.out{opacity:0;transition:opacity .28s var(--ease);}
.pw-card{position:relative;width:min(420px,94vw);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:var(--shadow-3);padding:32px 30px 26px;text-align:center;animation:pw-rise .36s var(--ease-soft);}
@keyframes pw-rise{from{opacity:.3;transform:translateY(14px) scale(.97);}to{opacity:1;transform:none;}}
.pw-x{position:absolute;top:14px;right:14px;width:30px;height:30px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;border-radius:7px;display:grid;place-items:center;}
.pw-x:hover{background:var(--surface-2);color:var(--ink-1);}.pw-x svg{width:16px;height:16px;}
.pw-gem{line-height:0;display:flex;justify-content:center;filter:drop-shadow(0 8px 20px var(--amber-glow));}
.pw-eyebrow{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-top:14px;}
.pw-h{font-family:var(--ff-display);font-size:26px;font-weight:700;letter-spacing:-.025em;margin-top:6px;}
.pw-sub{font-size:14px;color:var(--ink-2);line-height:1.55;margin-top:8px;}
.pw-price{display:flex;align-items:baseline;justify-content:center;gap:5px;margin:18px 0 4px;}
.pw-amt{font-family:var(--ff-display);font-size:46px;font-weight:800;letter-spacing:-.03em;}
.pw-per{font-size:15px;color:var(--ink-2);font-weight:500;}
.pw-list{list-style:none;margin:14px 0 20px;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left;}
.pw-list li{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);line-height:1.45;}
.pw-list li svg{width:15px;height:15px;color:var(--ok);flex-shrink:0;margin-top:2px;}
.pw-list b{color:var(--ink-1);font-weight:600;}
.pw-go{width:100%;justify-content:center;}
.pw-later{display:block;width:100%;margin-top:10px;border:0;background:transparent;color:var(--ink-2);font-family:var(--ff-ui);font-size:13.5px;font-weight:500;cursor:pointer;padding:8px;}
.pw-later:hover{color:var(--ink-1);}
.pw-fine{font-size:11.5px;color:var(--ink-3);margin-top:12px;line-height:1.5;}

/* ════════ STUDIO — templates ════════ */
.studioapp{display:flex;flex-direction:column;height:100%;}
.studio-body{flex:1;min-height:0;overflow:auto;padding:18px 22px 24px;}
.studio-note{display:flex;gap:11px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px;margin-bottom:18px;}
.studio-note svg{width:17px;height:17px;color:var(--accent-ink);flex-shrink:0;margin-top:1px;}
.studio-note span{font-size:13px;line-height:1.55;color:var(--ink-2);}
.studio-note b{color:var(--ink-1);font-weight:600;}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;}
.tpl-card{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);
  padding:16px;cursor:pointer;transition:border-color .16s, box-shadow .18s, transform .16s;}
.tpl-card:hover{border-color:color-mix(in srgb,var(--ink-1) 24%,var(--line));box-shadow:var(--shadow-2);transform:translateY(-2px);}
.tpl-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;}
.tpl-ic svg{width:22px;height:22px;}
.tpl-m{flex:1;min-width:0;}
.tpl-n{font-family:var(--ff-display);font-size:15.5px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;}
.tpl-tag{font-family:var(--ff-mono);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-full);padding:2px 7px;}
.tpl-tag.mine{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:var(--ok-soft);}
.tpl-d{font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.5;}
.tpl-actions{display:flex;flex-direction:column;gap:7px;flex-shrink:0;}
.tpl-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:124px;
  border:1.5px dashed var(--line);border-radius:var(--r-lg);background:transparent;color:var(--ink-3);cursor:pointer;
  font-family:var(--ff-ui);font-size:13px;font-weight:500;transition:border-color .16s, color .16s, background .16s;}
.tpl-new:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--amber-glow);}
.tpl-new svg{width:22px;height:22px;}
/* editor */
.tpl-edit{display:flex;flex-direction:column;gap:16px;}
.te-grid{display:grid;grid-template-columns:1fr 230px;gap:22px;}
.te-main{display:flex;flex-direction:column;}
.te-l{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 7px;}
.te-l:first-child{margin-top:0;}
.te-l span{text-transform:none;letter-spacing:0;color:var(--ink-3);font-family:var(--ff-ui);font-size:11px;}
.te-in,.te-ta{width:100%;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);
  font-family:var(--ff-ui);font-size:14px;color:var(--ink-1);padding:11px 13px;outline:0;transition:border-color .15s, box-shadow .2s;}
.te-ta{font-size:13.5px;line-height:1.6;resize:vertical;min-height:120px;}
.te-in:focus,.te-ta:focus{border-color:color-mix(in srgb,var(--amber) 55%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.te-ai{display:flex;align-items:center;gap:11px;margin-top:11px;flex-wrap:wrap;}
.te-aihint{font-size:12px;color:var(--ink-3);}
.te-side{display:flex;flex-direction:column;}
.te-icons{display:flex;flex-wrap:wrap;gap:6px;}
.te-icbtn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;transition:border-color .14s, color .14s, background .14s;}
.te-icbtn svg{width:18px;height:18px;}
.te-icbtn.on{border-color:var(--accent);background:var(--amber-glow);color:var(--accent-ink);}
.te-tints{display:flex;gap:8px;}
.te-tint{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;}
.te-tint.on{border-color:var(--ink-1);box-shadow:0 0 0 2px var(--surface) inset;}
.te-preview{margin-top:20px;border:1px solid var(--line-2);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--surface-2);}
.te-pvn{font-family:var(--ff-display);font-size:14px;font-weight:600;color:var(--ink-1);text-align:center;}
.te-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-2);padding-top:16px;}
.te-foot-r{display:flex;gap:9px;}
@media (max-width:680px){ .te-grid{grid-template-columns:1fr;} }

/* ════════ PERSONALIZATION ════════ */
/* accent presets — re-skin the one hero color across buttons & active states */
body[data-accent="coral"]{--amber:#FF5D7E;--accent:#FF5D7E;--accent-ink:#E23E62;--c-amber:#FF8AA6;--c-burn:#FF5D7E;--amber-glow:rgba(255,93,126,.26);}
body[data-accent="sky"]{--amber:#28C2FF;--accent:#28C2FF;--accent-ink:#1AA0FF;--c-amber:#6FD4FF;--c-burn:#1AA0FF;--amber-glow:rgba(40,194,255,.26);}
body[data-accent="plum"]{--amber:#A85CFF;--accent:#A85CFF;--accent-ink:#7B2BFF;--c-amber:#C08CFF;--c-burn:#7B2BFF;--amber-glow:rgba(123,43,255,.26);}
body[data-accent="lime"]{--amber:#5FC72B;--accent:#5FC72B;--accent-ink:#4DA821;--c-amber:#AEEB6E;--c-burn:#5FC72B;--amber-glow:rgba(111,199,43,.26);}
/* wallpaper presets on #room */
body[data-wp="sunrise"] #room{background:radial-gradient(110% 80% at 10% -5%,#FFE7F0,transparent 55%),radial-gradient(110% 80% at 96% 0,#FFEAD6,transparent 52%),radial-gradient(130% 120% at 50% 112%,#FFF1D9,transparent 58%),var(--paper);}
body[data-wp="ocean"] #room{background:radial-gradient(110% 80% at 12% -6%,#DDF1FF,transparent 55%),radial-gradient(110% 80% at 95% 0,#E6E9FF,transparent 52%),radial-gradient(130% 120% at 50% 112%,#D9FBF1,transparent 58%),var(--paper);}
body[data-wp="orchid"] #room{background:radial-gradient(110% 80% at 10% -5%,#F3E1FF,transparent 55%),radial-gradient(110% 80% at 96% 0,#FFE1F0,transparent 52%),radial-gradient(130% 120% at 50% 112%,#E7E0FF,transparent 58%),var(--paper);}
body[data-wp="mint"] #room{background:radial-gradient(110% 80% at 10% -5%,#DDF7E6,transparent 55%),radial-gradient(110% 80% at 96% 0,#E6F4FF,transparent 52%),radial-gradient(130% 120% at 50% 112%,#FFF7D9,transparent 58%),var(--paper);}
body[data-wp="mono"] #room{background:radial-gradient(120% 100% at 50% -10%,color-mix(in srgb,var(--surface-2) 80%,transparent),transparent 60%),var(--paper);}
body[data-wp="slate"] #room{background:radial-gradient(125% 90% at 50% -14%,rgba(255,180,42,.06),transparent 56%),radial-gradient(90% 72% at 96% 2%,rgba(120,134,156,.05),transparent 52%),var(--paper);}
/* dark-mode wallpaper variants — deep candy tints, never the light wash */
html[data-theme="dark"] body[data-wp="sunrise"] #room{background:radial-gradient(110% 80% at 10% -5%,rgba(255,106,0,.16),transparent 55%),radial-gradient(110% 80% at 96% 0,rgba(255,93,126,.13),transparent 52%),radial-gradient(130% 120% at 50% 112%,rgba(255,180,42,.1),transparent 58%),var(--bg);}
html[data-theme="dark"] body[data-wp="ocean"] #room{background:radial-gradient(110% 80% at 12% -6%,rgba(40,194,255,.16),transparent 55%),radial-gradient(110% 80% at 95% 0,rgba(123,43,255,.14),transparent 52%),radial-gradient(130% 120% at 50% 112%,rgba(111,199,43,.08),transparent 58%),var(--bg);}
html[data-theme="dark"] body[data-wp="orchid"] #room{background:radial-gradient(110% 80% at 10% -5%,rgba(168,92,255,.18),transparent 55%),radial-gradient(110% 80% at 96% 0,rgba(255,93,126,.13),transparent 52%),radial-gradient(130% 120% at 50% 112%,rgba(123,43,255,.12),transparent 58%),var(--bg);}
html[data-theme="dark"] body[data-wp="mint"] #room{background:radial-gradient(110% 80% at 10% -5%,rgba(111,199,43,.16),transparent 55%),radial-gradient(110% 80% at 96% 0,rgba(40,194,255,.13),transparent 52%),radial-gradient(130% 120% at 50% 112%,rgba(255,180,42,.08),transparent 58%),var(--bg);}
html[data-theme="dark"] body[data-wp="mono"] #room{background:radial-gradient(120% 100% at 50% -10%,color-mix(in srgb,var(--surface) 70%,transparent),transparent 60%),var(--bg);}
html[data-theme="dark"] body[data-wp="slate"] #room{background:radial-gradient(58vw 60vh at 78% -6%,rgba(255,180,42,.11),transparent 58%),radial-gradient(50vw 52vh at 6% 108%,rgba(111,160,189,.08),transparent 62%),linear-gradient(168deg,#141318,#0E0D11 60%,#0B0A0E);}
/* generative custom wallpaper — driven by CSS vars Theron sets */
body[data-wp="custom"] #room{background:
  radial-gradient(110% 80% at 10% -5%, var(--cw1,#FFE7F0), transparent 55%),
  radial-gradient(110% 80% at 96% 0, var(--cw2,#E6F4FF), transparent 52%),
  radial-gradient(130% 120% at 50% 112%, var(--cw3,#FFF1D9), transparent 58%),
  var(--paper);}
html[data-theme="dark"] body[data-wp="custom"] #room{background:
  radial-gradient(110% 80% at 10% -5%, var(--cwd1,rgba(255,106,0,.16)), transparent 55%),
  radial-gradient(110% 80% at 96% 0, var(--cwd2,rgba(40,194,255,.14)), transparent 52%),
  radial-gradient(130% 120% at 50% 112%, var(--cwd3,rgba(168,92,255,.12)), transparent 58%),
  var(--bg);}
/* Personalize swatches */
.pz-label{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:6px 0 9px;}
.pz-design{display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;margin-bottom:22px;
  border:1px solid color-mix(in srgb,var(--c-plum) 30%,var(--line));border-radius:18px;padding:14px 16px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--c-amber) 14%,transparent),color-mix(in srgb,var(--c-plum) 14%,transparent));
  transition:transform .16s var(--bounce),box-shadow .2s;}
.pz-design:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);}
.pz-design-gem{flex-shrink:0;line-height:0;}
.pz-design-m{flex:1;display:flex;flex-direction:column;gap:2px;}
.pz-design-m b{font-size:15px;font-weight:800;letter-spacing:-.02em;color:var(--ink-1);}
.pz-design-m i{font-style:normal;font-size:12.5px;color:var(--ink-2);line-height:1.4;}
.pz-design-go{flex-shrink:0;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(165deg,var(--c-amber),var(--c-burn));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 16px -6px rgba(255,106,0,.5);}
.pz-design-go svg{width:18px;height:18px;}
.pz-script{display:flex;gap:8px;align-items:center;margin:-12px 0 22px;}
.pz-script-in{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface-2);
  font-family:var(--ff-ui);font-size:13px;color:var(--ink-1);padding:10px 15px;outline:0;transition:border-color .15s,box-shadow .2s;}
.pz-script-in:focus{border-color:color-mix(in srgb,var(--c-amber) 55%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.pz-script-in::placeholder{color:var(--ink-3);}
.pz-row{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.pz-acc{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;background:var(--a);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 10px -4px rgba(120,40,140,.4);transition:transform .14s var(--bounce);}
.pz-acc:hover{transform:scale(1.1);}
.pz-acc.on{border-color:var(--ink-1);box-shadow:0 0 0 2px var(--surface) inset,0 4px 10px -4px rgba(120,40,140,.4);}
.pz-wp{width:64px;height:42px;border-radius:11px;border:2px solid transparent;cursor:pointer;overflow:hidden;transition:transform .14s var(--bounce);box-shadow:var(--shadow-1);}
.pz-wp:hover{transform:translateY(-2px);}
.pz-wp.on{border-color:var(--accent);}
.pz-wp[data-v="sunrise"]{background:radial-gradient(80% 80% at 15% 0,#FFE7F0,transparent),radial-gradient(80% 80% at 100% 0,#FFEAD6,transparent),#FFF8FB;}
.pz-wp[data-v="ocean"]{background:radial-gradient(80% 80% at 15% 0,#DDF1FF,transparent),radial-gradient(80% 80% at 100% 0,#E6E9FF,transparent),#FFF8FB;}
.pz-wp[data-v="orchid"]{background:radial-gradient(80% 80% at 15% 0,#F3E1FF,transparent),radial-gradient(80% 80% at 100% 0,#FFE1F0,transparent),#FFF8FB;}
.pz-wp[data-v="mint"]{background:radial-gradient(80% 80% at 15% 0,#DDF7E6,transparent),radial-gradient(80% 80% at 100% 0,#E6F4FF,transparent),#FFF8FB;}
.pz-wp[data-v="mono"]{background:linear-gradient(165deg,#fff,#F3ECEF);}
.pz-wp[data-v="slate"]{background:radial-gradient(80% 80% at 50% 0,rgba(255,180,42,.13),transparent 70%),linear-gradient(165deg,#FBFBFC,#EDEEF0);}
/* dock size */
body[data-docksize="sm"] .dock-app,body[data-docksize="sm"] .dock-gem{width:36px;height:36px;}
body[data-docksize="sm"] .dock-app svg{width:17px;height:17px;}
body[data-docksize="lg"] .dock-app,body[data-docksize="lg"] .dock-gem{width:52px;height:52px;}
body[data-docksize="lg"] .dock-app svg{width:25px;height:25px;}
/* dock position: bottom */
body[data-dockpos="bottom"] #dock{left:50%;top:auto;bottom:16px;right:auto;transform:translateX(-50%);flex-direction:row;align-items:flex-end;}
body[data-dockpos="bottom"] #dock .dock-div{width:1px;height:24px;margin:0 4px;align-self:center;}
body[data-dockpos="bottom"] #dock .dock-app .run{left:50%;top:auto;bottom:-6px;transform:translateX(-50%) scaleY(0) rotate(90deg);}
body[data-dockpos="bottom"] #dock .dock-app.running .run{transform:translateX(-50%) scaleY(.55) rotate(90deg);}
body[data-dockpos="bottom"] #dock .dock-app.focused-app .run{transform:translateX(-50%) scaleY(1) rotate(90deg);}
body[data-dockpos="bottom"] #dock .dock-app .tip{left:50%;top:auto;bottom:calc(100% + 12px);transform:translateX(-50%) translateY(4px);}
body[data-dockpos="bottom"] #dock .dock-app:hover .tip{transform:translateX(-50%) translateY(0);}
body[data-dockpos="bottom"] #stage{left:0;}
body[data-dockpos="bottom"]:not(.chat-active) #chatbar{bottom:92px;}
body[data-dockpos="bottom"]:not(.chat-active) #chatbar-disclaimer{bottom:74px;}
.apv-scrim{position:fixed;inset:0;z-index:340;display:flex;align-items:center;justify-content:center;padding:24px;
  background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  opacity:0;transition:opacity .22s var(--ease);}
.apv-scrim.on{opacity:1;}
.apv-card{width:min(440px,94vw);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset, 0 30px 80px -32px rgba(120,40,140,.5);
  transform:translateY(16px) scale(.96);transition:transform .3s var(--bounce);}
.apv-scrim.on .apv-card{transform:none;}
.apv-card::before{content:"";display:block;height:4px;border-radius:4px;margin:-4px -4px 16px;}
.apv-coral::before{background:linear-gradient(90deg,#FF8AA6,var(--c-coral));}
.apv-sky::before{background:linear-gradient(90deg,#6FD4FF,var(--c-sky));}
.apv-amber::before{background:linear-gradient(90deg,var(--c-amber),var(--c-burn));}
.apv-grape::before{background:linear-gradient(90deg,var(--c-plum),var(--c-grape));}
.apv-head{display:flex;gap:13px;align-items:flex-start;}
.apv-gem{flex-shrink:0;line-height:0;}
.apv-htxt{flex:1;min-width:0;}
.apv-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);}
.apv-badge svg{width:13px;height:13px;}
.apv-title{font-family:var(--ff-display);font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-top:5px;color:var(--ink-1);}
.apv-detail{font-size:14px;color:var(--ink-2);line-height:1.55;margin-top:12px;}
.apv-rows{margin-top:14px;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;}
.apv-row{display:flex;justify-content:space-between;gap:14px;padding:10px 13px;border-top:1px solid var(--line-2);font-size:13px;}
.apv-row:first-child{border-top:0;}
.apv-row .apv-k{font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.apv-row .apv-v{color:var(--ink-1);font-weight:500;text-align:right;}
.apv-note{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--ink-2);line-height:1.5;margin-top:15px;
  background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent);border-radius:12px;padding:11px 13px;}
.apv-note svg{width:15px;height:15px;color:var(--ok);flex-shrink:0;margin-top:1px;}
.apv-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;}
.pbtn.lg{font-size:14.5px;padding:11px 22px;}

/* ════════ SETTINGS — account & integrations ════════ */
.acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px;}
.acct-f{display:flex;flex-direction:column;gap:6px;}
.acct-f span{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.acct-f span em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--ink-3);font-family:var(--ff-ui);font-size:11px;margin-left:5px;}
.acct-f input{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font-family:var(--ff-ui);font-size:14px;color:var(--ink-1);padding:10px 12px;outline:0;transition:border-color .15s, box-shadow .2s;}
.acct-f input:focus{border-color:color-mix(in srgb,var(--amber) 55%,var(--line));box-shadow:0 0 0 3px var(--amber-glow);}
.integ-list{display:flex;flex-direction:column;}
.integ{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line-2);}
.integ:last-child{border-bottom:0;}
.integ-ic{width:38px;height:38px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-1);flex-shrink:0;}
.integ-ic svg{width:18px;height:18px;}
.integ-m{flex:1;min-width:0;}
.integ-n{font-size:14px;font-weight:600;color:var(--ink-1);}
.integ-d{font-size:12.5px;color:var(--ink-2);margin-top:2px;}
@media (max-width:680px){ .acct-grid{grid-template-columns:1fr;} }

/* ════════ TERMINAL — theron codes here ════════ */
#stage .theme-flash{animation:theme-flash .6s var(--ease);}
@keyframes theme-flash{0%{filter:brightness(1)}30%{filter:brightness(1.08) saturate(1.15)}100%{filter:brightness(1)}}
.term{display:flex;flex-direction:column;height:100%;background:#15131f;color:#E7E3F0;font-family:var(--ff-mono);}
html[data-theme="dark"] .term{background:#100E18;}
.term-tabs{display:flex;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);flex-shrink:0;}
.term-tab{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:#cfc8e6;background:rgba(255,255,255,.06);border-radius:7px 7px 0 0;padding:6px 11px;}
.term-tab svg{width:13px;height:13px;}
.term-tab.ghost{color:#6f6890;background:transparent;}
.term-sp{flex:1;}
.term-dotrow{display:flex;gap:5px;}
.term-dotrow i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.16);}
.term-dotrow i:nth-child(1){background:#ff7a8a;}.term-dotrow i:nth-child(2){background:#ffce6b;}.term-dotrow i:nth-child(3){background:#8fe8b0;}
.term-body{flex:1;min-height:0;overflow:auto;padding:14px 16px;}
.term-out{font-size:12.8px;line-height:1.72;white-space:pre-wrap;word-break:break-word;}
.term-line{min-height:1.2em;}
.term-prompt{color:var(--accent,#FFB42A);font-weight:600;margin-right:2px;}
.term-typed{color:#E7E3F0;}
.term-caret{display:inline-block;width:8px;height:1.05em;vertical-align:-2px;margin-left:1px;background:var(--accent,#FFB42A);animation:term-blink 1s steps(1) infinite;}
@keyframes term-blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
.term-line.c-code{color:#cdd6f4;}
.term-line.c-dim,.c-dim{color:#7d769c;}
.c-ok{color:#8fe8b0;}
.c-prop{color:#f0a6ff;}
.c-val{color:var(--accent,#FFB42A);}
.c-kw{color:#7fb0ff;}

/* ── theron-cli terminal (live app) ── */
.termapp{display:flex;flex-direction:column;height:100%;background:#14121e;color:#E7E3F0;
  font-family:var(--ff-mono);font-size:12.9px;line-height:1.7;cursor:text;}
html[data-theme="dark"] .termapp{background:#0F0D17;}
.term-screen{flex:1;min-height:0;overflow:auto;padding:16px 18px 10px;}
.term-screen::-webkit-scrollbar{width:9px;}
.term-screen::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:5px;}
.tl{min-height:1.1em;white-space:pre-wrap;word-break:break-word;animation:tl-in .12s var(--ease);}
@keyframes tl-in{from{opacity:0}to{opacity:1}}
.tspacer{height:8px;}
.term-logo{margin:0 0 2px;font-family:var(--ff-mono);font-size:14px;font-weight:600;color:#fff;letter-spacing:.04em;}
.tver{color:#9BE8C8;}
.tdim{color:#8b84a8;}
.tok{color:#8fe8b0;font-weight:600;}
.twarn{color:#ffce6b;font-weight:600;}
.terr{color:#ff8a9a;font-weight:600;}
.tspin{color:#9BE8C8;display:inline-block;width:1em;}
.tprompt,.term-ps1{font-weight:600;}
.ps1-a{color:#9BE8C8;}.ps1-at{color:#8b84a8;}.ps1-h{color:#c0a6ff;}.ps1-p{color:#6fb0ff;}.ps1-c{color:#ff9ec0;}
.tcmd{color:#fff;}
.tans{color:#ECE8F6;margin:7px 0 9px;padding:9px 13px;border-left:2px solid #6E63A8;background:rgba(110,99,168,.12);border-radius:0 8px 8px 0;white-space:pre-wrap;}
.tkern{color:#c0a6ff;}
.tspec{color:#9BE8C8;font-weight:600;}
.tid{color:#ffce6b;}
.thex{color:#6fb0ff;font-size:12px;}
.trcpt{margin:7px 0;padding:9px 12px;border:1px solid rgba(155,232,200,.25);border-radius:8px;background:rgba(155,232,200,.06);}
.tverify{margin:6px 0;padding:8px 12px;border-radius:8px;}
.tverify.ok{border:1px solid rgba(143,232,176,.4);background:rgba(143,232,176,.08);}
.tverify.bad{border:1px solid rgba(255,138,154,.45);background:rgba(255,138,154,.1);}
.tconsensus{margin:6px 0;padding:7px 12px;border-radius:8px;}
.tconsensus.ok{color:#8fe8b0;background:rgba(143,232,176,.08);}
.tconsensus.split{color:#ffce6b;background:rgba(255,206,107,.08);}
.trow{padding:1px 0;}
.thelp{color:#9BE8C8;}
.tkbd{color:#ffce6b;background:rgba(255,255,255,.06);border-radius:5px;padding:1px 6px;font-size:12px;}
.term-inputline{display:flex;align-items:center;gap:8px;padding:10px 18px 14px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0;}
.term-in{flex:1;background:transparent;border:0;outline:0;color:#fff;font-family:var(--ff-mono);font-size:12.9px;caret-color:#9BE8C8;}
.term-in:disabled{opacity:.6;}
