/* Data cards (spec §10) — deterministic projections of permission-filtered Rock reads. */
.dcards{display:flex;flex-direction:column;gap:8px;margin:2px 0 10px}
.dstat-grid{display:flex;gap:20px 32px;flex-wrap:wrap}
.dstat-value{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:20px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.dstat-value.ember{color:var(--emberL)}
.dstat-value.green{color:var(--green)}
.dstat-value.gold{color:var(--gold)}
.dstat-value.muted{color:var(--muted)}
.dstat-label{font-size:13px;font-weight:600;color:var(--ink2);margin-top:2px}
.dstat-cap{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.6}
.dlist{display:flex;flex-direction:column;min-width:0;max-width:100%}
.dlist-row{display:flex;align-items:center;gap:12px;padding:8px 4px;border-radius:8px;min-width:0;max-width:100%;box-sizing:border-box}
.dlist-row + .dlist-row{border-top:1px solid var(--line)}
.dlist-row:hover{background:var(--hover)}
.dchip{width:24px;height:24px;border-radius:999px;background:var(--bg2);box-shadow:0 0 0 4px var(--hover);color:var(--ink2);font-family:'Fraunces',serif;font-size:10px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dlist-main{flex:1;min-width:0}
.dlist-trail{display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0}
.dlist-title{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlist-sub{font-size:11px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlist-meta{font-size:11px;color:var(--muted);white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.dtable{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.dtable th{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);text-align:left;padding:0 8px 6px}
.dtable td{padding:8px;border-top:1px solid var(--line);color:var(--ink2)}
.dtable th.num,.dtable td.num{text-align:right;font-variant-numeric:tabular-nums}
.dtrend{color:var(--muted)}
.dtrend svg{display:block;width:100%;height:auto}
.dtrend-lbl{font-size:10px;font-weight:600;fill:var(--muted);font-family:'Hanken Grotesk',sans-serif}
.dtrend-val{font-size:10px;font-weight:700;fill:var(--ink2);font-family:'Hanken Grotesk',sans-serif}
.ask{position:fixed;left:0;right:0;bottom:0;z-index:12;padding:28px clamp(16px,4vw,32px) calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--bg) 42%)}
.ask.is-hidden{display:none}
.ask-in{max-width:760px;margin:0 auto;position:relative}
.ask-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Scroll-to-newer — centered on content column, above ask, page surface (not ask card) */
.cmore{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%);
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--bg);
  border:1px solid var(--line);
  display:none;
  align-items:center;
  justify-content:center;
  color:var(--ink);
  cursor:pointer;
  font-size:20px;
  font-weight:700;
  line-height:1;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,color .15s,border-color .15s,background .15s;
  box-shadow:none;
  padding:0;
  z-index:6;
}
.cmore.show{display:flex;opacity:1;pointer-events:auto}
.cmore:hover{color:var(--ink);border-color:var(--ink2);background:var(--bg2)}
.cmore .cmore-ico{display:block;width:18px;height:18px}
.chatshell{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 10px 30px color-mix(in srgb,var(--ink) 7%,transparent);transition:border-color .25s}
:root[data-mode="dark"] .chatshell{box-shadow:0 10px 30px color-mix(in srgb,var(--bg) 45%,transparent)}
.chatshell:focus-within{border-color:color-mix(in srgb,var(--ember) 45%,var(--line))}
.bar{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 24px}
.bar input{flex:1;font-size:15px;color:var(--ink);font-family:inherit;border:none;background:transparent;outline:none;min-width:0}
.bar input::placeholder{color:var(--muted)}
.bar input:disabled{color:var(--muted);cursor:default}
.bar .s{width:32px;height:32px;border-radius:50%;background:var(--ember);display:flex;align-items:center;justify-content:center;color:var(--card);font-size:13px;cursor:pointer;border:none}
.bar .s:disabled{opacity:1;cursor:default;background:transparent;border:1px solid var(--line);color:var(--muted);box-shadow:none}
