/* ============================================================
   「횃불」 게임 메인 화면 (Step 3)
   ============================================================ */
/* 게임 화면: 뷰포트 높이에 고정하고 내부(피드)만 스크롤 */
.hb-app-game{
  height:100vh;    /* 구형 폴백 */
  height:100dvh;
  height:100svh;   /* 하단 툴바가 보여도 항상 화면 안 — 액션 버튼 잘림 방지 */
  min-height:0;
  padding:12px 16px calc(env(safe-area-inset-bottom, 0px) + 10px);
  overflow:hidden;
}
.hbg{
  display:flex; flex-direction:column;
  height:100%; min-height:0;
  position:relative; z-index:1;   /* 배경 불씨 위로 */
}

/* ── 배경 불씨(로그인 후, 은은하게) ── */
.hbg-embers{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
/* 바깥: 등속 상승(가다서다 없음), 안쪽 i: 좌우 흩날림 + 깜빡임 (경로 분리로 자연스럽게) */
.hbg-ember{
  position:absolute; bottom:-16px;
  animation:hb-ember-rise var(--dur, 12s) linear var(--delay, 0s) infinite;
  will-change:transform;
}
.hbg-ember > i{
  display:block; width:100%; height:100%; border-radius:50%;
  background:radial-gradient(circle, rgba(255,224,170,1) 0%, rgba(255,157,60,.7) 42%, rgba(255,120,40,0) 72%);
  box-shadow:0 0 6px rgba(255,157,60,.55);
  animation:
    hb-ember-sway var(--swd, 3s) ease-in-out var(--delay, 0s) infinite alternate,
    hb-ember-flick var(--flk, 1.4s) ease-in-out var(--delay, 0s) infinite;
  will-change:transform, opacity;
}
@keyframes hb-ember-rise{
  0%   { transform:translateY(0); opacity:0; }
  8%   { opacity:.9; }
  86%  { opacity:.5; }
  100% { transform:translateY(-108vh); opacity:0; }
}
@keyframes hb-ember-sway{
  from { transform:translateX(calc(var(--drift, 0) * -1)); }
  to   { transform:translateX(var(--drift, 0)); }
}
@keyframes hb-ember-flick{
  0%,100% { opacity:1; }
  50%     { opacity:.5; }
}
@media (prefers-reduced-motion: reduce){ .hbg-ember, .hbg-ember > i{ animation:none; opacity:0; } }

/* ── 상단 상태바 ─────────────────────────────── */
.hbg-status{
  position:sticky; top:0; z-index:5; flex-shrink:0;
  background:transparent;
  padding-bottom:10px; margin-bottom:4px;
}
.hbg-topbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:10px;
}
.hbg-logo{ display:inline-flex; align-items:center; flex-shrink:0; }
.hbg-logo .hbg-ico{
  width:44px; height:44px; fill:var(--hb-accent); stroke:none;
  filter:drop-shadow(0 0 8px rgba(255,157,60,.5));
}
.hbg-who{
  display:flex; justify-content:flex-end; align-items:center; min-width:0;
  color:var(--hb-accent); font-size:15px; font-weight:700; text-align:right;
}
.hbg-who span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hbg-topbtns{ display:flex; gap:6px; flex-shrink:0; }
.hbg-iconbtn{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:10px;
  background:transparent; border:1px solid var(--hb-line);
  color:var(--hb-muted); cursor:pointer; text-decoration:none;
  transition:.15s;
}
.hbg-iconbtn:hover{ color:var(--hb-accent); border-color:var(--hb-accent); }
.hbg-iconbtn .hbg-ico{ width:20px; height:20px; }

/* 랭킹 행 */
.hbg-rank-row{
  display:flex; align-items:center; gap:10px;
  padding:10px 2px; border-bottom:1px solid var(--hb-line);
}
.hbg-rank-no{ width:28px; text-align:center; font-weight:800; color:var(--hb-muted); font-variant-numeric:tabular-nums; }
.hbg-rank-no.top{ color:var(--hb-accent); }
.hbg-rank-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hbg-rank-dur{ font-size:13px; color:var(--hb-text); font-variant-numeric:tabular-nums; }
.hbg-rank-dead{ color:#6b6862; }
.hbg-alive{ color:var(--hb-ok); font-size:10px; vertical-align:middle; }
.hbg-hall{ font-size:11px; vertical-align:middle; margin-left:2px; }
.hbg-me{ color:var(--hb-accent2); }
.hbg-me .hbg-rank-name{ font-weight:700; }
.hbg-rank-crown{ display:flex; align-items:center; justify-content:center; }
.hbg-crown{ width:22px; height:22px; fill:currentColor; filter:drop-shadow(0 0 3px rgba(0,0,0,.4)); }
.hbg-myrank{
  display:flex; align-items:center; gap:10px;
  padding:11px 18px; border-top:1px solid var(--hb-line);
  background:rgba(255,157,60,.08);
}
.hbg-myrank-label{ color:var(--hb-muted); font-size:12px; letter-spacing:.04em; }
.hbg-myrank-rank{ margin-left:auto; color:var(--hb-accent); font-weight:800; font-size:16px; font-variant-numeric:tabular-nums; }
.hbg-myrank-dur{ color:var(--hb-text); font-size:13px; font-variant-numeric:tabular-nums; }
.hbg-surv{
  display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px;
}
.hbg-surv-text{ font-size:16px; color:var(--hb-muted); line-height:1.4; }
.hbg-surv-name{ color:inherit; font-weight:400; }
.hbg-surv-text b{ color:var(--hb-accent); font-weight:800; font-size:18px; font-variant-numeric:tabular-nums; }
.hbg-surv-left{ display:flex; align-items:baseline; gap:8px; min-width:0; }
.hbg-surv-actions{ display:flex; gap:6px; flex-shrink:0; }
.hbg-surv-label{ color:var(--hb-muted); font-size:11px; letter-spacing:.18em; }
.hbg-surv-val{
  font-size:27px; font-weight:800; color:var(--hb-text);
  font-variant-numeric:tabular-nums; letter-spacing:.01em;
}
.hbg-hpbar{
  position:relative;
  height:24px; border-radius:8px; background:var(--hb-bg3);
  overflow:hidden; border:1px solid var(--hb-line);
}
.hbg-hpfill{
  position:absolute; left:0; top:0; bottom:0;
  width:100%; background:var(--hb-accent);
  transition:width .5s linear, background-color .5s;
}
.hbg-hp-text{
  position:absolute; right:10px; top:50%; transform:translateY(-50%); z-index:2;
  font-size:12px; font-weight:700; color:#fff; letter-spacing:.02em;
  font-variant-numeric:tabular-nums; text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.hbg-hpfill.is-warn{ background:#ff7a2f; }
.hbg-hpfill.is-danger{ background:var(--hb-danger); animation:hb-pulse 1s ease-in-out infinite; }
@keyframes hb-pulse{ 50%{ opacity:.55; } }
.hbg-cond{ margin-top:8px; font-size:13px; font-weight:700; color:var(--hb-danger); }
.hbg-cond:empty{ display:none; }

/* ── 독백 피드 ───────────────────────────────── */
.hbg-feed{
  flex:1 1 auto; min-height:0;
  border:1px solid var(--hb-line); border-radius:12px;
  background:rgba(20,20,23,.55);   /* 반투명 — 뒤 불씨가 은은히 비침 */
  padding:14px 14px 18px;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  display:flex; flex-direction:column; gap:9px;
  font-size:15px; line-height:1.65;
}
.hbg-line{ animation:hb-fadein .35s ease; }
@keyframes hb-fadein{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; } }
.hbg-line-time{ color:#4c4a45; font-size:11px; margin-right:6px; font-variant-numeric:tabular-nums; }
.hbg-line-user{ color:var(--hb-text); }
.hbg-line-user::before{ content:"› "; color:var(--hb-accent); }
.hbg-line-spawn,
.hbg-line-auto_eat{ color:var(--hb-accent2); }
.hbg-line-injury{ color:var(--hb-danger); }
.hbg-line-death{ color:var(--hb-danger); font-weight:700; }

/* 인라인 선택지 */
.hbg-choices{ display:flex; flex-direction:column; gap:8px; margin-top:2px; }
.hbg-ask{ color:var(--hb-accent2); font-weight:600; }
.hbg-ask::before{ content:"❯ "; color:var(--hb-accent); }
.hbg-choice-btns{ display:flex; gap:8px; flex-wrap:wrap; }
.hbg-line-break{ color:#d98a4a; }
.hbg-choice{
  padding:6px 14px; border:1px solid var(--hb-accent);
  color:var(--hb-accent); background:transparent; border-radius:8px;
  font-size:14px; cursor:pointer;
}
.hbg-choice:hover{ background:var(--hb-accent); color:var(--hb-bg); }

/* ── 액션바 ──────────────────────────────────── */
.hbg-actions{
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px;
  margin-top:10px; flex-shrink:0;
}
.hbg-actions-2{ grid-template-columns:repeat(2,1fr); }
.hbg-actions-2 .hbg-act{ padding:13px 4px; }
.hbg-actions-2 .hbg-ico{ width:30px; height:30px; }
.hbg-act{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  padding:12px 4px; cursor:pointer;
  background:var(--hb-bg2); color:var(--hb-text);
  border:1px solid var(--hb-line); border-radius:12px;
  font-size:13px; font-weight:600; transition:.15s;
}
.hbg-act:hover{ border-color:var(--hb-accent); color:var(--hb-accent); }
.hbg-act:active{ transform:scale(.96); }
.hbg-act:disabled{ opacity:.4; }

.hbg-tools{
  display:flex; gap:8px; margin-top:8px;
}
.hbg-tool{
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  padding:10px; text-decoration:none;
  background:transparent; color:var(--hb-muted);
  border:1px solid var(--hb-line); border-radius:10px;
  font-size:13px; cursor:pointer;
}
.hbg-tool:hover{ color:var(--hb-text); border-color:var(--hb-muted); }

.hbg-ico{ width:24px; height:24px; stroke:currentColor; fill:none;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hbg-tool .hbg-ico{ width:18px; height:18px; }

/* ── 사망 배너 ───────────────────────────────── */
.hbg-dead{
  margin-top:12px; padding:14px; text-align:center;
  border:1px solid var(--hb-danger); border-radius:12px;
  color:var(--hb-danger); background:rgba(224,83,61,.08);
}
.hbg-dead b{ display:block; font-size:18px; margin-bottom:4px; }
.hbg-dead .hbg-dead-note{ color:var(--hb-muted); font-size:12px; margin-top:6px; }
.hbg-dead .hbg-btn{ width:100%; margin-top:12px; }

/* ── 배낭 / 요리 모달 ────────────────────────── */
.hbg-modal{
  position:fixed; inset:0; z-index:40;
  background:rgba(0,0,0,.66);
  display:flex; align-items:flex-end; justify-content:center;
  padding:16px;
}
.hbg-modal-box{
  width:100%; max-width:460px;
  background:var(--hb-bg2); border:1px solid var(--hb-line);
  border-radius:16px; padding:0;
  max-height:82vh; display:flex; flex-direction:column;
  overflow:hidden;
}
/* 목록형 모달(배낭·랭킹): 높이 고정 → 내부 스크롤 */
.hbg-modal-box.hbg-modal-tall{ height:72vh; }
.hbg-modal-title{ display:flex; align-items:center; gap:6px; font-size:16px; font-weight:800; color:var(--hb-accent); padding:18px 18px 10px; }
.hbg-modal-back{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; margin-left:-4px; padding:0;
  background:transparent; border:none; color:var(--hb-accent); cursor:pointer;
}
.hbg-modal-back .hbg-ico{ width:22px; height:22px; }
.hbg-modal-back:hover{ opacity:.7; }
.hbg-modal-body{ flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:2px 18px 8px; }
.hbg-modal-foot{
  display:flex; gap:8px; padding:12px 18px;
  border-top:1px solid var(--hb-line); background:var(--hb-bg2);
}
.hbg-modal-empty{ color:var(--hb-muted); font-size:14px; padding:24px 0; text-align:center; }

/* 배낭 카테고리 탭 */
.hbg-bag-tabs{
  display:flex; gap:6px; flex-wrap:wrap;
  position:sticky; top:0; z-index:1;
  background:var(--hb-bg2); padding:4px 0 10px;
}
.hbg-bag-tab{
  padding:6px 12px; border:1px solid var(--hb-line); border-radius:8px;
  background:transparent; color:var(--hb-muted);
  font-size:13px; font-weight:600; cursor:pointer;
}
.hbg-bag-tab.is-active{ background:var(--hb-accent); color:var(--hb-bg); border-color:var(--hb-accent); }

/* 굽기 수량 선택 */
.hbg-cook{ padding:12px 0 6px; }
.hbg-cook-info{ font-size:14px; color:var(--hb-text); margin-bottom:16px; text-align:center; }
.hbg-stepper{ display:flex; align-items:center; justify-content:center; gap:12px; }
.hbg-step-btn{
  width:46px; height:46px; border-radius:10px;
  border:1px solid var(--hb-line); background:var(--hb-bg3);
  color:var(--hb-text); font-size:22px; line-height:1; cursor:pointer;
}
.hbg-step-btn:hover{ border-color:var(--hb-accent); color:var(--hb-accent); }
.hbg-step-val{ font-size:22px; font-weight:800; min-width:52px; text-align:center; font-variant-numeric:tabular-nums; }
.hbg-step-all{
  margin-left:8px; padding:9px 14px; border-radius:8px;
  border:1px solid var(--hb-line); background:transparent;
  color:var(--hb-muted); font-size:13px; font-weight:600; cursor:pointer;
}
.hbg-step-all:hover{ color:var(--hb-accent); border-color:var(--hb-accent); }
.hbg-btn{ flex:1; padding:12px; border-radius:10px; font-size:15px; font-weight:800; cursor:pointer; background:var(--hb-accent); color:#1a1206; border:none; }
.hbg-btn:hover{ background:var(--hb-accent2); }
.hbg-btn:disabled{ background:var(--hb-bg3); color:var(--hb-muted); cursor:default; }
.hbg-btn.hb-btn-ghost{ background:transparent; color:var(--hb-muted); border:1px solid var(--hb-line); }
.hbg-btn.hb-btn-ghost:hover{ background:var(--hb-bg3); color:var(--hb-text); }

.hbg-inv-row{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:11px 0; border-bottom:1px solid var(--hb-line);
}
.hbg-inv-name{ font-size:15px; }
.hbg-inv-btns{ display:flex; gap:6px; flex-shrink:0; }
.hbg-mini{
  padding:6px 12px; border-radius:8px; cursor:pointer;
  background:var(--hb-accent); color:#1a1206; border:none;
  font-size:13px; font-weight:700;
}
.hbg-mini:hover{ background:var(--hb-accent2); }
.hbg-mini:disabled{ opacity:.4; cursor:default; background:var(--hb-bg3); color:var(--hb-muted); }
.hbg-recipe-in{ color:var(--hb-muted); font-size:12px; }
.hbg-line-craft{ color:var(--hb-accent2); }
.hbg-line-campfire{ color:var(--hb-accent2); }

/* ── 토스트 ──────────────────────────────────── */
.hbg-toast{
  position:fixed; left:50%; bottom:26px; transform:translateX(-50%);
  background:var(--hb-bg3); color:var(--hb-text);
  border:1px solid var(--hb-line); border-radius:20px;
  padding:9px 18px; font-size:13px; z-index:50;
  opacity:0; transition:opacity .25s; pointer-events:none;
}
.hbg-toast.is-show{ opacity:1; }

/* ── 배지(안 읽은 쪽지) ── */
.hbg-surv-btn{ position:relative; }
.hbg-badge{
  position:absolute; top:-5px; right:-5px;
  min-width:16px; height:16px; padding:0 4px; box-sizing:border-box;
  border-radius:8px; background:var(--hb-danger); color:#fff;
  font-size:10px; font-weight:700; line-height:16px; text-align:center;
}
.hbg-menu-badge{
  display:inline-block; min-width:18px; padding:1px 5px; margin-left:6px;
  border-radius:9px; background:var(--hb-danger); color:#fff;
  font-size:11px; font-weight:700; line-height:1.4; vertical-align:middle;
}

/* ── 쪽지 ── */
.hbg-msg-tabs{
  display:flex; gap:6px; margin-bottom:12px;
  position:sticky; top:-2px; z-index:2; background:var(--hb-bg2); padding:2px 0;
}
.hbg-msg-tab{
  flex:1; padding:9px 4px; font-size:13px; font-weight:700; font-family:inherit;
  background:var(--hb-bg3); color:var(--hb-muted);
  border:1px solid var(--hb-line); border-radius:9px; cursor:pointer; transition:.15s;
}
.hbg-msg-tab.is-active{ color:var(--hb-bg); background:var(--hb-accent); border-color:var(--hb-accent); }
.hbg-msg-tab.is-active .hbg-menu-badge{ background:var(--hb-bg); color:var(--hb-danger); }
.hbg-msg-panel{ display:none; }
.hbg-msg-panel.is-active{ display:block; }
.hbg-msg-empty{ color:var(--hb-muted); font-size:13px; text-align:center; padding:24px 0; }

.hbg-msg-item{
  border:1px solid var(--hb-line); border-radius:10px;
  padding:10px 12px; margin-bottom:8px; background:var(--hb-bg3);
}
.hbg-msg-item.is-unread{ border-color:var(--hb-accent); cursor:pointer; }
.hbg-msg-head{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:4px; }
.hbg-msg-nick{ color:var(--hb-accent2); font-weight:700; font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hbg-msg-item.is-unread .hbg-msg-nick::before{ content:'●'; color:var(--hb-accent); font-size:9px; vertical-align:middle; margin-right:5px; }
.hbg-msg-time{ color:var(--hb-muted); font-size:11px; flex-shrink:0; font-variant-numeric:tabular-nums; }
.hbg-msg-text{ color:var(--hb-text); font-size:13.5px; line-height:1.55; white-space:pre-wrap; word-break:break-word; }
.hbg-msg-attach{ margin-top:7px; padding-top:7px; border-top:1px solid var(--hb-line); color:var(--hb-muted); font-size:12.5px; }
.hbg-msg-claimed{ color:var(--hb-ok); }
.hbg-msg-pending{ color:var(--hb-muted); }
.hbg-msg-claim{ margin-left:4px; }

.hbg-msg-form{ display:flex; flex-direction:column; }
.hbg-msg-label{ color:var(--hb-muted); font-size:12px; margin:10px 0 5px; }
.hbg-msg-opt{ color:var(--hb-line); }
.hbg-msg-nickrow{ display:flex; gap:6px; }
.hbg-msg-input{
  flex:1; min-width:0; background:var(--hb-bg3); color:var(--hb-text);
  border:1px solid var(--hb-line); border-radius:9px; padding:9px 10px; font-size:14px; font-family:inherit;
}
.hbg-msg-input:focus,.hbg-msg-textarea:focus{ outline:none; border-color:var(--hb-accent); }
.hbg-msg-checkbtn{
  flex-shrink:0; padding:0 12px; font-size:12.5px; font-weight:700; font-family:inherit;
  background:transparent; color:var(--hb-muted);
  border:1px solid var(--hb-line); border-radius:9px; cursor:pointer;
}
.hbg-msg-checkbtn:hover{ color:var(--hb-accent); border-color:var(--hb-accent); }
.hbg-msg-checkres{ font-size:12px; min-height:16px; margin-top:5px; }
.hbg-msg-checkres.is-ok{ color:var(--hb-ok); }
.hbg-msg-checkres.is-bad{ color:var(--hb-danger); }
.hbg-msg-textarea{
  background:var(--hb-bg3); color:var(--hb-text);
  border:1px solid var(--hb-line); border-radius:9px; padding:9px 10px;
  font-size:14px; font-family:inherit; min-height:72px; resize:vertical;
}
.hbg-msg-pick{ border:1px solid var(--hb-line); border-radius:9px; overflow:hidden; }
.hbg-msg-noitem{ color:var(--hb-muted); font-size:12.5px; padding:12px; text-align:center; }
.hbg-msg-pickrow{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:8px 10px; border-bottom:1px solid var(--hb-line);
}
.hbg-msg-pickrow:last-child{ border-bottom:none; }
.hbg-msg-pickname{ color:var(--hb-text); font-size:13.5px; }
.hbg-msg-have{ color:var(--hb-muted); font-size:11.5px; }
.hbg-msg-qty{
  width:64px; flex-shrink:0; text-align:center;
  background:var(--hb-bg2); color:var(--hb-text);
  border:1px solid var(--hb-line); border-radius:8px; padding:6px 4px; font-size:14px; font-family:inherit;
}
.hbg-msg-sendbtn{ margin-top:14px; }

/* ── 커뮤니티 메뉴 모달 ── */
.hbg-modal-menu .hbg-modal-body{ padding:6px 12px 10px; }
.hbg-menu-row{
  display:flex; align-items:center; gap:14px; width:100%;
  padding:15px 10px; background:transparent; border:none;
  border-bottom:1px solid var(--hb-line);
  color:var(--hb-text); font-size:16px; font-weight:600; text-align:left;
  font-family:inherit; cursor:pointer; transition:color .15s;
}
.hbg-menu-row:last-child{ border-bottom:none; }
.hbg-menu-row:hover{ color:var(--hb-accent); }
.hbg-menu-row .hbg-ico{ width:22px; height:22px; color:var(--hb-muted); flex-shrink:0; transition:color .15s; }
.hbg-menu-row:hover .hbg-ico{ color:var(--hb-accent); }

/* ── 가이드(탭) ── */
.hbg-guide-tabs{
  display:flex; gap:6px; margin-bottom:12px;
  position:sticky; top:-2px; z-index:2;
  background:var(--hb-bg2); padding:2px 0;
}
.hbg-guide-tab{
  flex:1; padding:9px 4px; font-size:13px; font-weight:700; font-family:inherit;
  background:var(--hb-bg3); color:var(--hb-muted);
  border:1px solid var(--hb-line); border-radius:9px; cursor:pointer; transition:.15s;
}
.hbg-guide-tab.is-active{ color:var(--hb-bg); background:var(--hb-accent); border-color:var(--hb-accent); }
.hbg-guide-panel{ display:none; }
.hbg-guide-panel.is-active{ display:block; }
.hbg-guide-panel b{ color:var(--hb-accent2); font-weight:700; }
.hbg-g-h{ color:var(--hb-accent); font-size:14px; font-weight:800; margin:15px 0 5px; }
.hbg-g-h:first-child{ margin-top:2px; }
.hbg-g-p{ color:var(--hb-text); font-size:13.5px; line-height:1.65; margin:0 0 6px; }
.hbg-g-ul{ margin:0 0 6px; padding-left:18px; }
.hbg-g-ul li{ color:var(--hb-text); font-size:13.5px; line-height:1.6; margin-bottom:4px; }
.hbg-g-note{ color:var(--hb-muted); font-size:12.5px; margin:6px 0 0; }
.hbg-g-table{ width:100%; border-collapse:collapse; margin:2px 0 4px; font-size:13px; }
.hbg-g-table th{ text-align:left; color:var(--hb-muted); font-weight:700; font-size:12px; padding:6px 8px; border-bottom:1px solid var(--hb-line); }
.hbg-g-table td{ color:var(--hb-text); padding:6px 8px; border-bottom:1px solid var(--hb-line); vertical-align:top; }
.hbg-g-table tr:last-child td{ border-bottom:none; }

/* ── SweetAlert2 테마(횃불) ── */
.hb-swal.swal2-popup{ width:320px; padding:16px 16px 20px; border:1px solid var(--hb-line); border-radius:14px; }
/* 아이콘은 transform 으로 통째 축소(성공/체크 아이콘 내부 좌표가 깨지지 않게) */
.hb-swal .swal2-icon{ transform:scale(.7); transform-origin:center; margin:2px auto -6px; }
.hb-swal .swal2-title{ color:var(--hb-text); font-size:17px; padding:6px 0 0; }
.hb-swal .swal2-html-container{ color:var(--hb-muted); font-size:13.5px; line-height:1.5; margin:8px 0 0; }
.hb-swal .swal2-input{ font-size:14px; }
.hb-swal .swal2-actions{ margin-top:16px; gap:8px; }
.hb-swal .swal2-confirm,
.hb-swal .swal2-cancel{ min-width:92px; padding:9px 16px; font-size:14px; font-weight:700; box-shadow:none !important; }
.hb-swal .swal2-confirm{ color:#1a1206 !important; }
