/* ============================================================================
   vi.appliedidentities.com — proof-instrument components over the estate base.
   Estate tokens ONLY (web-unify L3 core pass, 2026-07-21). Loaded after
   estate.css by home / playground / developer.
   ========================================================================== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width:820px){.two-col{grid-template-columns:1fr;}}
.behavior h3{font-size:18px;font-weight:600;margin:0 0 10px;}
.behavior>p{font-size:14.5px;color:var(--text-2);}
.receipt{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:14px;}
.r-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);}
.stamp{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--text-3);}
.r-body{padding:6px 16px 14px;}
.r-body .row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;}
.r-body .row:last-child{border-bottom:0;}
.r-body .g{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding-top:2px;}
.r-body .v{color:var(--text-2);}
.r-body .sub{font-family:var(--mono);font-size:11.5px;color:var(--text-3);margin-top:6px;}
.chain{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin-top:18px;}
.chain .node{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-weight:600;font-size:14px;}
.chain .node small{display:block;font-weight:400;font-size:12px;color:var(--text-2);margin-top:4px;}
.chain .arr{align-self:center;color:var(--text-3);}
.counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px;}
.counters .stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px;}
.counters .n{font-family:var(--mono);font-size:26px;font-weight:500;}
.counters .k{font-size:13px;color:var(--text-2);margin-top:6px;}
.ep-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px;}
.ep-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;text-decoration:none;}
.ep-card:hover{border-color:var(--action);}
.ep-card .num{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.06em;}
.ep-card h3{font-size:16px;margin:8px 0 6px;}
.ep-card p{font-size:13.5px;color:var(--text-2);margin:0;}
/* token bridge for pages converted via chrome-swap (playground, developer):
   old vi.css var names resolve to estate tokens. */
:root{
  --ink:var(--canvas); --panel:var(--surface); --panel-2:var(--elevated);
  --line-strong:var(--elevated); --muted:var(--text-2); --faint:var(--text-3);
  --ok:var(--verified); --warn:var(--yellow); --danger:var(--error);
  --signal:var(--info); --signal-dim:rgba(47,182,255,.14); --commerce:var(--money);
}
