/* ============================================================
   Kai — screen components (Fiat · Crypto · Cards · BTC · Move)
   Medium fidelity on purpose: these exist to carry the motion.
   ============================================================ */

/* ---------- frame chrome ---------- */
.statusbar-fixed {
  position: absolute; inset: 0 0 auto 0; height: 49px; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px 0;
  font: 590 16.8px/20px -apple-system, 'SF Pro Text', system-ui;
  letter-spacing: -.42px; color: var(--ink); pointer-events: none;
}
.statusbar-fixed .icons { display: flex; align-items: center; gap: 6px; }

.screen-head {
  position: absolute; top: 49px; left: 0; right: 0; height: 60px; z-index: 9;
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 20px;
}
.sh-title { font-size: 22px; color: var(--ink); display: flex; align-items: center; gap: 8px; }
.sh-title.ctr { font-size: 17px; }
.sh-chip {
  font-size: 13px; color: var(--ink); padding: 6px 12px; border-radius: 70px;
  background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.7);
  font-variant-numeric: tabular-nums;
}
.sh-plus, .sh-back {
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(255,255,255,.7); color: var(--ink); font-size: 19px; cursor: pointer;
  transition: transform var(--d-instant) var(--ease-state);
}
.sh-back { font-size: 24px; line-height: 0; padding-bottom: 3px; }
.sh-plus:active, .sh-back:active { transform: scale(.9); }

.pad20 { padding: 0 20px; }
.sec-lbl { font-size: 12px; color: var(--slate-2); margin: 16px 0 6px; }

/* ---------- domain hero (Fiat / Crypto) ---------- */
.dom-hero { padding: 6px 20px 2px; text-align: center; }
.dom-label { font-size: 12px; color: var(--ink); margin-bottom: 4px; }
.dom-value {
  font-size: 46px; line-height: 120%; color: var(--ink);
  white-space: nowrap; display: inline-block;
}
.dom-value .cents { color: #8EA3AC; }
.dom-delta {
  display: flex; justify-content: center;
  color: var(--green); font-size: 12px; margin-top: 4px;
}

/* ---------- 3 round actions ---------- */
.act3 { display: flex; justify-content: center; gap: 34px; margin: 16px 0 4px; }
.actc {
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  font-size: 12px; color: var(--ink); cursor: pointer;
}
.actb {
  width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(255,255,255,.82);
  box-shadow: 0 2px 10px rgba(10,36,38,.08), inset 0 2px 3px rgba(255,255,255,.9);
  transition: transform var(--d-instant) var(--ease-state), box-shadow var(--d-fast) linear;
}
.actc:active .actb { transform: scale(.92); box-shadow: 0 1px 4px rgba(10,36,38,.14); }

/* ---------- list rows ---------- */
.row-group { border-radius: 12px; background: rgba(255,255,255,.72); overflow: hidden; }
.lrow {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 15px; cursor: pointer;
  border-bottom: 1px solid rgba(255,255,255,.85);
  transition: background var(--d-fast) var(--ease-state);
}
.lrow:last-child { border-bottom: 0; }
.lrow:active { background: rgba(255,255,255,.5); }
.lrow-l { display: flex; align-items: center; gap: 10px; }
.lrow-r { text-align: right; }
.lrow .t1 { font-size: 14px; color: var(--ink); }
.lrow .t2 { font-size: 12px; color: var(--slate); margin-top: 3px; }
.lrow .v  { font-size: 14px; color: var(--ink); font-variant-numeric: tabular-nums; }
.lrow .s  { font-size: 12px; color: var(--slate); margin-top: 3px; }
.lrow .s.up { color: var(--green); }
.lrow .s.dn { color: #E05B4B; }

.lico {
  width: 34px; height: 34px; border-radius: 50%; flex: none;
  display: grid; place-items: center; font-size: 15px; color: #fff;
  background: var(--mist);
}
.lico.sm { width: 22px; height: 22px; font-size: 11px; }
.lico.eur  { background: rgba(145,163,179,.25); color: var(--ink); }
.lico.usd  { background: rgba(145,163,179,.25); color: var(--ink); }
.lico.gbp  { background: rgba(145,163,179,.25); color: var(--ink); }
.lico.stk  { background: rgba(51,184,129,.2);  color: #1E8A5F; }
.lico.btc  { background: var(--btc); }
.lico.eth  { background: #627EEA; }
.lico.usdt { background: #50AF95; }
.lico.dk   { background: #0A2426; }
.lico.md   { background: #538188; }
.lico.lt   { background: #C0D4D7; color: var(--ink); }

/* ---------- the cross-domain CTA — the doorway between worlds ---------- */
.cross-cta {
  margin-top: 14px; padding: 13px 15px; border-radius: 12px; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(100deg, rgba(255,255,255,.28), rgba(255,255,255,.72));
  border: 1px dashed rgba(14,33,41,.18);
  font-size: 13px; color: var(--slate);
  transition: transform var(--d-fast) var(--ease-state), border-color var(--d-fast) linear;
}
.cross-cta b { color: var(--ink); font-weight: 400; }
.cross-cta:active { transform: scale(.985); border-color: rgba(14,33,41,.36); }

/* ---------- crypto tiles ---------- */
.tiles { display: flex; gap: 8px; margin-top: 12px; }
.tile {
  flex: 1; padding: 12px 14px; border-radius: 12px;
  background: radial-gradient(60% 60% at 50% 0%, rgba(255,255,255,.3), rgba(255,255,255,.62));
  box-shadow: inset 0 3px 4px rgba(255,255,255,.6);
}
.tl-h { display: flex; justify-content: space-between; font-size: 12px; color: var(--slate-2); }
.tl-h i { font-style: normal; color: var(--mist); }
.tl-v { font-size: 22px; color: var(--ink-2); margin-top: 6px; font-variant-numeric: tabular-nums; }

/* ---------- BTC detail ---------- */
.mkt-lbl { font-size: 12px; color: var(--slate-2); margin-top: 6px; }
.mkt-price { font-size: 38px; color: var(--ink); line-height: 1.2; }
.mkt-price .cents { color: #8EA3AC; }
.bigspark { height: 104px; margin-top: 10px; }
.pos-bar { display: flex; gap: 3px; margin-top: 8px; }
.pos-bar i { height: 4px; border-radius: 4px; width: var(--w); }
.pos-lgd { display: flex; justify-content: space-between; margin-top: 6px; font-size: 11px; color: var(--slate-2); }

/* ---------- cards screen ---------- */
.big-deck { position: relative; height: 210px; margin: 4px 0 16px; }
.big-deck .bcard {
  position: absolute; left: 50%; width: 270px; height: 160px; border-radius: 16px;
  transform: var(--collapsed); transform-origin: 50% 100%;
  transition: transform calc(700ms * var(--tscale) * var(--speed)) var(--ease-settle);
  padding: 15px; color: #fff;
}
.big-deck.fanned .bcard { transform: var(--rest); }
.bcard .bc-top { display: flex; justify-content: space-between; font-size: 12px; opacity: .9; }
.bcard .bc-num { position: absolute; left: 15px; bottom: 34px; font-size: 15px; letter-spacing: 2px; }
.bcard .bc-nm  { position: absolute; left: 15px; bottom: 15px; font-size: 11px; opacity: .8; }

/* ---------- MOVE sheet ---------- */
.sht-title { font-size: 21px; color: var(--ink); }
.sht-sub { font-size: 12.5px; color: var(--slate); margin-top: 4px; }

.mv-pair { position: relative; margin: 16px 0; display: flex; flex-direction: column; gap: 8px; }
.mv-side { background: rgba(255,255,255,.78); border-radius: 13px; padding: 12px 14px; }
.mv-lbl { font-size: 11px; color: var(--slate-2); margin-bottom: 6px; }
.mv-acct { display: flex; align-items: center; gap: 10px; }
.mv-acct .t1 { font-size: 15px; color: var(--ink); }
.mv-acct .t2 { font-size: 12px; color: var(--slate); margin-top: 2px; }
.mv-arrow {
  position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; border-radius: 50%; background: #fff; z-index: 3;
  display: grid; place-items: center; cursor: pointer;
  box-shadow: 0 3px 12px rgba(10,36,38,.2);
  transition: transform var(--d-instant) var(--ease-state);
}
.mv-arrow svg { transition: transform calc(420ms * var(--speed)) var(--ease-ios); }
.mv-arrow.flipped svg { transform: rotate(180deg); }
.mv-arrow:active { transform: translateY(-50%) scale(.9); }
.mv-side { transition: transform calc(420ms * var(--speed)) var(--ease-ios); }

.amt-box {
  display: flex; align-items: baseline; justify-content: center; gap: 4px;
  margin: 20px 0 4px; color: var(--ink);
}
.amt-cur { font-size: 30px; color: var(--slate-2); }
.amt-val { font-size: 52px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.amt-conv { text-align: center; font-size: 13px; color: var(--slate-2); margin-bottom: 12px; }

.pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 4px 0 14px; }
.pad-key {
  height: 50px; border-radius: 13px; display: grid; place-items: center;
  font-size: 22px; color: var(--ink); cursor: pointer;
  background: rgba(255,255,255,.62);
  transition: transform var(--d-instant) var(--ease-state), background var(--d-fast) linear;
}
.pad-key:active { transform: scale(.93); background: rgba(255,255,255,.95); }

.rev-card { background: rgba(255,255,255,.78); border-radius: 13px; padding: 4px 14px; margin: 14px 0; }
.rev-row {
  display: flex; justify-content: space-between; padding: 11px 0;
  border-bottom: 1px solid rgba(14,33,41,.07); font-size: 13px; color: var(--slate);
}
.rev-row:last-child { border-bottom: 0; }
.rev-row b { color: var(--ink); font-weight: 400; font-variant-numeric: tabular-nums; }

.sht-btn {
  width: 100%; height: 52px; border-radius: 26px; border: 0; cursor: pointer;
  background: var(--ink); color: #fff; font-family: inherit; font-size: 15px;
  transition: transform var(--d-instant) var(--ease-state);
}
.sht-btn.go { background: var(--green); color: #06251a; }
.sht-btn:active { transform: scale(.975); }

/* ============================================================
   CONTROL PANEL additions
   ============================================================ */
.tx-log { display: flex; flex-direction: column; gap: 4px; min-height: 30px; }
.tx-log-row { display: flex; align-items: center; gap: 8px; }
.tx-chip {
  font-family: ui-monospace, monospace; font-size: 9px; color: #fff;
  padding: 2px 6px; border-radius: 4px; min-width: 64px; text-align: center;
}
.tx-path { font-size: 11px; color: #9aa8b4; font-family: ui-monospace, monospace; }
.jump-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.jump-grid .btn { padding: 8px 6px; }
.legend div { margin-bottom: 6px; }
