/* ===== LONE GENESIS — UNIFIED RPG MENU SYSTEM (final polish) ===== */
:root{
  --lg-ink:#f5eedc;
  --lg-muted:#b5a792;
  --lg-gold:#e8ca76;
  --lg-gold-hi:#fff4d2;
  --lg-gold-dk:#8a5c2e;
  --lg-brass:#8d6e48;
  --lg-wood:#64472f;
  --lg-wood-dk:#2b261f;
  --lg-ink-border:#1e1612;
  --lg-panel:linear-gradient(180deg,#4a3d30 0%,#2b261f 48%,#171512 100%);
  --lg-panel-inset:inset 0 1px 0 rgba(255,244,214,.2),inset 0 0 0 4px rgba(28,22,16,.55),inset 0 0 0 5px rgba(232,202,118,.26);
  --lg-shadow-raised:0 5px 0 #1a140f,0 18px 40px rgba(0,0,0,.45);
  --lg-shadow-glow:0 0 18px rgba(232,202,118,.22);
  --lg-btn-wood:linear-gradient(180deg,#8d6a4b,#64472f);
  --lg-btn-gold:linear-gradient(180deg,#c4a056,#8a5c2e);
  --lg-btn-ghost:linear-gradient(180deg,#5f6258,#3d413b);
  --lg-slot:linear-gradient(145deg,#5b493c,#302824);
  --lg-slot-well:linear-gradient(180deg,#121511,#0c0e0c);
  --lg-font-ui:"Press Start 2P","Courier New",monospace;
  --lg-font-body:"VT323","Trebuchet MS",monospace;
  --lg-font-mono:"VT323","Consolas",monospace;
  /* Scala tipografica unificata — Press Start a multipli di 8, VT323 da 16px in su */
  --lg-fs-title:16px;
  --lg-fs-eyebrow:8px;
  --lg-fs-btn:8px;
  --lg-fs-cta:16px;
  --lg-fs-micro:8px;
  --lg-fs-body:18px;
  --lg-fs-body-md:18px;
  --lg-fs-body-sm:16px;
  --lg-fs-body-xs:16px;
  --lg-ease:cubic-bezier(.16,1,.3,1);
}

/* --- shared ledger chrome --- */
.rpgLedger,.inventoryWindow.rpgInv,.settingsFrame.rpgLedger,.heroFrame.rpgLedger,#buildUI.rpgBuild{
  image-rendering:pixelated;
  font-family:var(--lg-font-body);
  font-size:var(--lg-fs-body);
  -webkit-font-smoothing:none;
  font-smooth:never;
}
.rpgLedger{
  background:
    repeating-linear-gradient(90deg,rgba(255,236,196,.05) 0 2px,transparent 2px 10px),
    repeating-linear-gradient(0deg,rgba(0,0,0,.04) 0 3px,transparent 3px 12px),
    var(--lg-panel);
  border:2px solid var(--lg-ink-border);
  box-shadow:0 0 0 1px var(--lg-brass),0 0 0 3px var(--lg-ink-border),var(--lg-panel-inset),0 28px 64px rgba(0,0,0,.62);
}
.rpgLedger::before{
  background:
    radial-gradient(circle at 38% 10%,rgba(255,240,200,.16),transparent 44%),
    radial-gradient(circle at 82% 88%,rgba(90,156,87,.06),transparent 36%);
}
.rpgLedger::after{
  content:"";position:absolute;inset:3px;pointer-events:none;z-index:2;
  border:1px solid rgba(232,202,118,.12);border-radius:1px;
}
.rpgCorner{
  width:14px;height:14px;border-width:2px;
  box-shadow:0 0 12px rgba(232,202,118,.28),inset 0 0 0 1px rgba(255,244,214,.08);
}
.rpgBuckle{margin:4px 2px 12px}
.rpgBuckle b{width:13px;height:13px;box-shadow:inset 1px 1px 0 #fff4c8,0 0 12px rgba(232,202,118,.4)}

.inventoryTop h2,.settingsTitle h2,.modalBrand h2,.modalTitle h2,.pauseTitle,.heroPreviewPane h2{
  font-family:var(--lg-font-ui);
  font-size:var(--lg-fs-title);
  line-height:1.55;
  letter-spacing:2px;
  text-shadow:2px 2px #171310,0 0 14px rgba(232,202,118,.14);
}
.eyebrow,.menuBanner span,.tag{
  font-family:var(--lg-font-ui);
}
.eyebrow{
  font-size:var(--lg-fs-eyebrow);letter-spacing:2px;color:#d7c49a;text-transform:uppercase;
  text-shadow:0 1px 0 #120e0b;
}

/* --- unified buttons --- */
.menuCard button,#pauseSidebar button,#lgGuestDock button,.modalBox .btn,.settingsFoot button,.settingsTab,.setupPicks button,.langOpt,.heroGhost,.heroReady,.heroIconBtn,.heroCat,.heroCard,.benchRecipe,.slotRow.menuCta,.rpgBuildFilter,.rpgBuildTab,.slotRow,.menuFeatures span{
  font-family:var(--lg-font-ui);
  border:2px solid var(--lg-ink-border);
  transition:transform .12s var(--lg-ease),filter .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.menuCard button,#pauseSidebar button,#lgGuestDock button,.modalBox .btn:not(.secondaryBtn),.heroReady,.heroIconBtn,.heroCat,.slotRow.menuCta{
  background:var(--lg-btn-wood);
  box-shadow:inset 0 0 0 1px #b38b60,inset 0 1px 0 rgba(255,244,214,.22),var(--lg-shadow-raised);
  color:var(--lg-gold-hi);text-shadow:0 1px 0 #2a1b14;
}
.menuCard button:hover,#pauseSidebar button:hover,#lgGuestDock button:hover,.modalBox .btn:hover,.heroReady:hover,.heroGhost:hover,.heroIconBtn:hover,.heroCat:hover,.slotRow:hover{
  transform:translateY(-2px);filter:brightness(1.09);
  box-shadow:inset 0 0 0 1px var(--lg-gold),inset 0 1px 0 rgba(255,244,214,.28),0 7px 0 #1a140f,var(--lg-shadow-glow);
}
.menuCta,.heroReady,.slotRow.menuCta,#setupStart,#settingsDone{
  background:var(--lg-btn-gold)!important;
  color:#fff8e4!important;
  letter-spacing:1.8px;
  box-shadow:inset 0 0 0 1px var(--lg-gold),inset 0 1px 0 rgba(255,244,214,.3),var(--lg-shadow-raised),var(--lg-shadow-glow)!important;
}
.secondaryBtn,.heroGhost,.modalBox .btn.secondaryBtn{
  background:var(--lg-btn-ghost)!important;
  box-shadow:inset 0 0 0 1px #8a8d82,inset 0 1px 0 rgba(255,255,255,.12),var(--lg-shadow-raised)!important;
  color:#eadab7!important;
}
.closeBtn{
  background:linear-gradient(180deg,#8a574b,#4c302c)!important;
  box-shadow:inset 0 0 0 1px #c4846a,0 4px 0 #1a140f!important;
  border:2px solid var(--lg-ink-border)!important;
  transition:transform .12s ease,filter .12s ease;
}
.closeBtn:hover{transform:translateY(-1px) scale(1.04);filter:brightness(1.1)}

/* ===== MAIN MENU — title screen polish ===== */
#menu::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 28%,rgba(232,202,118,.1),transparent 48%),
    linear-gradient(180deg,transparent 55%,rgba(4,6,5,.72) 100%);
}
.menuStage{animation:menuStageIn .72s var(--lg-ease) both}
@keyframes menuStageIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.menuBrand{position:relative}
.menuLogoAura{
  position:absolute;inset:-18% -12%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(232,202,118,.22),transparent 62%);
  animation:menuAura 4.2s ease-in-out infinite alternate;
}
@keyframes menuAura{from{opacity:.45;transform:scale(.96)}to{opacity:.85;transform:scale(1.04)}}
.menuBrand .brandLogo{position:relative;z-index:1;animation:menuLogoIn .8s var(--lg-ease) .08s both}
@keyframes menuLogoIn{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}
.menuBanner{animation:menuBannerIn .6s var(--lg-ease) .18s both}
@keyframes menuBannerIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.menuCard.rpgLedger{
  max-width:348px;padding:14px 20px 16px;
  animation:lgPanelIn .55s var(--lg-ease) .22s both;
  overflow:visible;
}
.menuCardRibbon{display:none!important}
.menuCard .menuBtn{
  animation:menuBtnIn .42s var(--lg-ease) both;
  animation-delay:calc(.32s + var(--bi,0)*58ms);
}
@keyframes menuBtnIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}

.menuFeatures{
  animation:menuFeaturesIn .65s var(--lg-ease) .62s both;
  gap:6px;
}
@keyframes menuFeaturesIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.menuFeatures span{
  transition:transform .14s ease,filter .14s ease,border-color .14s ease;
}
.menuFeatures span:hover{transform:translateY(-2px);filter:brightness(1.12);border-color:rgba(232,202,118,.5)}
#menu{background:#0a0e0c}
.menuBackdrop{filter:saturate(1.18) contrast(1.1) brightness(.94)}
.menuBanner span,#menu .menuBanner > span{
  padding:5px 12px;
  border:1px solid rgba(232,202,118,.34);
  background:linear-gradient(180deg,rgba(22,18,14,.78),rgba(12,10,8,.88));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.1),0 4px 16px rgba(0,0,0,.35);
  letter-spacing:clamp(.35px,.28vw,1.6px);
  white-space:nowrap;
}
.menuCard button{
  padding:11px 14px;font-size:11px;letter-spacing:1.5px;
  background:linear-gradient(180deg,#7a5a3f,#513820);
}
.menuCard .menuCta{padding:12px 14px;font-size:13px;letter-spacing:2.2px;margin-bottom:2px}
.menuFeatures span{
  border:1px solid rgba(232,202,118,.32);
  background:linear-gradient(180deg,rgba(18,16,12,.72),rgba(10,8,6,.82));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.08),0 2px 8px rgba(0,0,0,.25);
  font-size:7px;letter-spacing:1.1px;
}
#menuMsg{
  padding:6px 14px;border:1px solid rgba(232,202,118,.18);
  background:rgba(12,10,8,.45);border-radius:2px;
  animation:menuFeaturesIn .5s var(--lg-ease) .7s both;
}

/* ===== PAUSE ===== */
#pauseVeil{background:rgba(4,6,5,.62);backdrop-filter:blur(4px)}
#pauseSidebar{
  width:280px;padding:14px 16px 12px;border-radius:3px;
  animation:lgSlideIn .42s var(--lg-ease) both;
}
@keyframes lgSlideIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.pauseWorld{
  border:2px solid rgba(232,202,118,.22);
  background:linear-gradient(180deg,rgba(14,12,10,.55),rgba(8,6,5,.65));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.08),inset 0 0 0 1px rgba(141,110,72,.2);
}
.pauseTrack{
  padding:6px 8px;margin-bottom:4px;text-align:center;
  font-size:8px;letter-spacing:1.2px;color:#cbb892;
  border:1px dashed rgba(232,202,118,.22);background:rgba(12,10,8,.35);
}

/* ===== SETTINGS + WORLD SETUP ===== */
#settingsOverlay,#worldSetup{padding:16px}
.settingsVeil{background:rgba(4,6,5,.64);backdrop-filter:blur(5px)}
.settingsFrame.rpgLedger,.setupFrame{
  width:min(540px,94%);max-height:min(620px,92%);
  animation:lgPanelIn .45s var(--lg-ease) both;
}
@keyframes lgPanelIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.settingsNow{
  border:2px solid rgba(232,202,118,.22);
  background:linear-gradient(180deg,rgba(16,14,11,.65),rgba(10,8,6,.75));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.08),inset 0 0 0 1px rgba(141,110,72,.15);
}
.settingsTab,.setupPicks button,.langOpt{
  font-size:9px;letter-spacing:.8px;padding:8px 6px;
  background:linear-gradient(180deg,#3f342c,#2c241e);
  box-shadow:inset 0 0 0 1px rgba(180,145,106,.28),0 3px 0 #1a140f;
}
.settingsTab.on,.setupPicks button.on,.langOpt.on{
  background:var(--lg-btn-wood);color:var(--lg-gold-hi);
  box-shadow:inset 0 0 0 1px var(--lg-gold),0 3px 0 #30241f,var(--lg-shadow-glow);
}
.setSection h3,.setupField span{
  color:#d7c49a;letter-spacing:2px;
  border-bottom:1px solid rgba(232,202,118,.14);padding-bottom:4px;margin-bottom:10px;
}
.setRow,.setupField{
  border:1px solid rgba(232,202,118,.16);
  background:linear-gradient(180deg,rgba(14,12,10,.5),rgba(8,6,5,.6));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.05);
}
.setupField input,.modalRow input{
  background:linear-gradient(180deg,#ece2c6,#d9cdb0);
  border:2px solid var(--lg-ink-border);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.16),0 0 0 1px var(--lg-brass);
  font-family:var(--lg-font-ui);
}
.setupHint{font-size:8px;line-height:1.5;color:#b8a888;padding:0 2px}
.settingsFoot,.setupFrame .settingsFoot{
  border-top:1px solid rgba(232,202,118,.18);padding-top:10px;margin-top:4px;
}

/* ===== MODAL (save/load/companion) ===== */
#modal{background:rgba(4,6,5,.66);backdrop-filter:blur(5px)}
#modal .modalBox.rpgLedger{width:min(440px,88%);padding:16px 18px 14px}
.slotRow{
  background:linear-gradient(180deg,#4d4037,#2e241e);
  border:2px solid var(--lg-ink-border);
  box-shadow:inset 0 0 0 1px rgba(206,168,110,.32),0 4px 0 #1a140f;
  transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;
}
.slotRow:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:inset 0 0 0 1px var(--lg-gold),0 5px 0 #1a140f,var(--lg-shadow-glow)}
.slotMeta b{color:var(--lg-gold-hi);letter-spacing:.5px}
.slotMeta span{font-size:8px;color:#b8a888}

/* ===== HERO ATELIER — studio themes ===== */
#heroAtelier{
  opacity:0;transition:opacity .32s ease;
}
#heroAtelier.is-open{opacity:1}
#heroAtelier.from-menu{
  background:
    radial-gradient(ellipse at 50% 22%,rgba(232,202,118,.14),transparent 46%),
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.58),rgba(4,6,5,.84));
}
#heroAtelier.from-pause{
  background:
    radial-gradient(ellipse at 50% 22%,rgba(120,180,140,.12),transparent 46%),
    radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.62),rgba(4,8,6,.86));
}
#heroAtelier.from-menu .heroPreviewPane{
  box-shadow:inset -8px 0 24px rgba(0,0,0,.18),inset 0 0 40px rgba(232,202,118,.06);
}
#heroAtelier.from-pause .heroPreviewPane{
  border-right-color:rgba(120,180,140,.28);
  box-shadow:inset -8px 0 24px rgba(0,0,0,.2),inset 0 0 36px rgba(90,156,87,.08);
}
#heroAtelier.from-pause .heroEyebrow{color:#b8d4b0}
@keyframes atelierDaisGlow{
  from{box-shadow:inset 0 0 0 1px var(--lg-brass),inset 0 0 0 5px rgba(232,202,118,.18),0 16px 32px rgba(0,0,0,.35)}
  to{box-shadow:inset 0 0 0 1px var(--lg-brass),inset 0 0 0 5px rgba(232,202,118,.28),0 16px 32px rgba(0,0,0,.35),inset 0 0 28px rgba(232,202,118,.1)}
}
#heroAtelier .heroCat{transition:transform .14s var(--lg-ease),box-shadow .14s ease,border-color .14s ease}
#heroAtelier .heroCat.on{transform:translateY(-1px)}
#heroAtelier .heroOptions.catSwap .heroCard{
  animation:heroCardSwap .38s var(--lg-ease) both;
  animation-delay:calc(var(--i,0)*18ms);
}
@keyframes heroCardSwap{
  from{opacity:0;transform:translateY(10px) scale(.94)}
  to{opacity:1;transform:none}
}
#heroAtelier.is-open .heroOptions:not(.catSwap) .heroCard{
  animation:heroCardIn .34s var(--lg-ease) both;
  animation-delay:calc(.06s + var(--i,0)*14ms);
}
@keyframes heroCardIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
#heroAtelier.is-open .heroFrame.rpgLedger{animation:lgPanelIn .48s var(--lg-ease) both}
#heroAtelier .heroFrame.rpgLedger{
  width:min(1040px,98%);height:min(640px,94%);
  grid-template-columns:minmax(250px,290px) 1fr;
  box-shadow:0 0 0 1px var(--lg-brass),0 0 0 3px var(--lg-ink-border),var(--lg-panel-inset),0 32px 80px rgba(0,0,0,.65);
  backdrop-filter:blur(6px);
}
#heroAtelier .heroPreviewPane{
  padding:16px 16px 18px;
  background:
    linear-gradient(180deg,rgba(36,32,26,.92),rgba(16,14,12,.96)),
    repeating-linear-gradient(90deg,rgba(255,236,196,.03) 0 2px,transparent 2px 10px);
  border-right:2px solid rgba(232,202,118,.2);
  box-shadow:inset -8px 0 24px rgba(0,0,0,.18);
}
#heroAtelier .heroDais{
  width:192px;height:256px;margin-top:4px;
  background:
    radial-gradient(ellipse at 50% 82%,rgba(232,202,118,.2),transparent 54%),
    repeating-linear-gradient(90deg,#3a342c 0 8px,#322c26 8px 16px),
    linear-gradient(180deg,#4a4238,#25201c);
  border:2px solid var(--lg-ink-border);
  box-shadow:inset 0 0 0 1px var(--lg-brass),inset 0 0 0 5px rgba(232,202,118,.22),0 16px 32px rgba(0,0,0,.35);
  position:relative;
  animation:atelierDaisGlow 3.6s ease-in-out infinite alternate;
}
#heroAtelier .heroDais::before{
  content:"";position:absolute;left:12px;right:12px;top:10px;height:2px;
  background:linear-gradient(90deg,transparent,rgba(232,202,118,.35),transparent);
  pointer-events:none;
}
#heroAtelier .heroRug{
  left:20px;right:20px;bottom:16px;height:32px;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,244,214,.25),#7a4e48 40%,#5c3a34 62%,transparent 76%);
  box-shadow:0 0 12px rgba(232,202,118,.12);
}
#heroAtelier .heroTurnRow{
  margin-top:12px;padding:6px 8px;
  background:rgba(12,10,8,.45);border:1px solid rgba(232,202,118,.18);
  border-radius:2px;
}
#heroAtelier .heroLookName{
  margin-top:12px;padding:8px 10px;
  border:1px solid rgba(232,202,118,.22);
  background:linear-gradient(180deg,rgba(12,10,8,.55),rgba(8,6,5,.65));
  font-size:8px;line-height:1.55;color:#eadab7;
  box-shadow:inset 0 1px 0 rgba(255,244,214,.06);
}
#heroAtelier .heroStudio{
  padding:16px 16px 14px;
  background:
    linear-gradient(180deg,rgba(28,26,22,.55),rgba(14,12,10,.72)),
    repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 4px,transparent 4px 8px);
}
#heroAtelier .heroStudioTop{
  padding-bottom:10px;margin-bottom:10px;
  border-bottom:1px solid rgba(232,202,118,.16);
}
#heroAtelier .heroSex{
  padding:3px;border:2px solid var(--lg-ink-border);
  background:rgba(8,6,5,.55);gap:3px;
  box-shadow:inset 0 1px 0 rgba(255,244,214,.06);
}
#heroAtelier .heroSex button{
  flex:1;padding:8px 14px;font-size:9px;letter-spacing:.8px;font-weight:800;
  border:1px solid transparent;background:transparent;color:#cbb892;
  box-shadow:none;animation:none;width:auto;
}
#heroAtelier .heroSex button.on{
  background:var(--lg-btn-wood);color:var(--lg-gold-hi);
  border-color:rgba(232,202,118,.35);
  box-shadow:inset 0 0 0 1px var(--lg-gold),0 2px 0 #1a140f;
}
#heroAtelier .heroCoins{
  padding:6px 10px;font-size:9px;
  border:2px solid rgba(232,202,118,.24);
  background:linear-gradient(180deg,rgba(12,10,8,.65),rgba(8,6,5,.75));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.06);
}
.heroStudioLabel{
  display:block;margin:0 0 8px;font-size:7px;letter-spacing:2.4px;color:#d7c49a;
}
#heroAtelier .heroCats{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:10px;
  padding:6px;border:2px solid rgba(232,202,118,.14);
  background:rgba(8,6,5,.4);box-shadow:inset 0 1px 0 rgba(255,244,214,.04);
}
#heroAtelier .heroCat{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  min-height:42px;padding:6px 2px;font-size:6px;line-height:1.2;
  letter-spacing:.35px;text-transform:uppercase;
}
#heroAtelier .heroCat .heroCatIcon{
  font-size:11px;line-height:1;color:var(--lg-gold);text-shadow:0 0 8px rgba(232,202,118,.35);
}
#heroAtelier .heroCat.on .heroCatIcon{color:#fff8e4}
#heroAtelier .heroOptions{
  grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:7px;
  padding:8px;border:2px solid rgba(232,202,118,.14);
  background:linear-gradient(180deg,rgba(10,8,6,.55),rgba(6,5,4,.65));
  box-shadow:inset 0 2px 8px rgba(0,0,0,.25);
  border-radius:2px;
}
#heroAtelier .heroCard{
  min-height:118px;padding:7px 6px 8px;
  background:linear-gradient(180deg,#4a3b32,#2a221c);
  border:2px solid var(--lg-ink-border);
  box-shadow:inset 0 0 0 1px rgba(206,168,110,.26),0 4px 0 #1a140f;
  position:relative;overflow:hidden;
}
#heroAtelier .heroCard::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,244,214,.06),transparent 38%);
}
#heroAtelier .heroCard canvas{
  width:68px;height:102px;border:2px solid #3a2e28;
  background:#141210!important;
  box-shadow:inset 0 0 0 1px rgba(232,202,118,.12),0 2px 6px rgba(0,0,0,.35);
}
#heroAtelier .heroCard b{font-size:9px;line-height:1.25;text-align:center;color:#f4e6c2}
#heroAtelier .heroCard>span{font-size:7px;color:#b8a888}
#heroAtelier .heroCard.sel{
  border-color:var(--lg-gold);
  box-shadow:inset 0 0 0 1px var(--lg-gold),0 0 0 1px #5b472d,0 4px 0 #1a140f,0 0 16px rgba(232,202,118,.32);
  transform:translateY(-1px);
}
#heroAtelier .heroCard.lock::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(-45deg,rgba(0,0,0,.08) 0 4px,transparent 4px 8px);
}
#heroAtelier .heroSwatch{width:100%;max-width:52px;height:5px;margin-top:2px}
#heroAtelier .heroBar{
  margin-top:12px;padding-top:12px;
  border-top:1px solid rgba(232,202,118,.2);
  gap:8px;
}
#heroAtelier .heroBuyCard{
  animation:lgPanelIn .35s var(--lg-ease) both;
  box-shadow:0 0 0 1px var(--lg-brass),0 24px 48px rgba(0,0,0,.55);
}

/* ===== INVENTORY FAMILY ===== */
#inventoryOverlay .invVeil,#chestOverlay .invVeil,#benchOverlay .invVeil,#furnaceOverlay .invVeil{
  background:radial-gradient(circle at 50% 40%,rgba(8,10,8,.2),rgba(4,6,5,.58));
}
.inventoryWindow.rpgInv{
  background:
    repeating-linear-gradient(90deg,rgba(255,236,196,.045) 0 2px,transparent 2px 10px),
    linear-gradient(180deg,#4a3d30 0%,#2b261f 48%,#171512 100%);
  border:2px solid var(--lg-ink-border);
  box-shadow:0 0 0 1px var(--lg-brass),0 0 0 3px var(--lg-ink-border),var(--lg-panel-inset),0 28px 70px rgba(0,0,0,.6);
  animation:lgPanelIn .38s var(--lg-ease) both;
}
#inventoryOverlay .inventoryGrid,#chestOverlay .inventoryGrid,#furnaceOverlay .furnaceOutGrid{
  border:2px solid rgba(206,173,108,.32);
  background:var(--lg-slot-well);
  box-shadow:inset 0 4px 14px rgba(0,0,0,.55),inset 0 0 0 1px rgba(232,202,118,.1);
}
#inventoryOverlay .invSlot,#chestOverlay .invSlot,#furnaceOverlay .invSlot{
  background:var(--lg-slot);
  border:2px solid var(--lg-ink-border);
  box-shadow:inset 0 0 0 1px rgba(204,164,105,.42),inset 0 2px 0 rgba(255,239,194,.07),0 2px 4px rgba(0,0,0,.28);
}
#inventoryOverlay .invSlot:hover,#chestOverlay .invSlot:hover{
  transform:translateY(-2px);
  border-color:#b59662;
  box-shadow:inset 0 0 0 1px var(--lg-gold),0 5px 10px rgba(0,0,0,.38);
}
#inventoryOverlay .rpgInvFooter,#chestOverlay .rpgInvFooter,#benchOverlay .rpgInvFooter,#furnaceOverlay .rpgInvFooter{
  border-top:1px solid rgba(232,202,118,.18);
  font-size:7px;letter-spacing:.6px;color:#b8a888;
}
.invWeightBar{
  height:6px;border:1px solid rgba(232,202,118,.28);
  background:#1a140f;box-shadow:inset 0 1px 3px rgba(0,0,0,.5);
}

/* bench recipes */
#benchOverlay .benchGrid{
  border:2px solid rgba(232,202,118,.18);
  background:linear-gradient(180deg,#121511,#0c0e0c);
  box-shadow:inset 0 4px 12px rgba(0,0,0,.55);
}
.benchRecipe{
  background:linear-gradient(180deg,#3a342c,#2a241e);
  border:2px solid var(--lg-ink-border);
  box-shadow:inset 0 1px 0 rgba(255,244,214,.1),0 3px 0 #1a140f;
  transition:transform .1s ease,filter .1s ease,box-shadow .1s ease;
}
.benchRecipe:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.07);box-shadow:inset 0 0 0 1px var(--lg-gold),0 4px 0 #1a140f,var(--lg-shadow-glow)}
.benchRecipe.ok{border-color:#3d5a40;box-shadow:inset 0 0 0 1px #6a8a58,0 3px 0 #1a140f}
.benchIcon{
  background:linear-gradient(180deg,rgba(18,16,14,.65),rgba(10,8,6,.75));
  border:1px solid rgba(232,202,118,.22);
}

/* furnace */
#furnaceOverlay .furnaceForge{
  border:2px solid rgba(232,202,118,.2);
  background:linear-gradient(180deg,rgba(14,12,10,.6),rgba(8,6,5,.7));
}
#furnaceOverlay.is-lit .furnaceFlame{filter:drop-shadow(0 0 6px rgba(255,120,40,.55))}

/* ===== BUILD MENU ===== */
#buildUI.rpgBuild{
  border:2px solid var(--lg-ink-border);
  box-shadow:0 0 0 1px var(--lg-brass),0 0 0 3px var(--lg-ink-border),var(--lg-panel-inset),0 22px 56px rgba(0,0,0,.55);
  background:
    repeating-linear-gradient(90deg,rgba(255,236,196,.04) 0 2px,transparent 2px 10px),
    linear-gradient(180deg,#4a3d30 0%,#2b261f 50%,#171512 100%);
}
#buildUI.rpgBuild .rpgBuildGrid{
  border:2px solid rgba(206,173,108,.34);
  background:var(--lg-slot-well);
  box-shadow:inset 0 5px 14px rgba(0,0,0,.58);
}
#buildUI.rpgBuild .rpgBuildCard{
  background:linear-gradient(160deg,rgba(255,230,180,.07),transparent 36%),linear-gradient(180deg,#5a493c,#322824);
  border:2px solid var(--lg-ink-border);
  box-shadow:inset 0 0 0 1px rgba(206,168,110,.34),0 3px 0 #1a140f;
  transition:transform .1s ease,filter .1s ease,box-shadow .1s ease;
}
#buildUI.rpgBuild .rpgBuildCard:hover{transform:translateY(-1px);filter:brightness(1.07)}
#buildUI.rpgBuild .rpgBuildCard.sel{
  border-color:var(--lg-gold);
  box-shadow:inset 0 0 0 1px var(--lg-gold),0 0 0 1px #5b472d,0 3px 0 #1a140f,0 0 14px rgba(232,202,118,.28);
}
#buildUI.rpgBuild .rpgBuildTab.on,#buildUI.rpgBuild .rpgBuildFilter.on{
  box-shadow:inset 0 0 0 1px var(--lg-gold),0 2px 0 #30241f,var(--lg-shadow-glow);
}
#buildUI.rpgBuild .rpgBuildThumb{
  border:2px solid #5b472d;
  background:linear-gradient(180deg,#241c16,#181410);
  box-shadow:inset 0 0 0 1px rgba(232,202,118,.15);
}

/* ===== scrollbars (all menus) ===== */
.settingsBody,.setupBody,.slotList,.heroOptions,#buildUI.rpgBuild,.benchGrid,.devLog{
  scrollbar-width:thin;scrollbar-color:rgba(232,202,118,.38) rgba(10,13,11,.6);
}
.settingsBody::-webkit-scrollbar,.setupBody::-webkit-scrollbar,.slotList::-webkit-scrollbar,.heroOptions::-webkit-scrollbar,#buildUI.rpgBuild::-webkit-scrollbar,.benchGrid::-webkit-scrollbar{
  width:9px;height:9px;
}
.settingsBody::-webkit-scrollbar-thumb,.setupBody::-webkit-scrollbar-thumb,.slotList::-webkit-scrollbar-thumb,.heroOptions::-webkit-scrollbar-thumb,#buildUI.rpgBuild::-webkit-scrollbar-thumb,.benchGrid::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(232,202,118,.45),rgba(150,120,64,.45));
  border:1px solid rgba(8,10,8,.7);border-radius:1px;
}

/* ===== reduce motion ===== */
#app.reduce-motion .menuStage,#app.reduce-motion .settingsFrame,#app.reduce-motion #modal .modalBox,#app.reduce-motion #heroAtelier .heroFrame,#app.reduce-motion .inventoryWindow,#app.reduce-motion #pauseSidebar,#app.reduce-motion .menuCta{
  animation:none!important;
}
#app.reduce-motion .menuCta,#app.reduce-motion .heroReady{animation:none!important}

#heroAtelier .heroCat .heroCatLbl{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* inventory / chest / bench / furnace headers */
.inventoryTop{
  padding-bottom:8px;margin-bottom:8px;
  border-bottom:1px solid rgba(232,202,118,.16);
}
.inventoryTop p,.inventoryTop .invSub{
  font-size:8px;line-height:1.45;color:#b8a888;margin-top:4px;
}
#chestOverlay .inventoryWindow.rpgChest::before,
#benchOverlay .inventoryWindow.rpgBench::before,
#furnaceOverlay .inventoryWindow.rpgFurnace::before{
  background:radial-gradient(circle at 38% 10%,rgba(255,240,200,.14),transparent 44%);
}
#furnaceOverlay .furnaceFlame{transition:filter .35s ease}

/* ===== micro-animations — slot pop-in (all storage UIs) ===== */
@keyframes lgSlotPop{
  from{opacity:0;transform:translateY(8px) scale(.92)}
  to{opacity:1;transform:none}
}
.overlay.uiEnter .invSlot,
#inventoryOverlay.invEnter .invSlot{
  animation:lgSlotPop .36s var(--lg-ease) both;
  animation-delay:calc(var(--i,0)*14ms);
}
.overlay.uiEnter .inventoryWindow.rpgInv,
#inventoryOverlay.is-open .inventoryWindow.rpgInv{
  animation:lgPanelIn .38s var(--lg-ease) both;
}

/* ===== per-menu themes ===== */
#inventoryOverlay .inventoryWindow.rpgInv::before{
  background:radial-gradient(circle at 38% 10%,rgba(255,240,200,.14),transparent 44%),radial-gradient(circle at 88% 90%,rgba(90,156,87,.05),transparent 36%);
}
#chestOverlay .inventoryWindow.rpgChest{
  box-shadow:0 0 0 1px #a87848,0 0 0 3px var(--lg-ink-border),var(--lg-panel-inset),0 28px 70px rgba(0,0,0,.6),inset 0 -24px 48px rgba(168,120,72,.06);
}
#chestOverlay .inventoryWindow.rpgChest .eyebrow{color:#e8c890}
#chestOverlay .inventoryWindow.rpgChest::before{
  background:radial-gradient(circle at 38% 10%,rgba(232,180,100,.16),transparent 44%),radial-gradient(circle at 82% 88%,rgba(168,120,72,.08),transparent 38%);
}
#benchOverlay .inventoryWindow.rpgBench{
  box-shadow:0 0 0 1px #6a8a58,0 0 0 3px var(--lg-ink-border),var(--lg-panel-inset),0 28px 70px rgba(0,0,0,.6),inset 0 -20px 40px rgba(106,138,88,.06);
}
#benchOverlay .inventoryWindow.rpgBench .eyebrow{color:#b8d4a8}
#benchOverlay .inventoryWindow.rpgBench::before{
  background:radial-gradient(circle at 38% 10%,rgba(180,220,140,.14),transparent 44%),radial-gradient(circle at 82% 88%,rgba(90,140,80,.08),transparent 38%);
}
#furnaceOverlay .inventoryWindow.rpgFurnace{
  box-shadow:0 0 0 1px #c07040,0 0 0 3px var(--lg-ink-border),var(--lg-panel-inset),0 28px 70px rgba(0,0,0,.6),inset 0 -24px 48px rgba(200,100,40,.08);
}
#furnaceOverlay .inventoryWindow.rpgFurnace .eyebrow{color:#f0b888}
#furnaceOverlay .inventoryWindow.rpgFurnace::before{
  background:radial-gradient(circle at 38% 10%,rgba(255,160,80,.16),transparent 44%),radial-gradient(circle at 82% 88%,rgba(200,80,30,.1),transparent 38%);
}

/* ===== bench — larger recipe icons + stagger ===== */
#benchOverlay .benchRecipe{
  grid-template-columns:54px 1fr auto!important;
  gap:9px!important;padding:7px 9px!important;
}
#benchOverlay .benchIcon{
  width:54px!important;height:54px!important;
  border:2px solid rgba(232,202,118,.28);
  box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 2px 0 #1a140f;
}
#benchOverlay .benchIcon img{width:44px!important;height:44px!important}
#benchOverlay.uiEnter .benchRecipe{
  animation:lgSlotPop .34s var(--lg-ease) both;
  animation-delay:calc(var(--i,0)*22ms);
}

/* ===== furnace — pixel flames + embers ===== */
#furnaceOverlay .furnaceFire{position:relative;gap:6px}
.furnaceFlame{
  position:relative;width:36px;height:44px;opacity:.42;
  filter:saturate(.75);transition:opacity .35s ease,filter .35s ease;
}
.furnaceFlame i{position:absolute;pointer-events:none;image-rendering:pixelated}
.furnaceFlame .flameCore{
  left:50%;bottom:4px;width:14px;height:22px;margin-left:-7px;
  background:linear-gradient(180deg,#fff8c8 0%,#ffd060 35%,#ff8020 70%,transparent);
  border-radius:40% 40% 20% 20%;
  animation:flameCoreFlick .42s ease-in-out infinite alternate;
}
.furnaceFlame .flameMid{
  left:50%;bottom:2px;width:22px;height:30px;margin-left:-11px;
  background:linear-gradient(180deg,rgba(255,180,60,.85) 0%,rgba(255,100,30,.7) 55%,transparent);
  border-radius:45% 45% 18% 18%;
  animation:flameMidFlick .55s ease-in-out infinite alternate-reverse;
}
.furnaceFlame .flameOuter{
  left:50%;bottom:0;width:30px;height:36px;margin-left:-15px;
  background:linear-gradient(180deg,rgba(255,120,40,.55) 0%,rgba(180,40,10,.35) 60%,transparent);
  border-radius:50% 50% 15% 15%;
  animation:flameOuterFlick .68s ease-in-out infinite alternate;
}
.furnaceFlame .flameSpark{
  width:3px;height:3px;background:#ffe8a0;border-radius:1px;
  box-shadow:0 0 4px rgba(255,200,80,.8);
  animation:flameSparkRise 1.1s ease-out infinite;
}
.furnaceFlame .flameSpark.s1{left:10px;bottom:18px;animation-delay:0s}
.furnaceFlame .flameSpark.s2{left:22px;bottom:14px;animation-delay:.35s}
.furnaceFlame .flameSpark.s3{left:16px;bottom:24px;animation-delay:.7s}
@keyframes flameCoreFlick{from{transform:scaleY(.88) scaleX(1.04)}to{transform:scaleY(1.06) scaleX(.94)}}
@keyframes flameMidFlick{from{transform:scaleY(.9) translateX(-1px)}to{transform:scaleY(1.08) translateX(1px)}}
@keyframes flameOuterFlick{from{transform:scaleY(.92) scaleX(1.06);opacity:.75}to{transform:scaleY(1.04) scaleX(.92);opacity:1}}
@keyframes flameSparkRise{
  0%{opacity:0;transform:translateY(0) scale(.6)}
  20%{opacity:1}
  100%{opacity:0;transform:translateY(-18px) scale(.4)}
}
.furnaceEmbers{
  display:flex;gap:5px;height:6px;align-items:flex-end;justify-content:center;
}
.furnaceEmbers i{
  width:4px;height:4px;background:#ff9040;border-radius:1px;opacity:0;
  animation:emberPulse 1.4s ease-in-out infinite;
}
.furnaceEmbers i:nth-child(1){animation-delay:0s}
.furnaceEmbers i:nth-child(2){animation-delay:.45s;height:3px;width:3px;background:#ffb060}
.furnaceEmbers i:nth-child(3){animation-delay:.9s}
@keyframes emberPulse{
  0%,100%{opacity:0;transform:translateY(0)}
  40%{opacity:.85;transform:translateY(-2px)}
  70%{opacity:.35;transform:translateY(-4px)}
}
#furnaceOverlay.is-lit .furnaceFlame{
  opacity:1;filter:saturate(1.2) brightness(1.1) drop-shadow(0 0 8px rgba(255,120,40,.65));
}
#furnaceOverlay.is-lit .furnaceEmbers i{animation-duration:.9s}
#furnaceOverlay .furnaceForge{
  border-color:rgba(200,100,40,.28);
  box-shadow:inset 0 0 24px rgba(255,100,30,.06),inset 0 1px 0 rgba(255,244,214,.06);
}
#furnaceOverlay.is-lit .furnaceForge{
  box-shadow:inset 0 0 32px rgba(255,100,30,.14),inset 0 1px 0 rgba(255,244,214,.08);
  animation:furnaceForgeGlow 1.8s ease-in-out infinite alternate;
}
@keyframes furnaceForgeGlow{from{box-shadow:inset 0 0 24px rgba(255,100,30,.1)}to{box-shadow:inset 0 0 40px rgba(255,120,40,.22)}}

/* ===== reduce motion (extended) ===== */
#app.reduce-motion .menuLogoAura,#app.reduce-motion .menuCard .menuBtn,
#app.reduce-motion #heroAtelier .heroDais,#app.reduce-motion .furnaceFlame i,
#app.reduce-motion .furnaceEmbers i,#app.reduce-motion #furnaceOverlay.is-lit .furnaceForge{
  animation:none!important;
}
#app.reduce-motion .overlay.uiEnter .invSlot,#app.reduce-motion #inventoryOverlay.invEnter .invSlot,
#app.reduce-motion #heroAtelier .heroOptions.catSwap .heroCard,
#app.reduce-motion #heroAtelier.is-open .heroOptions:not(.catSwap) .heroCard{
  animation:none!important;
}
#app.reduce-motion #heroAtelier{opacity:1;transition:none}

@media (max-width:900px){
  #heroAtelier .heroFrame.rpgLedger{grid-template-columns:1fr;height:auto;max-height:94vh}
  #heroAtelier .heroPreviewPane{border-right:0;border-bottom:2px solid rgba(232,202,118,.18)}
  #heroAtelier .heroOptions{grid-template-columns:repeat(3,minmax(0,1fr))}
  #heroAtelier .heroCats{grid-template-columns:repeat(4,minmax(0,1fr))}
  #heroAtelier .heroCatIconBox{width:40px!important;height:40px!important}
  #heroAtelier .heroCatSvg{width:26px!important;height:26px!important}
  #pauseSidebar{width:min(280px,92vw)}
  .settingsFrame.rpgLedger,.setupFrame{width:min(520px,96%)}
}

/* ===================================================================
   LG MENU V3 — OVERHAUL VISIVO (deve essere IMMEDIATAMENTE visibile)
   =================================================================== */

/* --- pannelli RPG: cornice doppia oro/legno --- */
.rpgLedger,.inventoryWindow.rpgInv,.settingsFrame.rpgLedger,.heroFrame.rpgLedger,#buildUI.rpgBuild,#pauseSidebar.rpgLedger,.modalBox.rpgLedger{
  border:3px solid #1e1612!important;
  box-shadow:
    0 0 0 1px #c4a056,
    0 0 0 4px #1e1612,
    0 0 0 5px rgba(232,202,118,.45),
    inset 0 2px 0 rgba(255,244,214,.28),
    inset 0 0 0 6px rgba(28,22,16,.65),
    0 32px 80px rgba(0,0,0,.72)!important;
}
.rpgCorner{width:16px!important;height:16px!important;border-width:3px!important}
.rpgBuckle b{width:15px!important;height:15px!important}

/* (titoli: vedi blocco V5 tipografia) */
/* ===== MENU PRINCIPALE ===== */
#menu{background:radial-gradient(ellipse at 50% 30%,#1a2418,#0a0e0c)!important}
.menuCard.rpgLedger{
  max-width:380px!important;padding:18px 22px 20px!important;
  background:
    repeating-linear-gradient(90deg,rgba(255,236,196,.08) 0 3px,transparent 3px 12px),
    repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 4px,transparent 4px 14px),
    linear-gradient(180deg,#5a4638 0%,#3a2e24 45%,#1a1612 100%)!important;
}
.menuCard button{
  padding:12px 14px!important;letter-spacing:1px!important;
  min-height:40px;
}
.menuCard .menuCta{
  padding:13px 14px!important;letter-spacing:1.5px!important;
  background:linear-gradient(180deg,#d4b060,#9a6828,#7a5020)!important;
  box-shadow:inset 0 0 0 2px #fff4c8,inset 0 2px 0 rgba(255,255,255,.25),0 6px 0 #1a140f,0 0 24px rgba(232,202,118,.4)!important;
}
.menuBanner span{padding:6px 12px!important;letter-spacing:clamp(.35px,.28vw,1.6px)!important;white-space:nowrap!important}
.menuFeatures span{padding:5px 10px!important;letter-spacing:1px!important}
.menuLogoAura{background:radial-gradient(circle,rgba(232,202,118,.35),transparent 58%)!important}

/* ===== PAUSA ===== */
#pauseSidebar.rpgLedger,#pauseSidebar{
  width:300px!important;padding:16px 18px 14px!important;
  background:linear-gradient(180deg,#4a3d30,#2b261f 50%,#171512)!important;
}
#pauseSidebar button,#lgGuestDock button{padding:10px 12px!important}

/* ===== IMPOSTAZIONI / NUOVA PARTITA ===== */
.settingsFrame.rpgLedger,.setupFrame{
  width:min(580px,96%)!important;
  background:linear-gradient(180deg,#4a3d30,#2b261f 50%,#171512)!important;
}
.settingsTab,.setupPicks button,.langOpt{
  padding:9px 7px!important;min-height:34px;
}

/* ===== MODAL SALVA/CARICA ===== */
#modal .modalBox.rpgLedger{width:min(480px,92%)!important;padding:20px 22px 18px!important}
.slotRow{padding:12px 14px!important;min-height:52px}

/* ===== INVENTARIO / CASSA / BANCO / FORNACE ===== */
.inventoryWindow.rpgInv{
  background:
    repeating-linear-gradient(90deg,rgba(255,236,196,.07) 0 3px,transparent 3px 12px),
    linear-gradient(180deg,#524336 0%,#342a22 48%,#141210 100%)!important;
}
#inventoryOverlay .eyebrow{color:#e8ca76!important}
#inventoryOverlay .invSlot{min-height:54px!important}
#chestOverlay .inventoryWindow.rpgChest .eyebrow{color:#ffc878!important}
#benchOverlay .inventoryWindow.rpgBench .eyebrow{color:#b8e898!important}
#furnaceOverlay .inventoryWindow.rpgFurnace .eyebrow{color:#ffb878!important}

/* ===== COSTRUZIONE ===== */
#buildUI.rpgBuild{
  background:linear-gradient(180deg,#524336,#342a22 50%,#141210)!important;
  border:3px solid #1e1612!important;
}

/* ===== ATELIER — CATEGORIE GUARDAROBA (icone GRANDI) ===== */
#heroAtelier .heroFrame.rpgLedger{
  width:min(1080px,98%)!important;height:min(660px,94%)!important;
  background:linear-gradient(180deg,#524336,#2b261f 50%,#141210)!important;
}
#heroAtelier .heroCats{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;padding:10px!important;margin-bottom:12px!important;
  background:linear-gradient(180deg,#1a1612,#0e0c0a)!important;
  border:3px solid #1e1612!important;
  box-shadow:inset 0 0 0 1px #8d6e48,inset 0 4px 12px rgba(0,0,0,.45),0 4px 0 #1a140f!important;
}
#heroAtelier .heroCat{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  gap:6px!important;min-height:82px!important;padding:10px 4px 12px!important;
  line-height:1.2!important;letter-spacing:.6px!important;
  text-transform:uppercase!important;width:auto!important;
  background:linear-gradient(180deg,#3f342c,#2a221c)!important;
  box-shadow:inset 0 0 0 1px rgba(180,145,106,.35),0 4px 0 #1a140f!important;
}
#heroAtelier .heroCat.on{
  background:linear-gradient(180deg,#a08050,#705030)!important;
  border-color:#e8ca76!important;
  box-shadow:inset 0 0 0 2px #fff4c8,inset 0 2px 0 rgba(255,244,214,.2),0 4px 0 #1a140f,0 0 16px rgba(232,202,118,.35)!important;
  transform:translateY(-2px)!important;
}
#heroAtelier .heroCatIconBox{
  display:grid!important;place-items:center!important;
  width:48px!important;height:48px!important;flex:0 0 48px!important;
  background:
    linear-gradient(180deg,#2a221c,#181410)!important;
  border:2px solid #1e1612!important;
  box-shadow:inset 0 0 0 1px #c4a056,inset 0 2px 4px rgba(0,0,0,.4),0 3px 0 #1a140f!important;
}
#heroAtelier .heroCat.on .heroCatIconBox{
  background:linear-gradient(180deg,#4a3828,#2a2018)!important;
  box-shadow:inset 0 0 0 1px #fff4c8,0 0 12px rgba(232,202,118,.4),0 3px 0 #1a140f!important;
}
#heroAtelier .heroCatSvg{
  width:32px!important;height:32px!important;display:block!important;
  filter:drop-shadow(0 1px 0 #1a140f);
}
#heroAtelier .heroCatLbl{
  display:block!important;max-width:100%!important;
  font-weight:800!important;
  letter-spacing:.5px!important;line-height:1.25!important;
  color:#eadab7!important;text-align:center!important;
}
#heroAtelier .heroCat.on .heroCatLbl{color:#fff8e4!important}
.heroStudioLabel{letter-spacing:3px!important;color:#e8ca76!important;margin-bottom:10px!important}
#heroAtelier .heroOptions{
  grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important;gap:8px!important;
  padding:10px!important;
  border:3px solid rgba(232,202,118,.2)!important;
  background:linear-gradient(180deg,#12100e,#0a0908)!important;
}
#heroAtelier .heroCard{min-height:128px!important;padding:8px!important}
#heroAtelier .heroCard canvas{width:72px!important;height:108px!important}
#heroAtelier .heroSex button{padding:10px 16px!important}
#heroAtelier .heroBar .heroReady,#heroAtelier .heroBar .heroGhost{
  padding:10px 12px!important;
}

/* ===================================================================
   LG MENU V4 — font pixel RPG, guardaroba compatto, reskin completo
   =================================================================== */

/* --- tipografia pixel su tutti i menu (scala V5) --- */
#menu,.overlay,#modal,#settingsOverlay,#worldSetup,#pauseVeil,#heroAtelier,#buildUI.rpgBuild{
  font-family:var(--lg-font-body);
  font-size:var(--lg-fs-body);
  -webkit-font-smoothing:none;
  font-smooth:never;
}

/* ===== ATELIER — categorie guardaroba più piccole, più spazio vestiti ===== */
#heroAtelier .heroCats{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;padding:6px 8px!important;margin-bottom:8px!important;
}
#heroAtelier .heroCat{
  min-height:54px!important;padding:5px 3px 6px!important;gap:3px!important;
  font-size:var(--lg-fs-micro)!important;letter-spacing:.4px!important;
}
#heroAtelier .heroCatIconBox{
  width:30px!important;height:30px!important;flex:0 0 30px!important;
}
#heroAtelier .heroCatSvg{width:20px!important;height:20px!important}
#heroAtelier .heroCatLbl{font-size:var(--lg-fs-eyebrow)!important;line-height:1.25!important}
#heroAtelier .heroStudio{flex:1;min-height:0;display:flex;flex-direction:column}
#heroAtelier .heroOptions{
  flex:1;min-height:180px!important;max-height:none!important;
  grid-template-columns:repeat(auto-fill,minmax(88px,1fr))!important;
  gap:7px!important;padding:8px!important;
}
#heroAtelier .heroCard{min-height:120px!important;padding:7px!important}
#heroAtelier .heroCard canvas{width:68px!important;height:102px!important}
.heroStudioLabel{font-size:var(--lg-fs-eyebrow)!important;margin-bottom:6px!important}

/* ===== IMPOSTAZIONI — reskin innovativo ===== */
#settingsOverlay,#worldSetup{
  background:radial-gradient(ellipse at 50% 30%,rgba(232,202,118,.08),rgba(4,6,5,.78))!important;
}
.settingsFrame.rpgLedger,.setupFrame{
  width:min(600px,96%)!important;
  background:
    repeating-linear-gradient(90deg,rgba(255,236,196,.07) 0 3px,transparent 3px 12px),
    linear-gradient(180deg,#524336 0%,#342a22 48%,#141210 100%)!important;
}
.settingsTop,.setupFrame>header{
  padding-bottom:10px!important;margin-bottom:4px!important;
  border-bottom:1px solid rgba(232,202,118,.2)!important;
}
.settingsNow{
  padding:10px 12px!important;margin-bottom:10px!important;
  border:2px solid rgba(232,202,118,.28)!important;
  background:
    linear-gradient(180deg,rgba(20,16,12,.75),rgba(10,8,6,.85)),
    repeating-linear-gradient(90deg,rgba(232,202,118,.04) 0 2px,transparent 2px 8px)!important;
  box-shadow:inset 0 1px 0 rgba(255,244,214,.1),inset 0 0 0 1px rgba(141,110,72,.2),0 3px 0 #1a140f!important;
}
.settingsNow .eq b{background:#e8ca76!important;box-shadow:0 0 6px rgba(232,202,118,.45)!important}
.settingsTabs,.setupPicks{
  gap:5px!important;padding:6px!important;margin-bottom:10px!important;
  border:2px solid rgba(232,202,118,.16)!important;
  background:linear-gradient(180deg,#12100e,#0a0908)!important;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.35)!important;
}
.settingsTab.on,.setupPicks button.on,.langOpt.on{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg,#a08050,#705030)!important;
  box-shadow:inset 0 0 0 2px #fff4c8,inset 0 2px 0 rgba(255,244,214,.2),0 4px 0 #1a140f,0 0 14px rgba(232,202,118,.28)!important;
}
.settingsBody,.setupBody{
  padding:8px 4px!important;
  border:2px solid rgba(232,202,118,.12)!important;
  background:linear-gradient(180deg,rgba(8,6,5,.55),rgba(4,3,2,.65))!important;
  box-shadow:inset 0 3px 12px rgba(0,0,0,.4)!important;
}
.setSection{
  padding:10px 12px!important;margin-bottom:8px!important;
  border:2px solid rgba(232,202,118,.14)!important;
  background:linear-gradient(180deg,rgba(16,14,11,.6),rgba(8,6,5,.7))!important;
  box-shadow:inset 0 1px 0 rgba(255,244,214,.06),0 3px 0 #1a140f!important;
}
.setRow,.setupField{
  padding:8px 10px!important;margin-bottom:6px!important;
  border:1px solid rgba(232,202,118,.18)!important;
}
.settingsFoot,.setupFrame .settingsFoot{
  padding-top:12px!important;margin-top:8px!important;
  border-top:2px solid rgba(232,202,118,.2)!important;
}
#settingsDone,#setupStart{font-size:9px!important;padding:12px 16px!important}

/* ===== MODAL CARICA MONDO ===== */
#modal{
  background:radial-gradient(ellipse at 50% 35%,rgba(232,202,118,.1),rgba(4,6,5,.82))!important;
  backdrop-filter:blur(6px)!important;
}
#modal .modalBox.rpgLedger{
  width:min(520px,94%)!important;padding:18px 20px 16px!important;
  animation:lgPanelIn .45s var(--lg-ease) both!important;
  background:
    repeating-linear-gradient(90deg,rgba(255,236,196,.07) 0 3px,transparent 3px 12px),
    linear-gradient(180deg,#524336 0%,#342a22 48%,#141210 100%)!important;
}
.modalBrand,.modalTitle{padding-bottom:4px!important}
.modalBrand img,.modalBrand .brandLogo{width:42px!important;height:42px!important}
.slotList{
  gap:7px!important;padding:8px 4px 12px!important;
  max-height:min(340px,48vh)!important;
  border:2px solid rgba(232,202,118,.14)!important;
  background:linear-gradient(180deg,rgba(8,6,5,.55),rgba(4,3,2,.65))!important;
  box-shadow:inset 0 3px 12px rgba(0,0,0,.4)!important;
}
.slotRow{
  padding:10px 12px!important;min-height:48px!important;
  background:linear-gradient(180deg,#4a3d32,#2e241e)!important;
  box-shadow:inset 0 0 0 1px rgba(206,168,110,.35),0 4px 0 #1a140f!important;
}
.slotRow:hover{
  border-color:#e8ca76!important;
  box-shadow:inset 0 0 0 1px #fff4c8,0 5px 0 #1a140f,0 0 16px rgba(232,202,118,.25)!important;
}
.slotRow.empty{opacity:.55!important;filter:saturate(.7)!important}
.modalRow input,.setupField input{
  font-family:var(--lg-font-body)!important;font-size:var(--lg-fs-body-md)!important;
}
#modal .secondaryBtn,#modal .btn.secondaryBtn{
  width:100%;margin-top:8px;font-size:9px!important;padding:11px!important;
}

/* ===== CASSA (SCRIGNO) — 6 slot, tema unificato ===== */
#chestOverlay .inventoryWindow.rpgChest{
  width:min(420px,94%)!important;
  background:
    repeating-linear-gradient(90deg,rgba(255,200,120,.06) 0 3px,transparent 3px 12px),
    linear-gradient(180deg,#5a4638 0%,#3a2e24 48%,#1a1612 100%)!important;
  border:3px solid #1e1612!important;
  box-shadow:
    0 0 0 1px #c49050,
    0 0 0 4px #1e1612,
    0 0 0 5px rgba(232,180,100,.35),
    inset 0 2px 0 rgba(255,244,214,.22),
    0 32px 80px rgba(0,0,0,.72)!important;
}
#chestOverlay .inventoryWindow.rpgChest::before{
  background:
    radial-gradient(circle at 38% 10%,rgba(255,200,100,.18),transparent 44%),
    radial-gradient(circle at 82% 88%,rgba(168,120,72,.1),transparent 38%)!important;
}
#chestOverlay .chestGrid{
  grid-template-columns:repeat(3,1fr)!important;gap:8px!important;
  padding:10px!important;
  border:3px solid rgba(232,180,100,.28)!important;
  background:linear-gradient(180deg,#0e0c0a,#080706)!important;
  box-shadow:inset 0 4px 16px rgba(0,0,0,.55),inset 0 0 0 1px rgba(232,202,118,.08)!important;
}
#chestOverlay .invSlot{
  min-height:58px!important;
  background:linear-gradient(145deg,#5a4838,#302420)!important;
  box-shadow:inset 0 0 0 1px rgba(204,164,105,.45),inset 0 2px 0 rgba(255,239,194,.08),0 3px 0 #1a140f!important;
}
#chestOverlay .invSlot:hover{
  border-color:#e8b860!important;
  box-shadow:inset 0 0 0 1px #fff4c8,0 0 12px rgba(232,180,100,.25),0 4px 0 #1a140f!important;
}
#chestOverlay .rpgInvFooter{font-size:var(--lg-fs-body-sm)!important;letter-spacing:.3px!important}

/* ===== BANCO DA LAVORO — reskin perfetto ===== */
#benchOverlay .inventoryWindow.rpgBench{
  width:min(480px,94%)!important;
  background:
    repeating-linear-gradient(90deg,rgba(180,220,140,.06) 0 3px,transparent 3px 12px),
    linear-gradient(180deg,#4a5240 0%,#2e3428 48%,#141812 100%)!important;
  border:3px solid #1e1612!important;
  box-shadow:
    0 0 0 1px #7a9a68,
    0 0 0 4px #1e1612,
    0 0 0 5px rgba(140,180,110,.35),
    inset 0 2px 0 rgba(255,244,214,.2),
    0 32px 80px rgba(0,0,0,.72)!important;
}
#benchOverlay .inventoryWindow.rpgBench::before{
  background:
    radial-gradient(circle at 38% 10%,rgba(180,220,140,.16),transparent 44%),
    radial-gradient(circle at 82% 88%,rgba(90,140,80,.1),transparent 38%)!important;
}
#benchOverlay .benchGrid{
  gap:7px!important;padding:10px!important;
  border:3px solid rgba(140,180,110,.25)!important;
  background:linear-gradient(180deg,#0e100c,#080a08)!important;
  box-shadow:inset 0 4px 16px rgba(0,0,0,.55)!important;
}
#benchOverlay .benchRecipe{
  grid-template-columns:52px 1fr auto!important;
  gap:10px!important;padding:8px 10px!important;
  background:linear-gradient(180deg,#3a4034,#262a22)!important;
  border:2px solid #1e1612!important;
  box-shadow:inset 0 1px 0 rgba(255,244,214,.08),inset 0 0 0 1px rgba(140,180,110,.25),0 4px 0 #1a140f!important;
}
#benchOverlay .benchRecipe:not(:disabled):hover{
  border-color:#b8d4a8!important;
  box-shadow:inset 0 0 0 1px #d8f0c8,0 5px 0 #1a140f,0 0 14px rgba(140,180,110,.22)!important;
}
#benchOverlay .benchRecipe.ok{
  border-color:#5a8a48!important;
  background:linear-gradient(180deg,#3a4834,#283028)!important;
  box-shadow:inset 0 0 0 1px #8ac878,inset 0 0 12px rgba(106,138,88,.12),0 4px 0 #1a140f!important;
}
#benchOverlay .benchIcon{
  width:52px!important;height:52px!important;
  border:2px solid rgba(140,180,110,.35)!important;
  background:linear-gradient(180deg,#1a2018,#101410)!important;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.4),0 2px 0 #1a140f!important;
}
#benchOverlay .benchRecipe b{font-size:var(--lg-fs-btn)!important;line-height:1.55!important;color:#e8f0d8!important}
#benchOverlay .benchRecipe span,#benchOverlay .benchMeta i,#benchOverlay .benchMeta span{
  font-family:var(--lg-font-body)!important;font-size:var(--lg-fs-body-sm)!important;color:#a8c898!important;line-height:1.3!important;
}
#benchOverlay .benchMake{font-size:var(--lg-fs-micro)!important;letter-spacing:.5px!important}

/* ===== FORNACE — fiamma pixel perfetta + cottura ===== */
#furnaceOverlay .inventoryWindow.rpgFurnace{
  background:
    repeating-linear-gradient(90deg,rgba(255,160,80,.06) 0 3px,transparent 3px 12px),
    linear-gradient(180deg,#5a4030 0%,#3a2820 48%,#181210 100%)!important;
}
#furnaceOverlay .furnaceForge{
  padding:12px 10px!important;
  border:3px solid rgba(200,100,40,.3)!important;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(80,30,10,.45),transparent 60%),
    linear-gradient(180deg,rgba(24,16,12,.75),rgba(10,8,6,.85))!important;
  box-shadow:inset 0 4px 20px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,220,160,.06)!important;
}
#furnaceOverlay.is-lit .furnaceForge{
  border-color:rgba(255,120,40,.45)!important;
  box-shadow:inset 0 0 36px rgba(255,100,30,.18),inset 0 0 60px rgba(255,60,20,.08),inset 0 1px 0 rgba(255,220,160,.1)!important;
  animation:furnaceForgeGlow 1.6s ease-in-out infinite alternate!important;
}
.furnaceFlameWrap{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  width:40px;height:52px;
}
.furnaceCoals{
  position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:34px;height:8px;
  background:
    linear-gradient(180deg,#3a2018 0%,#2a1810 100%);
  border:2px solid #1e1612;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.5),0 2px 0 #1a140f;
  border-radius:2px 2px 0 0;
}
#furnaceOverlay.is-lit .furnaceCoals{
  background:linear-gradient(180deg,#6a2818 0%,#3a1810 100%);
  box-shadow:inset 0 0 8px rgba(255,80,30,.35),0 0 10px rgba(255,60,20,.2),0 2px 0 #1a140f;
}
.furnaceFlame{
  position:relative;z-index:2;
  width:32px!important;height:44px!important;
  background:none!important;border-radius:0!important;box-shadow:none!important;
  opacity:.22!important;filter:grayscale(.85) brightness(.7)!important;
  transform:scale(.92);transform-origin:50% 100%;
  transition:opacity .4s ease,filter .4s ease,transform .4s ease;
}
.furnaceFlameSvg{
  width:32px;height:44px;display:block;
  image-rendering:pixelated;
}
#furnaceOverlay.is-lit .furnaceFlame{
  opacity:1!important;filter:none!important;
  animation:furnaceFlameDance .45s ease-in-out infinite alternate!important;
}
@keyframes furnaceFlameDance{
  from{transform:scale(.94,.88) translateX(-1px)}
  to{transform:scale(1.02,1.06) translateX(1px)}
}
.furnaceHeatGlow{
  position:absolute;bottom:4px;left:50%;transform:translateX(-50%);
  width:48px;height:48px;pointer-events:none;z-index:1;
  background:radial-gradient(circle,rgba(255,120,40,.35),transparent 70%);
  opacity:0;transition:opacity .4s ease;
}
#furnaceOverlay.is-lit .furnaceHeatGlow{
  opacity:1;
  animation:heatPulse 1.2s ease-in-out infinite alternate;
}
@keyframes heatPulse{from{opacity:.6;transform:translateX(-50%) scale(.92)}to{opacity:1;transform:translateX(-50%) scale(1.08)}}
.furnaceBar{
  width:56px!important;height:10px!important;
  border:2px solid #8d6e48!important;
  background:#120e0c!important;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.55)!important;
  overflow:hidden!important;position:relative!important;
}
.furnaceBar i#furnaceCookFill{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,#8a4020,#e87828 40%,#ffe878 85%,#fff8c0)!important;
  box-shadow:0 0 8px rgba(255,140,40,.45)!important;
  transition:width .15s linear!important;
  position:relative;z-index:1;
}
#furnaceOverlay.is-lit .furnaceBar i#furnaceCookFill{
  box-shadow:0 0 12px rgba(255,140,40,.65),inset 0 0 6px rgba(255,220,120,.35)!important;
  animation:cookBarShimmer 1.4s ease-in-out infinite!important;
}
@keyframes cookBarShimmer{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.18)}
}
.furnaceBar::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 40%);
}
#furnaceOverlay .furnaceLabel{
  font-size:var(--lg-fs-body-sm)!important;font-family:var(--lg-font-body)!important;
  color:#f0c898!important;letter-spacing:.8px!important;text-transform:uppercase;
}
#furnaceOverlay .furnaceHint{font-size:var(--lg-fs-body-xs)!important;color:#cbb892!important}

@media (max-width:900px){
  #heroAtelier .heroCat{min-height:48px!important}
  #heroAtelier .heroCatIconBox{width:26px!important;height:26px!important}
  #heroAtelier .heroCatSvg{width:18px!important;height:18px!important}
  #heroAtelier .heroOptions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
#app.reduce-motion #furnaceOverlay.is-lit .furnaceFlame,
#app.reduce-motion #furnaceOverlay.is-lit .furnaceHeatGlow,
#app.reduce-motion #furnaceOverlay.is-lit .furnaceForge,
#app.reduce-motion #furnaceOverlay.is-lit .furnaceBar i#furnaceCookFill{
  animation:none!important;
}

/* ===================================================================
   LG MENU V5 — TIPOGRAFIA FINALE (bilanciata su ogni menu)
   =================================================================== */

/* --- titoli (Press Start 2P) --- */
.eyebrow,
#menu .eyebrow,
#inventoryOverlay .eyebrow,
#chestOverlay .eyebrow,
#benchOverlay .eyebrow,
#furnaceOverlay .eyebrow,
#settingsOverlay .eyebrow,
#worldSetup .eyebrow,
#modal .eyebrow,
#heroAtelier .heroEyebrow,
.pauseEyebrow{
  font-family:var(--lg-font-ui)!important;
  font-size:var(--lg-fs-eyebrow)!important;
  letter-spacing:2px!important;
  line-height:1.5!important;
  color:#e8ca76!important;
}
.inventoryTop h2,.settingsTitle h2,.modalBrand h2,.modalTitle h2,.pauseTitle,.heroPreviewPane h2,
#inventoryOverlay .inventoryTop h2,#chestOverlay .inventoryTop h2,#benchOverlay .inventoryTop h2,
#furnaceOverlay .inventoryTop h2,#heroAtelier .heroPreviewPane h2,#buildUI.rpgBuild h2,#buildUI.rpgBuild .rpgBuildHead h2,
.setupFrame h2,#pauseSidebar .pauseTitle{
  font-family:var(--lg-font-ui)!important;
  font-size:var(--lg-fs-title)!important;
  line-height:1.65!important;
  letter-spacing:1.8px!important;
  color:#fff4d2!important;
  text-shadow:2px 2px #0a0806,0 0 14px rgba(232,202,118,.25)!important;
}

/* --- pulsanti UI (Press Start 2P) --- */
.menuCard button,.menuCard .menuCta,#pauseSidebar button,
.settingsTab,.setupPicks button,.langOpt,.settingsFoot button,.setupFrame .settingsFoot button,
#modal .btn,.slotRow,.heroReady,.heroGhost,.heroIconBtn,#heroAtelier .heroSex button,
#buildUI.rpgBuild .rpgBuildTab,#buildUI.rpgBuild .rpgBuildFilter,#settingsDone,#setupStart{
  font-family:var(--lg-font-ui)!important;
  line-height:1.55!important;
}
.menuCard button,#pauseSidebar button,.settingsTab,.setupPicks button,.langOpt,.slotRow,.heroGhost,.heroIconBtn{
  font-size:var(--lg-fs-btn)!important;
}
.menuCard .menuCta,#settingsDone,#setupStart,.heroReady,.slotRow.menuCta{
  font-size:var(--lg-fs-cta)!important;
}
.menuBanner span{font-size:clamp(6.5px,1.55vw,var(--lg-fs-eyebrow))!important;letter-spacing:clamp(.35px,.28vw,1.6px)!important;white-space:nowrap!important}
.menuFeatures span{font-size:var(--lg-fs-micro)!important;letter-spacing:.8px!important}
.setSection h3,.setupField span{
  font-family:var(--lg-font-ui)!important;
  font-size:var(--lg-fs-btn)!important;
  letter-spacing:1.2px!important;
}
.slotMeta b{font-family:var(--lg-font-ui)!important;font-size:var(--lg-fs-btn)!important;line-height:1.55!important}
#heroAtelier .heroCard b{
  font-family:var(--lg-font-ui)!important;
  font-size:var(--lg-fs-micro)!important;
  line-height:1.45!important;
}

/* --- testi descrittivi (VT323) --- */
.inventoryTop .inventorySub,.inventoryTop .invSub,.inventoryTop p,
.modalLead,.setupHint,.settingsNow span,.settingsNow b,.heroLookName,.heroHint,
#heroAtelier .heroCoins,#heroAtelier .heroCard>span,.slotMeta span,.setRow label,.setRow span,
.invWeight span,.invWeight b,#menuMsg{
  font-family:var(--lg-font-body)!important;
  line-height:1.35!important;
  letter-spacing:.3px!important;
}
.inventoryTop .inventorySub,.inventoryTop .invSub,.inventoryTop p,.modalLead,.setupHint,.heroLookName,.heroHint{
  font-size:var(--lg-fs-body-sm)!important;
  color:#b8a888!important;
}
.setRow label,.setRow b,.settingsNow b,.invWeight b,.slotMeta span{
  font-size:var(--lg-fs-body-md)!important;
}
.settingsNow span,.invWeight span,#heroAtelier .heroCoins,#heroAtelier .heroCard>span{
  font-size:var(--lg-fs-body-sm)!important;
}
#menuMsg{font-size:var(--lg-fs-body-sm)!important;color:#e6c97a!important}

/* --- inventario / cassa / banco / fornace --- */
#inventoryOverlay .rpgInvFooter,#chestOverlay .rpgInvFooter,#benchOverlay .rpgInvFooter,#furnaceOverlay .rpgInvFooter{
  font-family:var(--lg-font-body)!important;
  font-size:var(--lg-fs-body-xs)!important;
  letter-spacing:.3px!important;
  line-height:1.35!important;
  color:#b8a888!important;
}
#benchOverlay .inventorySub,#furnaceOverlay .inventorySub,#chestOverlay .inventorySub{
  font-size:var(--lg-fs-body-sm)!important;
  line-height:1.35!important;
}
#benchOverlay .benchMeta b{
  font-family:var(--lg-font-ui)!important;
  font-size:var(--lg-fs-btn)!important;
  line-height:1.55!important;
  letter-spacing:.4px!important;
}
.furnaceQtyCard p,.heroBuyCard p{
  font-family:var(--lg-font-body)!important;
  font-size:var(--lg-fs-body-md)!important;
  line-height:1.4!important;
}

/* --- pausa --- */
.pauseStat span{
  font-family:var(--lg-font-ui)!important;
  font-size:var(--lg-fs-micro)!important;
  letter-spacing:1px!important;
}
.pauseStat strong{
  font-family:var(--lg-font-body)!important;
  font-size:var(--lg-fs-body-md)!important;
  letter-spacing:.5px!important;
}
.pauseHint,.pauseTrack{
  font-family:var(--lg-font-body)!important;
  font-size:var(--lg-fs-body-xs)!important;
}

/* --- costruzione: VT323 16–20px, niente Press Start a 7–8px --- */
#buildUI.rpgBuild{
  image-rendering:auto!important;
  width:min(380px,42vw)!important;
  font-family:var(--lg-font-body)!important;
  font-size:var(--lg-fs-body)!important;
}
#buildUI.rpgBuild .rpgBuildThumb,
#buildUI.rpgBuild #buildPreview{image-rendering:pixelated!important}
#buildUI.rpgBuild .eyebrow{
  font-family:var(--lg-font-ui)!important;
  font-size:8px!important;
  letter-spacing:1.6px!important;
}
#buildUI.rpgBuild h2,#buildUI.rpgBuild .rpgBuildHead h2{
  font-family:var(--lg-font-ui)!important;
  font-size:16px!important;
  line-height:1.45!important;
  letter-spacing:1px!important;
}
#buildUI.rpgBuild .rpgBuildTab,
#buildUI.rpgBuild .rpgBuildFilter,
#buildUI.rpgBuild .rpgBuildSkin{
  font-family:var(--lg-font-body)!important;
  font-size:16px!important;
  font-weight:700!important;
  letter-spacing:.4px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  padding:8px 6px!important;
}
#buildUI.rpgBuild .rpgBuildSkin{font-size:15px!important;padding:7px 2px!important;letter-spacing:.2px!important}
#buildUI.rpgBuild .rpgBuildDir{
  width:22px!important;height:22px!important;
  font-family:var(--lg-font-body)!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
#buildUI.rpgBuild .rpgBuildCompass{
  grid-template-columns:repeat(3,22px)!important;
  grid-template-rows:repeat(3,22px)!important;
  gap:3px!important;
}
#buildUI.rpgBuild .rpgBuildStageHead b{
  font-family:var(--lg-font-body)!important;
  font-size:20px!important;
  letter-spacing:.3px!important;
  line-height:1.2!important;
}
#buildUI.rpgBuild #buildRotLabel{
  font-family:var(--lg-font-body)!important;
  font-size:14px!important;
  letter-spacing:.6px!important;
  padding:2px 8px!important;
}
#buildUI.rpgBuild #buildSelHint{
  font-family:var(--lg-font-body)!important;
  font-size:16px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
  max-height:none!important;
}
#buildUI.rpgBuild .rpgBuildNeed,
#buildUI.rpgBuild .rpgCostChip,
#buildUI.rpgBuild .rpgBuildCard span{
  font-family:var(--lg-font-body)!important;
  font-size:16px!important;
  letter-spacing:.2px!important;
}
#buildUI.rpgBuild .rpgCostChip i{font-size:14px!important}
#buildUI.rpgBuild .rpgBuildCard{
  min-height:84px!important;
  align-items:flex-start!important;
}
#buildUI.rpgBuild .rpgBuildCard b{
  font-family:var(--lg-font-body)!important;
  font-size:18px!important;
  font-weight:700!important;
  letter-spacing:.2px!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
}
#buildUI.rpgBuild .rpgBuildFooter{
  font-family:var(--lg-font-body)!important;
  font-size:15px!important;
  letter-spacing:.3px!important;
  line-height:1.3!important;
  color:#eadab7!important;
}
#buildUI.rpgBuild .rpgBuildGrid{grid-auto-rows:minmax(84px,auto)!important}
@media(max-width:900px){
  #buildUI.rpgBuild{width:min(340px,58vw)!important}
}
html.is-phone.is-landscape #buildUI.rpgBuild{
  width:min(320px,52vw)!important;
}

/* altre etichette pixel troppo piccole */
#heroAtelier .heroCatLbl{font-size:8px!important}
#heroAtelier .heroCard b{font-size:8px!important}
#benchOverlay .benchRecipe b{font-size:16px!important;font-family:var(--lg-font-body)!important}
.menuBanner span{font-size:clamp(8px,1.6vw,8px)!important}

/* ===== GUEST CONVERT (SAVE YOUR WORLD) ===== */
#lgGuestDock{
  position:absolute;inset:0;z-index:240;pointer-events:none;
  display:flex;align-items:flex-end;justify-content:flex-end;
  padding:18px 18px 22px;
}
#lgGuestDock.hidden{display:none!important}
#lgGuestDock .lgGuestCard{
  pointer-events:auto;
  width:min(320px,92vw);
  padding:16px 18px 14px;
  position:relative;
  animation:lgSlideIn .42s var(--lg-ease) both;
}
#lgGuestDock .lgGuestCard > *:not(.rpgCorner){position:relative;z-index:3}
#lgGuestDock .lgGuestCard h2{
  margin:6px 0 8px;
  font-family:var(--lg-font-ui);
  font-size:var(--lg-fs-title);
  line-height:1.45;
  letter-spacing:1.5px;
  color:var(--lg-gold-hi);
  text-shadow:2px 2px #171310;
}
#lgGuestDock .lgGuestTemp,#lgGuestDock .lgGuestKeep{
  margin:0 0 10px;
  font-family:var(--lg-font-body);
  font-size:18px;
  line-height:1.35;
  color:#eadab7;
}
#lgGuestDock .lgGuestKeep{color:#fff4d2}
#lgGuestDock .lgGuestCard button{
  width:100%;
  margin-top:8px;
}
.pauseStatGuest strong{color:var(--lg-gold)!important;font-weight:400}
html.is-phone #lgGuestDock{
  align-items:stretch;justify-content:center;
  padding:10px;
}
html.is-phone #lgGuestDock .lgGuestCard{
  width:min(420px,96vw);
  align-self:flex-end;
}
#app.reduce-motion #lgGuestDock .lgGuestCard{animation:none}


