/* ============================================================
   BASHCOIN — components
   Everything is a panel, a listing or a command. Touch targets stay
   at --tap (44px) and text keeps its AA contrast; only the dress changed.
   ============================================================ */

/* ---------- panel ---------- */
.card{position:relative;border-radius:var(--r-md);background:var(--surface);
  border:1px solid var(--stroke);box-shadow:var(--sh-1)}
/* corner brackets instead of a glow: the panel reads as drawn, not lit */
.card::before,.card::after{content:"";position:absolute;width:9px;height:9px;pointer-events:none;
  border-color:var(--primary);opacity:.55}
.card::before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}
.card::after{bottom:-1px;right:-1px;border-bottom:2px solid;border-right:2px solid}
.card--pad{padding:var(--sp-4)}
.card--flat{box-shadow:none}

.section{margin-top:var(--sp-6)}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);
  margin:0 0 var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--stroke)}
.section__title{font-size:var(--fs-sub);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-2);line-height:var(--lh-snug)}
/* every section heading is a path in the tree */
.section__title::before{content:"── ";color:var(--primary);opacity:.6}
.section__link{font-size:var(--fs-label);font-weight:700;color:var(--primary)}
.eyebrow{font-size:var(--fs-badge);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}

/* ---------- prompt line ---------- */
.prompt{display:flex;align-items:baseline;gap:.5ch;font-size:var(--fs-sub);color:var(--text-3)}
.prompt__user{color:var(--primary)}
.prompt__path{color:var(--info)}
.prompt__sign{color:var(--text-2)}
.prompt__cmd{color:var(--text)}

/* ---------- balance readout ---------- */
/* The balance is the hero of the screen: centred and large. Sizes use clamp
   so a twelve-digit balance still fits a 320px phone. */
.balance{padding:var(--sp-6) 0 var(--sp-4);position:relative;text-align:center}
.balance__label{font-size:var(--fs-label);font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--text-3)}
.balance__label::before{content:"$ ";color:var(--primary)}
.balance__row{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;
  column-gap:.3ch;row-gap:4px;margin-top:var(--sp-3)}
.balance__int{font-size:clamp(40px,13vw,56px);font-weight:800;line-height:1;color:var(--brand);
  letter-spacing:-.02em;text-shadow:0 0 18px rgba(255,179,71,.55)}
/* the satoshi tail: leading zeros recede, the digits that matter stand out */
.balance__frac{font-size:clamp(17px,5.6vw,24px);font-weight:700;color:var(--brand);letter-spacing:-.01em}
.balance__zeros{color:var(--text-3);font-weight:500;opacity:.6}
.balance__row[data-size="sm"] .balance__int{font-size:clamp(32px,10vw,46px)}
.balance__row[data-size="sm"] .balance__frac{font-size:clamp(14px,4.4vw,19px)}
.balance__row[data-size="xs"] .balance__int{font-size:clamp(25px,7.6vw,34px)}
.balance__row[data-size="xs"] .balance__frac{font-size:clamp(12px,3.6vw,16px)}
.balance__coin{width:clamp(28px,9vw,38px);height:clamp(28px,9vw,38px);flex:none;align-self:center;
  margin-left:.4ch;filter:drop-shadow(0 0 12px rgba(255,179,71,.55))}
.balance__coin svg{display:block;width:100%;height:100%}
.balance__row::after{content:"BASH";align-self:center;margin-left:.5ch;font-size:var(--fs-body);font-weight:800;
  letter-spacing:.16em;color:var(--amber-700)}
.balance__delta{position:absolute;left:50%;top:var(--sp-4);font-size:var(--fs-lead);font-weight:700;
  color:var(--success);opacity:0;pointer-events:none}
.balance__delta.is-on{animation:deltaPop 1s var(--e-out)}
@keyframes deltaPop{0%{opacity:0;transform:translate(-50%,6px)}20%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-10px)}}
.balance__sats{margin-top:var(--sp-2);font-size:var(--fs-body);font-weight:500;color:var(--text-3)}
.balance__sats b{color:var(--brand);font-weight:800}
.balance__sub{margin-top:var(--sp-2);display:flex;align-items:center;justify-content:center;gap:.6ch;
  font-size:var(--fs-sub);font-weight:500;color:var(--text-3)}
.balance__sub::before{content:"rate:";color:var(--text-3)}
.balance__sub svg{width:0;height:0}
.balance__sub b{color:var(--success);font-weight:700}

/* ---------- command list (home menu) ---------- */
.menu{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--stroke);
  border:1px solid var(--stroke)}
.tile{position:relative;display:flex;align-items:center;gap:var(--sp-3);
  min-height:56px;padding:var(--sp-2) var(--sp-3);background:var(--bg-1);
  transition:background var(--t-press) linear,color var(--t-press) linear}
.tile:active{background:var(--primary);color:var(--on-primary)}
.tile:active .tile__icon,.tile:active .tile__label{color:var(--on-primary)}
.tile__icon{width:var(--icon-md);height:var(--icon-md);flex:none;display:grid;place-items:center;
  color:var(--tile-fg,var(--primary));background:none;box-shadow:none;border-radius:0}
.tile__icon svg{width:100%;height:100%}
.tile__label{font-size:var(--fs-sub);font-weight:500;color:var(--text-2);letter-spacing:.02em}
.tile__label::before{content:"";}
.tile__badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;
  border-radius:2px;background:var(--attention);color:#20000C;
  font-size:var(--fs-badge);font-weight:700;display:grid;place-items:center}
.tile--gold{--tile-fg:var(--amber-500)}
.tile--mint{--tile-fg:var(--phos-500)}
.tile--rose{--tile-fg:var(--flare-400)}
.tile--violet{--tile-fg:var(--plasma-400)}
.tile--cyan{--tile-fg:var(--wire-400)}
.tile--blue{--tile-fg:var(--wire-400)}

/* ---------- buttons: a command you can run ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8ch;
  min-height:var(--tap-lg);min-width:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-sm);
  font-size:var(--fs-sub);font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center;
  background:transparent;border:1px solid var(--stroke-control);color:var(--text);
  transition:background var(--t-press) linear,color var(--t-press) linear,
             border-color var(--t-press) linear,transform var(--t-press) var(--e-out)}
.btn svg{width:var(--icon-sm);height:var(--icon-sm)}
/* the brackets are part of the label, like a shell hint */
.btn::before{content:"[";opacity:.5;font-weight:400}
.btn::after{content:"]";opacity:.5;font-weight:400}
.btn:active{transform:translateY(1px)}
.btn[disabled],.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn--block{display:flex;width:100%}
.btn--sm{min-height:var(--tap);padding:0 var(--sp-3);font-size:var(--fs-label)}
.btn--lg{min-height:56px;font-size:var(--fs-body)}
.btn--gold{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:var(--glow-amber)}
.btn--violet{background:var(--plasma-400);border-color:var(--plasma-400);color:#180A33}
.btn--mint{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:var(--glow-phos)}
.btn--rose{background:var(--attention);border-color:var(--attention);color:#20000C}
.btn--ghost{border-color:var(--stroke);color:var(--text-2)}
.btn--ghost::before,.btn--ghost::after{opacity:.35}
.btn__sub{font-size:var(--fs-badge);font-weight:500;opacity:.8;text-transform:none;letter-spacing:0}

.iconbtn{width:var(--tap);height:var(--tap);border-radius:var(--r-sm);display:grid;place-items:center;
  background:transparent;border:1px solid var(--stroke);color:var(--text-2);
  transition:color var(--t-press) linear,border-color var(--t-press) linear}
.iconbtn:active{color:var(--primary);border-color:var(--primary)}
.iconbtn svg{width:var(--icon-md);height:var(--icon-md)}

/* ---------- flags & tabs ---------- */
.chips{display:flex;gap:var(--sp-2);overflow-x:auto;padding:2px 0;scrollbar-width:none}
.chip{flex:none;min-height:var(--tap);padding:0 var(--sp-3);border-radius:var(--r-sm);
  display:inline-flex;align-items:center;gap:.6ch;
  background:transparent;border:1px dashed var(--stroke-strong);
  font-size:var(--fs-label);font-weight:500;color:var(--text-2);white-space:nowrap;
  transition:all var(--t-press) linear}
.chip svg{width:var(--icon-sm);height:var(--icon-sm)}
.chip.is-active{background:var(--surface-2);border-style:solid;border-color:var(--primary);color:var(--primary)}
.chip.is-active::before{content:"▸ "}

.seg{display:flex;gap:0;border-bottom:1px solid var(--stroke)}
.seg button{flex:1;min-height:var(--tap);text-align:center;
  font-size:var(--fs-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);border-bottom:2px solid transparent;
  transition:color var(--t-press) linear,border-color var(--t-press) linear}
.seg button.is-active{color:var(--primary);border-bottom-color:var(--primary);background:none;box-shadow:none}

/* ---------- meters drawn as cells ---------- */
.bar{display:block;height:12px;border-radius:0;overflow:hidden;position:relative;
  border:1px solid var(--stroke-strong);background:
    repeating-linear-gradient(90deg,rgba(79,227,143,.1) 0 4px,transparent 4px 6px)}
.bar__fill{display:block;height:100%;border-radius:0;background:var(--primary);
  box-shadow:var(--glow-phos);transition:width var(--t) var(--e-out);position:relative;overflow:hidden}
.bar__fill::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.45) 0 1px,transparent 1px 6px)}
.bar--mint .bar__fill{background:var(--primary)}
.bar--violet .bar__fill{background:var(--plasma-400);box-shadow:0 0 12px rgba(167,139,250,.5)}

/* ---------- listing rows ---------- */
.row{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:58px;
  padding:var(--sp-2) var(--sp-3);border-radius:0;
  background:transparent;border:0;border-bottom:1px solid var(--stroke);
  transition:background var(--t-press) linear}
.row+.row{margin-top:0}
.row:active{background:var(--surface-2)}
.row__ic{width:30px;height:30px;flex:none;border-radius:0;display:grid;place-items:center;
  color:var(--primary);background:none;box-shadow:none}
.row__ic svg{width:var(--icon-md);height:var(--icon-md)}
.row__main{display:block;flex:1;min-width:0}
.row__title{display:block;font-size:var(--fs-sub);font-weight:500;line-height:var(--lh-snug);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row__sub{display:block;font-size:var(--fs-label);font-weight:400;color:var(--text-3);margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row__right{text-align:right;flex:none}
.row__val{display:block;font-size:var(--fs-sub);font-weight:700}
.row__val--plus{color:var(--success)}
.row__val--minus{color:var(--danger)}
.row>svg:last-child{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-3);flex:none}

/* ---------- identity ---------- */
.ava{width:40px;height:40px;border-radius:var(--r-sm);flex:none;display:grid;place-items:center;
  font-size:var(--fs-label);font-weight:700;color:var(--primary);
  background:var(--surface-2);border:1px solid var(--stroke-strong);box-shadow:none}
.ava--lg{width:58px;height:58px;font-size:var(--fs-lead)}
.ava img{width:100%;height:100%;border-radius:2px;object-fit:cover;filter:grayscale(.3) contrast(1.1)}

/* ---------- command bar ---------- */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;height:calc(var(--tabbar-h) + var(--sab));
  padding:var(--sp-2) var(--sp-1) calc(var(--sp-2) + var(--sab));
  display:grid;grid-auto-flow:column;align-items:stretch;
  background:var(--bg-1);border-top:1px solid var(--stroke-strong)}
.tabbar__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;min-height:var(--tap);border-radius:var(--r-sm);
  color:var(--text-3);transition:color var(--t-press) linear,background var(--t-press) linear}
.tabbar__item svg{width:var(--icon-md);height:var(--icon-md)}
.tabbar__item span{font-size:var(--fs-badge);font-weight:500;line-height:1;letter-spacing:.04em}
.tabbar__item[aria-current="page"]{color:var(--primary);background:var(--surface-2)}
.tabbar__item[aria-current="page"] svg{filter:drop-shadow(0 0 6px rgba(79,227,143,.7))}
.tabbar__item[aria-current="page"] span::before{content:"▸"}

/* ---------- notifications ---------- */
.toasts{position:fixed;left:0;right:0;top:calc(var(--sat) + 8px);z-index:60;
  display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-1);pointer-events:none;padding:0 var(--sp-3)}
.toast{width:100%;display:flex;align-items:center;gap:.8ch;
  padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);
  background:var(--surface-strong);border:1px solid var(--stroke-strong);border-left:3px solid var(--primary);
  box-shadow:var(--sh-2);
  font-size:var(--fs-label);font-weight:500;line-height:var(--lh-snug);
  animation:toastIn var(--t) var(--e-out) both}
.toast.is-out{animation:toastOut var(--t-exit) var(--e-in) both}
.toast__ic{width:16px;height:16px;flex:none;display:grid;place-items:center;color:var(--primary)}
.toast__ic svg{width:16px;height:16px}
.toast--ok{border-left-color:var(--success)}
.toast--ok .toast__ic{color:var(--success)}
.toast--err{border-left-color:var(--danger)}
.toast--err .toast__ic{color:var(--danger)}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateY(-6px)}}

/* ---------- dialog window ---------- */
.scrim{position:fixed;inset:0;z-index:50;background:rgba(2,5,3,.82);
  display:flex;align-items:flex-end;justify-content:center;animation:fadeIn var(--t) var(--e-out) both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.scrim.is-out{animation:fadeOut var(--t-exit) var(--e-in) both}
@keyframes fadeOut{to{opacity:0}}
.sheet{width:100%;max-width:520px;border-radius:var(--r-md) var(--r-md) 0 0;
  padding:0 var(--sp-4) calc(var(--sp-5) + var(--sab));
  background:var(--bg-1);border:1px solid var(--stroke-strong);border-bottom:0;
  box-shadow:var(--sh-3);animation:sheetIn var(--t-enter) var(--e-out) both;max-height:88vh;overflow-y:auto}
.scrim.is-out .sheet{animation:sheetOut var(--t-exit) var(--e-in) both}
@keyframes sheetIn{from{transform:translateY(100%)}to{transform:none}}
@keyframes sheetOut{to{transform:translateY(100%)}}
/* a title bar, like a window in a tiling WM */
.sheet__grip{width:auto;height:auto;margin:0 calc(var(--sp-4) * -1) var(--sp-4);
  padding:var(--sp-2) var(--sp-3);background:var(--surface-2);
  border-bottom:1px solid var(--stroke-strong);border-radius:0;
  font-size:var(--fs-badge);color:var(--text-3);letter-spacing:.14em;text-transform:uppercase}
.sheet__grip::before{content:"● ● ●  ";color:var(--text-3);letter-spacing:-.1em}
.sheet__grip::after{content:"dialog"}
.sheet__title{font-size:var(--fs-lead);font-weight:700;text-align:left;letter-spacing:.04em;
  line-height:var(--lh-snug);color:var(--text)}
.sheet__text{font-size:var(--fs-sub);font-weight:400;color:var(--text-2);text-align:left;
  margin-top:var(--sp-2);line-height:var(--lh-body)}
.sheet__actions{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-4)}

/* ---------- fx ---------- */
.fx-layer{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden}
.pop{position:absolute;font-size:var(--fs-lead);font-weight:700;color:var(--primary);
  text-shadow:var(--glow-phos);will-change:transform,opacity;
  animation:popUp .85s var(--e-out) forwards}
.pop--crit{font-size:var(--fs-h3);color:var(--brand);text-shadow:var(--glow-amber)}
@keyframes popUp{
  0%{opacity:0;transform:translate(-50%,0)}
  16%{opacity:1;transform:translate(-50%,-12px)}
  100%{opacity:0;transform:translate(-50%,-72px)}}
/* sparks are characters off the glyph grid, not confetti dots */
.spark{position:absolute;width:4px;height:4px;border-radius:0;background:var(--primary);
  box-shadow:var(--glow-phos);will-change:transform,opacity}

/* ---------- readouts ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--stroke);
  border:1px solid var(--stroke)}
.stat{padding:var(--sp-3);border-radius:0;background:var(--bg-1);border:0}
.stat__k{font-size:var(--fs-badge);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.stat__v{font-size:var(--fs-lead);font-weight:700;margin-top:2px;letter-spacing:-.01em}
.empty{text-align:center;padding:var(--sp-8) var(--sp-4);color:var(--text-3)}
.empty__ic{width:32px;height:32px;margin:0 auto var(--sp-3);opacity:.5}
.empty__ic svg{width:100%;height:100%}
.empty__t{font-size:var(--fs-sub);font-weight:500}
.empty__t::before{content:"# "}
.divider{height:1px;background:var(--stroke);margin:var(--sp-4) 0}
.hint{font-size:var(--fs-label);font-weight:400;color:var(--text-3);line-height:var(--lh-body)}
.gold{color:var(--brand)}.mint{color:var(--success)}.rose{color:var(--attention)}
.violet{color:var(--plasma-400)}

/* ============================================================
   GIFT — full screen, when the admin sends money
   ============================================================ */
.gift{position:absolute;inset:0;z-index:90;display:grid;place-items:center;padding:var(--sp-5);overflow:hidden;
  opacity:0;transition:opacity .35s var(--e-out)}
.gift.is-on{opacity:1}
.gift.is-out{opacity:0;transition-duration:.4s}
.gift__veil{position:absolute;inset:0;background:radial-gradient(70% 55% at 50% 45%,rgba(60,38,6,.82),rgba(4,6,5,.94))}
.gift__rays{position:absolute;left:50%;top:45%;width:900px;height:900px;margin:-450px 0 0 -450px;opacity:.55;
  background:repeating-conic-gradient(rgba(255,200,80,.28) 0 9deg,transparent 9deg 22deg);
  -webkit-mask:radial-gradient(circle,#000 8%,transparent 60%);mask:radial-gradient(circle,#000 8%,transparent 60%);
  animation:gift-spin 14s linear infinite}
@keyframes gift-spin{to{transform:rotate(360deg)}}
.gift__rain{position:absolute;inset:0;pointer-events:none}
.gift__rain i{position:absolute;left:var(--x);top:-40px;transform:scale(var(--s));
  animation:gift-fall var(--t) linear infinite;animation-delay:var(--d);filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
@keyframes gift-fall{to{transform:translateY(900px) rotate(540deg) scale(var(--s))}}
.gift__card{position:relative;width:100%;max-width:320px;padding:var(--sp-8) var(--sp-5) var(--sp-5);text-align:center;
  border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(180deg,rgba(40,28,8,.95),rgba(14,12,8,.96));
  box-shadow:0 0 0 1px rgba(255,200,80,.55),0 0 0 6px rgba(255,200,80,.08),0 30px 80px -20px rgba(255,170,40,.55);
  transform:scale(.6) translateY(30px);opacity:0;transition:transform .6s cubic-bezier(.2,1.4,.4,1),opacity .4s}
.gift.is-on .gift__card{transform:none;opacity:1}
.gift__card.is-done{animation:gift-pulse 1.6s ease-in-out infinite}
@keyframes gift-pulse{50%{box-shadow:0 0 0 1px rgba(255,220,120,.9),0 0 0 8px rgba(255,200,80,.14),0 30px 90px -18px rgba(255,180,60,.8)}}
.gift__shine{position:absolute;inset:-50% -80%;pointer-events:none;
  background:linear-gradient(105deg,transparent 44%,rgba(255,240,200,.22) 50%,transparent 56%);
  animation:gift-shine 3.2s ease-in-out infinite}
@keyframes gift-shine{0%{transform:translateX(-50%)}60%,100%{transform:translateX(50%)}}
.gift__badge{position:absolute;left:50%;top:-1px;width:64px;height:44px;margin-left:-32px;display:grid;place-items:end center;
  padding-bottom:8px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#FFE27A,#E0A12A);color:#3A2400;
  box-shadow:0 8px 20px -6px rgba(255,190,60,.8)}
.gift__badge svg{width:22px;height:22px}
.gift__eyebrow{margin:var(--sp-4) 0 0;font-size:var(--fs-label);font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#FFE27A}
.gift__amount{margin:var(--sp-2) 0 0;display:flex;flex-direction:column;align-items:center;gap:2px}
.gift__amount b{font-size:30px;line-height:36px;font-weight:800;color:#fff;word-break:break-all;
  text-shadow:0 0 22px rgba(255,190,80,.85),0 3px 0 #6B3A00}
.gift__amount span{font-size:var(--fs-sub);font-weight:800;letter-spacing:.2em;color:#FFE27A}
.gift__note{margin:var(--sp-3) 0 var(--sp-5);font-size:var(--fs-sub);line-height:1.45;color:#E9DCC8;overflow-wrap:anywhere}
.gift__take{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){ .gift__rays,.gift__shine,.gift__card.is-done{animation:none} }

/* ---------- banned / frozen ---------- */
.lock{position:absolute;inset:0;z-index:95;display:grid;place-items:center;padding:var(--sp-5);
  background:radial-gradient(80% 60% at 50% 40%,rgba(40,8,12,.9),rgba(4,4,6,.97))}
.lock--freeze{background:radial-gradient(80% 60% at 50% 40%,rgba(8,30,48,.92),rgba(4,6,10,.97))}
.lock__card{max-width:320px;text-align:center;padding:var(--sp-6) var(--sp-5);border-radius:var(--r-lg);
  background:rgba(12,12,16,.9);box-shadow:0 0 0 1px rgba(255,107,107,.5),0 24px 60px -20px rgba(255,80,80,.5)}
.lock--freeze .lock__card{box-shadow:0 0 0 1px rgba(91,217,245,.55),0 24px 60px -20px rgba(91,217,245,.5)}
.lock__ic{width:56px;height:56px;margin:0 auto var(--sp-3);display:grid;place-items:center;border-radius:50%;
  background:rgba(255,107,107,.15);color:#FF6B6B}
.lock--freeze .lock__ic{background:rgba(91,217,245,.15);color:#5BD9F5}
.lock__ic svg{width:28px;height:28px}
.lock__card h2{font-size:var(--fs-h3);font-weight:800;margin:0 0 var(--sp-2);color:#fff}
.lock__card p{font-size:var(--fs-sub);line-height:1.5;color:var(--text-2);margin:0 0 var(--sp-2)}
.lock__hint{color:var(--text-3)!important;font-size:var(--fs-label)!important}
