.bc-app{--paper:#FBF6EE;--card:#fff;--card2:#F4EBDD;--ink:#241A14;--soft:#6E5F54;--line:#E6D8C5;
  --red:#BE3A24;--redp:#9E2C19;--gold:#C28A2C;--green:#2F7A57;--muted:#9A8B7E;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);max-width:430px;margin:0 auto;padding:6px;-webkit-tap-highlight-color:transparent}
.bc-app *{box-sizing:border-box}
.bc-card{background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:22px 20px 24px;
  box-shadow:0 14px 40px rgba(58,38,20,.12);min-height:520px;display:flex;flex-direction:column}
.bc-brand{text-align:center;margin-bottom:6px}
.bc-mk{width:50px;height:50px;border-radius:15px;background:var(--red);color:#fff;display:grid;place-items:center;
  margin:0 auto 10px;font-size:24px;font-family:Georgia,serif;box-shadow:0 8px 20px rgba(190,58,36,.3)}
.bc-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.bc-app h2{font-size:23px;font-weight:600;margin:6px 0 2px;text-align:center}
.bc-sub{color:var(--soft);font-size:14px;margin:0;text-align:center}
.bc-back{align-self:flex-start;appearance:none;border:none;background:none;color:var(--soft);font:600 14px inherit;
  cursor:pointer;padding:4px 2px 12px}
.bc-msg{text-align:center;color:var(--red);font-size:13px;min-height:20px;font-weight:600}

.bc-iddisp{text-align:center;font-size:38px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;
  min-height:50px;margin:18px 0 2px}
.bc-ph{color:var(--muted);letter-spacing:0;font-size:18px;font-weight:500}
.bc-dots{display:flex;gap:16px;justify-content:center;margin:26px 0 14px}
.bc-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--soft)}
.bc-dots span.on{background:var(--ink);border-color:var(--ink)}

.bc-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:auto}
.bc-key{appearance:none;border:1px solid var(--line);background:var(--card);cursor:pointer;font:600 23px inherit;
  color:var(--ink);height:60px;border-radius:16px;transition:transform .08s,background .12s}
.bc-key:active{transform:scale(.95);background:var(--card2)}
.bc-blank{background:none;border:none;pointer-events:none}
.bc-fn{font-size:18px;color:var(--soft)}
.bc-go{background:var(--red);color:#fff;border-color:var(--red)}
.bc-go:active{background:var(--redp)}
.bc-go:disabled{opacity:.4;pointer-events:none}

.bc-who{margin:4px 0}
.bc-timeline{margin:18px 2px 6px}
.bc-step{display:flex;gap:13px}
.bc-rail{display:flex;flex-direction:column;align-items:center}
.bc-node{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);background:var(--paper);
  display:grid;place-items:center;font-size:13px;color:var(--muted);font-weight:700;flex:0 0 auto}
.bc-seg{width:2px;flex:1;background:var(--line);min-height:24px;margin:2px 0}
.bc-step:last-child .bc-seg{display:none}
.bc-step.done .bc-node{border-color:var(--green);background:var(--green);color:#fff}
.bc-step.now .bc-node{border-color:var(--red);color:var(--red)}
.bc-sb{padding-bottom:12px}
.bc-lbl{font-weight:600;font-size:15px}
.bc-tm{font-size:13px;color:var(--soft);margin-top:2px}
.bc-step.pending .bc-lbl{color:var(--muted)}
.bc-step.done .bc-tm{color:var(--green);font-weight:600}

.bc-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:12px}
.bc-btn{appearance:none;border:none;cursor:pointer;font:650 17px inherit;padding:16px;border-radius:16px;width:100%;
  transition:transform .1s,background .15s}
.bc-btn:active{transform:scale(.98)}
.bc-btn.primary{background:var(--red);color:#fff}
.bc-btn.primary:active{background:var(--redp)}
.bc-btn.secondary{background:var(--card2);color:var(--ink)}
.bc-btn.ghost{background:none;color:var(--soft);font-weight:600}

.bc-cam{margin:16px 0 14px;border-radius:22px;overflow:hidden;background:#1c1410;aspect-ratio:3/4;
  position:relative;display:grid;place-items:center;border:1px solid var(--line)}
.bc-cam video,.bc-cam img{width:100%;height:100%;object-fit:cover;display:block}
.bc-cam video{transform:scaleX(-1)}
.bc-fallback{color:#e9ddca;text-align:center;padding:22px;font-size:14px;line-height:1.5}
.bc-fallback .ic{font-size:32px;display:block;margin-bottom:8px}
.bc-shutter{width:70px;height:70px;border-radius:50%;border:5px solid var(--paper);background:var(--red);
  margin:0 auto;cursor:pointer;box-shadow:0 6px 16px rgba(190,58,36,.35)}
.bc-shutter:active{transform:scale(.92)}
.bc-hint{text-align:center;color:var(--soft);font-size:13px;margin-top:10px}

.bc-success{align-items:center;justify-content:center;text-align:center}
.bc-check{width:92px;height:92px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin-bottom:20px}
.bc-check svg{width:46px;height:46px}
.bc-verb{font-size:28px;font-weight:600;margin:0}
.bc-stamp{font-size:50px;font-family:Georgia,serif;font-variant-numeric:tabular-nums;margin:6px 0 2px}

.bc-donenote{background:#E2F0E9;color:#2F7A57;font-weight:650;text-align:center;padding:14px;border-radius:14px}
.bc-hintline{text-align:center;color:#6E5F54;font-size:13px;margin:2px 0 0}
.bc-shake{animation:bc-shake .4s}
@keyframes bc-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
@media (prefers-reduced-motion:reduce){.bc-app *{animation:none!important;transition:none!important}}
