/* ============================================================
   PHX ARCADE — hub, roster, burner HUD, dpad, reactions
   (loaded after style.css; inherits its theme vars)
   ============================================================ */

/* ---------------- HUB SCREEN ---------------- */
.hub-wrap{position:relative;z-index:3;min-height:100%;display:flex;flex-direction:column;align-items:center;padding:20px 18px 40px;gap:18px;}
.hub-top{display:flex;align-items:center;gap:12px;width:min(960px,100%);}
.hub-brand{display:flex;flex-direction:column;line-height:1;}
.hub-brand .kicker{font-family:var(--display);font-weight:600;letter-spacing:.42em;font-size:11px;color:var(--gold);}
.hub-brand h1{font-family:var(--display);font-weight:900;font-size:clamp(26px,5vw,44px);
  background:linear-gradient(180deg,#fff2d4,var(--ember-hot) 50%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 1px rgba(60,20,0,.6));}
.hub-spacer{flex:1;}
.hub-namechip{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--panel-edge-soft);border-radius:999px;padding:6px 14px;cursor:pointer;}
.hub-namechip .js-playername{font-weight:600;letter-spacing:.04em;font-size:14px;color:var(--ink);}
.hub-namechip:hover{border-color:var(--panel-edge);}
.hub-iconbtn{width:42px;height:42px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--panel-edge);color:var(--ink);font-size:20px;cursor:pointer;}

.hub-bank{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.hub-bank .res{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--panel-edge-soft);border-radius:10px;padding:4px 11px 4px 5px;font-weight:600;font-size:15px;}
.hub-bank .res img{width:26px;height:26px;object-fit:contain;}
.hub-bank .res b{color:var(--ember-hot);}

/* game launcher cards */
.game-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;width:min(960px,100%);}
.game-card{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;min-height:230px;
  border:1px solid var(--panel-edge);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;justify-content:flex-end;
  transition:transform .14s ease, box-shadow .14s;}
.game-card:hover{transform:translateY(-5px);box-shadow:0 26px 50px -16px rgba(0,0,0,.75),var(--accent-glow);}
.game-card .gc-bg{position:absolute;inset:0;z-index:0;}
.game-card .gc-art{position:absolute;right:-10px;bottom:-10px;height:200px;z-index:1;filter:drop-shadow(0 12px 22px rgba(0,0,0,.6));pointer-events:none;}
.game-card .gc-inner{position:relative;z-index:2;max-width:64%;}
.game-card .gc-kicker{font-family:var(--display);font-weight:700;letter-spacing:.18em;font-size:12px;color:var(--ember-hot);text-transform:uppercase;}
.game-card .gc-title{font-family:var(--display);font-weight:900;font-size:30px;line-height:.98;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6);margin:3px 0 6px;}
.game-card .gc-desc{font-size:14.5px;line-height:1.3;color:var(--ink);opacity:.92;text-shadow:0 1px 6px rgba(0,0,0,.7);}
.game-card .gc-foot{display:flex;align-items:center;gap:12px;margin-top:14px;}
.game-card .gc-play{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.06em;color:#2a1606;background:linear-gradient(180deg,var(--ember-hot),var(--gold) 50%,var(--gold-deep));border:1px solid rgba(255,225,160,.6);padding:8px 16px;border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5);}
.game-card .gc-best{font-size:13px;letter-spacing:.06em;color:var(--ink-dim);}
.game-card .gc-best b{color:var(--ember-hot);}

.gc-art-bg{background:
  radial-gradient(120% 90% at 80% 110%, rgba(158,215,110,.42), transparent 60%),
  linear-gradient(150deg,#224d2c,#9ed681 70%,#dff6ff);}
.gc-burn-bg{background:
  radial-gradient(120% 90% at 80% 110%, rgba(255,170,40,.42), transparent 60%),
  linear-gradient(150deg,#233728,#6c8c48 55%,#a9c5d8);}
body.nightmare .gc-art-bg{background:radial-gradient(120% 90% at 80% 110%, rgba(255,104,22,.24), transparent 60%),linear-gradient(150deg,#0b0805,#030302);}
body.nightmare .gc-burn-bg{background:radial-gradient(120% 90% at 80% 110%, rgba(255,104,22,.22), transparent 60%),linear-gradient(150deg,#0b0805,#030302);}

/* roster strip */
.hub-roster-label{font-family:var(--display);font-weight:700;letter-spacing:.16em;font-size:12px;color:var(--gold);text-transform:uppercase;align-self:flex-start;width:min(960px,100%);margin:2px auto 0;}
.roster-strip{display:flex;gap:12px;width:min(960px,100%);overflow-x:auto;padding:4px 2px 10px;-webkit-overflow-scrolling:touch;}
.roster-card{flex:0 0 auto;width:124px;background:linear-gradient(165deg,rgba(48,27,14,.9),rgba(22,12,7,.95));border:1px solid var(--panel-edge-soft);border-radius:14px;padding:10px;text-align:center;position:relative;}
/* V0.9.6: Kingshot-style red notification dot. */
.notif-dot{position:absolute;top:-5px;right:-5px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6a5a,#e01f2d 70%);border:2px solid #1a0d07;box-shadow:0 0 0 1px rgba(255,90,80,.5),0 0 12px -2px rgba(255,60,60,.95);z-index:6;pointer-events:none;animation:notifPulse 1.6s ease-in-out infinite;}
@keyframes notifPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 1px rgba(255,90,80,.5),0 0 12px -2px rgba(255,60,60,.95);}50%{transform:scale(1.16);box-shadow:0 0 0 1px rgba(255,90,80,.7),0 0 18px 0 rgba(255,60,60,1);}}
.hub-nav-card{position:relative;}
.alliance-tab{position:relative;}
.alliance-tab .notif-dot,.hub-nav-card .notif-dot{top:6px;right:6px;}
/* Hero Recruit Credit counter chip in the hub. */
.hub-recruit-chip{position:relative;display:inline-flex;align-items:center;gap:7px;margin:8px 0 2px;padding:7px 12px;border-radius:999px;cursor:pointer;background:linear-gradient(180deg,rgba(255,150,42,.16),rgba(120,60,12,.22));border:1px solid rgba(255,205,120,.34);color:#ffe6b0;font-family:var(--display);box-shadow:0 6px 18px -12px rgba(255,150,40,.9);}
.hub-recruit-chip .hrc-icon{font-size:16px;line-height:1;}
.hub-recruit-chip b{font-size:18px;color:#ffd76a;line-height:1;}
.hub-recruit-chip small{font-size:10px;font-weight:800;letter-spacing:.04em;color:rgba(255,224,170,.86);text-transform:uppercase;}
.hub-recruit-chip.has-notif::after{content:'';position:absolute;top:-4px;right:-4px;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6a5a,#e01f2d 70%);border:2px solid #1a0d07;box-shadow:0 0 10px -1px rgba(255,60,60,.95);animation:notifPulse 1.6s ease-in-out infinite;}
.roster-card .rc-imgwrap{height:104px;border-radius:10px;overflow:hidden;background:radial-gradient(80% 80% at 50% 30%,rgba(255,140,50,.18),transparent);display:grid;place-items:center;margin-bottom:8px;}
.roster-card .rc-imgwrap img{height:100%;width:100%;object-fit:cover;object-position:center top;}
.roster-card .rc-tag{font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.14em;color:var(--gold);}
.roster-card .rc-name{font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink);line-height:1.05;}
.roster-card .rc-role{font-size:11.5px;color:var(--ink-dim);letter-spacing:.03em;}
body.nightmare .roster-card .rc-imgwrap{background:radial-gradient(80% 80% at 50% 30%,rgba(255,145,38,.13),transparent);}

/* ---------------- BURNER SCREEN ---------------- */
#burnerScreen{background:#0a0503;}
#burnerCanvas{position:absolute;inset:0;width:100%;height:100%;}
.bn-hud{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(180deg,rgba(8,4,2,.85),rgba(8,4,2,0));}
.bn-hud .hud-btn{width:42px;height:42px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--panel-edge);color:var(--ink);font-size:20px;cursor:pointer;}
.bn-mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;}
.bn-name{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.05em;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.bn-stats{display:flex;gap:16px;align-items:center;}
.bn-stat{display:flex;flex-direction:column;align-items:center;line-height:1;}
.bn-stat .lab{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);}
.bn-stat .val{font-family:var(--display);font-weight:700;font-size:18px;color:var(--ink);}
.bn-stat .val b{color:var(--ember-hot);}
#bnTime.low{color:var(--lava);animation:pulseLow .6s ease-in-out infinite;}
@keyframes pulseLow{50%{opacity:.5;}}
#bnStreak{position:absolute;top:62px;left:50%;transform:translateX(-50%);z-index:6;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:.06em;color:var(--ember-hot);text-shadow:0 2px 10px rgba(255,120,30,.6);opacity:0;transition:opacity .2s, transform .2s;}
#bnStreak.hot{opacity:1;transform:translateX(-50%) scale(1.05);}

/* progress + torch meters */
.bn-meters{position:absolute;top:58px;left:50%;transform:translateX(-50%);z-index:6;width:min(460px,74vw);display:flex;flex-direction:column;gap:5px;}
.bn-meter-row{display:flex;align-items:center;gap:8px;}
.bn-meter-row .ml{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.1em;color:var(--ink);text-shadow:0 1px 3px #000;white-space:nowrap;min-width:64px;}
.bn-track{flex:1;height:11px;border-radius:7px;background:rgba(0,0,0,.5);border:1px solid var(--panel-edge);overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,.6);}
.bn-track .bn-fill{height:100%;width:0;background:linear-gradient(90deg,#7a1208,var(--hp));transition:width .3s;}
#bnProgress{font-family:var(--display);font-weight:700;font-size:12px;color:var(--ember-hot);min-width:34px;text-align:right;}
.bn-torch{opacity:.45;transition:opacity .2s;}
.bn-torch.on{opacity:1;}
.bn-torch .bn-fill{background:linear-gradient(90deg,var(--gold-deep),var(--ember-hot));}

.bn-res-ticker{position:absolute;left:12px;bottom:126px;z-index:6;display:flex;flex-direction:column;gap:5px;}
.bn-res-ticker .res{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--panel-edge-soft);border-radius:9px;padding:3px 9px 3px 4px;font-weight:600;font-size:14px;}
.bn-res-ticker .res img{width:22px;height:22px;object-fit:contain;}
.bn-res-ticker .res b{color:var(--ember-hot);min-width:16px;}

/* d-pad */
#bnDpad{position:absolute;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:7;display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:6px;}
#bnDpad button{border:1px solid var(--panel-edge);background:linear-gradient(180deg,rgba(54,30,14,.92),rgba(26,14,7,.95));color:var(--ink);font-size:24px;border-radius:12px;cursor:pointer;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,200,120,.12),0 4px 12px -6px #000;-webkit-user-select:none;user-select:none;touch-action:none;}
#bnDpad button:active{transform:scale(.92);background:linear-gradient(180deg,var(--gold-deep),var(--ember));color:#2a1606;}
#bnDpad .dpad-up{grid-column:2;grid-row:1;}
#bnDpad .dpad-left{grid-column:1;grid-row:2;}
#bnDpad .dpad-right{grid-column:3;grid-row:2;}
#bnDpad .dpad-down{grid-column:2;grid-row:3;}
.bn-hint{position:absolute;left:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:6;font-size:11px;letter-spacing:.04em;color:var(--ink-dim);background:rgba(0,0,0,.42);padding:7px 12px;border-radius:999px;max-width:210px;line-height:1.3;}

/* ---------------- artillery: Fallacy reaction face ---------------- */
#fallacyReact{position:absolute;right:14px;top:96px;z-index:6;width:84px;height:84px;border-radius:14px;object-fit:cover;border:2px solid var(--panel-edge);box-shadow:0 8px 20px -8px #000;opacity:0;transform:scale(.7) translateY(8px);transition:opacity .2s, transform .2s;pointer-events:none;}
#fallacyReact.show{opacity:1;transform:scale(1) translateY(0);}

/* generic select-screen back btn already covered by .hud-btn */
@media (max-width:560px){
  .game-card{min-height:200px;}
  .game-card .gc-art{height:160px;}
  .game-card .gc-title{font-size:25px;}
  #bnDpad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);}
  .bn-res-ticker{bottom:120px;}
}

.hub-campaign-blurb{width:min(960px,100%);text-align:center;color:var(--ink);font-size:14px;line-height:1.4;background:linear-gradient(180deg,rgba(48,27,14,.85),rgba(22,12,7,.92));border:1px solid var(--panel-edge-soft);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow);}
.game-card .gc-art{height:220px;right:-4px;bottom:-2px;}
.roster-card .rc-move{font-size:10px;color:var(--gold);letter-spacing:.06em;margin-top:4px;line-height:1.15;}
.roster-card{background:linear-gradient(165deg,rgba(48,27,14,.96),rgba(16,9,5,.96));}
.menu-bg{background:radial-gradient(120% 90% at 50% 0%,rgba(255,130,35,.08),transparent 55%),linear-gradient(180deg,rgba(18,8,4,.92),rgba(10,4,2,.96));}


/* briefing overlay */
.briefing-panel{width:min(760px,92vw);}
.briefing-top{display:flex;gap:16px;align-items:flex-start;}
.briefing-top img{width:140px;height:140px;object-fit:contain;border-radius:16px;background:rgba(0,0,0,.25);border:1px solid var(--panel-edge-soft);padding:8px;flex:0 0 auto;}
.briefing-copy h2{margin-bottom:8px;}
.briefing-copy p{margin:0 0 10px;color:var(--ink);line-height:1.45;}
.briefing-note{font-size:13px;color:var(--gold);line-height:1.35;background:rgba(0,0,0,.22);border:1px solid rgba(255,214,120,.16);border-radius:12px;padding:10px 12px;}
.briefing-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;}

/* burner helpers */
.bn-helpers{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(8px + env(safe-area-inset-bottom));z-index:7;display:flex;gap:8px;padding:6px 10px 8px;background:linear-gradient(180deg,rgba(12,8,4,.30),rgba(12,8,4,.70));border:1px solid var(--panel-edge-soft);border-radius:18px;backdrop-filter:blur(2px);}
.bn-helper{position:relative;width:74px;border-radius:15px;cursor:pointer;background:linear-gradient(180deg,rgba(44,24,11,.95),rgba(18,10,5,.98));border:1px solid var(--panel-edge);padding:8px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:var(--shadow);}
.bn-helper .ab-badge{position:absolute;top:-8px;right:-8px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--ember-hot);color:#2a1206;font-weight:900;font-size:12px;display:grid;place-items:center;border:2px solid #fff2;box-shadow:0 6px 14px -10px #000;z-index:2;}
.bn-helper .ab-frame{position:absolute;inset:5px 12px auto 12px;height:50px;background:url('../assets/ui/phoenix_frame.png') center/contain no-repeat;pointer-events:none;opacity:.9;}
.bn-helper img{position:relative;z-index:1;width:40px;height:40px;border-radius:9px;object-fit:cover;border:1px solid rgba(255,220,170,.35);filter:drop-shadow(0 2px 3px #000);margin-top:2px;}
.bn-helper .ab-name{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.01em;color:var(--ink);line-height:1;text-align:center;}
.bn-helper .ab-cost{font-size:10px;color:var(--gold);letter-spacing:.03em;text-align:center;}
.bn-helper.used{opacity:.42;filter:grayscale(.3);pointer-events:none;}
.bn-helper.locked{opacity:.55;filter:saturate(.65);}
@media (max-width:560px){
  .briefing-top{flex-direction:column;align-items:center;text-align:center;}
  .briefing-top img{width:112px;height:112px;}
  .bn-helpers{padding:6px 8px;gap:6px;bottom:calc(6px + env(safe-area-inset-bottom));}
  .bn-helper{width:68px;}
  .bn-helper img{width:36px;height:36px;}
}

/* v0.4.2 Castle Burner adaptive controls */
@media (orientation: landscape){
  .bn-helpers{
    left:auto; right:184px; bottom:calc(18px + env(safe-area-inset-bottom)); transform:none;
    gap:6px; padding:5px 7px;
  }
  .bn-helper{width:58px; padding:6px 4px;}
  .bn-helper img{width:32px;height:32px;}
  .bn-helper .ab-name{font-size:9px;}
  .bn-helper .ab-cost{font-size:8px;line-height:1.05;}
  .bn-helper .ab-frame{height:38px;inset:4px 8px auto 8px;}
}
@media (orientation: portrait){
  .bn-hud{padding-top:calc(8px + env(safe-area-inset-top));}
  .bn-meters{top:118px; width:min(560px,88vw);}
  .bn-res-ticker{left:14px; bottom:190px;}
  .bn-helpers{
    left:auto; right:10px; top:292px; bottom:auto; transform:none;
    flex-direction:column; gap:6px; padding:6px;
  }
  .bn-helper{width:58px; padding:6px 4px;}
  .bn-helper img{width:32px;height:32px;}
  .bn-helper .ab-name{font-size:9px;}
  .bn-helper .ab-cost{display:none;}
  #bnDpad{right:16px; bottom:calc(22px + env(safe-area-inset-bottom)); grid-template-columns:repeat(3,54px); grid-template-rows:repeat(3,54px);}
  .bn-hint{left:14px; bottom:calc(24px + env(safe-area-inset-bottom)); max-width:170px;}
}
.bn-lives .val{color:#ff6d6d;text-shadow:0 0 8px rgba(255,70,70,.55);}

/* V0.4.17 GPT — visible build label + landscape main menu compression */
.build-chip{
  display:inline-flex;align-items:center;align-self:flex-start;margin-top:4px;
  font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.14em;color:#ffe3a3;
  background:rgba(0,0,0,.34);border:1px solid var(--panel-edge-soft);border-radius:999px;padding:4px 10px;
}
@media (orientation:landscape) and (max-height:520px){
  .screen-scroll{overflow-y:auto;}
  .hub-wrap{padding:8px 12px 10px!important;gap:8px!important;align-items:center!important;}
  .hub-top{gap:8px!important;width:min(980px,100%)!important;}
  .hub-brand .kicker{font-size:8px!important;letter-spacing:.25em!important;}
  .hub-brand h1{font-size:24px!important;line-height:.9!important;}
  .build-chip{font-size:8px!important;padding:2px 7px!important;margin-top:2px!important;}
  .hub-namechip{padding:4px 9px!important;}
  .hub-namechip .js-playername{font-size:11px!important;}
  .hub-iconbtn{width:34px!important;height:34px!important;font-size:17px!important;border-radius:9px!important;}
  .hub-bank{gap:5px!important;}
  .hub-bank .res{font-size:11px!important;padding:2px 7px 2px 3px!important;border-radius:8px!important;}
  .hub-bank .res img{width:19px!important;height:19px!important;}
  .hub-campaign-blurb{font-size:11px!important;line-height:1.18!important;padding:6px 10px!important;border-radius:10px!important;}
  .game-cards{grid-template-columns:repeat(2,minmax(220px,1fr))!important;gap:9px!important;width:min(980px,100%)!important;}
  .game-card{min-height:128px!important;padding:12px!important;border-radius:14px!important;}
  .game-card .gc-art{height:120px!important;right:-10px!important;bottom:-8px!important;opacity:.92!important;}
  .game-card .gc-inner{max-width:64%!important;}
  .game-card .gc-kicker{font-size:9px!important;letter-spacing:.13em!important;}
  .game-card .gc-title{font-size:20px!important;margin:2px 0 3px!important;}
  .game-card .gc-desc{font-size:11px!important;line-height:1.12!important;}
  .game-card .gc-foot{margin-top:7px!important;}
  .game-card .gc-play{font-size:11px!important;padding:5px 10px!important;border-radius:8px!important;}
  .game-card .gc-best{font-size:10px!important;}
  .hub-roster-label{font-size:9px!important;margin:0 auto!important;}
  .roster-strip{gap:6px!important;padding:2px 1px 4px!important;overflow-x:auto!important;}
  .roster-card{width:78px!important;border-radius:10px!important;padding:6px!important;}
  .roster-card .rc-imgwrap{height:46px!important;border-radius:8px!important;margin-bottom:4px!important;}
  .roster-card .rc-tag{font-size:7px!important;letter-spacing:.08em!important;}
  .roster-card .rc-name{font-size:10px!important;}
  .roster-card .rc-role{display:none!important;}
  .roster-card .rc-move{font-size:7px!important;margin-top:2px!important;}
  .rc-helper-status{font-size:7px!important;line-height:1!important;margin-top:2px!important;}
}

/* ============================================================
   V0.4.17 GPT — true landscape hub/settings safe-area polish
   ============================================================ */
@media (orientation:landscape){
  #hubScreen .screen-scroll{
    height:100dvh;
    overflow-y:auto;
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
    padding-top:max(10px, env(safe-area-inset-top));
    padding-bottom:max(10px, env(safe-area-inset-bottom));
    box-sizing:border-box;
  }
  #hubScreen .hub-wrap{
    width:min(1180px,100%);
    min-height:calc(100dvh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)));
    margin:0 auto;
    padding:0!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  #hubScreen .hub-top,#hubScreen .hub-bank,#hubScreen .hub-campaign-blurb,#hubScreen .game-cards,#hubScreen .hub-roster-label,#hubScreen .roster-strip{width:100%!important;max-width:none!important;}
  #hubScreen .hub-brand h1{font-size:clamp(30px,4.2vw,44px)!important;}
  #hubScreen .hub-brand .kicker{font-size:10px!important;}
  #hubScreen .build-chip{font-size:10px!important;padding:4px 10px!important;}
  #hubScreen .game-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  #hubScreen .game-card{min-height:188px!important;padding:18px!important;border-radius:18px!important;}
  #hubScreen .game-card .gc-art{height:185px!important;right:-6px!important;bottom:-8px!important;}
  #hubScreen .game-card .gc-kicker{font-size:11px!important;}
  #hubScreen .game-card .gc-title{font-size:28px!important;}
  #hubScreen .game-card .gc-desc{font-size:13.5px!important;line-height:1.25!important;}
  #hubScreen .roster-strip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;padding-bottom:4px!important;}
  #hubScreen .roster-card{width:auto!important;min-width:0!important;padding:9px!important;border-radius:13px!important;}
  #hubScreen .roster-card .rc-imgwrap{height:78px!important;margin-bottom:6px!important;}
  #hubScreen .roster-card .rc-name{font-size:13px!important;}
  #hubScreen .roster-card .rc-role{font-size:10px!important;display:block!important;}
  #hubScreen .roster-card .rc-move{font-size:9px!important;}
  #hubScreen .rc-helper-status{font-size:9px!important;}
}
@media (orientation:landscape) and (max-height:430px){
  #hubScreen .screen-scroll{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));}
  #hubScreen .hub-wrap{gap:8px!important;}
  #hubScreen .hub-bank .res{font-size:12px!important;}
  #hubScreen .hub-campaign-blurb{font-size:12px!important;line-height:1.2!important;padding:7px 10px!important;}
  #hubScreen .game-card{min-height:154px!important;padding:14px!important;}
  #hubScreen .game-card .gc-art{height:150px!important;}
  #hubScreen .game-card .gc-title{font-size:24px!important;}
  #hubScreen .game-card .gc-desc{font-size:12px!important;line-height:1.18!important;}
  #hubScreen .roster-card .rc-imgwrap{height:56px!important;}
  #hubScreen .roster-card .rc-role{display:none!important;}
}


/* ---------------- STORY / PROLOGUE SCREEN ---------------- */
.hub-story-actions{width:min(960px,100%);display:flex;justify-content:center;margin-top:-6px;}
.hub-story-btn{font-size:15px;padding:.55em 1em;border-radius:999px;}
#storyScreen{background:#090401;z-index:4;}
.story-stage{position:absolute;inset:0;overflow:hidden;background:#090401;}
.story-bg-blur{position:absolute;inset:-28px;width:calc(100% + 56px);height:calc(100% + 56px);object-fit:cover;filter:blur(18px) brightness(.42) saturate(1.05);transform:scale(1.04);opacity:.62;}
.story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(1.04) contrast(1.02);}
.story-image.fit-contain{object-fit:contain;padding:10px;background:transparent;}
.story-image.fit-wide{inset:0;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center center;padding:0;background:transparent;box-shadow:none;}
.story-stage.story-wide .story-bg-blur{opacity:.34;filter:blur(16px) brightness(.36) saturate(1.02);}
.story-stage.story-wide .story-vignette{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.06) 30%,rgba(0,0,0,.36) 58%,rgba(0,0,0,.86)),radial-gradient(120% 90% at 50% 22%,transparent 38%,rgba(0,0,0,.50));}
.story-character{position:absolute;z-index:1;left:50%;bottom:34%;max-width:58vw;max-height:44vh;transform:translateX(-50%);filter:drop-shadow(0 18px 20px rgba(0,0,0,.82)) drop-shadow(0 0 16px rgba(255,151,42,.18));pointer-events:none;}
.story-character.rise-guppy{left:64%;bottom:39%;max-height:34vh;max-width:42vw;}
.story-character.rise-dolphin{left:64%;bottom:38%;max-height:38vh;max-width:48vw;}
.story-character.rise-whale{left:63%;bottom:38%;max-height:44vh;max-width:62vw;}
.story-stage.story-wide .story-character{display:none!important;}

.story-image.fit-cinematic{inset:0 0 auto 0;width:100%;height:61vh;min-height:0;object-fit:contain;object-position:center top;padding:0;background:transparent;box-shadow:0 20px 50px -26px rgba(0,0,0,.92);}
.story-stage.story-cinematic .story-bg-blur{opacity:.78;filter:blur(18px) brightness(.34) saturate(1.08);transform:scale(1.08);}
.story-stage.story-cinematic .story-vignette{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18) 36%,rgba(0,0,0,.54) 63%,rgba(0,0,0,.90)),radial-gradient(110% 85% at 50% 18%,transparent 34%,rgba(0,0,0,.48));}
.story-stage.story-cinematic .story-character{display:none!important;}
.story-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.08) 34%,rgba(0,0,0,.84)),radial-gradient(120% 90% at 50% 20%,transparent 45%,rgba(0,0,0,.52));pointer-events:none;}
.story-copy{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(820px,calc(100vw - 28px));max-height:min(39vh,470px);display:flex;flex-direction:column;z-index:2;background:linear-gradient(180deg,rgba(38,20,10,.88),rgba(13,7,4,.94));border:1px solid var(--panel-edge);border-radius:18px;padding:14px 18px 13px;box-shadow:0 24px 60px -20px rgba(0,0,0,.88),inset 0 1px 0 rgba(255,225,170,.08);backdrop-filter:blur(5px);}
.story-kicker{flex-shrink:0;font-family:var(--display);font-weight:800;letter-spacing:.18em;font-size:11px;color:var(--gold);text-transform:uppercase;margin-bottom:4px;}
.story-copy h2{flex-shrink:0;font-family:var(--display);font-size:clamp(23px,4.1vw,36px);line-height:1;color:#fff4d6;text-shadow:0 2px 12px rgba(0,0,0,.72);margin-bottom:7px;}
.story-copy p{font-size:clamp(16px,2.55vw,20px);line-height:1.22;color:var(--ink);white-space:pre-line;text-shadow:0 1px 4px rgba(0,0,0,.55);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:5px;flex:1 1 auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y;}
.story-copy.story-long{max-height:min(37vh,440px);}
.story-copy.story-compact{max-height:min(35vh,410px);}
.story-copy.story-long h2{font-size:clamp(22px,3.8vw,32px);margin-bottom:6px;}
.story-copy.story-long p{font-size:clamp(14px,2.25vw,17px);line-height:1.14;}
.story-copy.story-long .story-footer{margin-top:9px;}
.story-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:10px;flex-shrink:0;}
.story-count{font-family:var(--display);font-weight:700;letter-spacing:.11em;font-size:12px;color:var(--ink-dim);white-space:nowrap;}
.story-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.story-actions .btn{min-width:84px;}
body.nightmare .story-copy{background:linear-gradient(180deg,rgba(18,8,18,.9),rgba(5,3,8,.95));}
@media (max-width:560px){
  .hub-story-actions{margin-top:-8px;}
  .hub-story-btn{font-size:12px!important;padding:.5em .8em!important;}
  .story-image.fit-contain{padding:4px;}
  .story-image.fit-wide{inset:0;width:100%;height:100%;object-fit:cover;}
  .story-image.fit-cinematic{inset:0 0 auto 0;width:100%;height:60vh;object-fit:contain;object-position:center top;}
  .story-stage.story-cinematic .story-bg-blur{opacity:.82;filter:blur(17px) brightness(.33) saturate(1.08);}
  .story-copy{width:calc(100vw - 18px);bottom:calc(10px + env(safe-area-inset-bottom));padding:10px 12px 10px;border-radius:15px;max-height:35vh;}
  .story-copy.story-long{max-height:34vh;padding:10px 12px 10px;}
  .story-copy.story-compact{max-height:33vh;}
  .story-character.rise-guppy{left:67%;bottom:41%;max-height:30vh;max-width:46vw;}
  .story-character.rise-dolphin{left:67%;bottom:40%;max-height:34vh;max-width:52vw;}
  .story-character.rise-whale{left:67%;bottom:40%;max-height:39vh;max-width:66vw;}
  .story-copy h2{flex-shrink:0;font-size:22px;margin-bottom:4px;}
  .story-copy p{font-size:14.5px;line-height:1.16;}
  .story-copy.story-long p{font-size:13.2px;line-height:1.08;}
  .story-footer{gap:8px;margin-top:8px;align-items:flex-end;}
  .story-count{font-size:10px;}
  .story-actions{gap:6px;}
  .story-actions .btn{font-size:13px!important;padding:.48em .58em!important;min-width:66px;}
}
@media (orientation:landscape) and (max-height:520px){
  .story-copy{left:auto;right:max(14px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:min(490px,45vw);max-height:calc(100vh - 34px);padding:12px 14px;}
  .story-image.fit-wide{inset:0;width:100%;height:100%;object-fit:cover;}
  .story-image.fit-cinematic{inset:0 0 auto 0;width:100%;height:60vh;object-fit:contain;object-position:center top;}
  .story-stage.story-cinematic .story-bg-blur{opacity:.82;filter:blur(17px) brightness(.33) saturate(1.08);}
  .story-stage.story-wide .story-bg-blur{opacity:.28;}
  .story-character{bottom:8%;left:34%;max-height:78vh;max-width:34vw;}
  .story-character.rise-whale{left:32%;bottom:4%;max-height:86vh;max-width:42vw;}
  .story-copy h2{flex-shrink:0;font-size:24px;}
  .story-copy p{font-size:14.5px;line-height:1.16;}
  .story-footer{margin-top:8px;}
  .story-actions .btn{font-size:12px!important;padding:.42em .6em!important;min-width:64px;}
}

@media (orientation:landscape) and (min-width:700px){
  .story-image.fit-cinematic{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;}
  .story-stage.story-cinematic .story-bg-blur{opacity:.30;}
}

/* V0.4.27 GPT — Castle Burner portrait structure, joystick, and Heroes tray */
.hero-hint{position:relative;z-index:3;max-width:980px;margin:8px auto 0;padding:10px 18px;color:var(--ink);font-size:13px;line-height:1.35;background:linear-gradient(180deg,rgba(48,27,14,.82),rgba(18,10,5,.9));border:1px solid var(--panel-edge-soft);border-radius:14px;}
.hero-shop{display:none!important;}
.bn-heroes{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(132px + env(safe-area-inset-bottom));z-index:7;display:flex;gap:7px;padding:6px 9px;background:linear-gradient(180deg,rgba(12,8,4,.38),rgba(12,8,4,.78));border:1px solid var(--panel-edge-soft);border-radius:18px;backdrop-filter:blur(2px);}
.bn-hero{position:relative;width:58px;border-radius:14px;cursor:pointer;background:linear-gradient(180deg,rgba(44,24,11,.95),rgba(18,10,5,.98));border:1px solid var(--panel-edge);padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:var(--shadow);color:var(--ink);touch-action:manipulation;}
.bn-hero .ab-badge{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ember-hot);color:#2a1206;font-weight:900;font-size:11px;display:grid;place-items:center;border:2px solid #fff2;box-shadow:0 6px 14px -10px #000;z-index:2;}
.bn-hero .ab-frame{position:absolute;inset:4px 8px auto 8px;height:38px;background:url('../assets/ui/phoenix_frame.png') center/contain no-repeat;pointer-events:none;opacity:.9;}
.bn-hero img{position:relative;z-index:1;width:32px;height:32px;border-radius:9px;object-fit:cover;border:1px solid rgba(255,220,170,.35);filter:drop-shadow(0 2px 3px #000);margin-top:2px;}
.bn-hero .ab-name{font-family:var(--display);font-weight:700;font-size:9px;letter-spacing:.01em;color:var(--ink);line-height:1;text-align:center;}
.bn-hero .ab-cost{font-size:8px;color:var(--gold);letter-spacing:.03em;text-align:center;line-height:1;}
.bn-hero.used{opacity:.42;filter:grayscale(.3);pointer-events:none;}
.bn-hero.locked{opacity:.55;filter:saturate(.65);}
#bnJoystick{position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:8;width:128px;height:128px;display:grid;place-items:center;touch-action:none;-webkit-user-select:none;user-select:none;}
#bnJoystick .joy-ring{position:relative;width:104px;height:104px;border-radius:999px;background:radial-gradient(circle at 50% 42%,rgba(255,200,120,.18),rgba(35,18,8,.88));border:1px solid var(--panel-edge);box-shadow:inset 0 2px 8px rgba(0,0,0,.7),0 14px 28px -18px #000;}
#bnJoystick .joy-ring::before{content:'';position:absolute;inset:18px;border-radius:999px;border:1px dashed rgba(255,220,150,.24);}
#bnJoystick .joy-thumb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(180deg,var(--ember-hot),var(--gold-deep));border:1px solid rgba(255,238,190,.55);box-shadow:0 8px 18px -10px #000,inset 0 1px 0 rgba(255,255,255,.45);color:#2a1405;font-family:var(--display);font-weight:900;transition:transform .08s linear;}
#bnJoystick .joy-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-family:var(--display);font-weight:800;font-size:10px;letter-spacing:.18em;color:var(--gold);text-shadow:0 1px 4px #000;}
#burnerScreen .bn-hint{left:50%;bottom:calc(104px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(410px,88vw);text-align:center;z-index:6;}
#burnerScreen .bn-res-ticker{bottom:calc(152px + env(safe-area-inset-bottom));}
#burnerScreen .bn-meters{top:calc(72px + env(safe-area-inset-top));width:min(560px,88vw);}
#burnerScreen #bnStreak{top:calc(110px + env(safe-area-inset-top));}
#burnerScreen .bn-hud{padding-top:calc(6px + env(safe-area-inset-top));padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right));}
#burnerScreen .bn-stats{gap:11px;}
#burnerScreen .bn-stat .lab{font-size:9px;}
#burnerScreen .bn-stat .val{font-size:16px;}
@media (orientation:landscape){
  .bn-heroes{left:auto;right:176px;bottom:calc(18px + env(safe-area-inset-bottom));transform:none;}
  #bnJoystick{left:auto;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));transform:none;width:124px;height:124px;}
  #burnerScreen .bn-hint{left:16px;bottom:calc(18px + env(safe-area-inset-bottom));transform:none;text-align:left;max-width:250px;}
  #burnerScreen .bn-res-ticker{bottom:122px;}
}
@media (max-width:560px){
  .bn-heroes{bottom:calc(128px + env(safe-area-inset-bottom));gap:5px;padding:5px 7px;}
  .bn-hero{width:53px;padding:5px 3px;}
  .bn-hero img{width:30px;height:30px;}
  #bnJoystick{width:120px;height:120px;}
  #bnJoystick .joy-ring{width:98px;height:98px;}
}

/* Previous Castle Burner layout stability + movement tester rules */
.set-select{min-width:154px;max-width:190px;color:var(--ink);background:linear-gradient(180deg,rgba(45,24,12,.96),rgba(16,9,5,.98));border:1px solid var(--panel-edge);}
#burnerScreen{--bn-safe-bottom:env(safe-area-inset-bottom);}
#burnerCanvas{touch-action:none;}
#burnerScreen .bn-hud{padding-top:calc(6px + env(safe-area-inset-top));}
#burnerScreen .bn-meters{top:calc(74px + env(safe-area-inset-top));width:min(560px,88vw);}
#burnerScreen #bnStreak{top:calc(112px + env(safe-area-inset-top));z-index:5;pointer-events:none;}
#burnerScreen .bn-res-ticker{bottom:calc(168px + env(safe-area-inset-bottom));z-index:7;}
#burnerScreen .bn-heroes{left:50%;right:auto;top:auto;bottom:calc(148px + env(safe-area-inset-bottom));transform:translateX(-50%);flex-direction:row;z-index:9;}
#burnerScreen .bn-hint{left:50%;bottom:calc(228px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(390px,86vw);padding:7px 12px;text-align:center;z-index:6;font-size:12px;line-height:1.2;pointer-events:none;}
#bnMoveControls{position:absolute;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:10;width:min(250px,66vw);height:130px;display:grid;place-items:center;touch-action:none;-webkit-user-select:none;user-select:none;}
#burnerScreen #bnTouchPad,
#burnerScreen #bnJoystick,
#burnerScreen #bnDpad,
#burnerScreen #bnSwipePad{display:none;}
#burnerScreen[data-move-mode="touchpad"] #bnTouchPad{display:grid;}
#burnerScreen[data-move-mode="joystick"] #bnJoystick{display:grid;}
#burnerScreen[data-move-mode="dpad"] #bnDpad{display:grid;}
#burnerScreen[data-move-mode="swipe"] #bnSwipePad{display:grid;}
#burnerScreen #bnJoystick{position:relative;left:auto;right:auto;bottom:auto;transform:none;width:124px;height:124px;place-items:center;}
#burnerScreen #bnJoystick .joy-ring{width:96px;height:96px;}
#burnerScreen #bnJoystick .joy-thumb{transition:none;}
#burnerScreen #bnDpad{position:relative;left:auto;right:auto;bottom:auto;transform:none;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,42px);gap:5px;z-index:10;}
#burnerScreen #bnDpad button{font-size:21px;border-radius:11px;touch-action:none;}
.bn-touchpad,.bn-swipepad{position:relative;width:min(240px,64vw);height:118px;border-radius:20px;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(255,204,110,.18),rgba(38,20,9,.88));border:1px solid var(--panel-edge);box-shadow:inset 0 2px 10px rgba(0,0,0,.72),0 15px 30px -20px #000;overflow:hidden;}
.bn-touchpad:before,.bn-swipepad:before{content:'';position:absolute;inset:12px;border:1px dashed rgba(255,224,160,.23);border-radius:16px;}
.tp-corners:before,.tp-corners:after{content:'';position:absolute;width:34px;height:34px;border-color:rgba(255,214,135,.36);border-style:solid;}
.tp-corners:before{left:13px;top:13px;border-width:1px 0 0 1px;border-radius:12px 0 0 0;}
.tp-corners:after{right:13px;bottom:13px;border-width:0 1px 1px 0;border-radius:0 0 12px 0;}
.tp-thumb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(180deg,var(--ember-hot),var(--gold-deep));border:1px solid rgba(255,238,190,.55);box-shadow:0 8px 18px -10px #000,inset 0 1px 0 rgba(255,255,255,.45);color:#2a1405;font-family:var(--display);font-weight:900;transition:none;}
.tp-label{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-family:var(--display);font-weight:800;font-size:10px;letter-spacing:.15em;color:var(--gold);text-shadow:0 1px 4px #000;white-space:nowrap;}
.swipe-icon{font-family:var(--display);font-size:42px;line-height:1;color:var(--gold);text-shadow:0 2px 8px rgba(255,174,58,.28);transform:rotate(45deg);}
#burnerScreen[data-move-mode="swipe"] .bn-hint{bottom:calc(210px + env(safe-area-inset-bottom));}
@media (orientation:landscape){
  #burnerScreen .bn-heroes{left:50%;right:auto;bottom:calc(138px + env(safe-area-inset-bottom));transform:translateX(-50%);}
  #bnMoveControls{left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%);}
  #burnerScreen .bn-hint{left:50%;bottom:calc(218px + env(safe-area-inset-bottom));transform:translateX(-50%);text-align:center;max-width:min(390px,86vw);}
}
@media (max-width:390px){
  #burnerScreen .bn-heroes{bottom:calc(140px + env(safe-area-inset-bottom));}
  #burnerScreen .bn-hint{bottom:calc(218px + env(safe-area-inset-bottom));font-size:11px;}
  #bnMoveControls{height:122px;width:min(230px,68vw);}
  .bn-touchpad,.bn-swipepad{height:110px;}
  #burnerScreen #bnDpad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,39px);}
}

/* V0.4.29 GPT — Castle Burner modular maze test layout nudges */
#burnerScreen #bnMoveControls{width:min(330px,88vw);height:140px;}
#burnerScreen .bn-touchpad,#burnerScreen .bn-swipepad{width:min(320px,86vw);height:126px;}
#burnerScreen .bn-heroes{bottom:calc(156px + env(safe-area-inset-bottom));}
#burnerScreen .bn-hint{bottom:calc(236px + env(safe-area-inset-bottom));}
@media (max-width:390px){
  #burnerScreen #bnMoveControls{width:min(306px,88vw);height:132px;}
  #burnerScreen .bn-touchpad,#burnerScreen .bn-swipepad{width:min(298px,86vw);height:120px;}
}

/* V0.4.34 GPT — Castle Burner swipe-anywhere maze/performance pass */
.bn-start-overlay{position:absolute;inset:0;z-index:12;display:none;align-items:center;justify-content:center;padding:18px;background:radial-gradient(70% 55% at 50% 45%,rgba(0,0,0,.12),rgba(0,0,0,.62));backdrop-filter:blur(1px);pointer-events:auto;}
.bn-start-overlay.show{display:flex;}
.bn-start-card{width:min(390px,86vw);text-align:center;background:linear-gradient(180deg,rgba(48,27,14,.96),rgba(12,7,4,.98));border:1px solid var(--panel-edge);border-radius:20px;box-shadow:0 24px 50px -18px rgba(0,0,0,.8);padding:18px 18px 16px;color:var(--ink);}
.bn-start-kicker{font-family:var(--display);font-weight:800;letter-spacing:.18em;font-size:11px;color:var(--ember-hot);}
.bn-start-title{font-family:var(--display);font-weight:900;font-size:24px;line-height:1.05;color:#fff3d7;text-shadow:0 2px 8px #000;margin:6px 0;}
.bn-start-sub{font-size:13px;line-height:1.35;color:var(--ink-dim);margin:0 auto 14px;max-width:310px;}
.bn-start-card .btn{width:100%;font-size:17px;letter-spacing:.09em;}
#burnerScreen .bn-meter-row .ml{min-width:74px;}
#burnerScreen .bn-torch .ml::after{content:' MUG';font-size:.82em;color:var(--gold);}


/* V0.4.34 GPT — Swipe-anywhere, clearer Fallacy stage, larger command deck */
#burnerScreen .bn-meters{
  top:calc(62px + env(safe-area-inset-top));
  width:min(500px,82vw);
  gap:3px;
  z-index:8;
  pointer-events:none;
}
#burnerScreen .bn-meter-row{gap:5px;}
#burnerScreen .bn-meter-row .ml{font-size:10px;min-width:68px;}
#burnerScreen .bn-track{height:8px;}
#burnerScreen #bnStreak{top:calc(96px + env(safe-area-inset-top));font-size:16px;}
#burnerScreen .bn-heroes{
  bottom:calc(184px + env(safe-area-inset-bottom));
  z-index:10;
}
#burnerScreen .bn-hint{
  bottom:calc(266px + env(safe-area-inset-bottom));
  max-width:min(360px,82vw);
  font-size:10.5px;
  opacity:.86;
}
#burnerScreen #bnMoveControls{
  width:min(390px,94vw);
  height:176px;
  bottom:calc(8px + env(safe-area-inset-bottom));
}
#burnerScreen .bn-touchpad,#burnerScreen .bn-swipepad{
  width:min(378px,92vw);
  height:166px;
}
#burnerScreen[data-move-mode="swipe"] .bn-swipepad{
  background:radial-gradient(circle at 50% 42%,rgba(255,204,110,.22),rgba(38,20,9,.90));
  border-color:rgba(255,205,92,.74);
}
#burnerScreen[data-move-mode="swipe"] .bn-hint{bottom:calc(266px + env(safe-area-inset-bottom));}
#burnerScreen[data-move-mode="swipe"] #burnerCanvas{cursor:crosshair;}
#burnerScreen .swipe-icon{font-size:54px;}
#burnerScreen .tp-label{font-size:10px;}
@media (max-width:390px){
  #burnerScreen .bn-heroes{bottom:calc(176px + env(safe-area-inset-bottom));}
  #burnerScreen .bn-hint{bottom:calc(254px + env(safe-area-inset-bottom));font-size:10px;max-width:min(340px,82vw);}
  #burnerScreen #bnMoveControls{width:min(360px,94vw);height:166px;}
  #burnerScreen .bn-touchpad,#burnerScreen .bn-swipepad{width:min(350px,92vw);height:156px;}
  #burnerScreen .bn-meters{width:min(450px,84vw);}
}

/* V0.4.34 GPT — Castle Burner Act 1 path calibration debug cleanup */
#burnerScreen .bn-res-ticker{
  left:50%;
  right:auto;
  bottom:calc(98px + env(safe-area-inset-bottom));
  transform:translateX(-50%) scale(.82);
  transform-origin:center bottom;
  flex-direction:row;
  gap:4px;
  z-index:12;
  opacity:.92;
  pointer-events:none;
}
#burnerScreen .bn-res-ticker .res{
  padding:2px 6px 2px 3px;
  border-radius:8px;
  font-size:11px;
  gap:3px;
  background:rgba(12,7,4,.72);
}
#burnerScreen .bn-res-ticker .res img{width:18px;height:18px;}
#burnerScreen .bn-res-ticker .res b{min-width:12px;}
#burnerScreen .bn-heroes{
  bottom:calc(145px + env(safe-area-inset-bottom));
  transform:translateX(-50%) scale(.86);
  transform-origin:center bottom;
  padding:4px 6px;
  gap:4px;
  z-index:11;
}
#burnerScreen .bn-hint{
  bottom:calc(216px + env(safe-area-inset-bottom));
  max-width:min(300px,78vw);
  font-size:10px;
  opacity:.70;
  padding:5px 10px;
}
#burnerScreen #bnMoveControls{
  width:min(390px,94vw);
  height:156px;
  bottom:calc(6px + env(safe-area-inset-bottom));
  opacity:.92;
}
#burnerScreen .bn-touchpad,#burnerScreen .bn-swipepad{
  width:min(378px,92vw);
  height:146px;
}
#burnerScreen .bn-meters{
  top:calc(58px + env(safe-area-inset-top));
  width:min(480px,82vw);
}
#burnerScreen .bn-meter-row .ml{font-size:10px;min-width:62px;}
#burnerScreen .bn-track{height:7px;}
@media (max-width:390px){
  #burnerScreen .bn-res-ticker{bottom:calc(92px + env(safe-area-inset-bottom));transform:translateX(-50%) scale(.76);}
  #burnerScreen .bn-heroes{bottom:calc(136px + env(safe-area-inset-bottom));transform:translateX(-50%) scale(.80);}
  #burnerScreen .bn-hint{bottom:calc(202px + env(safe-area-inset-bottom));font-size:9.5px;max-width:min(286px,78vw);}
  #burnerScreen #bnMoveControls{height:146px;width:min(360px,94vw);}
  #burnerScreen .bn-touchpad,#burnerScreen .bn-swipepad{height:136px;width:min(350px,92vw);}
}

/* ============================================================
   V0.4.36 GPT — Castle Burner Act 1 Path Tuning
   Portrait-first lobby, compact game cards, RPG-style hero sheets.
   ============================================================ */
#hubScreen .screen-scroll{height:100dvh;overflow-y:auto;padding:calc(10px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box;}
#hubScreen .hub-wrap{width:min(560px,100%);min-height:auto;margin:0 auto;padding:0!important;gap:10px!important;align-items:stretch!important;}
.hub-top--compact{width:100%!important;max-width:none!important;gap:10px!important;}
#hubScreen .hub-brand .kicker{font-size:9px!important;letter-spacing:.22em!important;color:rgba(255,220,140,.86)!important;}
#hubScreen .hub-brand h1{font-size:clamp(29px,9vw,42px)!important;line-height:.88!important;margin:0!important;}
.hub-menu-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(180deg,rgba(55,31,15,.96),rgba(19,10,5,.98));border:1px solid rgba(255,205,120,.34);color:var(--ink);font-size:25px;font-weight:900;box-shadow:0 13px 28px -20px #000,inset 0 1px 0 rgba(255,230,190,.12);cursor:pointer;touch-action:manipulation;}
.hub-hero-card{position:relative;display:grid;grid-template-columns:1.1fr .9fr;min-height:168px;overflow:hidden;border:1px solid rgba(255,205,120,.28);border-radius:22px;background:radial-gradient(130% 100% at 88% 20%,rgba(255,137,45,.34),transparent 54%),linear-gradient(150deg,rgba(55,29,12,.97),rgba(13,7,4,.98));box-shadow:0 20px 45px -27px rgba(0,0,0,.82),0 0 34px -26px rgba(255,142,30,.9);}
.hub-hero-copy{position:relative;z-index:2;padding:18px 0 16px 16px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.hub-mini-kicker{font-family:var(--display);font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;}
.hub-hero-copy h2{font-family:var(--display);font-weight:900;font-size:clamp(22px,7vw,34px);line-height:.95;color:#fff4d4;text-shadow:0 2px 10px #000;margin:4px 0 5px;}
.hub-hero-copy p{font-size:12.5px;line-height:1.25;color:rgba(255,238,205,.82);max-width:310px;text-shadow:0 1px 8px #000;margin:0 0 10px;}
.hub-hero-actions{display:flex;gap:8px;flex-wrap:wrap;}
.hub-hero-actions .btn{padding:8px 11px;font-size:12px;border-radius:10px;}
.hub-primary-btn{box-shadow:0 0 22px -13px rgba(255,150,40,.95);}
.hub-hero-art-shell{position:relative;min-height:168px;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.hub-hero-art-shell::before{content:"";position:absolute;inset:28px 10px -24px;border-radius:999px;background:radial-gradient(circle,rgba(255,206,92,.28),rgba(255,88,20,.05) 54%,transparent 70%);filter:blur(1px);}
.hub-hero-art{position:relative;z-index:1;height:190px;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 18px rgba(0,0,0,.7));transform:translateY(11px);}
.hub-hero-tap{position:absolute;right:8px;bottom:7px;z-index:2;font-family:var(--display);font-size:9px;font-weight:800;letter-spacing:.08em;color:#2a1206;background:linear-gradient(180deg,#ffe1a4,#d79b34);border-radius:999px;padding:5px 8px;border:1px solid rgba(255,255,255,.35);box-shadow:0 8px 18px -12px #000;}
.hub-bank--compact{width:100%!important;justify-content:space-between!important;gap:6px!important;}
.hub-bank--compact .res{flex:1;min-width:0;justify-content:center;font-size:12px!important;padding:4px 4px!important;border-radius:12px!important;}
.hub-bank--compact .res img{width:22px!important;height:22px!important;}
.hub-section-head{width:100%;display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:2px;}
.hub-section-head div{display:flex;flex-direction:column;line-height:1;}
.hub-section-head span{font-family:var(--display);font-size:9px;font-weight:800;letter-spacing:.22em;color:var(--gold);}
.hub-section-head b{font-family:var(--display);font-size:20px;color:var(--ink);letter-spacing:.02em;}
.tiny-link{border:1px solid var(--panel-edge-soft);background:rgba(0,0,0,.22);color:var(--ink-dim);border-radius:999px;padding:7px 10px;font-family:var(--display);font-size:10px;font-weight:800;letter-spacing:.06em;cursor:pointer;}
.game-cards--compact{width:100%!important;max-width:none!important;grid-template-columns:1fr!important;gap:10px!important;}
.game-cards--compact .game-card{min-height:138px!important;padding:14px!important;border-radius:18px!important;}
.game-cards--compact .game-card .gc-art{height:138px!important;right:-4px!important;bottom:-8px!important;opacity:.9!important;}
.game-cards--compact .game-card .gc-inner{max-width:66%!important;}
.game-cards--compact .game-card .gc-kicker{font-size:9px!important;letter-spacing:.16em!important;}
.game-cards--compact .game-card .gc-title{font-size:25px!important;margin:2px 0 4px!important;}
.game-cards--compact .game-card .gc-desc{font-size:12.2px!important;line-height:1.18!important;}
.game-cards--compact .game-card .gc-foot{margin-top:9px!important;}
.game-cards--compact .game-card .gc-play{font-size:12px!important;padding:6px 12px!important;border-radius:9px!important;}
.game-cards--compact .game-card .gc-best{font-size:11px!important;}
.hub-lower-grid{display:grid;grid-template-columns:1fr;gap:10px;width:100%;}
.hub-panel-block{background:linear-gradient(180deg,rgba(48,27,14,.58),rgba(14,8,5,.72));border:1px solid rgba(255,205,120,.15);border-radius:18px;padding:10px;box-shadow:0 14px 34px -28px #000;}
#hubScreen .hub-roster-label{width:100%!important;max-width:none!important;margin:0 0 8px!important;font-size:10px!important;letter-spacing:.18em!important;}
.roster-strip--heroes{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;padding:0!important;}
.roster-strip--heroes .roster-card{width:auto!important;min-width:0!important;padding:7px 5px!important;border-radius:14px!important;cursor:pointer;}
.roster-strip--heroes .roster-card .rc-imgwrap{height:70px!important;margin-bottom:5px!important;border-radius:11px!important;}
.roster-strip--heroes .roster-card .rc-imgwrap img{object-fit:cover!important;}
.roster-strip--heroes .roster-card .rc-tag{font-size:8px!important;}
.roster-strip--heroes .roster-card .rc-name{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.roster-strip--heroes .roster-card .rc-role,.roster-strip--heroes .roster-card .rc-move{display:none!important;}
.roster-strip--heroes .rc-helper-status{font-size:8px!important;margin-top:3px!important;line-height:1.05!important;}
.villain-card{display:flex;align-items:center;gap:10px;min-height:86px;border-radius:16px;background:radial-gradient(90% 120% at 88% 30%,rgba(69,122,255,.25),transparent 58%),linear-gradient(145deg,rgba(36,22,52,.94),rgba(8,5,10,.96));border:1px solid rgba(134,178,255,.28);padding:8px 10px;cursor:pointer;overflow:hidden;}
.villain-card img{width:80px;height:82px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 14px #000);}
.villain-card div{display:flex;flex-direction:column;min-width:0;}
.villain-card b{font-family:var(--display);font-size:20px;color:#fff2c9;line-height:1;}
.villain-card span{font-size:12px;color:#ffd27a;font-weight:800;letter-spacing:.05em;}
.villain-card small{font-size:11px;color:rgba(255,238,205,.7);margin-top:3px;}
.hub-footer-status{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;color:rgba(255,238,205,.56);font-family:var(--display);font-size:10px;letter-spacing:.08em;padding:2px 0 4px;}
.hub-footer-status span{background:rgba(0,0,0,.24);border:1px solid rgba(255,205,120,.09);border-radius:999px;padding:4px 8px;}
body.nightmare .hub-hero-card{background:radial-gradient(130% 100% at 88% 20%,rgba(255,104,22,.20),transparent 54%),linear-gradient(150deg,rgba(12,8,5,.96),rgba(3,3,2,.98));}

/* Main menu */
.menu-panel-v2{width:min(430px,94vw)!important;}
.main-menu-hero{display:flex;align-items:center;gap:12px;background:rgba(0,0,0,.24);border:1px solid var(--panel-edge-soft);border-radius:16px;padding:10px;margin-bottom:12px;}
.main-menu-hero img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 5px 8px #000);}
.main-menu-hero div{display:flex;flex-direction:column;}
.main-menu-hero b{font-family:var(--display);font-size:20px;color:var(--ink);}
.main-menu-hero span{font-family:var(--display);font-size:11px;color:var(--gold);letter-spacing:.12em;}
.main-menu-list{display:grid;gap:8px;}
.main-menu-list button{width:100%;text-align:left;border:1px solid var(--panel-edge-soft);border-radius:14px;background:linear-gradient(180deg,rgba(48,27,14,.85),rgba(14,8,5,.92));color:var(--ink);padding:12px 14px;font-family:var(--display);font-weight:900;font-size:16px;letter-spacing:.02em;cursor:pointer;}
.main-menu-list button span{display:block;font-family:var(--ui);font-size:12px;font-weight:600;color:var(--ink-dim);letter-spacing:.03em;margin-top:2px;}
.main-menu-list button:active{transform:translateY(1px);}

/* Settings */

/* V0.10.8: optional Buy Mug a Coffee support card. No red dot, just a steady ember glow. */
.settings-card--support-mug{position:relative;overflow:hidden;border-color:rgba(255,188,86,.48)!important;background:radial-gradient(circle at 88% 12%,rgba(255,168,56,.18),rgba(0,0,0,0) 42%),linear-gradient(180deg,rgba(58,25,8,.38),rgba(0,0,0,.18));box-shadow:0 0 0 1px rgba(255,140,43,.16),0 0 26px -14px rgba(255,119,36,.95);}
.settings-card--support-mug::before{content:'';position:absolute;inset:0;border-radius:16px;pointer-events:none;background:linear-gradient(90deg,rgba(255,210,122,0),rgba(255,210,122,.14),rgba(255,210,122,0));transform:translateX(-120%);animation:supportMugShimmer 4.8s ease-in-out infinite;}
@keyframes supportMugShimmer{0%,55%{transform:translateX(-120%);}72%,100%{transform:translateX(120%);}}
.set-row--support-mug{position:relative;z-index:1;gap:12px;}
.set-row--support-mug .sr-label{color:#ffe2a4;text-shadow:0 0 12px rgba(255,135,43,.24);}
.support-mug-open-btn{position:relative;z-index:1;background:linear-gradient(180deg,#ffc15a,#ff7d32)!important;color:#2b1005!important;border-color:rgba(255,235,174,.5)!important;box-shadow:0 10px 24px -16px rgba(255,124,45,.95),0 0 0 1px rgba(255,250,220,.18) inset;}
.support-mug-open-btn:active{transform:translateY(1px);}


/* V0.10.6: keep install-guide reminder dots anchored to the actual target row/button. */
.main-menu-list button{position:relative;overflow:visible;}
.main-menu-list button .notif-dot{top:9px;right:10px;}
.install-guide-open-btn{position:relative;overflow:visible;min-width:112px;}
.install-guide-open-btn .notif-dot{top:5px;right:5px;}
#installGuideSettingsCard.has-notif{box-shadow:0 0 0 1px rgba(255,128,70,.22),0 0 22px -12px rgba(255,60,40,.95);}

.settings-panel-v2{width:min(520px,94vw)!important;max-height:min(86dvh,720px)!important;overflow-y:auto!important;}
.settings-card{border:1px solid rgba(255,205,120,.15);border-radius:16px;background:rgba(0,0,0,.18);padding:8px 12px;margin:10px 0;}
.settings-card-title{font-family:var(--display);font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin:0 0 3px;}
.settings-card .set-row{border-bottom:0!important;padding:10px 0!important;}
.settings-two-col{display:grid;grid-template-columns:1fr;gap:0;}
.danger-zone{border-color:rgba(255,95,70,.35);background:rgba(70,12,7,.16);}

/* Hero profile overlay */
.hero-profile-panel{width:min(520px,94vw)!important;max-height:min(88dvh,780px)!important;overflow:hidden!important;padding:0!important;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(56,31,14,.98),rgba(11,6,3,.99))!important;}
.hero-profile-top{position:relative;display:grid;grid-template-columns:46% 54%;min-height:275px;background:radial-gradient(80% 65% at 26% 45%,rgba(255,210,114,.28),transparent 62%),linear-gradient(180deg,rgba(91,124,134,.25),rgba(0,0,0,.12));border-bottom:1px solid var(--panel-edge-soft);overflow:hidden;}
.hero-profile-artbox{position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding:18px 0 0;}
.hero-profile-artbox::after{content:"";position:absolute;left:18%;right:18%;bottom:20px;height:22px;border-radius:50%;background:rgba(0,0,0,.34);filter:blur(7px);}
#heroProfileArt{position:relative;z-index:1;max-width:132%;height:258px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 16px rgba(0,0,0,.82));}
.hero-profile-copy{padding:28px 18px 16px 6px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.hero-profile-rank{align-self:flex-start;font-family:var(--display);font-size:28px;font-weight:1000;color:#ffd34c;text-shadow:0 3px 0 rgba(90,45,0,.6),0 0 18px rgba(255,170,40,.5);letter-spacing:.03em;}
.hero-profile-copy h2{font-family:var(--display);font-size:var(--hero-name-size,clamp(24px,7vw,42px));line-height:.95;color:#fff5d8;text-align:left;margin:4px 0 2px;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;hyphens:none;-webkit-hyphens:none;}
.hero-profile-role{font-family:var(--display);font-weight:800;color:var(--gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.hero-profile-status{margin:9px 0 12px;font-size:12px;line-height:1.25;color:var(--ink);background:rgba(0,0,0,.24);border:1px solid rgba(255,205,120,.14);border-radius:12px;padding:8px;}
.hero-profile-actions{display:flex;gap:8px;flex-wrap:wrap;}
.hero-profile-actions .btn{font-size:12px;padding:8px 10px;border-radius:10px;}
.hero-profile-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(0,0,0,.22);border-bottom:1px solid var(--panel-edge-soft);}
.hero-profile-tabs button{border:0;border-right:1px solid var(--panel-edge-soft);background:rgba(255,255,255,.04);color:var(--ink-dim);padding:12px 4px;font-family:var(--display);font-weight:900;font-size:13px;letter-spacing:.04em;cursor:pointer;}
.hero-profile-tabs button:last-child{border-right:0;}
.hero-profile-tabs button.active{color:#2b1506;background:linear-gradient(180deg,#fff0bd,#d89a33);}
.hero-profile-body{padding:14px;overflow-y:auto;}
.hero-info-grid{display:grid;gap:9px;}
.hero-info-card{border:1px solid var(--panel-edge-soft);border-radius:14px;background:rgba(0,0,0,.22);padding:11px 12px;color:var(--ink);}
.hero-info-card b{display:block;font-family:var(--display);font-size:14px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;}
.hero-info-card p{font-size:13px;line-height:1.35;color:rgba(255,238,205,.82);margin:0;}
.hero-info-card .meter-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;border-top:1px solid rgba(255,205,120,.1);padding-top:7px;margin-top:7px;}
.hero-info-card .meter-row span{color:var(--ink-dim);}
.hero-info-card .meter-row strong{color:var(--ember-hot);}
.hero-upgrade-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.hero-upgrade-actions .btn{font-size:12px;padding:8px 11px;border-radius:10px;}
#heroProfilePrimary:disabled{opacity:.55;filter:grayscale(.55);cursor:default;}

/* Orientation helper */
#rotateHint{background:radial-gradient(80% 60% at 50% 40%,rgba(255,120,35,.14),rgba(0,0,0,.92))!important;backdrop-filter:blur(6px);}
#rotateHint .phone{font-size:58px!important;}
#rotateHint p{font-size:23px!important;line-height:1.05;max-width:320px;margin:0 auto;}
#rotateHint small{max-width:330px;line-height:1.35;}
#rotateHint.hard #btnDismissRotate{display:inline-flex!important;}
#rotateHint.portrait-needed .phone{animation:rotPortrait 2.2s ease-in-out infinite;}
@keyframes rotPortrait{0%,40%{transform:rotate(-90deg);}60%,100%{transform:rotate(0deg);}}

@media (min-width:650px){
  .game-cards--compact{grid-template-columns:1fr 1fr!important;}
  .hub-lower-grid{grid-template-columns:1fr 190px;}
  .settings-two-col{grid-template-columns:1fr 1fr;column-gap:14px;}
}
@media (max-width:390px){
  .hub-hero-card{grid-template-columns:1fr .72fr;min-height:154px;}
  .hub-hero-copy{padding-left:13px;}
  .hub-hero-copy p{font-size:11.4px;}
  .hub-hero-art{height:170px;}
  .hub-hero-tap{display:none;}
  .roster-strip--heroes{gap:6px!important;}
  .roster-strip--heroes .roster-card .rc-imgwrap{height:60px!important;}
  .hero-profile-top{grid-template-columns:43% 57%;}
  #heroProfileArt{height:230px;}
}
@media (orientation:landscape){
  /* Hub remains portrait-first: if player is landscape, orientation prompt handles it. Keep layout sane behind overlay. */
  #hubScreen .hub-wrap{width:min(560px,100%)!important;}
  #hubScreen .game-cards{grid-template-columns:1fr!important;}
  #hubScreen .roster-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

/* V0.4.36 GPT — Castle Burner Act 1 path tuning visibility pass
   Shrink the bottom debug/test UI so the traced lanes are easier to read. */
#burnerScreen .bn-res-ticker{
  bottom:calc(74px + env(safe-area-inset-bottom));
  transform:translateX(-50%) scale(.70);
  opacity:.84;
}
#burnerScreen .bn-heroes{
  bottom:calc(110px + env(safe-area-inset-bottom));
  transform:translateX(-50%) scale(.72);
  opacity:.93;
}
#burnerScreen .bn-hint{
  bottom:calc(164px + env(safe-area-inset-bottom));
  max-width:min(270px,74vw);
  font-size:9px;
  opacity:.52;
  padding:4px 8px;
}
#burnerScreen[data-move-mode="swipe"] #bnMoveControls{
  height:74px;
  bottom:calc(0px + env(safe-area-inset-bottom));
  opacity:.46;
  pointer-events:auto;
}
#burnerScreen[data-move-mode="swipe"] .bn-swipepad{
  width:min(330px,86vw);
  height:66px;
  background:radial-gradient(circle at 50% 50%,rgba(255,204,110,.12),rgba(38,20,9,.70));
}
#burnerScreen[data-move-mode="swipe"] .bn-swipepad:before{inset:8px;opacity:.55;}
#burnerScreen[data-move-mode="swipe"] .swipe-icon{font-size:32px;opacity:.72;}
#burnerScreen[data-move-mode="swipe"] .tp-label{font-size:8px;bottom:5px;opacity:.82;}
@media (max-width:390px){
  #burnerScreen .bn-res-ticker{bottom:calc(68px + env(safe-area-inset-bottom));transform:translateX(-50%) scale(.64);}
  #burnerScreen .bn-heroes{bottom:calc(102px + env(safe-area-inset-bottom));transform:translateX(-50%) scale(.66);}
  #burnerScreen .bn-hint{bottom:calc(152px + env(safe-area-inset-bottom));font-size:8.6px;max-width:min(250px,72vw);}
  #burnerScreen[data-move-mode="swipe"] #bnMoveControls{height:68px;}
  #burnerScreen[data-move-mode="swipe"] .bn-swipepad{height:60px;width:min(310px,84vw);}
}

/* ============================================================
   V0.4.37 GPT — Hub Navigation + Prologue Tutorial Flow
   Compact portrait lobby, separate Alliance screen, safer profile exits.
   ============================================================ */
#hubScreen .hub-wrap--nav-first{gap:9px!important;}
.hub-hero-card--lobby{min-height:142px!important;grid-template-columns:1.25fr .68fr!important;}
.hub-hero-card--lobby .hub-hero-copy{padding:14px 0 14px 14px!important;}
.hub-hero-card--lobby .hub-hero-copy h2{font-size:clamp(21px,6.4vw,31px)!important;}
.hub-hero-card--lobby .hub-hero-copy p{font-size:12px!important;max-width:330px!important;}
.hub-hero-art-static{cursor:default!important;pointer-events:none;min-height:142px!important;}
.hub-hero-card--lobby .hub-hero-art{height:164px!important;transform:translateY(8px)!important;}
.hub-nav-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px;}
.hub-nav-card{position:relative;min-height:78px;text-align:left;border:1px solid rgba(255,205,120,.18);border-radius:17px;background:linear-gradient(160deg,rgba(45,24,12,.94),rgba(12,7,4,.96));color:var(--ink);padding:11px 12px;box-shadow:0 12px 26px -22px #000,inset 0 1px 0 rgba(255,238,205,.08);cursor:pointer;overflow:hidden;touch-action:manipulation;}
.hub-nav-card::after{content:"";position:absolute;inset:auto -16px -22px auto;width:82px;height:82px;border-radius:999px;background:radial-gradient(circle,rgba(255,166,50,.22),transparent 66%);pointer-events:none;}
.hub-nav-card b{display:block;font-family:var(--display);font-size:16px;line-height:1;color:#fff3d2;letter-spacing:.02em;margin-bottom:4px;}
.hub-nav-card small{display:block;font-size:11px;line-height:1.18;color:rgba(255,238,205,.68);}
.hub-nav-card em{font-style:normal;color:var(--ember-hot);font-weight:900;}
.hn-icon{display:block;font-size:22px;line-height:1;margin-bottom:5px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.7));}
.hub-nav-primary{grid-column:1 / -1;min-height:66px;background:radial-gradient(90% 130% at 96% 22%,rgba(255,160,50,.32),transparent 60%),linear-gradient(150deg,rgba(89,43,13,.98),rgba(19,8,4,.98));border-color:rgba(255,198,94,.32);}
.hub-nav-primary b{font-size:20px;}
.hub-footer-status .tiny-link{font-family:var(--display);font-size:10px;letter-spacing:.08em;border:1px solid rgba(255,205,120,.18);background:rgba(0,0,0,.24);color:rgba(255,238,205,.78);border-radius:999px;padding:4px 8px;}

#allianceScreen .screen-scroll{height:100dvh;overflow-y:auto;padding:calc(10px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));box-sizing:border-box;}
.alliance-wrap{width:min(560px,100%);margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.alliance-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;border:1px solid rgba(255,205,120,.18);border-radius:18px;background:linear-gradient(180deg,rgba(45,24,12,.82),rgba(13,7,4,.92));padding:8px;}
.alliance-head h2{font-family:var(--display);font-size:clamp(28px,8vw,40px);line-height:.9;color:#fff2cd;margin:0;}
.alliance-tutorial{border:1px solid rgba(255,205,120,.18);border-radius:16px;background:rgba(0,0,0,.24);color:rgba(255,238,205,.82);font-size:13px;line-height:1.28;padding:11px 12px;}
.alliance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.alliance-card{width:auto!important;min-height:208px!important;padding:10px!important;border-radius:18px!important;}
.alliance-card .rc-imgwrap{height:124px!important;border-radius:14px!important;margin-bottom:7px!important;}
.alliance-card .rc-imgwrap img{object-fit:contain!important;object-position:center bottom!important;}
.alliance-card .rc-name{font-size:16px!important;}
.alliance-card .rc-role{display:block!important;font-size:11px!important;min-height:14px;color:rgba(255,238,205,.68)!important;}
.alliance-card.focus{box-shadow:0 0 0 2px rgba(255,210,90,.76),0 0 34px -16px rgba(255,177,52,.9)!important;}
@media (min-width:560px){.alliance-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.alliance-card{min-height:196px!important;}.alliance-card .rc-imgwrap{height:112px!important;}}

.hero-profile-panel{position:relative!important;}
.hero-profile-panel .panel-close{z-index:20!important;pointer-events:auto!important;touch-action:manipulation;}
.hero-profile-nav{position:absolute;top:12px;left:12px;z-index:19;display:flex;gap:7px;}
.hero-profile-nav button{border:1px solid rgba(255,205,120,.26);border-radius:999px;background:rgba(10,6,3,.72);color:var(--ink);font-family:var(--display);font-weight:900;font-size:12px;letter-spacing:.04em;padding:8px 10px;box-shadow:0 8px 18px -12px #000;cursor:pointer;touch-action:manipulation;}
.hero-profile-top{padding-top:22px;}
@media (max-width:390px){.hub-nav-grid{gap:7px}.hub-nav-card{min-height:72px;padding:10px}.hub-nav-card b{font-size:14px}.hub-nav-card small{font-size:10px}.alliance-card{min-height:192px!important}.alliance-card .rc-imgwrap{height:108px!important}.hero-profile-nav button{font-size:11px;padding:7px 8px;}}

/* ============================================================
   V0.4.38 GPT — Castle Burner Act 1 Manual Swipe Control Fix
   Restore a usable swipe deck after the V0.4.36 tiny-debug control pass.
   ============================================================ */
#burnerScreen[data-move-mode="swipe"] #bnMoveControls{
  width:min(410px,94vw);
  height:162px;
  bottom:calc(6px + env(safe-area-inset-bottom));
  opacity:.90;
  z-index:12;
  pointer-events:auto;
}
#burnerScreen[data-move-mode="swipe"] .bn-swipepad{
  width:min(398px,92vw);
  height:150px;
  border-radius:22px;
  background:radial-gradient(circle at 50% 45%,rgba(255,204,110,.22),rgba(38,20,9,.90));
  border-color:rgba(255,205,92,.72);
}
#burnerScreen[data-move-mode="swipe"] .bn-swipepad:before{inset:13px;opacity:.82;}
#burnerScreen[data-move-mode="swipe"] .swipe-icon{font-size:54px;opacity:.88;}
#burnerScreen[data-move-mode="swipe"] .tp-label{font-size:11px;bottom:9px;opacity:.96;}
#burnerScreen[data-move-mode="swipe"] .bn-hint{
  bottom:calc(248px + env(safe-area-inset-bottom));
  opacity:.72;
  max-width:min(330px,82vw);
  font-size:10px;
}
#burnerScreen[data-move-mode="swipe"] .bn-res-ticker{
  bottom:calc(170px + env(safe-area-inset-bottom));
  transform:translateX(-50%) scale(.72);
}
#burnerScreen[data-move-mode="swipe"] .bn-heroes{
  bottom:calc(206px + env(safe-area-inset-bottom));
  transform:translateX(-50%) scale(.76);
}
@media (max-width:390px){
  #burnerScreen[data-move-mode="swipe"] #bnMoveControls{height:150px;width:min(390px,94vw);}
  #burnerScreen[data-move-mode="swipe"] .bn-swipepad{height:138px;width:min(378px,92vw);}
  #burnerScreen[data-move-mode="swipe"] .bn-res-ticker{bottom:calc(158px + env(safe-area-inset-bottom));transform:translateX(-50%) scale(.68);}
  #burnerScreen[data-move-mode="swipe"] .bn-heroes{bottom:calc(192px + env(safe-area-inset-bottom));transform:translateX(-50%) scale(.72);}
  #burnerScreen[data-move-mode="swipe"] .bn-hint{bottom:calc(232px + env(safe-area-inset-bottom));font-size:9px;}
}

/* ============================================================
   V0.4.39 GPT — Hub Visual Cleanup
   One clear home action per feature, stronger card art, visual hero costs.
   ============================================================ */
.hub-hero-card--lobby .hub-hero-copy{padding-bottom:12px!important;}
.hub-hero-card--lobby .hub-hero-copy p{margin-bottom:0!important;}
.hub-nav-grid--visual .hub-nav-card{min-height:92px;padding:12px 12px 12px 12px;isolation:isolate;}
.hub-nav-grid--visual .hub-nav-card b,
.hub-nav-grid--visual .hub-nav-card small,
.hub-nav-grid--visual .hub-nav-card .hn-icon{position:relative;z-index:3;max-width:62%;}
.hub-nav-grid--visual .hub-nav-primary{min-height:74px;}
.hub-nav-grid--visual .hub-nav-primary b,
.hub-nav-grid--visual .hub-nav-primary small,
.hub-nav-grid--visual .hub-nav-primary .hn-icon{max-width:70%;}
.nav-art{position:absolute;right:-8px;bottom:-10px;width:43%;height:108%;display:flex;align-items:flex-end;justify-content:center;z-index:1;opacity:.96;pointer-events:none;}
.nav-art::before{content:"";position:absolute;inset:16px 0 8px;border-radius:999px;background:radial-gradient(circle,rgba(255,186,72,.23),rgba(255,91,25,.06) 58%,transparent 72%);filter:blur(1px);}
.nav-art img{position:relative;z-index:2;max-width:118%;max-height:108%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 14px rgba(0,0,0,.76));}
.nav-art--campaign{right:2px;width:31%;}
.nav-art--campaign img{max-height:124%;transform:translateY(14px);}
.hub-nav-card--mode .nav-art img{max-height:96%;}
.hub-nav-card--hoard .nav-art{right:-18px;width:48%;}
.hub-nav-card--hoard .nav-art img{max-height:112%;transform:translateY(6px);}
.hub-nav-card--prologue .nav-art{right:0;top:0;bottom:0;width:48%;height:100%;opacity:.42;}
.hub-nav-card--prologue .nav-art::before{display:none;}
.hub-nav-card--prologue .nav-art img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none;}
.nav-art--lineup{right:2px;bottom:8px;width:47%;height:72%;gap:0;align-items:flex-end;}
.nav-art--lineup::before{inset:8px -2px -4px;}
.nav-art--lineup img{width:38px;height:38px;max-height:none;max-width:none;border-radius:50%;object-fit:cover;border:1px solid rgba(255,210,120,.45);background:rgba(0,0,0,.26);margin-left:-7px;box-shadow:0 8px 16px -10px #000;}
.nav-art--lineup img:first-child{margin-left:0;}
.hub-nav-card--heroes b,.hub-nav-card--heroes small{max-width:58%!important;}
.hub-nav-card--hoard{background:radial-gradient(90% 120% at 100% 20%,rgba(67,120,255,.30),transparent 58%),linear-gradient(145deg,rgba(36,22,52,.96),rgba(8,5,10,.96));border-color:rgba(134,178,255,.30);}
.hub-nav-card--mode#cardBurner{background:radial-gradient(80% 110% at 100% 22%,rgba(255,77,24,.30),transparent 60%),linear-gradient(145deg,rgba(56,21,10,.98),rgba(10,6,4,.98));}
.hub-nav-card--mode#cardArtillery{background:radial-gradient(80% 110% at 100% 22%,rgba(255,182,64,.24),transparent 60%),linear-gradient(145deg,rgba(58,34,15,.98),rgba(10,6,4,.98));}

.cost-tray{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.cost-chip{display:inline-flex;align-items:center;gap:4px;min-height:25px;padding:3px 7px 3px 4px;border-radius:999px;background:rgba(0,0,0,.30);border:1px solid rgba(255,205,120,.18);color:#fff0c6;font-family:var(--display);font-size:12px;font-weight:900;letter-spacing:.03em;box-shadow:inset 0 1px 0 rgba(255,255,255,.07);}
.cost-chip img{width:19px;height:19px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));}
.cost-chip.ok{border-color:rgba(129,224,114,.36);}
.cost-chip.short{border-color:rgba(255,83,65,.54);filter:saturate(.92);}
.cost-chip.free{padding:5px 9px;color:rgba(255,238,205,.78);}
.mini-cost{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-top:5px;}
.mini-cost .cost-chip{min-height:20px;font-size:10px;padding:2px 5px 2px 3px;}
.mini-cost .cost-chip img{width:15px;height:15px;}

.skill-visual-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.skill-visual-card{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:stretch;border:1px solid rgba(255,205,120,.17);border-radius:17px;background:linear-gradient(160deg,rgba(48,27,14,.74),rgba(11,6,4,.84));padding:9px;overflow:hidden;}
.skill-art{position:relative;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle at 50% 32%,rgba(255,188,73,.20),rgba(0,0,0,.32) 70%);overflow:hidden;min-height:86px;}
.skill-art img{max-width:118%;max-height:94px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.76));}
.skill-copy{min-width:0;display:flex;flex-direction:column;gap:6px;}
.skill-copy b{font-family:var(--display);font-size:16px;color:#fff2c9;line-height:1;}
.skill-copy p{font-size:12px;line-height:1.22;color:rgba(255,238,205,.75);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.skill-next{font-size:11px;line-height:1.16;color:rgba(255,214,130,.78);background:rgba(0,0,0,.22);border:1px solid rgba(255,205,120,.10);border-radius:10px;padding:6px 7px;}
.skill-chip-row{display:flex;flex-wrap:wrap;gap:5px;}
.skill-chip-row span,.gain-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,205,120,.20);background:rgba(255,150,42,.10);color:#ffe0a2;font-family:var(--display);font-weight:900;font-size:11px;letter-spacing:.04em;padding:4px 8px;}
.hero-stat-tiles{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 2px;}
.hero-stat-tiles div,.upgrade-flow div,.effect-tile{border:1px solid rgba(255,205,120,.15);border-radius:13px;background:rgba(0,0,0,.24);padding:8px;}
.hero-stat-tiles span,.upgrade-flow span,.effect-tile span,.cost-title{display:block;font-family:var(--display);font-size:9px;font-weight:900;letter-spacing:.16em;color:rgba(255,214,130,.78);text-transform:uppercase;}
.hero-stat-tiles b,.upgrade-flow b,.effect-tile b{display:block;font-family:var(--display);font-size:19px;color:#fff2c9;line-height:1;margin-top:3px;}
.upgrade-visual-grid{display:grid;gap:10px;}
/* V0.9.3 GPT: unified Mug Power board shows Table Throw + Mug Shot side by side. */
.mug-power-upgrade .effect-tile{margin-top:8px;}
.mug-power-upgrade .effect-tile + .effect-tile{margin-top:6px;}
@media (min-width:380px){
  .mug-power-upgrade{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;align-items:start;}
  .mug-power-upgrade .upgrade-flow{grid-column:1 / -1;}
  .mug-power-upgrade .effect-tile{margin-top:0;}
  .mug-power-upgrade .gain-chip{grid-column:1 / -1;}
  .mug-power-upgrade .mugshot-note{grid-column:1 / -1;}
  .mug-power-upgrade .resource-compare,.mug-power-upgrade .hero-upgrade-actions{grid-column:1 / -1;}
}
.upgrade-board{border:1px solid rgba(255,205,120,.17);border-radius:18px;background:linear-gradient(160deg,rgba(48,27,14,.72),rgba(11,6,4,.88));padding:12px;}
.upgrade-flow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;}
.upgrade-flow i{font-family:var(--display);font-size:22px;font-style:normal;color:var(--ember-hot);filter:drop-shadow(0 0 8px rgba(255,137,35,.45));}
.upgrade-flow small{display:block;color:rgba(255,238,205,.72);font-family:var(--display);font-weight:800;font-size:11px;margin-top:2px;}
.gain-chip{margin:9px 0 1px;width:max-content;}
.cost-title{margin-top:10px;}
.hero-visual-card p{margin-bottom:6px!important;}
@media (min-width:560px){.skill-visual-grid{grid-template-columns:1fr 1fr;}.skill-visual-card{grid-template-columns:72px 1fr;}.skill-art{min-height:94px;}}
@media (max-width:390px){.hub-nav-grid--visual .hub-nav-card{min-height:86px}.nav-art{width:39%;}.hub-nav-grid--visual .hub-nav-card b{font-size:14px}.hub-nav-grid--visual .hub-nav-card small{font-size:10px}.skill-visual-card{grid-template-columns:68px 1fr}.skill-copy p{-webkit-line-clamp:2}.skill-art{min-height:80px}.cost-chip{font-size:11px;}}

/* ============================================================
   V0.4.40 GPT — Hero Upgrade Clarity + Fallacy Hoard Collection
   Resource comparison, Lv 30 cap, action-card pose browser, villain collection.
   ============================================================ */
.resource-compare{display:grid;gap:7px;margin-top:10px;border:1px solid rgba(255,205,120,.13);border-radius:15px;background:rgba(0,0,0,.18);padding:9px;}
.resource-compare-row{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:8px;}
.resource-compare-row>b{font-family:var(--display);font-size:9px;font-weight:1000;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,214,130,.82);}
.cost-chip.bank{border-color:rgba(104,178,255,.30);background:rgba(40,91,150,.14);}
.resource-compare .cost-tray{margin-top:0;}
.pose-picker{display:grid;gap:8px;}
.pose-picker-title{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;}
.pose-picker-title b{margin:0!important;}
.pose-picker-title span{font-size:10px;color:rgba(255,238,205,.62);font-weight:800;letter-spacing:.04em;}
.pose-scroll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.pose-tile{position:relative;border:1px solid rgba(255,205,120,.17);border-radius:13px;background:linear-gradient(180deg,rgba(41,23,12,.78),rgba(9,5,3,.88));padding:6px 5px;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:4px;min-height:96px;cursor:pointer;overflow:hidden;}
.pose-tile img{height:54px;width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 10px rgba(0,0,0,.72));}
.pose-tile span{font-family:var(--display);font-weight:900;font-size:10px;color:#fff0c6;line-height:1;text-align:center;}
.pose-tile small{font-size:9px;color:rgba(255,214,130,.72);font-weight:900;letter-spacing:.04em;}
.pose-tile.active{border-color:rgba(255,218,90,.88);box-shadow:0 0 0 1px rgba(255,218,90,.42),0 0 24px -13px rgba(255,190,61,.9);}
.pose-tile.locked{opacity:.50;filter:saturate(.7) grayscale(.18);}
.pose-tile.locked::after{content:none;}
/* V0.9.4 GPT: action-card buy/own states + bonus chip. */
.pose-tile.buyable{border-color:rgba(120,220,140,.42);box-shadow:0 0 0 1px rgba(120,220,140,.22),0 0 20px -14px rgba(120,255,150,.8);cursor:pointer;}
.pose-tile.buyable img{filter:drop-shadow(0 8px 10px rgba(0,0,0,.72)) saturate(.92);}
.pose-tile.buyable small{color:#aef0bd;}
.pose-tile.buyable::after{content:'BUY';position:absolute;inset:auto 5px auto auto;top:5px;background:rgba(28,90,40,.78);border:1px solid rgba(140,255,160,.34);border-radius:999px;font-family:var(--display);font-weight:1000;font-size:8px;letter-spacing:.06em;color:#d8ffe0;padding:2px 5px;}
.pose-tile.owned:not(.active) small{color:rgba(255,224,150,.82);}
.pose-tile .pose-bonus{display:block;margin-top:2px;font-family:var(--display);font-weight:900;font-size:8px;letter-spacing:.03em;color:#ffd27a;background:rgba(255,150,42,.12);border:1px solid rgba(255,205,120,.2);border-radius:999px;padding:1px 5px;font-style:normal;line-height:1.2;}
.pose-tile.locked .pose-bonus{opacity:.5;}
.pose-img-hidden{visibility:hidden;}
/* V0.9.4 GPT: stacked action-card bonus summary on the Mug Power board. */
.card-bonus-summary{margin:9px 0 1px;border-radius:12px;border:1px solid rgba(255,205,120,.2);background:rgba(255,150,42,.10);color:#ffe0a2;font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.02em;padding:7px 9px;line-height:1.3;}
.card-bonus-summary b{color:#ffd76a;}
.card-bonus-summary.card-bonus-empty{color:rgba(255,224,170,.66);background:rgba(0,0,0,.22);border-color:rgba(255,205,120,.12);font-weight:700;}
#fallacyHoardScreen .screen-scroll{height:100dvh;overflow-y:auto;padding:calc(10px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));box-sizing:border-box;}
.hoard-wrap{width:min(560px,100%);margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.hoard-head{border-color:rgba(134,178,255,.26);background:radial-gradient(110% 120% at 100% 0%,rgba(68,124,255,.24),transparent 52%),linear-gradient(180deg,rgba(36,22,52,.85),rgba(8,5,10,.94));}
.hoard-stage{display:grid;gap:10px;}
.hoard-action-card{display:grid;grid-template-columns:43% 57%;min-height:224px;border:1px solid rgba(134,178,255,.28);border-radius:22px;background:radial-gradient(90% 110% at 12% 24%,rgba(82,132,255,.30),transparent 58%),linear-gradient(150deg,rgba(36,22,52,.96),rgba(8,5,10,.98));overflow:hidden;box-shadow:0 22px 45px -34px #000;}
.hoard-artbox{position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding-top:8px;}
.hoard-artbox::after{content:"";position:absolute;left:18%;right:18%;bottom:18px;height:22px;border-radius:999px;background:rgba(0,0,0,.42);filter:blur(8px);}
.hoard-artbox img{position:relative;z-index:1;max-width:132%;height:218px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 18px rgba(0,0,0,.88));}
.hoard-copy{padding:20px 16px 16px 4px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;}
.hoard-copy h2{font-family:var(--display);font-size:clamp(27px,7vw,40px);line-height:.95;color:#fff2d0;margin:0;}
.hoard-copy p{font-size:12px;line-height:1.3;color:rgba(255,238,205,.74);margin:0;}
.hoard-tip{border:1px solid rgba(255,205,120,.14);border-radius:15px;background:rgba(0,0,0,.24);color:rgba(255,238,205,.78);font-size:12px;line-height:1.24;padding:9px 11px;}
.hoard-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.hoard-item{min-height:116px;border:1px solid rgba(255,205,120,.15);border-radius:15px;background:linear-gradient(165deg,rgba(48,27,14,.88),rgba(11,6,4,.94));color:var(--ink);padding:7px 5px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;overflow:hidden;}
.hoard-item img{height:64px;width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 11px rgba(0,0,0,.78));}
.hoard-item b{font-family:var(--display);font-size:11px;line-height:1;color:#fff0c6;text-align:center;}
.hoard-item small{font-size:9px;color:var(--gold);font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.hoard-item.active{border-color:rgba(135,179,255,.78);box-shadow:0 0 0 1px rgba(135,179,255,.32),0 0 24px -15px rgba(93,145,255,.92);}
@media (max-width:390px){
  .resource-compare-row{grid-template-columns:70px 1fr;gap:6px;}
  .pose-scroll{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hoard-action-card{grid-template-columns:40% 60%;min-height:206px;}
  .hoard-artbox img{height:198px;}
  .hoard-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* V0.4.47 GPT — Castle Burner Act 1 grid-first rebuild */
#burnerScreen[data-move-mode="swipe"] .bn-heroes{display:none !important;}
#burnerScreen[data-move-mode="swipe"] #bnMoveControls{
  height:168px !important;
  width:min(410px,94vw) !important;
  bottom:calc(18px + env(safe-area-inset-bottom)) !important;
}
#burnerScreen[data-move-mode="swipe"] .bn-swipepad{
  display:grid;
  width:min(400px,92vw) !important;
  height:152px !important;
  border-radius:26px;
}
#burnerScreen[data-move-mode="swipe"] .bn-res-ticker{
  bottom:calc(184px + env(safe-area-inset-bottom)) !important;
}
#burnerScreen[data-move-mode="swipe"] .bn-hint{
  bottom:calc(232px + env(safe-area-inset-bottom)) !important;
  font-size:11px !important;
}
#burnerScreen[data-move-mode="swipe"] .swipe-icon{font-size:52px !important;}


/* ============================================================
   V0.4.49 GPT — Alliance Table-Flip skill clarity
   ============================================================ */
.damage-guide-card{
  border:1px solid rgba(255,205,120,.18);
  border-radius:18px;
  background:linear-gradient(155deg,rgba(52,29,14,.78),rgba(9,5,3,.88));
  padding:11px;
  margin-bottom:10px;
  box-shadow:0 14px 28px -24px #000,inset 0 1px 0 rgba(255,236,190,.10);
}
.damage-guide-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:8px;}
.damage-guide-title b{font-family:var(--display);font-size:16px;color:#fff2c9;line-height:1;}
.damage-guide-title span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,214,130,.78);text-align:right;}
.damage-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.damage-guide-grid div{border:1px solid rgba(255,205,120,.12);border-radius:11px;background:rgba(0,0,0,.22);padding:6px 7px;min-width:0;}
.damage-guide-grid span{display:block;font-size:9px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:rgba(255,214,130,.72);line-height:1.05;margin-bottom:3px;}
.damage-guide-grid b{display:block;font-family:var(--display);font-size:12px;color:#fff2c9;line-height:1.05;white-space:normal;}
.skill-card-inactive{opacity:.82;filter:saturate(.78);}
.skill-card-inactive .skill-art{background:radial-gradient(circle at 50% 32%,rgba(130,150,170,.16),rgba(0,0,0,.32) 70%);}
.skill-card-inactive .skill-chip-row span{background:rgba(140,155,170,.12);border-color:rgba(180,200,220,.16);color:rgba(235,240,245,.80);}
@media (min-width:560px){.damage-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:390px){.damage-guide-grid{grid-template-columns:1fr 1fr;}.damage-guide-title{flex-direction:column;align-items:flex-start}.damage-guide-title span{text-align:left;}}


/* V0.5.5 GPT — smart orientation popup controls */
#rotateHint .rotate-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin-top:8px;max-width:360px;}
#rotateHint .rotate-actions .btn{min-width:94px;}
#rotateHint.soft{background:radial-gradient(80% 60% at 50% 40%,rgba(255,174,58,.10),rgba(0,0,0,.82))!important;}
#rotateHint.hard{background:radial-gradient(80% 60% at 50% 40%,rgba(255,120,35,.16),rgba(0,0,0,.92))!important;}
#rotateHint.hard #btnDismissRotate{display:inline-flex!important;opacity:.72;}

/* V0.5.5 GPT — Mug's Arcade app shell + Alliance Hub scaffold */
.hub-brand-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:5px;}
.alliance-chip{display:inline-flex;align-items:center;min-height:23px;border:1px solid rgba(255,210,112,.22);border-radius:999px;padding:3px 9px;background:rgba(0,0,0,.22);font-family:var(--display);font-size:10px;font-weight:900;letter-spacing:.08em;color:rgba(255,236,190,.86);text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.alliance-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.alliance-tab{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;border:1px solid rgba(255,205,120,.18);border-radius:16px;background:linear-gradient(160deg,rgba(42,23,14,.86),rgba(12,7,4,.94));color:var(--ink);padding:8px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.alliance-tab img{grid-row:1/3;width:42px;height:42px;object-fit:cover;border-radius:12px;background:rgba(0,0,0,.22);filter:drop-shadow(0 5px 8px rgba(0,0,0,.55));}
.alliance-tab span{font-family:var(--display);font-weight:900;font-size:10px;letter-spacing:.12em;color:var(--gold);line-height:1;}
.alliance-tab b{font-family:var(--display);font-size:15px;line-height:1.05;color:#fff3d2;}
.alliance-tab.active{border-color:rgba(255,219,116,.68);box-shadow:0 0 0 1px rgba(255,214,95,.24),0 14px 34px -24px rgba(255,170,40,.9);background:radial-gradient(90% 110% at 10% 20%,rgba(255,180,54,.22),transparent 55%),linear-gradient(160deg,rgba(58,30,12,.96),rgba(16,8,4,.96));}
.alliance-info-card{display:grid;grid-template-columns:104px 1fr;gap:12px;align-items:center;border:1px solid rgba(255,205,120,.18);border-radius:18px;background:linear-gradient(180deg,rgba(35,19,10,.78),rgba(7,5,3,.9));padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.alliance-badge-frame{width:104px;height:104px;border-radius:20px;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,rgba(255,222,130,.26),rgba(0,0,0,.25));border:1px solid rgba(255,210,112,.22);overflow:hidden;}
.alliance-badge-frame img{width:100%;height:100%;object-fit:cover;}
.alliance-info-copy{min-width:0;}
.alliance-kicker{font-family:var(--display);font-weight:900;font-size:20px;line-height:1;color:#fff3d2;margin-bottom:8px;}
.alliance-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.alliance-stats div{border:1px solid rgba(255,205,120,.12);border-radius:12px;background:rgba(0,0,0,.2);padding:7px;min-width:0;}
.alliance-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,238,205,.55);}
.alliance-stats b{display:block;font-family:var(--display);font-size:14px;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.alliance-info-copy p{margin:8px 0 0;color:rgba(255,238,205,.72);font-size:12px;line-height:1.25;}
.alliance-roster-title{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(255,205,120,.14);border-radius:14px;background:rgba(0,0,0,.18);padding:9px 11px;}
.alliance-roster-title b{font-family:var(--display);font-size:15px;color:#fff3d2;}
.alliance-roster-title span{font-size:11px;color:var(--gold);font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.alliance-empty-card{grid-column:1/-1;border:1px dashed rgba(255,205,120,.32);border-radius:20px;background:linear-gradient(180deg,rgba(44,23,12,.72),rgba(8,5,3,.9));padding:18px;text-align:center;color:rgba(255,238,205,.82);}
.alliance-empty-card .empty-badge{width:118px;height:118px;margin:0 auto 10px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,210,112,.25);background:rgba(0,0,0,.22);}
.alliance-empty-card .empty-badge img{width:100%;height:100%;object-fit:cover;}
.alliance-empty-card b{display:block;font-family:var(--display);font-size:24px;color:#fff3d2;line-height:1;margin-bottom:5px;}
.alliance-empty-card p{margin:0 auto 10px;max-width:420px;font-size:13px;line-height:1.32;color:rgba(255,238,205,.76);}
.alliance-empty-card span{display:inline-flex;border:1px solid rgba(255,205,120,.18);border-radius:999px;padding:5px 9px;background:rgba(0,0,0,.22);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.mini-settings-btn{border:1px solid rgba(255,205,120,.28);border-radius:12px;background:linear-gradient(180deg,rgba(88,48,18,.9),rgba(26,12,7,.95));color:#fff3d2;font-family:var(--display);font-weight:900;padding:9px 12px;cursor:pointer;white-space:nowrap;}
.settings-pill{display:inline-flex;align-items:center;border:1px solid rgba(255,205,120,.16);border-radius:999px;padding:6px 9px;background:rgba(0,0,0,.2);color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
.main-menu-hero small{font-family:var(--ui);font-size:11px;color:rgba(255,238,205,.72);letter-spacing:.02em;margin-top:2px;}
@media (max-width:390px){.alliance-info-card{grid-template-columns:84px 1fr;padding:10px}.alliance-badge-frame{width:84px;height:84px;border-radius:17px}.alliance-kicker{font-size:17px}.alliance-stats{grid-template-columns:1fr}.alliance-stats div{padding:6px}.alliance-tab{grid-template-columns:36px 1fr}.alliance-tab img{width:36px;height:36px}.alliance-tab b{font-size:13px}.alliance-chip{font-size:8.5px}}


/* ============================================================
   V0.5.6 GPT — UI shell utility pages, FRY alliance, and locked action-card blackout
   ============================================================ */
.kicker--hidden{display:none!important;}
#hubScreen .hub-brand h1{font-size:clamp(38px,13vw,68px)!important;letter-spacing:.01em!important;line-height:.82!important;}
.alliance-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.alliance-tab{grid-template-columns:1fr!important;grid-template-rows:auto auto auto;text-align:center!important;justify-items:center;min-height:96px;}
.alliance-tab img{grid-row:auto!important;width:54px!important;height:54px!important;object-fit:contain!important;border-radius:12px;background:rgba(0,0,0,.28);}
.alliance-info-card{grid-template-columns:126px 1fr!important;align-items:center!important;}
.alliance-badge-frame{width:126px!important;height:156px!important;border-radius:18px!important;background:radial-gradient(circle at 50% 22%,rgba(255,235,160,.18),rgba(0,0,0,.28))!important;}
.alliance-badge-frame img{object-fit:contain!important;background:rgba(0,0,0,.08);}
.main-menu-list{grid-template-columns:1fr!important;}
.utility-panel-v2{width:min(520px,94vw)!important;max-height:min(86dvh,720px);overflow-y:auto;}
.utility-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px;}
.utility-actions .btn{flex:1;min-width:145px;}
.utility-copy{font-size:13px;line-height:1.35;color:rgba(255,238,205,.78);margin:0 0 10px;}
.profile-card-shell{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:center;border:1px solid rgba(255,205,120,.18);border-radius:18px;background:rgba(0,0,0,.22);padding:12px;}
.profile-avatar-preview{width:112px;height:112px;border-radius:24px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,210,112,.22);background:radial-gradient(circle at 50% 25%,rgba(255,210,100,.20),rgba(0,0,0,.32));}
.profile-avatar-preview img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 11px rgba(0,0,0,.65));}
.profile-fields{display:grid;gap:7px;}
.profile-field-label{font-family:var(--display);font-size:11px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;}
.profile-note{font-size:12px;line-height:1.3;color:rgba(255,238,205,.70);border:1px solid rgba(255,205,120,.12);border-radius:12px;background:rgba(0,0,0,.20);padding:8px;}
.top-scores-list{display:grid;gap:8px;margin:10px 0;}
.score-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"info score" "info stars";gap:2px 10px;align-items:center;text-align:left;border:1px solid rgba(255,205,120,.16);border-radius:14px;background:linear-gradient(180deg,rgba(45,24,12,.78),rgba(10,6,3,.88));color:var(--ink);padding:10px 12px;cursor:pointer;}
.score-row.active{border-color:rgba(255,218,105,.66);box-shadow:0 0 0 1px rgba(255,205,120,.16),0 12px 28px -22px rgba(255,174,40,.95);}
.score-row div{grid-area:info;min-width:0;}
.score-row b{display:block;font-family:var(--display);font-size:15px;color:#fff3d2;}
.score-row span{display:block;font-size:11px;color:rgba(255,238,205,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.score-row strong{grid-area:score;font-family:var(--display);font-size:18px;color:var(--gold);}
.score-row small{grid-area:stars;font-size:11px;color:rgba(255,238,205,.74);text-align:right;}
.share-textarea{width:100%;min-height:132px;box-sizing:border-box;border:1px solid rgba(255,205,120,.18);border-radius:14px;background:rgba(0,0,0,.35);color:#fff4d5;font-family:var(--ui);font-size:13px;line-height:1.35;padding:10px;resize:vertical;}
.pose-tile.locked{position:relative;overflow:hidden;border-color:rgba(255,255,255,.11)!important;background:linear-gradient(180deg,rgba(20,20,22,.92),rgba(2,2,3,.96))!important;color:rgba(255,238,205,.62)!important;}
.pose-tile.locked img{filter:brightness(0) grayscale(1) contrast(1.25) opacity(.52)!important;transform:scale(1.03);}
.pose-tile.locked::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.08),rgba(0,0,0,.58) 55%,rgba(0,0,0,.82));z-index:1;pointer-events:none;}
.pose-tile.locked::after{content:"🔒";position:absolute;right:8px;top:7px;z-index:3;font-size:16px;filter:drop-shadow(0 2px 3px #000);}
.pose-tile.locked span,.pose-tile.locked small{position:relative;z-index:2;}
.pose-tile.locked span{color:rgba(255,238,205,.74)!important;}
.pose-tile.locked small{color:var(--gold)!important;}
@media (max-width:390px){
  .alliance-tabs{gap:6px!important;}
  .alliance-tab{min-height:86px!important;padding:6px!important;}
  .alliance-tab img{width:42px!important;height:42px!important;}
  .alliance-tab b{font-size:12px!important;}
  .alliance-info-card{grid-template-columns:88px 1fr!important;}
  .alliance-badge-frame{width:88px!important;height:116px!important;}
  .profile-card-shell{grid-template-columns:1fr;justify-items:center;}
}

/* V0.5.8 GPT — profile header, transparent asset layout, five-star scores */
#hubScreen .hub-top--profile{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(78px,132px) auto;align-items:center;gap:10px!important;}
#hubScreen .home-brand-v2{min-width:0;}
#hubScreen .home-brand-v2 h1{font-size:clamp(28px,8.5vw,44px)!important;line-height:.9!important;letter-spacing:.01em!important;margin:0!important;text-wrap:balance;}
.home-profile-line{display:flex;align-items:center;gap:8px;margin-top:7px;min-width:0;}
.home-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,214,117,.28);background:radial-gradient(circle at 50% 30%,rgba(255,213,114,.20),rgba(0,0,0,.44));box-shadow:0 10px 22px -14px #000;flex:0 0 auto;}
.home-avatar img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 4px 8px rgba(0,0,0,.65));}
.home-profile-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.home-profile-copy b{font-family:var(--display);font-size:13px;color:#fff1ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw;}
.home-profile-copy small{font-size:10px;color:rgba(255,232,190,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw;}
.home-alliance-banner-shell{height:78px;min-width:78px;border:1px solid rgba(255,204,104,.20);border-radius:18px;background:linear-gradient(180deg,rgba(30,14,8,.54),rgba(4,2,1,.36));display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 18px rgba(255,182,55,.06),0 14px 24px -18px #000;}
.home-alliance-banner-shell img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(0,0,0,.68));}
#hubScreen .hub-menu-btn{align-self:start;margin-top:2px;}
#hubScreen .hub-brand-chips{margin-top:5px;}
#hubScreen .hub-nav-card small em{font-style:normal;color:#fff4d4;font-weight:900;}
#hubScreen .hub-nav-card small .stars--five{display:inline-flex;vertical-align:middle;gap:1px;font-size:10px;margin-left:1px;}
.profile-avatar-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;padding:4px;border-radius:15px;background:rgba(0,0,0,.14);}
.profile-avatar-option{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:8px;text-align:left;border:1px solid rgba(255,205,120,.14);border-radius:13px;background:rgba(15,8,4,.64);color:var(--ink);padding:6px;cursor:pointer;}
.profile-avatar-option.active{border-color:rgba(255,216,116,.65);box-shadow:0 0 0 2px rgba(255,190,65,.13),0 0 18px rgba(255,174,58,.12);}
.profile-avatar-option img{width:46px;height:46px;border-radius:10px;object-fit:cover;background:rgba(0,0,0,.25);}
.profile-avatar-option span{font-size:11px;line-height:1.15;color:rgba(255,238,205,.88);}
.profile-upload-row{display:flex;margin-top:8px;}
.profile-upload-row .btn{width:100%;justify-content:center;}
.score-share-card{display:none;margin-top:10px;padding:12px;border:1px solid rgba(255,205,120,.18);border-radius:16px;background:linear-gradient(180deg,rgba(42,22,12,.88),rgba(8,5,3,.94));box-shadow:inset 0 0 24px rgba(255,160,40,.04);}
.score-share-card.active{display:block;animation:popIn .18s ease-out;}
.score-row small .stars--five{justify-content:flex-end;font-size:12px;}
.lc-best{grid-column:1/-1;font-size:10px;color:rgba(255,238,205,.72);text-align:right;margin-top:-2px;}
.stars--five{display:inline-flex;align-items:center;gap:2px;color:rgba(255,231,184,.24);font-family:var(--display);font-weight:900;line-height:1;}
.stars--five span{position:relative;display:inline-block;color:rgba(255,231,184,.25);text-shadow:none;}
.stars--five span.on{color:var(--ember-hot);text-shadow:0 0 10px rgba(255,140,40,.58);}
.stars--five span.half{color:rgba(255,231,184,.25);}
.stars--five span.half::before{content:'★';position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--ember-hot);text-shadow:0 0 10px rgba(255,140,40,.58);}
.stars--five em{font-style:normal;font-size:.72em;color:rgba(255,238,205,.72);margin-left:3px;}
.star-text.empty{font-size:11px;color:rgba(255,238,205,.55);font-family:var(--body, system-ui);font-weight:700;}
.result-stars .stars--five{font-size:25px;justify-content:center;gap:4px;}
@media (max-width:430px){
  #hubScreen .hub-top--profile{grid-template-columns:minmax(0,1fr) 86px auto;gap:7px!important;}
  #hubScreen .home-brand-v2 h1{font-size:clamp(24px,7.7vw,36px)!important;}
  .home-alliance-banner-shell{height:64px;border-radius:15px;}
  .home-avatar{width:36px;height:36px;border-radius:12px;}
  .home-profile-copy b{font-size:12px;max-width:48vw;}
  .home-profile-copy small{font-size:9px;max-width:48vw;}
  .profile-avatar-options{grid-template-columns:1fr;}
}

/* V0.5.9 GPT — header/banner/share/art viewer polish */
#hubScreen .hub-top--profile{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:start!important;
  gap:8px!important;
}
.home-brand-v2 h1{
  font-size:clamp(30px,8.6vw,54px)!important;
  line-height:.86!important;
  letter-spacing:.01em;
}
.home-profile-line{margin-top:8px!important;gap:10px!important;}
.home-avatar{width:58px!important;height:58px!important;border-radius:16px!important;overflow:hidden;border:1px solid rgba(255,206,115,.24);background:radial-gradient(circle at 50% 22%,rgba(255,214,110,.18),rgba(0,0,0,.28));display:grid;place-items:center;flex:none;}
.home-avatar img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55));}
.home-profile-copy b{font-size:15px!important;max-width:47vw!important;}
.home-profile-copy small{font-size:10px!important;max-width:47vw!important;}
.home-alliance-banner-shell{
  min-width:unset!important;
  width:auto!important;
  height:auto!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:visible!important;
  padding-top:4px;
}
.home-alliance-banner-shell img{
  width:auto!important;
  height:min(22vw,118px)!important;
  max-height:118px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.66));
}
#hubScreen .hub-menu-btn{align-self:start;}
.alliance-tabs{gap:8px!important;}
.alliance-tab{
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto auto!important;
  text-align:center!important;
  justify-items:center!important;
  min-height:114px!important;
  padding:8px 6px!important;
}
.alliance-tab img{
  grid-row:auto!important;
  width:auto!important;
  height:76px!important;
  max-width:88px!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
.alliance-tab span{margin-top:4px;}
.alliance-tab b{font-size:13px!important;}
.alliance-info-card{
  grid-template-columns:132px 1fr!important;
  align-items:center!important;
  gap:14px!important;
}
.alliance-badge-frame{
  width:132px!important;
  height:170px!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.alliance-badge-frame img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:none!important;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.62));
}
.score-share-popup{max-width:min(540px,94vw)!important;}
.score-share-meta{margin:8px 0 10px;}
.score-share-meta-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.score-share-meta-card div{border:1px solid rgba(255,205,120,.16);border-radius:12px;background:rgba(0,0,0,.22);padding:8px;display:grid;gap:2px;}
.score-share-meta-card span{font-family:var(--display);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.score-share-meta-card b{font-size:12px;line-height:1.25;color:#fff3d0;}
.utility-actions--stack{justify-content:stretch;}
.utility-actions--stack .btn{width:100%;}
.art-viewer-panel{max-width:min(640px,96vw)!important;display:flex;flex-direction:column;gap:10px;}
.art-viewer-copy{padding-right:30px;}
.art-viewer-stage{display:grid;place-items:center;min-height:260px;max-height:min(65dvh,700px);overflow:auto;border:1px solid rgba(255,205,120,.14);border-radius:18px;background:radial-gradient(circle at 50% 16%,rgba(255,182,64,.12),rgba(0,0,0,.34));padding:12px;}
.art-viewer-stage img{display:block;max-width:100%;max-height:min(60dvh,660px);width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(0,0,0,.62));}
#heroProfileArt{cursor:pointer;-webkit-user-drag:none;}
#heroProfileInfo:disabled{opacity:.55;cursor:default;}
.pose-tile.locked img{filter:brightness(.12) grayscale(1) blur(.4px)!important;}
.pose-tile.locked span,.pose-tile.locked small{opacity:.9;}
.pose-tile.locked::after{content:'LOCKED';position:absolute;right:8px;top:8px;font-family:var(--display);font-size:10px;letter-spacing:.1em;color:#fff2cf;background:rgba(16,10,6,.78);border:1px solid rgba(255,205,120,.22);border-radius:999px;padding:3px 7px;}
#allianceScreen img,#heroProfileOverlay img,#fallacyHoardScreen img,.art-protected,.art-protected img,.nav-art img,.home-avatar img,.home-alliance-banner-shell img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;}
@media (max-width:640px){
  #hubScreen .hub-top--profile{grid-template-columns:minmax(0,1fr) auto auto!important;}
  .home-brand-v2 h1{font-size:clamp(25px,8vw,42px)!important;}
  .home-profile-copy b{font-size:13px!important;max-width:42vw!important;}
  .home-profile-copy small{max-width:42vw!important;}
  .home-alliance-banner-shell img{height:min(20vw,96px)!important;max-height:96px!important;}
  .alliance-tab{min-height:98px!important;}
  .alliance-tab img{height:60px!important;max-width:74px!important;}
  .alliance-info-card{grid-template-columns:92px 1fr!important;gap:10px!important;}
  .alliance-badge-frame{width:92px!important;height:124px!important;}
  .score-share-meta-card{grid-template-columns:1fr;}
}

/* V0.8.8 GPT — Mug's Rage hint moved into swipe control deck so it no longer covers the maze/resources. */
#burnerScreen[data-move-mode="swipe"] .bn-hint{
  bottom:calc(56px + env(safe-area-inset-bottom)) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  max-width:min(300px,76vw) !important;
  z-index:9 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  opacity:.74 !important;
  font-size:9px !important;
  line-height:1.15 !important;
  padding:0 8px !important;
  pointer-events:none !important;
}


/* V0.9.8: buyable action cards remain covered until purchased. */
.pose-tile.covered{
  border-color:rgba(120,220,140,.42)!important;
  background:linear-gradient(180deg,rgba(18,26,20,.92),rgba(3,7,4,.96))!important;
}
.pose-tile.covered img{visibility:hidden!important;}
.pose-tile.covered::before{
  content:"?";
  position:absolute;
  inset:11px 12px 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:radial-gradient(circle at 50% 40%,rgba(140,255,160,.16),rgba(0,0,0,.72) 68%);
  border:1px solid rgba(140,255,160,.22);
  color:#d8ffe0;
  font-family:var(--display);
  font-size:30px;
  font-weight:1000;
  z-index:1;
  pointer-events:none;
}
.pose-tile.covered::after{
  content:'BUY';
  position:absolute;
  right:7px;
  top:7px;
  z-index:3;
  background:rgba(28,90,40,.9);
  border:1px solid rgba(140,255,160,.42);
  border-radius:999px;
  font-family:var(--display);
  font-weight:1000;
  font-size:8px;
  letter-spacing:.08em;
  color:#d8ffe0;
  padding:2px 6px;
}
.pose-tile.covered span,.pose-tile.covered small{position:relative;z-index:2;}
.pose-tile.covered span{color:#d8ffe0!important;}
.pose-tile.covered small{color:#aef0bd!important;}
.hub-recruit-chip.empty{opacity:.72;filter:saturate(.75);}

/* V0.9.8: name fitting without ugly forced hyphenation. */
.roster-card .rc-name.name-oneword,
.alliance-card .rc-name.name-oneword{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}
.roster-card .rc-name.name-wrap,
.alliance-card .rc-name.name-wrap{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}
.hero-profile-copy h2.hero-name-wrap{
  white-space:normal!important;
  overflow:visible!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}
.hero-profile-copy h2.hero-name-wrap span{display:block;}
.hero-profile-copy h2.hero-name-oneword{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}

/* V0.10.1 — Hero Credit purchase-ready state on Alliance Hub */
.roster-card.ready-to-purchase{
  border-color:rgba(255,216,106,.70)!important;
  box-shadow:0 0 0 1px rgba(255,216,106,.16), 0 12px 30px -20px rgba(255,174,58,.55)!important;
}
.roster-card.ready-to-purchase .rc-helper-status{
  color:#ffe8a8!important;
  text-shadow:0 0 10px rgba(255,174,58,.35)!important;
}
.roster-card.ready-to-purchase .mini-cost{
  display:flex;flex-wrap:wrap;gap:5px;align-items:center;
}
body.nightmare #burnerScreen .bn-meters,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-meters{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:30!important;
  filter:drop-shadow(0 0 8px rgba(255,104,28,.35));
}
body.nightmare #burnerScreen .bn-meter-row .ml,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-meter-row .ml,
body.nightmare #burnerScreen #bnProgress,
body[data-screen="burnerScreen"].nightmare #burnerScreen #bnProgress{
  color:#ffd86a!important;
  text-shadow:0 0 8px rgba(255,94,28,.75),0 2px 4px #000!important;
}
body.nightmare #burnerScreen .bn-track,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-track{
  background:rgba(0,0,0,.66)!important;
  border-color:rgba(255,138,42,.55)!important;
}
body.nightmare #nightmareLightning.nm-settings-preview,
body #nightmareLightning.nm-settings-preview{
  z-index:9999!important;
  pointer-events:none!important;
}


/* V0.10.9: Buy Mug a Coffee moved to Mug's Menu. Glowing callout, no red dot. */
.main-menu-list .menu-support-mug{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,188,86,.58)!important;
  background:radial-gradient(circle at 88% 18%,rgba(255,178,58,.24),rgba(0,0,0,0) 44%),linear-gradient(180deg,rgba(62,28,8,.78),rgba(18,8,3,.84))!important;
  color:#fff1d2!important;
  box-shadow:0 0 0 1px rgba(255,213,126,.18),0 12px 32px -20px rgba(255,128,36,.95),0 0 28px -18px rgba(255,198,86,.95)!important;
}
.main-menu-list .menu-support-mug::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,230,150,0),rgba(255,230,150,.18),rgba(255,230,150,0));transform:translateX(-120%);animation:supportMugShimmer 4.8s ease-in-out infinite;}
.main-menu-list .menu-support-mug span{color:rgba(255,226,174,.84)!important;}
body.nightmare .main-menu-list .menu-support-mug{border-color:rgba(255,151,42,.55)!important;box-shadow:0 0 0 1px rgba(255,151,42,.18),0 0 30px -16px rgba(255,111,24,.95)!important;}

/* V0.10.9: Nightmare must not hide Mug's Rage burn/rage meters. */
body.nightmare #burnerScreen .bn-meters,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-meters{
  position:absolute!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  top:calc(76px + env(safe-area-inset-top))!important;
  z-index:52!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  pointer-events:none!important;
}
body.nightmare #burnerScreen .bn-track,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-track{background:rgba(0,0,0,.82)!important;border-color:rgba(255,190,86,.74)!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.8),0 0 10px rgba(255,112,28,.18)!important;}
body.nightmare #burnerScreen #bnProgFill,
body[data-screen="burnerScreen"].nightmare #burnerScreen #bnProgFill{background:linear-gradient(90deg,#ff5626,#ffc65a)!important;box-shadow:0 0 10px rgba(255,112,28,.55)!important;}
body.nightmare #burnerScreen #bnTorchFill,
body[data-screen="burnerScreen"].nightmare #burnerScreen #bnTorchFill{background:linear-gradient(90deg,#8a1d08,#ff7a1a,#ffd86a)!important;box-shadow:0 0 12px rgba(255,143,37,.68)!important;}

/* V0.10.10: public action-card bonus previews before purchase */
.pose-tile .pose-bonus-preview{font-size:8px;color:#fff0c8;background:rgba(255,185,70,.16);border-color:rgba(255,218,130,.34);opacity:.95;white-space:normal;border-radius:9px;padding:2px 5px;}

/* V0.10.13 — campaign overview + hero Arena skill detail popups */
.briefing-overlay--campaign .briefing-panel,
.briefing-overlay--arena-skill .briefing-panel{max-width:min(980px,94vw);}
.briefing-overlay--campaign #briefingBody,
.briefing-overlay--arena-skill #briefingBody{white-space:normal;text-align:left;}
.campaign-overview-panel{display:grid;gap:12px;margin-top:8px;}
.campaign-current-card{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,211,110,.46);background:linear-gradient(135deg,rgba(120,54,18,.82),rgba(36,16,8,.92));box-shadow:0 0 22px rgba(255,134,43,.18);}
.campaign-current-card span{font:900 12px Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;color:#ffd879;}
.campaign-current-card b{font-size:22px;color:#fff3c8;}
.campaign-current-card small{font-weight:800;color:#ffe5a8;}
.campaign-tier-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:46vh;overflow:auto;padding-right:4px;}
.campaign-tier-card{display:grid;gap:8px;padding:10px;border-radius:16px;border:1px solid rgba(255,225,150,.22);background:linear-gradient(180deg,rgba(43,24,13,.92),rgba(18,10,7,.96));box-shadow:0 10px 24px rgba(0,0,0,.30);}
.campaign-tier-card.current{border-color:rgba(255,181,69,.72);box-shadow:0 0 26px rgba(255,128,36,.24),0 10px 24px rgba(0,0,0,.30);}
.campaign-tier-card.complete{background:linear-gradient(180deg,rgba(42,38,18,.92),rgba(18,16,8,.96));}
.campaign-tier-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;}
.campaign-tier-head span{font:900 11px Cinzel,serif;text-transform:uppercase;color:#ffc96e;white-space:nowrap;}
.campaign-tier-head b{font-size:13px;line-height:1.05;text-align:right;color:#fff1c8;}
.campaign-pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.campaign-mini-start{border:1px solid rgba(255,215,126,.25);border-radius:12px;padding:8px 7px;background:linear-gradient(180deg,rgba(255,171,71,.15),rgba(0,0,0,.18));color:#fff1d0;text-align:left;font:900 11px Barlow Condensed,sans-serif;letter-spacing:.02em;cursor:pointer;}
.campaign-mini-start span,.campaign-mini-start b{display:block;}
.campaign-mini-start b{font-size:14px;color:#fff;}
.campaign-mini-start.done{border-color:rgba(100,255,172,.42);background:linear-gradient(180deg,rgba(65,160,87,.26),rgba(5,44,22,.18));}
.campaign-mini-start:disabled{opacity:.46;cursor:not-allowed;filter:grayscale(.4);}
.campaign-reward{display:grid;gap:2px;border-radius:12px;padding:8px;background:rgba(14,8,4,.46);border:1px solid rgba(255,255,255,.08);}
.campaign-reward span{font:900 10px Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;color:#9fd0ff;}
.campaign-reward b{font-size:14px;color:#ffd879;}
.campaign-reward small{font-size:11px;line-height:1.15;color:#ead7b2;}
.campaign-reward.claimed span{color:#94ffbb;}
.skill-card-arena-clickable{cursor:pointer;position:relative;}
.skill-card-arena-clickable:hover{box-shadow:0 0 26px rgba(106,186,255,.22),0 10px 24px rgba(0,0,0,.30);}
.skill-detail-btn{margin-top:8px;border:1px solid rgba(120,205,255,.42);border-radius:999px;padding:8px 12px;background:linear-gradient(180deg,rgba(45,115,180,.36),rgba(10,33,62,.72));color:#dff3ff;font:900 11px Cinzel,serif;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 0 18px rgba(66,173,255,.18);}
.arena-skill-detail{display:grid;gap:12px;}
.arena-skill-callout{display:grid;gap:3px;border:1px solid rgba(110,204,255,.42);border-radius:16px;padding:12px;background:linear-gradient(135deg,rgba(23,82,128,.68),rgba(11,22,48,.86));box-shadow:0 0 24px rgba(80,180,255,.18);}
.arena-skill-callout span{font:900 11px Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;color:#9feaff;}
.arena-skill-callout b{font-size:23px;color:#fff;}
.arena-skill-callout small{color:#d8f1ff;font-weight:800;}
.arena-skill-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.arena-skill-detail-grid>div{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:10px;background:rgba(8,10,18,.48);}
.arena-skill-detail-grid b{display:block;color:#ffd879;margin-bottom:5px;}
.arena-skill-detail-grid ul{margin:0;padding-left:18px;}
.arena-skill-detail-grid li,.arena-skill-detail-grid p{font-size:13px;line-height:1.25;color:#f4e6cf;margin:0 0 4px;}
.arena-skill-note{border-radius:12px;padding:9px 10px;background:rgba(255,200,80,.12);border:1px solid rgba(255,225,140,.24);color:#ffe8b1;font-weight:800;font-size:12px;}
@media(max-width:760px){.campaign-tier-list{grid-template-columns:1fr;max-height:50vh}.arena-skill-detail-grid{grid-template-columns:1fr}.campaign-current-card b{font-size:18px}}
