/* Nemesy RPG — tema Dark Fantasy Premium (só aparência; não altera lógica).
   Carregado depois do <style> do index.html. Para voltar ao visual antigo,
   remove a linha <link rel="stylesheet" href="./nemesy-theme.css"> do index.html. */
:root{
  --bg-void:#0A0B0B; --bg-panel:#15120F; --bg-raised:#1D1814; --bg-raised-2:#262019;
  --line:#4A3A22; --line-soft:#2B2217; --parchment:#EADFC4; --muted:#B0A284; --dim:#7F7157;
  --bronze:#8A6A2F; --brass:#B08D3E; --silver:#B9BEC4; --steel:#3A3F45;
  --blood:#8E2F2F; --blood-bright:#C95A5A; --arcane:#3F7F9C; --arcane-bright:#6DB3D4;
  --success:#6E9A58;
  --font-display:'Cinzel','Trajan Pro',Georgia,serif;
  --t-stone:
    repeating-linear-gradient(45deg, rgba(255,255,255,.012) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(-45deg, rgba(0,0,0,.18) 0 2px, transparent 2px 6px);
  --t-metal:linear-gradient(180deg, #34291A 0%, #1B150E 52%, #261D12 100%);
  --t-gold:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 55%, #7A5C14 100%);
  --frame:1px solid var(--bronze);
  --glow:0 0 10px rgba(228,191,74,.22);
  --depth:0 3px 10px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05), inset 0 0 0 1px rgba(0,0,0,.6);
  --focus:0 0 0 2px var(--bg-void), 0 0 0 4px var(--gold-bright);
}
html,body{background:#040506;}
#app{
  background:
    radial-gradient(ellipse 120% 55% at 50% -8%, rgba(201,162,39,.11), transparent 62%),
    radial-gradient(ellipse 90% 40% at 50% 112%, rgba(142,47,47,.10), transparent 70%),
    var(--t-stone), var(--bg-void);
  box-shadow:0 0 0 1px var(--line-soft), 0 0 40px rgba(0,0,0,.8);
}
h1,h2,h3,h4{text-shadow:0 1px 0 #000, 0 0 12px rgba(201,162,39,.12); letter-spacing:.04em;}
.num,.stat-box .v,.sb-gold,.bar-num,.sb-lvl{font-variant-numeric:tabular-nums;}

/* Títulos de secção com filetes ornamentados */
.section-title{letter-spacing:.08em; text-transform:uppercase; font-size:13.5px; text-shadow:0 1px 0 #000;}
.section-title::after{content:""; flex:1; height:1px; background:linear-gradient(90deg, var(--bronze), transparent);}

/* Painéis e cartões com moldura e cantos trabalhados */
.card,.region-card,.player-panel,.item-row,.class-card,.stat-box,.account-panel,.combat-log,.event-banner{
  position:relative; background:var(--t-stone), var(--bg-panel);
  border:var(--frame); border-radius:6px; box-shadow:var(--depth);
}
.card.raised,.player-panel,.item-row,.class-card.selected{background:var(--t-stone), var(--bg-raised);}
.card::before,.region-card::before,.player-panel::before,.item-row::before,.class-card::before,.account-panel::before{
  content:""; position:absolute; inset:3px; pointer-events:none; border-radius:3px;
  border:1px solid rgba(176,141,62,.22);
  background:
    linear-gradient(var(--gold), var(--gold)) top left/9px 1px no-repeat,
    linear-gradient(var(--gold), var(--gold)) top left/1px 9px no-repeat,
    linear-gradient(var(--gold), var(--gold)) top right/9px 1px no-repeat,
    linear-gradient(var(--gold), var(--gold)) top right/1px 9px no-repeat,
    linear-gradient(var(--gold), var(--gold)) bottom left/9px 1px no-repeat,
    linear-gradient(var(--gold), var(--gold)) bottom left/1px 9px no-repeat,
    linear-gradient(var(--gold), var(--gold)) bottom right/9px 1px no-repeat,
    linear-gradient(var(--gold), var(--gold)) bottom right/1px 9px no-repeat;
}
.card,.item-row,.class-card,.player-panel{overflow:hidden;}
.item-row{margin-bottom:8px; transition:border-color .15s, box-shadow .15s;}
.item-row:hover,.class-card:hover,.region-card:hover{border-color:var(--brass);}
.class-card.selected,.region-card.current{border-color:var(--gold-bright); box-shadow:var(--depth), var(--glow);}
.region-card.locked{opacity:.5; filter:grayscale(.6);}
.item-ic,.class-glyph,.region-glyph,.enemy-glyph{
  background:radial-gradient(circle at 35% 30%, #3A2E1C, #120E09 75%);
  border:1px solid var(--bronze); border-radius:6px; box-shadow:inset 0 0 8px rgba(0,0,0,.8);
}
.item-name{font-family:var(--font-display); letter-spacing:.02em;}

/* Botões metálicos */
.btn{
  background:var(--t-metal); border:1px solid var(--bronze); color:var(--parchment); border-radius:6px;
  font-family:var(--font-display); font-weight:700; letter-spacing:.05em;
  box-shadow:0 2px 4px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.5);
  text-shadow:0 1px 0 rgba(0,0,0,.7); transition:filter .15s, transform .08s, box-shadow .15s;
}
.btn:hover{filter:brightness(1.12);}
.btn:active{transform:translateY(1px) scale(.98); box-shadow:inset 0 2px 5px rgba(0,0,0,.7);}
.btn.primary{background:var(--t-gold); color:#1A1206; border-color:#E4BF4A; text-shadow:0 1px 0 rgba(255,235,170,.5);}
.btn.danger{background:linear-gradient(180deg, #B24545, #8E2F2F 55%, #5E1C1C); color:#FBE9E4; border-color:#C95A5A;}
.btn.ghost{background:rgba(0,0,0,.25); border-color:var(--line); color:var(--muted);}
.btn:disabled{opacity:.4; filter:grayscale(.5);}
.btn.small{min-height:34px;}
.btn:not(.small){min-height:44px;}
:is(.btn,.nav-btn,.tab-chip,.ab-btn,.item-row,.class-card,.sb-mute):focus-visible,
:is(input,select,textarea):focus-visible{outline:none; box-shadow:var(--focus);}

/* Navegação inferior e separadores */
.nav-btn{background:var(--t-metal); font-family:var(--font-display); letter-spacing:.04em; border-top:2px solid transparent;}
.nav-row + .nav-row{border-top:1px solid var(--bronze);}
.nav-btn.active{background:linear-gradient(180deg, rgba(228,191,74,.18), rgba(0,0,0,0) 80%), var(--t-metal); border-top-color:var(--gold-bright); text-shadow:0 0 8px rgba(228,191,74,.45);}
.tab-chip{background:var(--t-metal); border:1px solid var(--bronze); border-radius:5px; font-family:var(--font-display); letter-spacing:.04em;}
.tab-chip.active{background:var(--t-gold); color:#1A1206; border-color:var(--gold-bright); box-shadow:var(--glow);}
.pill{background:#0E0B08; border:1px solid var(--bronze); border-radius:4px; color:var(--silver);}

/* Barra de estado (topo) */
.sb-portrait{border:2px solid var(--brass); box-shadow:0 0 0 1px #000, var(--glow); background:radial-gradient(circle at 35% 30%, #3A2E1C, #120E09);}
.sb-gold,.sb-mute{background:linear-gradient(180deg,#1A140D,#0C0906); border:1px solid var(--bronze); border-radius:6px; box-shadow:inset 0 0 6px rgba(0,0,0,.8);}
.sb-name{letter-spacing:.04em; text-shadow:0 1px 0 #000;}

/* Barras de recursos */
.bar{background:#070504; border:1px solid #000; outline:1px solid var(--bronze); outline-offset:0; border-radius:3px; box-shadow:inset 0 2px 4px rgba(0,0,0,.9);}
.bar-fill{border-radius:2px; box-shadow:inset 0 1px 0 rgba(255,255,255,.28), inset 0 -2px 3px rgba(0,0,0,.35);}
.bar-hp .bar-fill{background:linear-gradient(180deg, #E0605A, #B03030 55%, #741A1A);}
.bar-xp .bar-fill{background:linear-gradient(180deg, #8FD0E8, #3F7F9C 55%, #25536B);}
.bar-lg{border-radius:4px;}

/* Combate */
.player-panel{border-left:3px solid var(--success);}
.enemy-name{font-family:var(--font-display); letter-spacing:.05em; text-shadow:0 1px 0 #000;}
.enemy-row .enemy-glyph{border-color:var(--blood); box-shadow:inset 0 0 10px rgba(142,47,47,.5);}
.combat-log{background:var(--t-stone), #0F0C09;}
.log-line{border-left-width:3px;}
.log-line.hit{background:linear-gradient(90deg, rgba(142,47,47,.14), transparent);}
.log-line.good{background:linear-gradient(90deg, rgba(63,127,156,.14), transparent);}
.log-line.crit{background:linear-gradient(90deg, rgba(201,162,39,.16), transparent);}
.ab-btn{background:var(--t-metal); border:1px solid var(--bronze); border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.1); min-height:62px;}
.ab-btn.mastered{border-color:var(--gold-bright); box-shadow:var(--glow), inset 0 1px 0 rgba(255,255,255,.12);}
.ab-btn:not(:disabled):hover{filter:brightness(1.12);}
.combat-bottom,.combat-top{background:var(--t-stone), var(--bg-panel); border-color:var(--bronze);}

/* Equipamento e atributos */
.equip-slot{background:radial-gradient(circle at 50% 35%, #231B11, #0D0A07 80%); border:1px dashed var(--line); border-radius:6px; box-shadow:inset 0 0 8px rgba(0,0,0,.8);}
.equip-slot.filled{border:1px solid var(--brass); border-style:solid; background:radial-gradient(circle at 50% 35%, #33270F, #130E07 80%); box-shadow:inset 0 0 8px rgba(0,0,0,.7), var(--glow);}
.stat-box{background:var(--t-stone), #0F0C09;}
.stat-box .v{color:var(--gold-bright); text-shadow:0 1px 0 #000;}
.stat-box .k{color:var(--muted); letter-spacing:.04em;}
.upgrade-badge{border:1px solid var(--bronze);}
.region-title,.region-lv{font-family:var(--font-display);}

/* Janelas, avisos e formulários */
.modal-overlay{background:rgba(3,2,1,.78);}
.modal-sheet{background:var(--t-stone), var(--bg-panel); border:1px solid var(--brass); border-bottom:none; border-radius:12px 12px 0 0; box-shadow:0 -6px 24px rgba(0,0,0,.7), inset 0 1px 0 rgba(228,191,74,.25);}
.modal-handle{background:var(--bronze);}
.toast{background:linear-gradient(180deg,#241B10,#120D07); border:1px solid var(--brass); border-radius:6px; color:var(--gold-bright); font-family:var(--font-display); letter-spacing:.03em;}
.name-input,.account-field input,input[type=number],input[type=text],input[type=email],input[type=password]{
  background:#0A0806; border:1px solid var(--bronze); border-radius:5px; color:var(--parchment); box-shadow:inset 0 2px 5px rgba(0,0,0,.8);}
.divider{background:linear-gradient(90deg, transparent, var(--bronze), transparent);}

/* Ecrãs grandes: moldura central mais rica */
@media (min-width:700px){
  #app{border-left:1px solid var(--bronze); border-right:1px solid var(--bronze);}
  .ab-btn{min-height:70px;}
}
/* Telemóveis estreitos: evita cortes */
@media (max-width:380px){
  .btn{letter-spacing:.02em;} .nav-btn{font-size:10px;} .section-title{font-size:12.5px;}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important; animation-duration:.01ms !important;}}

/* ===== v2 — inspirado na ficha de personagem de referência ===== */
/* Filigrana nos cantos (SVG embutido, sem imagens externas) */
:root{
  --orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23C9A227' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M2 38V12C2 6 6 2 12 2h26'/%3E%3Cpath d='M7 30V14c0-4 3-7 7-7h16' opacity='.6'/%3E%3Cpath d='M12 12c4 0 6 3 4 6s-6 2-6-1' /%3E%3Ccircle cx='3' cy='3' r='1.6' fill='%23E4BF4A'/%3E%3C/svg%3E");}
.hero-sheet,.hero-portrait,.hero-vitals{position:relative;}
.hero-sheet::before,.hero-sheet::after,.hero-vitals::before,.hero-vitals::after{
  content:""; position:absolute; width:30px; height:30px; pointer-events:none;
  background:var(--orn) center/contain no-repeat; opacity:.9;}
.hero-sheet::before{top:2px; left:2px;}
.hero-sheet::after{bottom:2px; right:2px; transform:rotate(180deg);}
.hero-vitals::before{top:2px; right:2px; transform:scaleX(-1);}
.hero-vitals::after{bottom:2px; left:2px; transform:scaleY(-1);}

.hero-sheet{
  margin:4px 0 14px; padding:12px 12px 12px; border:2px solid var(--bronze); border-radius:8px;
  background:var(--t-stone), radial-gradient(ellipse at 50% 0%, #1D1A12, #0C0C0B 70%);
  box-shadow:0 0 0 1px #000, var(--depth), inset 0 0 28px rgba(0,0,0,.7);}
.hero-plate{
  font-family:var(--font-display); font-size:20px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  text-align:center; color:var(--gold-bright); padding:4px 30px 10px; text-shadow:0 1px 0 #000, 0 0 14px rgba(228,191,74,.3);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hero-main{display:grid; grid-template-columns:minmax(110px,40%) 1fr; gap:10px;}
.hero-portrait{
  min-height:176px; border:2px solid var(--brass); border-radius:4px; padding:6px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  background:radial-gradient(ellipse at 50% 38%, #3A3220 0%, #14110B 62%, #060605 100%);
  box-shadow:0 0 0 1px #000, inset 0 0 22px rgba(0,0,0,.9), var(--glow);}
.hero-portrait span{font-size:68px; line-height:1; filter:drop-shadow(0 4px 6px rgba(0,0,0,.8));}
.hero-portrait em{font-family:var(--font-display); font-style:normal; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-align:center;}
.hero-vitals{
  border:2px solid var(--bronze); border-radius:4px; padding:12px 12px 10px; min-width:0;
  background:var(--t-stone), #0D0C0A; box-shadow:inset 0 0 18px rgba(0,0,0,.8);}
.hv-row{display:flex; justify-content:space-between; align-items:baseline; gap:6px; margin-top:7px;
  font-family:var(--font-display); font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--muted);}
.hv-row b{font-size:13px; font-weight:700; color:var(--parchment); letter-spacing:.02em; font-variant-numeric:tabular-nums;}
.hv-row b.hp{color:var(--blood-bright);} .hv-row b.xp{color:var(--arcane-bright);}
.hero-vitals .bar{height:9px; margin-top:3px;} .hero-vitals .bar-xp{height:9px;}
.hv-rule{height:1px; margin:11px 6px 4px; background:linear-gradient(90deg, transparent, var(--brass), transparent);}
.sheet-strip{
  margin-top:10px; padding:8px 6px; border:1px solid var(--bronze); border-radius:4px; background:rgba(0,0,0,.28);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(64px,1fr)); gap:6px;}
.sheet-slot{
  border:1px solid var(--line); border-radius:4px; padding:5px 3px; text-align:center; min-width:0;
  background:radial-gradient(circle at 50% 40%, #221B11, #0C0A07 85%); box-shadow:inset 0 0 8px rgba(0,0,0,.8);}
.sheet-slot.filled{border-color:var(--brass); box-shadow:inset 0 0 8px rgba(0,0,0,.7), var(--glow);}
.sheet-slot .sl{font-family:var(--font-display); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);}
.sheet-slot .si{font-size:22px; line-height:1.3;}
.sheet-slot .sn{font-size:9px; font-weight:700; line-height:1.2; color:var(--dim); overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; min-height:2.4em;}
@media (max-width:380px){.hero-main{grid-template-columns:1fr;} .hero-portrait{min-height:120px;} .hero-portrait span{font-size:52px;}}

/* Botões: dourado trabalhado (principal) e aço escovado (secundário), como na referência */
.btn.primary{box-shadow:0 2px 4px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,240,180,.55), inset 0 0 0 2px rgba(122,92,20,.55), inset 0 0 0 3px rgba(255,225,130,.25);}
.btn.ghost,.btn.small:not(.primary):not(.danger){
  background:linear-gradient(180deg, #7C858D 0%, #4B535A 48%, #343A40 52%, #565E66 100%);
  border-color:#AEB6BD; color:#F1F3F4; text-shadow:0 1px 0 rgba(0,0,0,.75);
  box-shadow:0 2px 4px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.35), inset 0 0 0 2px rgba(20,24,28,.45);}
.btn.ghost:hover{filter:brightness(1.1);}
.tab-chip{background:linear-gradient(180deg,#2A2216,#16110B);}
.section-title{padding-bottom:2px;}

/* Wiki: menu em quadradinhos */
.wiki-group-title{font-family:var(--font-display); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:14px 2px 8px; display:flex; align-items:center; gap:8px;}
.wiki-group-title::after{content:""; flex:1; height:1px; background:linear-gradient(90deg, var(--bronze), transparent);}
.wiki-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px;}
.wiki-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:84px; padding:10px 4px;
  background:var(--t-stone), radial-gradient(ellipse at 50% 30%, #261E12, #0F0C08 85%); color:var(--parchment); cursor:pointer;
  border:1px solid var(--bronze); border-radius:6px; box-shadow:var(--depth); transition:border-color .15s, box-shadow .15s, transform .08s;}
.wiki-tile:hover{border-color:var(--gold-bright); box-shadow:var(--depth), var(--glow);}
.wiki-tile:active{transform:scale(.97);}
.wiki-tile:focus-visible{outline:none; box-shadow:var(--focus);}
.wiki-tile-ic{font-size:28px; line-height:1; filter:drop-shadow(0 2px 3px rgba(0,0,0,.7));}
.wiki-tile-lb{font-family:var(--font-display); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; text-align:center; overflow-wrap:anywhere;}
.wiki-current{font-family:var(--font-display); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-bright); text-shadow:0 1px 0 #000;}
@media (max-width:330px){.wiki-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}}

/* Etiqueta de contagem nos quadradinhos (Mochila) */
.wiki-tile{position:relative;}
.wiki-tile-badge{position:absolute; top:5px; right:5px; min-width:20px; padding:1px 6px; border-radius:10px; text-align:center;
  background:linear-gradient(180deg,#7A5C14,#4A3608); border:1px solid var(--gold); color:var(--parchment);
  font-size:10px; font-weight:800; line-height:1.5; font-variant-numeric:tabular-nums; box-shadow:0 1px 3px rgba(0,0,0,.7);}

/* Mercado Negro */
.bm-head{text-align:center; border-color:var(--brass);}
.bm-timer{font-family:var(--font-display); font-size:28px; font-weight:800; letter-spacing:.08em; color:var(--gold-bright); text-shadow:0 1px 0 #000, 0 0 14px rgba(228,191,74,.35); font-variant-numeric:tabular-nums;}

/* Mapa e sub-menus em quadradinhos: estados extra */
.wiki-tile-sub{font-size:10px; color:var(--muted); letter-spacing:.02em; line-height:1; margin-top:-2px; font-variant-numeric:tabular-nums;}
.wiki-tile.is-locked{opacity:.5;}
.wiki-tile.is-locked .wiki-tile-ic{filter:grayscale(1) drop-shadow(0 2px 3px rgba(0,0,0,.7));}
.wiki-tile.is-empty{opacity:.6;}
.wiki-tile.is-current{border-color:var(--gold-bright); box-shadow:var(--depth), var(--glow);}
.wiki-tile.is-current .wiki-tile-lb{color:var(--gold-bright);}
.map-here{display:flex; align-items:center; gap:12px; border-left:3px solid var(--gold-bright);}
.map-here-ic{font-size:32px; line-height:1; filter:drop-shadow(0 2px 3px rgba(0,0,0,.7));}
.map-here-name{font-family:var(--font-display); font-weight:700; color:var(--parchment); letter-spacing:.03em;}
.map-list{display:flex; flex-direction:column; gap:6px;}
.map-list-row{display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:6px; background:var(--bg-raised, #251E16);}
.map-list-row.done{border-color:var(--gold);}
.map-list-ic{font-size:20px; width:26px; text-align:center;}
#btn-map-back, #btn-inv-back, #btn-wiki-back{white-space:nowrap; flex-shrink:0;}
.wiki-current{text-align:right; min-width:0;}

/* Temporada */
.season-head{text-align:center; border-color:var(--gold); background:radial-gradient(ellipse at 50% 0%, rgba(242,201,76,.16), transparent 70%), var(--bg-raised, #251E16);}
.season-kicker{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);}
.season-title{font-family:var(--font-display); font-size:24px; font-weight:800; letter-spacing:.06em; color:var(--gold-bright); text-shadow:0 1px 0 #000, 0 0 14px rgba(228,191,74,.35);}
.season-tile{padding-bottom:14px;}
.season-tile.is-ready{border-color:var(--gold-bright); box-shadow:var(--depth), var(--glow); animation:seasonPulse 1.6s ease-in-out infinite;}
.season-tile.is-ready .wiki-tile-sub{color:var(--gold-bright); font-weight:700;}
.season-tile.is-claimed{opacity:.6;}
.season-tile-bar{position:absolute; left:8px; right:8px; bottom:6px; height:3px; border-radius:2px; background:rgba(255,255,255,.08); overflow:hidden;}
.season-tile-bar span{display:block; height:100%; background:var(--gold-bright);}
.season-exclusive{border-color:var(--gold) !important;}
@keyframes seasonPulse{0%,100%{box-shadow:var(--depth), 0 0 0 rgba(228,191,74,0);}50%{box-shadow:var(--depth), 0 0 14px rgba(228,191,74,.55);}}
@media (prefers-reduced-motion: reduce){.season-tile.is-ready{animation:none;}}

/* Ícones Nemesy (SVG) */
.nx-ic{display:inline-block; width:1.2em; height:1.2em; vertical-align:middle; overflow:visible; filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.75));}
.nx-ic.nx-inline{width:1.25em; height:1.25em; margin-right:4px; vertical-align:-.2em;}
.wiki-tile-ic .nx-ic{width:46px; height:46px; filter:drop-shadow(0 2px 3px rgba(0,0,0,.8));}
.nav-btn .ic .nx-ic{width:28px; height:28px;}
.nav-btn .ic:has(.nx-ic){filter:grayscale(.85) brightness(.75);}
.nav-btn.active .ic:has(.nx-ic){filter:drop-shadow(0 0 6px rgba(228,191,74,.45));}
.item-ic .nx-ic{width:32px; height:32px;}
.equip-slot .ic .nx-ic{width:36px; height:36px;}
.region-glyph .nx-ic{width:40px; height:40px;}
.map-here-ic .nx-ic{width:44px; height:44px;}
.sb-mute .nx-ic{width:22px; height:22px;}

/* Passivas */
.pv-tree{position:relative; width:358px; flex-shrink:0; height:500px; margin:0 auto; border:1px solid #5a4422; border-radius:10px; background:radial-gradient(circle at 50% 50%, #221a10 0%, #0e0b07 75%); box-shadow:inset 0 0 40px rgba(0,0,0,.85); overflow:hidden;}
.pv-zone{position:absolute; width:120px; text-align:center; font-family:var(--font-display); font-size:10px; font-weight:700; letter-spacing:.12em;}
.pv-link{position:absolute; height:3px; background:#3a2e1e; transform-origin:0 50%; border-radius:2px;}
.pv-link.reach{background:#7a6234;}
.pv-link.on{height:4px; background:#E4BF4A; box-shadow:0 0 8px rgba(228,191,74,.6);}
.pv-node{position:absolute; padding:0; border:0; background:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.pv-node span{display:block; box-sizing:border-box; border-radius:50%; border:2px solid #5a4a32; background:radial-gradient(circle at 35% 30%, #2a2218, #0e0b07); transition:box-shadow .15s, border-color .15s;}
.pv-node.avail span{border-color:var(--pv); background:radial-gradient(circle at 35% 30%, #4a3a24, #16110B); box-shadow:0 0 8px color-mix(in srgb, var(--pv) 45%, transparent);}
.pv-node.on span{border-color:#FBE7A1; background:radial-gradient(circle at 35% 30%, #fff3c0, var(--pv) 45%, #2a1a08 100%); box-shadow:0 0 14px var(--pv);}
.pv-node.pv-notable span{border-width:4px; border-style:double;}
.pv-node.pv-key span{border-radius:6px; border-width:3px; transform:rotate(45deg);}
.pv-node.pv-start span{border-color:#FBE7A1; background:radial-gradient(circle at 35% 30%, #fff3c0, #C9A227 50%, #3a2406);}
.pv-node.sel span{outline:2px solid #FBE7A1; outline-offset:3px;}
.pv-node.pv-key.sel span{outline-offset:2px;}
.pv-dot{width:22px; height:22px; flex-shrink:0; border-radius:50%; border:2px solid #FBE7A1; background:radial-gradient(circle at 35% 30%, #fff3c0, var(--pv) 50%, #2a1a08);}
.pv-dot.pv-key{border-radius:4px; transform:rotate(45deg);}
.pv-total{font-size:14px; padding:5px 0; border-bottom:1px solid var(--line-soft);}
.pv-badge{display:inline-block; min-width:16px; padding:0 5px; margin-left:4px; border-radius:8px; background:var(--gold); color:#1a1208; font-size:10px; font-weight:800; line-height:16px; text-align:center;}

/* Login: recuperar palavra-passe */
.account-link{display:block; margin:10px auto 0; padding:8px 6px; min-height:36px; background:none; border:0; color:var(--gold-bright); font-size:13px; text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.account-link:hover{color:#FBE7A1;}
#account-reset-intro{margin:0 0 4px; font-size:12px; color:var(--muted);}
#screen-account [hidden]{display:none !important;}

/* v67: ícones em imagem */
.nx-ic.nx-img{object-fit:contain;}

/* v72: abrir vários baús */
.chest-batch{padding-bottom:10px; border-bottom:1px solid rgba(201,162,39,.18);}
.chest-batch:last-child{border-bottom:0; padding-bottom:0;}
.chest-qty-input{width:64px; margin:0; padding:7px 4px; text-align:center; font-size:14px;}
.chest-qty-btn{min-width:34px; padding-left:0; padding-right:0;}

/* v75: Verificação de Guerreiro */
.guard-grid{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px;}
.guard-opt{width:70px; height:70px; border-radius:12px; border:1px solid var(--gold, #8a6a2a); background:linear-gradient(135deg, rgba(60,45,25,.9), rgba(25,18,10,.9)); display:flex; align-items:center; justify-content:center; cursor:pointer;}
.guard-opt .nx-ic{width:44px; height:44px;}
.guard-opt:active{transform:scale(.95);}

/* v78: Trades */
.trade-filters{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:0 0 8px;}
.trade-sel,.trade-search{flex:1 1 140px; min-width:0; width:auto; margin:0; padding:7px 8px; font-size:12px;}
.trade-search{flex-basis:100%;}
.trade-check{display:flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); cursor:pointer;}
.trade-check input{accent-color:var(--gold, #C9A227);}
.trade-cmp{display:flex; flex-wrap:wrap; gap:2px 8px;}
.trade-up{color:var(--success);}
.trade-down{color:var(--blood-bright);}
.trade-price{color:var(--gold-bright, #E4BF4A);}
.trade-sel option{background:#15120F; color:#EADFC4;}

/* v79: versão no ecrã de entrada */
#screen-account{padding-top:calc(46px + var(--safe-top, 0px));}
.app-version-badge{position:absolute; top:calc(12px + var(--safe-top, 0px)); right:14px; z-index:2;
  font-family:var(--font-display); font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--gold-bright);
  padding:3px 9px; border:1px solid var(--bronze); border-radius:999px; background:rgba(10,11,11,.7); pointer-events:none;}

/* v82: tabelas da Wiki */
.wiki-table{width:100%; border-collapse:collapse; font-size:12px;}
.wiki-table th,.wiki-table td{padding:5px 6px; border-bottom:1px solid var(--line-soft); text-align:center; white-space:nowrap;}
.wiki-table th{color:var(--gold-bright); font-weight:700; border-bottom-color:var(--bronze);}
.wiki-table td:first-child,.wiki-table th:first-child{text-align:left;}

/* v83: Torre do Abismo */
.tower-entry{border-color:#7A5FB0;}
.tower-facts{margin-top:10px; display:grid; grid-template-columns:1fr 1fr; gap:6px; font-size:12px;}
.tower-facts .card{margin:0; padding:8px;}
.tower-hd{border:2px solid var(--bronze); border-radius:8px; padding:10px 12px; margin-bottom:10px; background:var(--t-stone), #0D0C0A;}
.tower-hd h3{font-family:var(--font-display); color:var(--gold-bright); font-size:16px; letter-spacing:.06em; margin:0 0 6px;}
.tower-bar{height:10px; border:1px solid #000; border-radius:5px; background:#1a0f0f; overflow:hidden; margin:4px 0 2px;}
.tower-bar i{display:block; height:100%; background:linear-gradient(90deg, #8E2F2F, #C95A5A);}
.tower-loot{display:flex; flex-wrap:wrap; gap:4px 10px; font-size:12px; color:var(--parchment); margin-top:6px;}
.tower-legend{display:flex; flex-wrap:wrap; gap:4px 12px; font-size:11.5px; color:var(--muted); margin-bottom:8px;}
.tower-map{position:relative; margin:4px 0 12px; border:1px solid var(--line); border-radius:8px; overflow:hidden;
  background:radial-gradient(ellipse at 50% 100%, rgba(120,40,160,.18), transparent 60%), repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 66px), #0b0a0d;}
.tower-map svg{position:absolute; inset:0; width:100%; height:100%;}
.tower-map .tl{stroke:#3a3226; stroke-width:2; stroke-dasharray:3 4; vector-effect:non-scaling-stroke;}
.tower-map .tl-next{stroke:var(--gold-bright); stroke-width:2.5; stroke-dasharray:5 4; vector-effect:non-scaling-stroke; animation:tdash 1s linear infinite;}
.tower-map .tl-taken{stroke:#6E9A58; stroke-width:3.5; vector-effect:non-scaling-stroke;}
@keyframes tdash{to{stroke-dashoffset:-18;}}
.tn{position:absolute; width:42px; height:42px; margin:-21px 0 0 -21px; padding:0; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1;
  border:2px solid #4A3A22; background:radial-gradient(circle at 40% 35%, #2b241b, #100d0a); box-shadow:0 2px 6px #000; color:inherit; cursor:default;}
.tn.big{width:54px; height:54px; margin:-27px 0 0 -27px; font-size:26px; border-color:#8E2F2F; background:radial-gradient(circle at 40% 35%, #3a1616, #120808);}
.tn.locked{opacity:.55; filter:saturate(.5);}
.tn.done{border-color:#6E9A58; opacity:.85;}
.tn.done::after{content:'✓'; position:absolute; right:-4px; bottom:-4px; font-size:11px; background:#6E9A58; color:#000; border-radius:50%; width:16px; height:16px; display:flex; align-items:center; justify-content:center; font-weight:800;}
.tn.cur{border-color:#6DB3D4; box-shadow:0 0 0 3px rgba(109,179,212,.35), 0 0 18px rgba(109,179,212,.6);}
.tn.next{cursor:pointer; border-color:var(--gold-bright); box-shadow:0 0 0 3px rgba(228,191,74,.25), 0 0 16px rgba(228,191,74,.55); animation:tpulse 1.4s ease-in-out infinite;}
@keyframes tpulse{50%{transform:scale(1.08);}}
@media (prefers-reduced-motion:reduce){.tn.next,.tower-map .tl-next{animation:none;}}
.tn.t-elite{border-color:#C9692E;} .tn.t-tesouro{border-color:#C9A227;} .tn.t-fonte{border-color:#3F7F9C;} .tn.t-misterio{border-color:#7A5FB0;}
.tn.next.t-elite,.tn.next.t-tesouro,.tn.next.t-fonte,.tn.next.t-misterio{border-color:var(--gold-bright);}
.tower-map .tf{position:absolute; left:4px; width:30px; text-align:center; line-height:1;}
.tower-map .tf b{display:block; font-family:var(--font-display); font-size:12px; color:var(--gold-bright);}
.tower-map .tf span{font-size:8.5px; color:var(--dim);}
.tower-door{display:flex; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:8px; margin-top:8px; background:#141110;}
.tower-door.t-elite{border-color:#C9692E;} .tower-door.t-misterio{border-color:#7A5FB0;} .tower-door.t-fonte{border-color:#3F7F9C;} .tower-door.t-tesouro{border-color:#C9A227;} .tower-door.t-mini,.tower-door.t-chefe{border-color:#8E2F2F;}
.tower-door .ic{flex:none; font-size:24px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:2px solid var(--bronze); background:#0d0b09;}
.tower-door .tx{flex:1; min-width:0;} .tower-door .tx b{display:block; font-size:14px;} .tower-door .tx span{font-size:11.5px; color:var(--muted);}

/* v86: Bónus ➕ (amarelo-claro) */
.pill.pill-plus2{color:#FFF1A8; border-color:#E9D873; background:rgba(255,241,168,.08);}
.btn.plus2-btn,.btn.plus2-btn:hover{border:1px solid #E9D873 !important; color:#1a1406 !important; background:linear-gradient(180deg, #FFF6C4, #E3CC5C) !important; text-shadow:none !important; font-weight:700;}
.plus2-box{border-color:#E9D873 !important;}
.plus2-box .v{color:#FFF1A8;}
.plus2-card{border-color:#E9D873;}

/* v87: Menu de Criador */
.admin-card{margin-bottom:10px;}
.admin-row{display:flex; gap:6px; align-items:center; margin-top:8px;}
.admin-row .name-input{flex:1; min-width:0; margin:0; padding:7px 8px; font-size:13px;}
.admin-row .btn{flex:none;}
.btn.lock-on,.btn.lock-on:hover{border:1px solid var(--gold-bright) !important; color:#1a1406 !important; background:linear-gradient(180deg, #F2D46B, #C9A227) !important; text-shadow:none !important;}

/* v91: Gemas */
.gem-tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:8px;}
.gem-tier{text-align:center; padding:8px 4px 6px; border:1px dashed var(--line); border-radius:6px; background:radial-gradient(circle at 50% 30%, #231B11, #0D0A07 80%); opacity:.55;}
.gem-tier.has{opacity:1; border:1px solid var(--brass); background:radial-gradient(circle at 50% 30%, #33270F, #130E07 80%); box-shadow:inset 0 0 8px rgba(0,0,0,.7), var(--glow);}
.gem-tier-ic{font-size:22px; line-height:1.1;}
.gem-tier-ic .nx-ic{width:28px; height:28px;}
.gem-tier-lv{font-family:var(--font-display); font-size:11px; letter-spacing:.08em; color:var(--muted); margin-top:2px;}
.gem-tier-n{font-family:var(--font-display); font-size:18px; font-weight:700; color:var(--gold-bright); line-height:1.1;}
.gem-tier-fx{font-size:10.5px; color:var(--muted); margin-top:2px;}
.gem-sock-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:6px;}
.gem-sock-item{display:flex; flex-direction:column; align-items:center; gap:3px; padding:7px 4px; border:1px solid var(--line); border-radius:6px; background:radial-gradient(circle at 50% 30%, #231B11, #0D0A07 80%); color:inherit; cursor:pointer;}
.gem-sock-item:active{transform:scale(.97);}
.gem-sock-ic{font-size:20px; line-height:1;}
.gem-sock-ic .nx-ic{width:26px; height:26px;}
.gem-sock-row{display:flex; gap:3px;}
.gem-dot{font-size:12px; color:var(--dim); line-height:1;}
.gem-dot.on{color:inherit;}
.gem-dot .nx-ic{width:16px; height:16px;}
.gem-dot sup{font-size:8px; color:var(--gold-bright);}
.gem-sock-lb{font-size:10px; color:var(--muted); text-align:center;}

/* v92: ficha do item */
.sheet-head{display:flex; gap:12px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:8px; margin-bottom:8px;}
.sheet-ic{flex:none; width:58px; height:58px; display:flex; align-items:center; justify-content:center; font-size:34px; border:1px solid var(--brass); border-radius:8px; background:radial-gradient(circle at 50% 35%, #33270F, #130E07 80%);}
.sheet-ic .nx-ic{width:46px; height:46px;}
.sheet-name{font-family:var(--font-display); font-weight:700; font-size:16px; line-height:1.2;}
.sheet-bar{height:5px; border-radius:3px; background:#1a140c; border:1px solid #000; margin:5px 0 3px; overflow:hidden;}
.sheet-bar i{display:block; height:100%; background:linear-gradient(90deg, var(--bronze), var(--gold-bright));}
.sheet-sec{border-top:1px solid var(--line-soft); padding:8px 2px 6px;}
.sheet-h{font-family:var(--font-display); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:5px;}
.sheet-h .muted{text-transform:none; letter-spacing:0;}
.sheet-table td,.sheet-table th{padding:4px 5px;}
.sheet-up{color:var(--success);}
.sheet-tot{color:var(--gold-bright); font-weight:700;}
.sheet-bonus{color:var(--arcane-bright); margin:2px 0;}
.sheet-warn{color:var(--blood-bright); margin:4px 0;}
.sheet-good{color:var(--success); margin:4px 0;}
.sheet-set{margin:2px 0; color:var(--muted);}
.sheet-set.on{color:var(--parchment);}
.sheet-socks{display:grid; grid-template-columns:repeat(3,1fr); gap:6px;}
.sheet-sock{position:relative; display:flex; flex-direction:column; align-items:center; gap:1px; padding:7px 3px; border:1px dashed var(--line); border-radius:6px; background:radial-gradient(circle at 50% 30%, #231B11, #0D0A07 80%); color:var(--muted); cursor:pointer; font-size:12px;}
.sheet-sock span{font-size:20px; line-height:1.1;}
.sheet-sock span .nx-ic{width:24px; height:24px;}
.sheet-sock b{font-size:11px; color:var(--parchment);}
.sheet-sock small{font-size:10px;}
.sheet-sock em{position:absolute; top:3px; right:4px; font-style:normal; font-size:10px; opacity:.8;}
.sheet-sock.on{border:1px solid var(--brass); color:var(--gold-bright); background:radial-gradient(circle at 50% 30%, #33270F, #130E07 80%);}
.sheet-sock.add{border-color:var(--bronze); color:var(--gold-bright);}

/* ============ v93: efeitos de combate ============ */
#screen-combat{overflow:hidden;}
#fx-layer{position:absolute; inset:0; pointer-events:none; z-index:40; overflow:hidden;}
.fx-num{position:absolute; transform:translate(-50%,-50%); font-family:var(--font-display); font-weight:800; font-size:20px; color:#fff;
  text-shadow:0 2px 0 #000, 0 0 6px rgba(0,0,0,.9); animation:fxNum 1.2s ease-out forwards; white-space:nowrap;}
.fx-num.crit{font-size:30px; color:#FFD54A; text-shadow:0 2px 0 #5a3a00, 0 0 12px rgba(255,200,40,.9); animation:fxNumCrit 1.3s ease-out forwards;}
.fx-num.hurt{color:#FF6B6B; font-size:18px;}
.fx-num.heal{color:#7CFF8A; font-size:18px;}
.fx-num.poison{color:#C47CFF;}
@keyframes fxNum{0%{opacity:0; transform:translate(-50%,-30%) scale(.7);} 12%{opacity:1; transform:translate(-50%,-60%) scale(1.1);} 100%{opacity:0; transform:translate(-50%,-260%) scale(1);}}
@keyframes fxNumCrit{0%{opacity:0; transform:translate(-50%,-40%) scale(.4) rotate(-8deg);} 15%{opacity:1; transform:translate(-50%,-70%) scale(1.45) rotate(4deg);} 30%{transform:translate(-50%,-90%) scale(1.15) rotate(0);} 100%{opacity:0; transform:translate(-50%,-280%) scale(1);}}
.fx-part{position:absolute; transform:translate(-50%,-50%); font-size:16px; animation:fxPart .85s ease-out forwards; filter:drop-shadow(0 0 4px rgba(255,220,120,.8));}
.fx-part .nx-ic{width:18px; height:18px;}
@keyframes fxPart{0%{opacity:1; transform:translate(-50%,-50%) scale(.6);} 100%{opacity:0; transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.1) rotate(160deg);}}
/* tremer o ecrã */
.fx-shake{animation:fxShake .28s linear;}
.fx-shake-strong{animation:fxShakeStrong .42s linear;}
@keyframes fxShake{0%,100%{transform:translate(0,0);} 25%{transform:translate(-3px,2px);} 50%{transform:translate(3px,-2px);} 75%{transform:translate(-2px,-1px);}}
@keyframes fxShakeStrong{0%,100%{transform:translate(0,0);} 15%{transform:translate(-7px,3px);} 30%{transform:translate(6px,-4px);} 45%{transform:translate(-5px,-2px);} 60%{transform:translate(5px,3px);} 80%{transform:translate(-2px,1px);}}
/* entrada / morte do inimigo */
.enemy-glyph.fx-enter{animation:fxEnter .5s cubic-bezier(.2,1.4,.4,1);}
@keyframes fxEnter{0%{transform:scale(.2); opacity:0; filter:brightness(3);} 70%{transform:scale(1.12); opacity:1;} 100%{transform:scale(1); filter:none;}}
.enemy-glyph.fx-die{animation:fxDie .65s ease-in forwards;}
@keyframes fxDie{0%{transform:scale(1); filter:none;} 30%{transform:scale(1.15); filter:brightness(2.5);} 100%{transform:scale(.8) rotate(-8deg); opacity:.3; filter:grayscale(1) blur(1px);}}
/* aura dos chefes e fúria */
.enemy-glyph{position:relative;}
.enemy-glyph.boss::after,.enemy-glyph.mini::after{content:''; position:absolute; inset:-6px; border-radius:16px; pointer-events:none; animation:fxAura 2.2s ease-in-out infinite;}
.enemy-glyph.boss::after{box-shadow:0 0 14px 2px rgba(228,191,74,.45);}
.enemy-glyph.mini::after{box-shadow:0 0 12px 1px rgba(155,114,201,.45);}
.enemy-glyph.enraged::after{box-shadow:0 0 18px 4px rgba(220,40,40,.75); animation-duration:.9s;}
@keyframes fxAura{0%,100%{opacity:.45;} 50%{opacity:1;}}
/* barra fantasma de HP */
.bar{position:relative;}
.bar-ghost{position:absolute; left:0; top:0; bottom:0; background:rgba(255,236,200,.55); border-radius:inherit; z-index:0;}
.bar .bar-fill{position:relative; z-index:1;}
.bar .bar-num{z-index:2;}
/* efeitos das habilidades */
.fx-skill{position:absolute; width:120px; height:120px; transform:translate(-50%,-50%); pointer-events:none;}
.fx-skill.fire{background:radial-gradient(circle, rgba(255,230,120,.95) 0%, rgba(255,120,20,.8) 35%, rgba(200,30,0,.0) 70%); border-radius:50%; animation:fxBoom .7s ease-out forwards;}
.fx-skill.impact{background:radial-gradient(circle, rgba(255,255,255,.9) 0%, rgba(255,220,150,.5) 30%, transparent 65%); border-radius:50%; animation:fxBoom .45s ease-out forwards;}
.fx-skill.holy{background:radial-gradient(circle, rgba(255,250,210,1) 0%, rgba(255,215,90,.75) 30%, transparent 68%); border-radius:50%; animation:fxBoom .8s ease-out forwards;}
.fx-skill.heal{width:170px; height:90px; background:radial-gradient(ellipse, rgba(120,255,150,.75) 0%, rgba(40,200,90,.3) 45%, transparent 70%); border-radius:50%; animation:fxBoom .8s ease-out forwards;}
.fx-skill.shield{width:200px; height:96px; border:3px solid rgba(110,190,255,.9); border-radius:18px; box-shadow:0 0 18px rgba(110,190,255,.8), inset 0 0 18px rgba(110,190,255,.5); animation:fxShield .8s ease-out forwards;}
.fx-skill.soul{background:radial-gradient(circle, rgba(190,120,255,.9) 0%, rgba(110,40,180,.5) 35%, transparent 68%); border-radius:50%; animation:fxBoom .75s ease-out forwards;}
.fx-skill.vortex{border-radius:50%; background:conic-gradient(from 0deg, rgba(120,90,255,.0), rgba(120,90,255,.85), rgba(80,200,255,.0), rgba(120,90,255,.85), rgba(120,90,255,0)); animation:fxSpin .8s ease-out forwards;}
.fx-skill.coins{background:radial-gradient(circle, rgba(255,215,80,.8) 0%, transparent 60%); border-radius:50%; animation:fxBoom .6s ease-out forwards;}
.fx-skill.slash::before,.fx-skill.slash::after{content:''; position:absolute; left:50%; top:50%; width:150px; height:6px; margin:-3px 0 0 -75px; border-radius:3px; background:linear-gradient(90deg, transparent, #fff, transparent); box-shadow:0 0 10px #fff; transform:rotate(-35deg) scaleX(0); animation:fxSlash .35s ease-out forwards;}
.fx-skill.slash::after{display:none;}
.fx-skill.slash.double::after,.fx-skill.slash.spin::after{display:block; transform:rotate(35deg) scaleX(0); animation-delay:.12s;}
.fx-skill.slash.blood::before{background:linear-gradient(90deg, transparent, #ff4d4d, transparent); box-shadow:0 0 10px #ff2a2a;}
.fx-skill.slash.spin{border-radius:50%; animation:fxSpin .55s ease-out;}
.fx-skill.arrow::before{content:''; position:absolute; left:-140px; top:50%; width:110px; height:3px; background:linear-gradient(90deg, transparent, #f5e6b8 60%, #fff); box-shadow:0 0 6px #fff; animation:fxArrow .3s ease-in forwards;}
.fx-skill.arrow.poison::before{background:linear-gradient(90deg, transparent, #9dff7a 60%, #e8ffd9); box-shadow:0 0 8px #6dff4a;}
.fx-skill.rain{background:repeating-linear-gradient(100deg, transparent 0 14px, rgba(245,230,184,.75) 14px 16px); -webkit-mask:radial-gradient(circle, #000 40%, transparent 70%); mask:radial-gradient(circle, #000 40%, transparent 70%); animation:fxRain .6s linear forwards;}
.fx-skill.lightning{width:60px; height:150px; background:linear-gradient(180deg, transparent, #e9f6ff 20%, #8fd3ff 50%, #fff 80%, transparent); clip-path:polygon(55% 0, 20% 48%, 48% 48%, 30% 100%, 82% 40%, 54% 40%, 75% 0); filter:drop-shadow(0 0 10px #7fd0ff); animation:fxBolt .45s steps(3) forwards;}
.fx-flash{position:absolute; inset:0; background:rgba(190,230,255,.35); animation:fxFlash .25s ease-out forwards;}
@keyframes fxBoom{0%{transform:translate(-50%,-50%) scale(.2); opacity:1;} 100%{transform:translate(-50%,-50%) scale(1.5); opacity:0;}}
@keyframes fxShield{0%{transform:translate(-50%,-50%) scale(.85); opacity:0;} 30%{opacity:1;} 100%{transform:translate(-50%,-50%) scale(1.08); opacity:0;}}
@keyframes fxSpin{0%{transform:translate(-50%,-50%) rotate(0) scale(.5); opacity:1;} 100%{transform:translate(-50%,-50%) rotate(540deg) scale(1.3); opacity:0;}}
@keyframes fxSlash{0%{opacity:1;} 100%{transform:rotate(var(--r, -35deg)) scaleX(1); opacity:0;}}
.fx-skill.slash::after{--r:35deg;}
@keyframes fxArrow{0%{left:-140px; opacity:1;} 85%{left:30px; opacity:1;} 100%{left:40px; opacity:0;}}
@keyframes fxRain{0%{background-position:0 -60px; opacity:0;} 20%{opacity:1;} 100%{background-position:-20px 60px; opacity:0;}}
@keyframes fxBolt{0%{opacity:1;} 33%{opacity:.3;} 66%{opacity:1;} 100%{opacity:0;}}
@keyframes fxFlash{0%{opacity:1;} 100%{opacity:0;}}
@media (prefers-reduced-motion:reduce){.fx-shake,.fx-shake-strong{animation:none;} .enemy-glyph.boss::after,.enemy-glyph.mini::after{animation:none;}}

/* v93: ecrã de fim de combate entra suavemente; tudo desligado com Animações → Desligadas */
#cb-end-screen{animation:fxEndIn .45s ease-out .3s both;}
@keyframes fxEndIn{0%{opacity:0; transform:translateY(14px) scale(.97);} 100%{opacity:1; transform:none;}}
body.fx-off #cb-end-screen,body.fx-off .enemy-glyph.fx-die{animation:none;}
body.fx-off .enemy-glyph.boss::after,body.fx-off .enemy-glyph.mini::after{display:none;}
@media (prefers-reduced-motion:reduce){#cb-end-screen{animation:none;}}

/* ============================================================
   v94 — Recompensas: vitória animada, subir de nível, Divino, baús
   ============================================================ */
#cb-end-screen .end-trophy{animation:fxTrophy .7s cubic-bezier(.2,1.5,.4,1) .3s both; filter:drop-shadow(0 0 14px rgba(232,196,92,.55));}
@keyframes fxTrophy{0%{transform:scale(.2) rotate(-25deg); opacity:0;} 70%{transform:scale(1.18) rotate(6deg); opacity:1;} 100%{transform:none;}}
#cb-end-screen .reward-pills b{font-weight:800; font-variant-numeric:tabular-nums;}
.end-xp{width:100%; max-width:320px; margin:2px auto 4px;}
.end-xp-top{display:flex; justify-content:space-between; color:var(--arcane-bright); margin-bottom:4px; font-weight:700;}
.end-xp-bar{height:8px; border-radius:6px; background:rgba(0,0,0,.45); border:1px solid rgba(155,114,201,.45); overflow:hidden;}
.end-xp-bar i{display:block; height:100%; background:linear-gradient(90deg,#7b4fc0,#c49bff); box-shadow:0 0 8px rgba(196,155,255,.7); transition:width 1s cubic-bezier(.3,.8,.3,1);}
.loot-anim .loot-line{animation:fxLootIn .45s ease-out both;}
@keyframes fxLootIn{0%{opacity:0; transform:translateX(-14px);} 100%{opacity:1; transform:none;}}
.loot-line.loot-rare{color:#b9d3ff;}
.loot-line.loot-epic{color:var(--gold-bright); font-weight:700; text-shadow:0 0 8px rgba(232,196,92,.45);}
.loot-line.loot-divine{color:#7ff3e8; font-weight:800; text-shadow:0 0 10px rgba(63,224,208,.8); background:linear-gradient(90deg,rgba(63,224,208,.14),transparent); border-radius:6px; padding:3px 6px;}
.loot-anim .loot-line.loot-epic,.loot-anim .loot-line.loot-divine{animation:fxLootIn .45s ease-out both, fxLootGlow 1.6s ease-in-out 1.2s infinite;}
@keyframes fxLootGlow{50%{filter:brightness(1.35);}}

/* Ecrãs de celebração (nível / Divino) */
.fx-overlay{position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 50% 45%, rgba(40,28,8,.82), rgba(0,0,0,.88)); animation:fxOvIn .3s ease-out; overflow:hidden; cursor:pointer;}
.fx-overlay.out{animation:fxOvOut .28s ease-in forwards;}
@keyframes fxOvIn{from{opacity:0;}} @keyframes fxOvOut{to{opacity:0;}}
.fx-overlay.divine{background:radial-gradient(circle at 50% 45%, rgba(10,60,60,.85), rgba(0,0,0,.9));}
.fx-rays{position:absolute; left:50%; top:45%; width:760px; height:760px; margin:-380px 0 0 -380px; border-radius:50%;
  background:repeating-conic-gradient(rgba(232,196,92,.22) 0 8deg, transparent 8deg 20deg); animation:fxRays 9s linear infinite;
  -webkit-mask:radial-gradient(circle, #000 18%, transparent 62%); mask:radial-gradient(circle, #000 18%, transparent 62%);}
.fx-overlay.divine .fx-rays{background:repeating-conic-gradient(rgba(63,224,208,.28) 0 7deg, transparent 7deg 18deg);}
@keyframes fxRays{to{transform:rotate(360deg);}}
.fx-ov-box{position:relative; text-align:center; animation:fxOvPop .6s cubic-bezier(.2,1.5,.4,1) both;}
@keyframes fxOvPop{0%{transform:scale(.3); opacity:0;} 100%{transform:none; opacity:1;}}
.fx-ov-kicker{font-family:var(--font-display); letter-spacing:.12em; text-transform:uppercase; color:var(--gold-bright); font-size:15px; font-weight:700;}
.fx-ov-big{font-family:var(--font-display); font-size:96px; line-height:1; font-weight:800; color:#ffe9a8; text-shadow:0 0 22px rgba(232,196,92,.9), 0 4px 0 #6b4a10; margin:6px 0;}
.fx-ov-name{font-family:var(--font-display); font-size:26px; font-weight:800; color:#aaf7ef; text-shadow:0 0 18px rgba(63,224,208,.95); margin:10px 16px; max-width:340px;}
.fx-overlay.divine .fx-ov-kicker{color:#7ff3e8;}
.fx-ov-sub{color:var(--text-dim,#c9bfa8); font-size:13px;}
.fx-conf{position:absolute; top:-30px; left:var(--x); color:var(--gold-bright); font-size:16px; pointer-events:none; animation:fxConf var(--d) ease-in forwards;}
.fx-overlay.divine .fx-conf{color:#7ff3e8;}
@keyframes fxConf{0%{transform:translate(0,0) rotate(0); opacity:1;} 100%{transform:translate(var(--w),105vh) rotate(540deg); opacity:.2;}}

/* Abertura de baús */
.chest-stage{position:relative; height:110px; display:flex; align-items:center; justify-content:center; margin:-4px 0 8px;}
.chest-ic{font-size:58px; position:relative; z-index:1; animation:fxChestShake .75s ease-in-out both, fxChestPop .35s ease-out .75s forwards;}
@keyframes fxChestShake{0%,100%{transform:none;} 15%{transform:rotate(-10deg) scale(1.05);} 30%{transform:rotate(9deg);} 45%{transform:rotate(-8deg) scale(1.08);} 60%{transform:rotate(7deg);} 80%{transform:rotate(-3deg) scale(1.1);}}
@keyframes fxChestPop{0%{transform:scale(1.1); filter:brightness(1);} 40%{transform:scale(1.35); filter:brightness(3);} 100%{transform:scale(.9); opacity:.35; filter:brightness(1);}}
.chest-beam{position:absolute; left:50%; top:50%; width:220px; height:220px; margin:-110px 0 0 -110px; border-radius:50%; opacity:0;
  background:radial-gradient(circle, var(--rc) 0%, transparent 62%); animation:fxBeam .9s ease-out .72s forwards;}
@keyframes fxBeam{0%{opacity:0; transform:scale(.2);} 30%{opacity:.95;} 100%{opacity:.35; transform:scale(1);}}
.chest-stage.rar-high .chest-beam,.chest-stage.rar-divine .chest-beam{background:radial-gradient(circle, var(--rc) 0%, transparent 62%), repeating-conic-gradient(var(--rc) 0 6deg, transparent 6deg 18deg);
  -webkit-mask:radial-gradient(circle,#000 25%,transparent 70%); mask:radial-gradient(circle,#000 25%,transparent 70%); animation:fxBeam .9s ease-out .72s forwards, fxRays 7s linear .72s infinite;}
.chest-result{animation:fxChestRes .45s cubic-bezier(.2,1.3,.4,1) .85s both;}
@keyframes fxChestRes{0%{opacity:0; transform:translateY(16px) scale(.92);} 100%{opacity:1; transform:none;}}
.chest-result.rar-high,.chest-result.rar-divine{box-shadow:0 0 0 1px var(--rc), 0 0 22px -2px var(--rc);}
.chest-result.rar-divine{animation:fxChestRes .45s cubic-bezier(.2,1.3,.4,1) .85s both, fxLootGlow 1.6s ease-in-out 1.4s infinite;}

body.fx-off .fx-overlay,body.fx-off .chest-stage{display:none;}
@media (prefers-reduced-motion:reduce){.fx-rays,.fx-conf{animation:none;} .fx-conf{display:none;}}

/* ============================================================
   v95 — Transições de menus + boneco do herói (Equipamento)
   ============================================================ */
/* Mudar de menu: o conteúdo entra de baixo, em cascata */
#hub-content.fx-page-in > *{animation:fxPageIn .32s cubic-bezier(.2,.9,.3,1) both;}
#hub-content.fx-page-in > *:nth-child(2){animation-delay:.04s;} #hub-content.fx-page-in > *:nth-child(3){animation-delay:.08s;}
#hub-content.fx-page-in > *:nth-child(4){animation-delay:.12s;} #hub-content.fx-page-in > *:nth-child(n+5){animation-delay:.16s;}
@keyframes fxPageIn{0%{opacity:0; transform:translateY(12px);} 100%{opacity:1; transform:none;}}
#hub-content.fx-page-in .wiki-tile{animation:fxTileIn .38s cubic-bezier(.2,1.35,.4,1) both;}
#hub-content.fx-page-in .wiki-tile:nth-child(2){animation-delay:.03s;} #hub-content.fx-page-in .wiki-tile:nth-child(3){animation-delay:.06s;}
#hub-content.fx-page-in .wiki-tile:nth-child(4){animation-delay:.09s;} #hub-content.fx-page-in .wiki-tile:nth-child(5){animation-delay:.12s;}
#hub-content.fx-page-in .wiki-tile:nth-child(6){animation-delay:.15s;} #hub-content.fx-page-in .wiki-tile:nth-child(7){animation-delay:.18s;}
#hub-content.fx-page-in .wiki-tile:nth-child(8){animation-delay:.21s;} #hub-content.fx-page-in .wiki-tile:nth-child(n+9){animation-delay:.24s;}
@keyframes fxTileIn{0%{opacity:0; transform:scale(.82) translateY(8px);} 100%{opacity:1; transform:none;}}
#hub-content.fx-page-in .doll-slot{animation:fxTileIn .4s cubic-bezier(.2,1.35,.4,1) both;}
#hub-content.fx-page-in .doll-col .doll-slot:nth-child(2){animation-delay:.05s;} #hub-content.fx-page-in .doll-col .doll-slot:nth-child(3){animation-delay:.1s;}
#hub-content.fx-page-in .doll-col .doll-slot:nth-child(4){animation-delay:.15s;} #hub-content.fx-page-in .doll-bottom .doll-slot{animation-delay:.2s;}
#hub-content.fx-page-in .doll-hero{animation:fxTileIn .5s cubic-bezier(.2,1.35,.4,1) .08s both;}
/* Barra de navegação: o ícone ativo dá um saltinho e ganha brilho */
.nav-btn .ic{display:inline-block; transition:transform .2s ease, filter .2s ease;}
.nav-btn.active .ic{animation:fxNavPop .38s cubic-bezier(.2,1.6,.4,1); filter:drop-shadow(0 0 6px rgba(232,196,92,.65));}
@keyframes fxNavPop{0%{transform:scale(.7);} 60%{transform:scale(1.22) translateY(-2px);} 100%{transform:none;}}
/* Janelas: sobem com mola; mosaicos encolhem ao tocar */
.modal-sheet{transform:translateY(48px); transition:transform .34s cubic-bezier(.2,1.25,.4,1);}
.wiki-tile,.doll-slot{transition:transform .1s ease;}
.wiki-tile:active,.doll-slot:active{transform:scale(.94);}

/* Boneco do herói */
.doll{display:grid; grid-template-columns:72px 1fr 72px; gap:10px 8px; align-items:start; margin-bottom:14px; padding:14px 10px 12px; border:1px solid var(--line); border-radius:12px;
  background:radial-gradient(ellipse at 50% 38%, color-mix(in srgb, var(--aura) 16%, transparent), transparent 62%), radial-gradient(circle at 50% 35%, #1d160d, #0b0906 85%);
  box-shadow:inset 0 0 22px rgba(0,0,0,.8), inset 0 1px 0 rgba(228,191,74,.18);}
.doll-col{display:flex; flex-direction:column; gap:8px;}
.doll-slot{position:relative; width:72px; height:76px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; cursor:pointer; color:inherit; font:inherit;
  border:1px dashed var(--line); border-radius:9px; background:radial-gradient(circle at 50% 35%, #231B11, #0D0A07 80%); box-shadow:inset 0 0 8px rgba(0,0,0,.8);}
.doll-slot.filled{border:1.5px solid var(--rc); background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--rc) 30%, #120d08), #0d0a07 85%);
  box-shadow:inset 0 0 12px color-mix(in srgb, var(--rc) 35%, transparent), 0 0 8px color-mix(in srgb, var(--rc) 40%, transparent);}
.doll-slot.divine{animation:fxDollDiv 2.4s ease-in-out infinite;}
@keyframes fxDollDiv{50%{box-shadow:inset 0 0 16px color-mix(in srgb, var(--rc) 55%, transparent), 0 0 16px color-mix(in srgb, var(--rc) 75%, transparent);}}
.doll-ic{font-size:28px; line-height:1;} .doll-ic .nx-ic{width:34px; height:34px;}
.doll-ic.empty{opacity:.28; filter:grayscale(1);}
.doll-lbl{font-size:9.5px; line-height:1.35; padding-top:1px; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); max-width:66px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.doll-up{position:absolute; top:3px; right:4px; font-size:10px; font-weight:800; color:var(--gold-bright); text-shadow:0 1px 2px #000;}
.doll-set{position:absolute; top:3px; left:5px; font-size:9px; color:#6fd16f; text-shadow:0 0 4px #3f9f3f;}
.doll-lock{position:absolute; bottom:16px; right:3px; font-size:9px;}
.doll-mid{display:flex; flex-direction:column; align-items:center; text-align:center; gap:2px; padding-top:6px; min-width:0;}
.doll-hero{position:relative; width:128px; height:150px; display:flex; align-items:center; justify-content:center; margin-bottom:6px;}
.doll-rays{position:absolute; inset:-14px; border-radius:50%; background:repeating-conic-gradient(color-mix(in srgb, var(--aura) 30%, transparent) 0 7deg, transparent 7deg 20deg);
  -webkit-mask:radial-gradient(circle,#000 22%,transparent 68%); mask:radial-gradient(circle,#000 22%,transparent 68%); animation:fxRays 24s linear infinite; opacity:.8;}
.doll-ring{position:absolute; left:50%; bottom:6px; width:110px; height:26px; margin-left:-55px; border-radius:50%;
  background:radial-gradient(ellipse, color-mix(in srgb, var(--aura) 55%, transparent), transparent 70%); filter:blur(2px); animation:fxDollRing 3s ease-in-out infinite;}
@keyframes fxDollRing{50%{opacity:.55; transform:scaleX(.88);}}
.doll-hero-ic{position:relative; font-size:78px; line-height:1; filter:drop-shadow(0 6px 8px rgba(0,0,0,.9)) drop-shadow(0 0 12px color-mix(in srgb, var(--aura) 60%, transparent)); animation:fxDollBreath 3.2s ease-in-out infinite;}
@keyframes fxDollBreath{50%{transform:translateY(-4px);}}
.doll-name{font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--gold-bright); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.doll-stats{display:grid; grid-template-columns:1fr 1fr; gap:4px 10px; margin-top:8px; font-size:11.5px; color:var(--muted);}
.doll-stats b{color:var(--text,#eadfc8);}
.doll-bottom{grid-column:1 / -1; display:flex; gap:8px; justify-content:center;}
.doll-slot.wide{width:auto; flex:1; max-width:250px; flex-direction:row; justify-content:flex-start; gap:10px; padding:0 12px; height:60px;}
.doll-slot.wide .doll-lbl{position:absolute; top:4px; left:12px;} .doll-slot.wide .doll-ic{margin-top:8px;}
.doll-wname{font-weight:700; font-size:12.5px; text-align:left; margin-top:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;}
.doll-slot.talis{height:60px; width:72px;}
@media (max-width:360px){.doll{grid-template-columns:64px 1fr 64px;} .doll-slot{width:64px; height:70px;} .doll-hero-ic{font-size:62px;} .doll-hero{width:104px; height:124px;}}

body.fx-off #hub-content.fx-page-in *,body.fx-off .nav-btn.active .ic,body.fx-off .doll-rays,body.fx-off .doll-ring,body.fx-off .doll-hero-ic,body.fx-off .doll-slot.divine{animation:none !important;}
@media (prefers-reduced-motion:reduce){.doll-rays,.doll-ring,.doll-hero-ic,.doll-slot.divine{animation:none;}}

/* ============================================================
   v96 — Cenários (paisagens SVG), partículas ambiente, medalhões por raça
   ============================================================ */
/* (o .screen já é position:absolute — serve de referência ao cenário) */
.cb-scene{position:absolute; left:0; right:0; top:0; height:50%; z-index:0; overflow:hidden; pointer-events:none;}
.cb-scene .scene-svg,.region-banner .scene-svg{position:absolute; inset:0; width:100%; height:100%; display:block;}
.cb-scene .scene-shade{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.05) 35%, rgba(10,8,6,.55) 75%, var(--bg-void,#0b0906) 100%);}
#screen-combat.has-scene > :not(.cb-scene):not(#fx-layer){position:relative; z-index:1;}
#screen-combat.has-scene .combat-top{background:linear-gradient(180deg, rgba(8,6,4,.55), rgba(8,6,4,.15) 70%, transparent) !important; border-bottom-color:rgba(184,140,60,.25);}
#screen-combat.has-scene .combat-log{background:rgba(12,9,7,.74) !important; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);}
#screen-combat.has-scene .enemy-name,#screen-combat.has-scene .enemy-name span{text-shadow:0 1px 3px #000, 0 0 8px rgba(0,0,0,.8);}
/* animações discretas das paisagens */
.sc-star{animation:scTwinkle 3.2s ease-in-out infinite;}
@keyframes scTwinkle{50%{opacity:.1;}}
.sc-sun{animation:scSun 6s ease-in-out infinite; transform-origin:center; transform-box:fill-box;}
@keyframes scSun{50%{opacity:.75; transform:scale(1.06);}}
.sc-lava{animation:scLava 1.8s ease-in-out infinite;}
@keyframes scLava{50%{opacity:.55; filter:brightness(1.4);}}
.sc-float{animation:scFloat 5s ease-in-out infinite; transform-box:fill-box;}
@keyframes scFloat{50%{transform:translateY(-6px);}}
.sc-drift{animation:scDrift 30s linear infinite alternate;}
@keyframes scDrift{to{transform:translateX(-40px);}}
.sc-spin{animation:scSpin 14s linear infinite;}
@keyframes scSpin{to{transform:rotate(360deg);}}
/* partículas */
.scene-fx{position:absolute; inset:0;}
.scene-fx i{position:absolute; display:block; border-radius:50%; animation-iteration-count:infinite; animation-timing-function:linear;}
.fx-fireflies i{width:3px; height:3px; background:#f6ff9a; box-shadow:0 0 6px 2px rgba(240,255,120,.7); animation-name:scFly; top:auto !important; bottom:calc(var(--b,20) * 1%);}
.fx-fireflies i:nth-child(odd){--b:10;} .fx-fireflies i:nth-child(3n){--b:28;}
@keyframes scFly{0%,100%{transform:translate(0,0); opacity:.2;} 25%{transform:translate(14px,-10px); opacity:1;} 50%{transform:translate(-8px,-22px); opacity:.4;} 75%{transform:translate(10px,-6px); opacity:.9;}}
.fx-embers i{width:3px; height:3px; background:#ffb050; box-shadow:0 0 6px #ff6a1a; animation-name:scRise; top:100% !important;}
@keyframes scRise{0%{transform:translate(0,0); opacity:0;} 10%{opacity:1;} 100%{transform:translate(18px,-180px); opacity:0;}}
.fx-snow i{width:4px; height:4px; background:#fff; opacity:.85; animation-name:scFall; top:-6px !important;}
.fx-snow i:nth-child(3n){width:2px; height:2px;}
@keyframes scFall{to{transform:translate(-30px,240px);}}
.fx-rain i{width:1px; height:14px; border-radius:0; background:linear-gradient(transparent, rgba(190,200,255,.7)); animation-name:scRain; animation-duration:.8s !important; top:-20px !important;}
@keyframes scRain{to{transform:translate(-40px,260px);}}
.fx-rain::after{content:''; position:absolute; inset:0; background:#e8ecff; opacity:0; animation:scBolt 7s infinite;}
@keyframes scBolt{0%,91%,95%,100%{opacity:0;} 92%{opacity:.35;} 94%{opacity:.15;}}
.fx-spores i{width:5px; height:5px; background:radial-gradient(circle,#c8ff6a,#6aa82a 60%,transparent 70%); animation-name:scSpore; opacity:.8;}
@keyframes scSpore{0%,100%{transform:translate(0,0);} 50%{transform:translate(-16px,-28px);}}
.fx-fog i{width:160px; height:40px; border-radius:50%; background:radial-gradient(ellipse, rgba(200,230,225,.16), transparent 70%); animation-name:scFog; animation-duration:18s !important; top:auto !important; bottom:calc(var(--b,10) * 1%);}
.fx-fog i:nth-child(n+7){display:none;} .fx-fog i:nth-child(odd){--b:22;}
@keyframes scFog{0%,100%{transform:translateX(-30px);} 50%{transform:translateX(40px);}}
.fx-motes i{width:3px; height:3px; background:#fff3c8; box-shadow:0 0 6px #ffe39a; animation-name:scRise; top:100% !important; opacity:.8;}
.fx-torches::before,.fx-torches::after{content:''; position:absolute; top:42%; width:70px; height:70px; border-radius:50%; background:radial-gradient(circle, rgba(255,160,60,.55), transparent 65%); animation:scTorch 1.4s ease-in-out infinite alternate;}
.fx-torches::before{left:4%;} .fx-torches::after{right:4%; animation-delay:.5s;}
@keyframes scTorch{to{opacity:.6; transform:scale(.88);}}
.fx-torches i{width:2px; height:2px; background:#ffcf8a; animation-name:scRise; top:100% !important; opacity:.6;}
.fx-candles::before,.fx-candles::after{content:''; position:absolute; top:58%; width:50px; height:50px; border-radius:50%; background:radial-gradient(circle, rgba(120,255,170,.45), transparent 65%); animation:scTorch 1.8s ease-in-out infinite alternate;}
.fx-candles::before{left:30%;} .fx-candles::after{right:30%; animation-delay:.7s;}
.fx-candles i{width:2px; height:2px; background:#9dffc4; animation-name:scRise; top:100% !important; opacity:.5;}

/* Faixa da região na aba Batalha */
.region-banner{position:relative; height:128px; margin:8px 0 10px; border-radius:12px; overflow:hidden; border:1px solid var(--brass,#8a6a2a); box-shadow:0 4px 14px rgba(0,0,0,.6), inset 0 0 0 1px rgba(0,0,0,.5);}
.region-banner .scene-shade{position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(6,4,3,.85));}
.rb-title{position:absolute; left:12px; bottom:9px; right:12px; font-family:var(--font-display); font-weight:700; font-size:17px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-bright); text-shadow:0 2px 4px #000, 0 0 10px rgba(0,0,0,.9);}

/* Medalhão do inimigo por raça */
.enemy-glyph.race-animal{border-color:#6f9a45 !important; background:radial-gradient(circle at 50% 40%, #2c3a1a, #0d1208 75%) !important; box-shadow:inset 0 0 12px rgba(120,180,60,.35), 0 0 8px rgba(110,160,60,.35);}
.enemy-glyph.race-humano{border-color:#b7b2a6 !important; background:radial-gradient(circle at 50% 40%, #34312b, #100f0d 75%) !important; box-shadow:inset 0 0 12px rgba(220,210,190,.25), 0 0 8px rgba(200,190,170,.3);}
.enemy-glyph.race-demonio{border-color:#c13b3b !important; background:radial-gradient(circle at 50% 40%, #4a1210, #140505 75%) !important; box-shadow:inset 0 0 14px rgba(255,60,40,.45), 0 0 10px rgba(220,40,30,.45);}
.enemy-glyph.race-morto_vivo{border-color:#5fbf9a !important; background:radial-gradient(circle at 50% 40%, #16322a, #050d0a 75%) !important; box-shadow:inset 0 0 14px rgba(90,230,170,.35), 0 0 10px rgba(80,200,150,.4);}
.enemy-glyph.race-outro{border-color:#9a6fd6 !important; background:radial-gradient(circle at 50% 40%, #2c1a44, #0b0612 75%) !important; box-shadow:inset 0 0 14px rgba(170,120,255,.35), 0 0 10px rgba(150,100,230,.4);}

body.fx-off .scene-fx,body.fx-off .sc-star,body.fx-off .sc-sun,body.fx-off .sc-lava,body.fx-off .sc-float,body.fx-off .sc-drift,body.fx-off .sc-spin{animation:none !important;}
@media (prefers-reduced-motion:reduce){.scene-fx{display:none;} .sc-star,.sc-sun,.sc-lava,.sc-float,.sc-drift,.sc-spin{animation:none;}}
/* v96: palco do inimigo (mais paisagem visível) e mosaicos do Mapa com cenário */
#screen-combat.has-scene .combat-top{padding-bottom:64px;}
#screen-combat.has-scene .combat-log{background:linear-gradient(180deg, rgba(12,9,7,.62), rgba(12,9,7,.86) 40%) !important;}
.wiki-tile.has-scene{position:relative; overflow:hidden;}
.wiki-tile-scene{position:absolute; inset:0; z-index:0; opacity:.95; pointer-events:none;}
.wiki-tile-scene .scene-svg{width:100%; height:100%; display:block;}
.wiki-tile-scene::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,6,4,0) 20%, rgba(8,6,4,.85) 78%);}
.wiki-tile.has-scene > :not(.wiki-tile-scene){position:relative; z-index:1;}
.wiki-tile.has-scene .wiki-tile-badge{position:absolute; z-index:2;}
.wiki-tile.has-scene .wiki-tile-lb,.wiki-tile.has-scene .wiki-tile-sub{text-shadow:0 1px 3px #000;}
.wiki-tile.has-scene.is-locked .wiki-tile-scene{filter:grayscale(1) brightness(.6);}

/* v97 — Habilidades até ao IV + Mestra (V) */
.roman-dot.master{border-color:rgba(232,196,92,.55); border-style:dashed;}
.roman-dot.master.filled{background:linear-gradient(90deg,#f5d77a,#e8a83a); border-style:solid; box-shadow:0 0 8px rgba(232,196,92,.8);}
.ability-row .ab-now{margin-top:4px; color:var(--text,#eadfc8);}
.ability-row .ab-next{margin-top:2px; color:var(--muted); opacity:.85;}
.ability-row.is-master{border-color:var(--gold); box-shadow:inset 0 0 18px rgba(232,196,92,.12), 0 0 10px rgba(232,196,92,.18);}
.wiki-ab-table td{white-space:normal; text-align:left;} .wiki-ab-table td:first-child{white-space:nowrap; font-weight:700;} .wiki-ab-table td:last-child{white-space:nowrap;}
.wiki-ab-table tr.master td{color:var(--gold-bright);}

/* ============================================================
   v98 — Amigos (Herói → Amigos)
   ============================================================ */
.fr-list{display:flex; flex-direction:column; gap:8px;}
.fr-row{display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:10px 12px; border:1px solid var(--line); border-radius:10px;
  background:radial-gradient(circle at 0% 50%, rgba(232,196,92,.06), transparent 60%), var(--bg-panel); color:inherit; font:inherit; cursor:pointer;}
.fr-row.static{cursor:default;}
.fr-row:not(.static):active{transform:scale(.98);}
.fr-ic{font-size:26px; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(0,0,0,.35); border:1px solid var(--line-soft); flex:none;}
.fr-mid{display:flex; flex-direction:column; gap:1px; flex:1; min-width:0;}
.fr-name{font-family:var(--font-display); font-weight:700; font-size:14.5px; color:var(--gold-bright); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.fr-seen{color:var(--muted);}
.fr-dot{display:inline-block; width:7px; height:7px; border-radius:50%; background:#6b6152; margin-right:5px; vertical-align:middle;}
.fr-dot.on{background:#5fd16f; box-shadow:0 0 6px #5fd16f;}
.fr-badges{display:flex; flex-direction:column; gap:4px; align-items:flex-end;}
.fr-badge{font-size:11px; font-weight:700; padding:2px 7px; border-radius:10px; background:var(--blood,#a33); color:#fff;}
.fr-badge.gold{background:var(--gold); color:#1a1206;}
.fr-badge.dim{background:rgba(255,255,255,.08); color:var(--muted);}
.fr-head .fr-head-mid{text-align:center; flex:1; min-width:0;}
.fr-chat-log{height:38vh; min-height:200px;}
.fr-trade{margin-bottom:10px;}
.fr-trade.open{border-color:var(--gold); box-shadow:0 0 12px rgba(232,196,92,.15);}
.fr-item{display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:8px 10px; border:1px solid; border-radius:9px; margin-bottom:6px; color:inherit; font:inherit;}
.fr-item.pick{cursor:pointer;}
.fr-item.pick.on{outline:2px solid var(--gold-bright); outline-offset:1px;}
.fr-item-ic{font-size:24px; flex:none;} .fr-item-ic .nx-ic{width:30px; height:30px;}
.fr-item-mid{display:flex; flex-direction:column; min-width:0; flex:1;}
.fr-item-name{font-weight:700; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.fr-check{width:20px; height:20px; flex:none; border-radius:5px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:12px; color:#1a1206; background:rgba(0,0,0,.3);}
.fr-item.on .fr-check{background:var(--gold-bright); border-color:var(--gold-bright);}
.fr-gold{padding:8px 10px; border:1px dashed var(--gold); border-radius:9px; color:var(--gold-bright); font-weight:700; font-size:13px; margin-bottom:6px;}
.fr-pick-list{max-height:46vh; overflow-y:auto; padding-right:2px;}
.fr-history{margin-bottom:10px;} .fr-history summary{cursor:pointer; margin-bottom:6px;}

/* ============================================================
   v99 — Avatares das classes/evoluções
   ============================================================ */
.hero-av{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 18%; border-radius:inherit; user-select:none; -webkit-user-drag:none;}
.sb-portrait.has-av{padding:0; overflow:hidden;}
.sb-portrait.has-av .hero-av{border-radius:8px;}
.hero-portrait.has-av .hero-av-frame{display:block; width:100%; max-width:150px; aspect-ratio:1; border-radius:6px; overflow:hidden;
  border:2px solid var(--brass); box-shadow:0 0 0 1px #000, 0 6px 14px rgba(0,0,0,.7), 0 0 14px rgba(232,196,92,.25);}
.doll-hero-ic.has-av{width:112px; height:112px; border-radius:14px; overflow:hidden; border:2px solid var(--aura);
  box-shadow:0 0 0 1px #000, 0 8px 16px rgba(0,0,0,.8), 0 0 18px color-mix(in srgb, var(--aura) 55%, transparent); filter:none;}
.doll-hero-ic.has-av .hero-av{border-radius:12px;}
#cb-player-icon .hero-av.tiny{display:inline-block; width:24px; height:24px; border-radius:6px; vertical-align:-6px; border:1px solid var(--brass);}
.fr-ic.has-av{padding:0; overflow:hidden; border-color:var(--brass);}
.fr-ic.has-av .hero-av{border-radius:50%;}
.fr-head-av .hero-av.tiny{display:inline-block; width:22px; height:22px; border-radius:50%; vertical-align:-5px; border:1px solid var(--brass);}
.class-glyph.has-av{width:64px; height:64px; padding:0; overflow:hidden; border-radius:10px; flex:none; border:1.5px solid var(--brass);}
.class-glyph.has-av .hero-av{border-radius:8px;}
.hero-av-fallback{display:flex; align-items:center; justify-content:center; width:100%; height:100%;}

/* v100 — Ecrã de fim de combate: nunca empurra o ecrã para cima (iPhone / ecrãs baixos).
   Se o espólio não couber, o próprio ecrã de fim faz scroll; se couber, fica centrado. */
#cb-end-screen{flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
  justify-content:flex-start !important; padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));}
#cb-end-screen > :first-child{margin-top:auto;}
#cb-end-screen > :last-child{margin-bottom:auto; flex-shrink:0;}
#cb-end-screen > *{flex-shrink:0;}
#screen-combat .combat-top{flex-shrink:0;}
#cb-end-screen #btn-combat-continue{position:sticky; bottom:0; z-index:2; box-shadow:0 -10px 18px 6px var(--bg-void,#0b0906);}

/* v101 — árvore de passivas mais alta (ramificação azul nova) + aviso da 2.ª arma */
.pv-tree{height:560px;}
.doll-warn{position:absolute; bottom:16px; left:4px; font-size:11px;}

/* v102 — Santuário do Eclipse: coroa do sol negro a pulsar */
.sc-eclipse{transform-origin:50% 30%; animation:scEclipse 6s ease-in-out infinite;}
@keyframes scEclipse{0%,100%{opacity:.85;}50%{opacity:1;}}
body.fx-off .sc-eclipse{animation:none;}

/* v103 — Alquimia: resumo do bónus total e progresso */
.alch-sum{margin-bottom:12px;}
.alch-sum-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:10px;}
.alch-sum-cell{text-align:center; padding:8px 2px; border-radius:10px; background:rgba(0,0,0,.28); border:1px solid rgba(212,175,55,.25);}
.alch-sum-cell.off{opacity:.45;}
.alch-sum-ic{font-size:18px; line-height:1.2;}
.alch-sum-pct{font-weight:800; color:var(--gold-bright); font-size:15px; margin-top:2px;}
.alch-sum-lbl{font-size:10.5px; opacity:.8;}
.alch-sum-real{font-size:10px; opacity:.65; margin-top:2px; line-height:1.25;}
.alch-slot-bonus{color:#9fe3a0; font-weight:700; margin-top:1px;}
.alch-prog{margin-top:8px;}
.alch-bar{height:6px; border-radius:4px; background:rgba(0,0,0,.4); margin-top:5px; overflow:hidden; border:1px solid rgba(212,175,55,.2);}
.alch-bar i{display:block; height:100%; background:linear-gradient(90deg,#b8860b,#ffd56a); border-radius:4px;}

/* v104 — Pedras Perfeitas ⭐ */
.equip-slot.alch-perfect{border-color:#ffd56a !important; background:radial-gradient(circle at 50% 30%, rgba(255,213,106,.22), rgba(0,0,0,0) 70%), var(--panel, #1a140d); box-shadow:0 0 0 1px rgba(255,213,106,.45), 0 0 14px rgba(255,200,80,.35);}
.equip-slot.alch-perfect .ic{filter:drop-shadow(0 0 6px rgba(255,215,110,.85));}
.equip-slot.alch-perfect .lbl{color:#ffe7a3; font-weight:700;}
body:not(.fx-off) .equip-slot.alch-perfect{animation:alchPerfect 2.8s ease-in-out infinite;}
@keyframes alchPerfect{0%,100%{box-shadow:0 0 0 1px rgba(255,213,106,.45), 0 0 10px rgba(255,200,80,.25);}50%{box-shadow:0 0 0 1px rgba(255,213,106,.7), 0 0 20px rgba(255,200,80,.5);}}
.alch-perfect-txt{color:#ffd56a;}

/* v109 — Cozinha */
.ck-active{display:flex; gap:12px; align-items:center; background:linear-gradient(135deg, rgba(120,170,60,.18), rgba(0,0,0,.25)); border:1px solid rgba(140,200,90,.45); border-radius:12px; padding:10px 12px; margin-bottom:12px;}
.ck-active .ck-big{font-size:34px; line-height:1;}
.ck-rec{margin-bottom:10px;}
.ck-rec.rare{border-color:#e8b84a !important; box-shadow:0 0 0 1px rgba(232,184,74,.35), 0 0 14px rgba(232,184,74,.18);}
.ck-rare{font-size:10px; color:#e8b84a; border-color:#e8b84a;}
.ck-head{display:flex; gap:12px; align-items:center;}
.ck-ic{font-size:30px; width:46px; height:46px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(0,0,0,.35); border:1px solid rgba(212,175,55,.3); flex:0 0 auto;}
.ck-name{font-family:var(--font-display); font-weight:700; font-size:15px;}
.ck-fx{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
.ck-fx span{font-size:11.5px; padding:3px 8px; border-radius:999px; background:rgba(120,170,60,.16); border:1px solid rgba(140,200,90,.35); color:#cfe9b4;}
.ck-ing{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
.ck-ing span{font-size:12px; padding:3px 8px; border-radius:8px; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08);}
.ck-ing span.ok{border-color:rgba(110,200,110,.5); color:#9fe3a0;}
.ck-ing span.no{border-color:rgba(220,80,80,.55); color:#ff9b9b;}
.ck-foot{display:flex; justify-content:space-between; align-items:center; margin-top:10px; gap:8px;}
.ck-poor{color:#ff9b9b;}
.ck-pantry{display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 12px;}
.ck-pantry span{font-size:13px; padding:4px 9px; border-radius:8px; background:rgba(0,0,0,.3); border:1px solid rgba(212,175,55,.25);}
.ck-pantry span.off{opacity:.45;}

/* v112 — ícones por coisa (monstros, habilidades, gemas…) */
.enemy-glyph .nx-ic{width:78%; height:78%;}
.ab-btn .ic .nx-ic{width:34px; height:34px;}
.gem-tier-ic .nx-ic{width:38px; height:38px;}
.ck-ic .nx-ic{width:38px; height:38px;}

/* v114 — ícones de slot com imagem */
.si .nx-ic{width:28px; height:28px;}
.gem-sock-ic .nx-ic{width:30px; height:30px;}

/* v116 — ícones das regiões */
.rb-title .nx-ic{width:1.5em; height:1.5em; vertical-align:-.35em;}
/* v118: emojis soltos no texto trocados pela imagem */
.nx-tx{display:inline-block; line-height:1; vertical-align:-.22em;}
.nx-tx .nx-ic{width:1.25em; height:1.25em; margin:0; vertical-align:top;}
/* v119: Esconderijo */
.ho-buy{border-color:var(--gold);}
.ho-buy-ic .nx-ic{width:54px;height:54px;}
.ho-title{font-family:var(--font-display);color:var(--gold-bright);font-size:16px;letter-spacing:.04em;}
.ho-req{display:flex;gap:6px;margin:12px 0 10px;}
.ho-req span{flex:1;text-align:center;font-size:12px;font-weight:700;padding:7px 6px;border-radius:6px;border:1px solid var(--line);background:var(--bg-void);}
.ho-req .ok{border-color:#4f6e3f;color:#a9d18e;} .ho-req .no{border-color:#6e3434;color:#e08b8b;}
.ho-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
.ho-lv{font-family:var(--font-display);font-size:18px;color:var(--gold-bright);letter-spacing:.04em;}
.ho-lv small{font-size:12px;color:var(--muted);}
.ho-map{position:relative;width:100%;aspect-ratio:4/5;max-height:62vh;border:2px solid #6a5130;border-radius:10px;overflow:hidden;
  background:url(icons/esconderijo-bg.webp) center/cover no-repeat,
    repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 2px,transparent 2px 40px),repeating-linear-gradient(90deg,rgba(0,0,0,.3) 0 2px,transparent 2px 52px),
    linear-gradient(180deg,#4b3c2b 0 13%,#3a3026 13%,#2b231b);
  box-shadow:inset 0 0 50px rgba(0,0,0,.85),0 6px 18px rgba(0,0,0,.6);}
.ho-torch{position:absolute;top:2.5%;width:8px;height:20px;margin-left:-4px;background:linear-gradient(#6b4a22,#2e2010);border-radius:2px;z-index:1;}
.ho-torch::before{content:"";position:absolute;left:-9px;top:-17px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,#fff1b8,#ffa63a 42%,rgba(255,120,30,0) 70%);animation:hoFlicker 1.6s ease-in-out infinite alternate;}
.ho-torch::after{content:"";position:absolute;left:-60px;top:-50px;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle,rgba(255,160,60,.18),transparent 65%);pointer-events:none;}
@keyframes hoFlicker{0%{transform:scale(1);opacity:.95}50%{transform:scale(1.12) translateY(-1px);opacity:1}100%{transform:scale(.94);opacity:.85}}
.ho-rug{position:absolute;left:50%;top:55%;width:30%;height:27%;transform:translate(-50%,-50%);border-radius:6px;
  background:repeating-linear-gradient(0deg,#6a1f1f 0 9px,#561717 9px 18px);border:3px solid #a1782c;box-shadow:0 4px 12px rgba(0,0,0,.6), inset 0 0 0 3px #3a0f0f;opacity:.92;}
.ho-st{position:absolute;transform:translate(-50%,-50%);width:76px;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;padding:0;cursor:pointer;z-index:3;color:var(--parchment);}
.ho-st-base{width:58px;height:58px;border-radius:12px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#3e3122,#15100a);border:1.5px solid #8a6a2a;box-shadow:0 6px 10px rgba(0,0,0,.75);transition:transform .12s, box-shadow .15s, border-color .15s;}
.ho-st-base .nx-ic{width:44px;height:44px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.8));}
.ho-st:active .ho-st-base{transform:scale(.94);}
.ho-st-lb{font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.03em;text-shadow:0 1px 2px #000,0 0 6px #000;line-height:1.1;text-align:center;}
.ho-st.sel .ho-st-base{border-color:var(--gold-bright);box-shadow:0 0 0 2px rgba(228,191,74,.35),0 0 18px rgba(228,191,74,.55);}
.ho-st.sel .ho-st-lb{color:var(--gold-bright);}
.ho-st.lock .ho-st-base{filter:grayscale(1) brightness(.5);}
.ho-st.lock .ho-st-lb{color:var(--dim);}
.ho-lock,.ho-ready{position:absolute;top:-8px;right:-2px;z-index:5;font-size:9px;font-weight:800;border-radius:8px;padding:1px 5px;line-height:1.4;}
.ho-lock{background:#1a140d;border:1px solid #4a3a22;color:var(--muted);}
.ho-ready{background:linear-gradient(#5f8f47,#3d6230);border:1px solid #9fd27f;color:#fff;animation:hoPulse 1.4s ease-in-out infinite;}
@keyframes hoPulse{50%{box-shadow:0 0 8px rgba(159,210,127,.8);}}
.ho-hero{position:absolute;z-index:4;width:46px;height:46px;transform:translate(-50%,-50%);transition-property:left,top;transition-timing-function:linear;pointer-events:none;}
.ho-hero .hero-av,.ho-hero .hero-av-fallback{width:46px;height:46px;border-radius:50%;border:2px solid var(--gold-bright);object-fit:cover;background:#120d08;box-shadow:0 0 10px rgba(0,0,0,.8);display:grid;place-items:center;font-size:26px;}
.ho-hero::after{content:"";position:absolute;left:6px;right:6px;bottom:-5px;height:9px;border-radius:50%;background:rgba(0,0,0,.55);z-index:-1;}
.ho-hero.flip .hero-av{transform:scaleX(-1);}
.ho-hero.walking .hero-av,.ho-hero.walking .hero-av-fallback{animation:hoBob .28s ease-in-out infinite alternate;}
.ho-hero.walking.flip .hero-av{animation-name:hoBobF;}
@keyframes hoBob{from{transform:translateY(0)}to{transform:translateY(-4px)}}
@keyframes hoBobF{from{transform:scaleX(-1) translateY(0)}to{transform:scaleX(-1) translateY(-4px)}}
.ho-sheet{margin-top:10px;display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--gold);border-radius:10px;background:linear-gradient(180deg,#241c12,#15100a);}
.ho-sheet.lock{border-color:var(--line);}
.ho-sheet-ic{flex-shrink:0;}
.ho-sheet-ic .nx-ic,.ho-sheet-ic .hero-av{width:44px;height:44px;border-radius:8px;}
.ho-sheet-mid{flex:1;min-width:0;}
.ho-sheet-mid b{font-family:var(--font-display);color:var(--gold-bright);font-size:14px;}
.ho-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-void);margin-top:7px;}
.ho-row.ready{border-color:var(--arcane-bright);}
.ho-row-mid{flex:1;min-width:0;}
.ho-row-mid b{font-size:13px;}
.ho-row .item-ic .nx-ic{width:34px;height:34px;}
.ho-tag{font-size:10px;font-weight:800;border-radius:8px;padding:1px 7px;background:#2c4a3f;color:#9fe0cf;border:1px solid var(--arcane);}
.ho-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px;}
.ho-chips span{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:2px 6px;background:var(--bg-panel);display:inline-flex;align-items:center;gap:2px;}
.ho-chips .nx-ic.nx-inline{width:15px;height:15px;margin-right:1px;}
.ho-prog{height:7px;background:#1a140d;border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:5px 0 3px;}
.ho-prog i{display:block;height:100%;background:linear-gradient(90deg,#3f7a6f,#63b0a3);}
.ho-note{padding:8px 10px;border-radius:8px;border:1px solid var(--arcane);background:rgba(76,138,128,.12);font-size:12.5px;color:var(--parchment);margin-bottom:8px;}
.ho-fire{text-align:center;margin:4px 0 8px;}
.ho-fire .nx-ic{width:84px;height:84px;filter:drop-shadow(0 0 16px rgba(255,140,40,.55));}
.ho-part{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--c);background:radial-gradient(circle,rgba(0,0,0,.2),rgba(0,0,0,.6));box-shadow:0 0 6px var(--c);vertical-align:middle;}
.ho-part .nx-ic{width:20px;height:20px;}
.btn .ho-part{width:20px;height:20px;border-width:1.5px;margin-right:2px;}
.btn .ho-part .nx-ic{width:13px;height:13px;}
.ho-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.ho-part-chip{display:flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--bg-void);}
.ho-part-chip b{display:block;font-size:14px;line-height:1.1;}
.ho-part-chip .tiny{display:block;line-height:1.15;}
.ho-trophies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;}
.ho-trophy{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;text-align:center;border:1px solid var(--gold);border-radius:8px;background:radial-gradient(ellipse at 50% 20%,#2a2114,#0f0c08);}
.ho-trophy b{font-size:10.5px;line-height:1.15;color:var(--gold-bright);}
.ho-trophy .tiny{font-size:9.5px;}
.ho-trophy-ic{font-size:26px;line-height:1;}
.ho-trophy-ic .nx-ic{width:34px;height:34px;}
.ho-trophy.off{border-color:var(--line);opacity:.45;}
.ho-trophy.off b{color:var(--muted);}
.ho-dummy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;}
.ho-dummy div{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-void);}
.ho-dummy span{display:block;}
.ho-dummy b{font-size:17px;color:var(--gold-bright);font-variant-numeric:tabular-nums;}
.ho-hits{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
.ho-hits span{font-size:11px;padding:2px 6px;border-radius:5px;background:var(--bg-panel);border:1px solid var(--line);font-variant-numeric:tabular-nums;}
.ho-hits span.crit{border-color:var(--gold);color:var(--gold-bright);}
.ho-bless{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.ho-bless-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:1px solid var(--bronze,#6a5130);border-radius:8px;background:radial-gradient(ellipse at 50% 25%,#2b2016,#0f0c08);color:var(--parchment);cursor:pointer;text-align:center;}
.ho-bless-card b{font-family:var(--font-display);font-size:10.5px;color:var(--gold-bright);line-height:1.15;}
.ho-bless-card span{font-size:11.5px;}
.ho-bless-ic .nx-ic{width:40px;height:40px;}
.ho-bless-card:disabled{opacity:.45;cursor:default;}
.ho-bless-card.on{opacity:1;border-color:var(--gold-bright);box-shadow:0 0 12px rgba(228,191,74,.35);}
.ho-pets{display:inline-flex;}
.ho-pets .nx-ic{width:34px;height:34px;}
.ho-pets.multi{display:flex;flex-wrap:wrap;justify-content:center;width:40px;gap:0;line-height:0;}
.ho-pets.multi > *{width:20px;height:20px;font-size:15px;line-height:20px;text-align:center;}
.ho-pets.multi .nx-ic{width:20px;height:20px;}
.ho-row.pick{border-color:var(--gold);}
.ho-need{max-width:86px;text-align:right;line-height:1.2;}
.ho-row .item-ic .ho-pets.multi .nx-ic{width:20px !important;height:20px !important;margin:0 !important;}
.ho-row .item-ic .ho-pets.multi > .nx-k{display:block;width:20px;height:20px;overflow:hidden;}
.ho-row .item-ic .ho-pets.multi > .ho-pet1{display:grid;place-items:center;width:20px;height:20px;font-size:15px;line-height:1;overflow:hidden;}
.ho-row .item-ic .ho-pets.multi > .ho-pet1 *{max-width:20px;max-height:20px;}
.ho-part.img{border:0;background:none;box-shadow:none;width:34px;height:34px;}
.ho-part.img .nx-ic{width:34px;height:34px;}
.btn .ho-part.img{width:22px;height:22px;} .btn .ho-part.img .nx-ic{width:22px;height:22px;}
.ho-store{margin:6px 0 10px;}
.ho-prog.full i{background:linear-gradient(90deg,#8e2c2c,#c65c5c);}
.ho-note.warn{border-color:#8e3a3a;background:rgba(163,65,65,.14);}
.ho-part-chip.off{opacity:.4;}
/* v119: Esconderijo — barra de nível e menu de melhoria */
.ho-top{padding:8px 10px;border:1px solid var(--bronze,#6a5130);border-radius:10px;background:linear-gradient(180deg,#241c12,#120d08);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.ho-lvbox{display:flex;align-items:center;gap:8px;}
.ho-crest .nx-ic{width:38px;height:38px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.8));}
.ho-lv{font-size:16px;}
.ho-pips{display:flex;gap:4px;margin-top:3px;}
.ho-pips i{width:16px;height:6px;border-radius:3px;background:#2a2014;border:1px solid #4a3a22;}
.ho-pips i.on{background:linear-gradient(90deg,#b48a1e,#e4bf4a);border-color:#e4bf4a;box-shadow:0 0 6px rgba(228,191,74,.45);}
.ho-up-btn{position:relative;}
.ho-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:#7fd85a;border:1px solid #1c1409;box-shadow:0 0 8px #7fd85a;animation:hoPulse 1.4s ease-in-out infinite;}
.ho-max{font-family:var(--font-display);font-size:12px;color:var(--gold-bright);letter-spacing:.05em;}
.ho-up-modal{text-align:left;}
.ho-up-head{text-align:center;margin-bottom:10px;}
.ho-up-crest .nx-ic{width:72px;height:72px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.8)) drop-shadow(0 0 14px rgba(228,191,74,.25));}
.ho-up-head h3{font-family:var(--font-display);color:var(--gold-bright);letter-spacing:.05em;margin:4px 0 6px;}
.ho-up-lv{display:inline-flex;align-items:center;gap:10px;padding:4px 14px;border:1px solid var(--line);border-radius:20px;background:var(--bg-void);font-family:var(--font-display);}
.ho-up-lv span{color:var(--muted);} .ho-up-lv .gold{color:var(--gold-bright);}
.ho-perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.ho-perk{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--bronze,#6a5130);border-radius:8px;background:radial-gradient(ellipse at 20% 30%,#2a2114,#0f0c08);}
.ho-perk-ic .nx-ic{width:34px;height:34px;} .ho-perk-ic{flex-shrink:0;font-size:26px;line-height:1;}
.ho-perk b{display:block;font-size:12px;line-height:1.2;color:var(--parchment);}
.ho-perk .tiny{display:block;}
.ho-cost{padding:10px;border:1px solid #6e3434;border-radius:8px;background:rgba(163,65,65,.08);}
.ho-cost.ok{border-color:#4f6e3f;background:rgba(114,154,94,.10);}
.ho-cost-v{font-size:18px;font-weight:800;color:var(--gold-bright);font-variant-numeric:tabular-nums;}
.ho-cost .ho-prog i{background:linear-gradient(90deg,#8a6a1c,#e4bf4a);}
.ho-road{display:flex;gap:4px;}
.ho-road-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:1px solid var(--line);border-radius:8px;background:var(--bg-void);opacity:.55;}
.ho-road-step.done{opacity:1;border-color:#4f6e3f;}
.ho-road-step.next{opacity:1;border-color:var(--gold-bright);box-shadow:0 0 10px rgba(228,191,74,.3);}
.ho-road-n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:#2a2014;border:1px solid #4a3a22;}
.ho-road-step.done .ho-road-n{background:#3d6230;border-color:#9fd27f;color:#fff;}
.ho-road-step.next .ho-road-n{background:linear-gradient(#e4bf4a,#b48a1e);color:#1c1409;border-color:#e4bf4a;}
.ho-road-ics{display:flex;flex-wrap:wrap;justify-content:center;min-height:24px;}
.ho-road-ics .nx-ic{width:22px;height:22px;}
.ho-road-step .tiny{font-size:9.5px;font-variant-numeric:tabular-nums;}
/* v121: troféu de vitória com imagem própria */
.combat-end .glyph .nx-ic{width:96px;height:96px;margin:0 auto;display:block;}
/* v123: Bancada de Craft */
:root{--craft-green:#8EE06A;}
.ho-tabs .tab-chip{flex:1;text-align:center;}
.ho-bench{position:relative;border:2px solid #6a5130;border-radius:12px;padding:18px 8px 12px;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 2px,transparent 2px 46px),linear-gradient(180deg,#5a3d22,#3d2814 60%,#2c1d0f);
  box-shadow:inset 0 2px 0 rgba(255,220,160,.15),inset 0 -10px 20px rgba(0,0,0,.5),0 8px 18px rgba(0,0,0,.6);}
.ho-bench::before{content:"";position:absolute;left:10px;right:10px;top:6px;height:3px;border-radius:2px;background:rgba(255,220,160,.12);}
.ho-slots{display:flex;align-items:center;justify-content:center;gap:6px;}
.ho-slot{width:88px;height:100px;border-radius:12px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  background:radial-gradient(circle at 50% 38%,#2b2219,#0d0a07 75%);border:2px solid #8a6a2a;box-shadow:inset 0 0 18px rgba(0,0,0,.9),0 3px 6px rgba(0,0,0,.6);}
.ho-slot::after{content:"";position:absolute;inset:4px;border-radius:9px;border:1px dashed rgba(228,191,74,.18);pointer-events:none;}
.ho-slot.glow{border-color:var(--c);box-shadow:inset 0 0 18px rgba(0,0,0,.9),0 0 12px var(--c);}
.ho-slot .nx-ic,.ho-slot .ho-part.img .nx-ic{width:52px;height:52px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.9));}
.ho-slot .ho-part.img{width:52px;height:52px;}
.ho-slot .nx-k{font-size:40px;line-height:1;}
.ho-slot-n{position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:#1a140d;border:1px solid #8a6a2a;font-size:10px;font-weight:800;display:grid;place-items:center;color:var(--gold-bright);z-index:2;}
.ho-slot-q{position:absolute;top:6px;right:7px;font-weight:800;font-size:11.5px;color:var(--gold-bright);text-shadow:0 1px 2px #000;}
.ho-slot-lb{font-size:9.5px;color:var(--muted);text-align:center;line-height:1.1;}
.ho-slot-empty{font-size:30px;color:rgba(228,191,74,.25);font-weight:800;}
.ho-plus{font-weight:800;color:var(--gold-bright);font-size:17px;text-shadow:0 1px 2px #000;}
.ho-arrow{text-align:center;color:var(--gold-bright);font-size:18px;margin:8px 0 2px;}
.ho-result{display:flex;align-items:center;gap:10px;justify-content:center;padding:8px;border-radius:10px;border:1px solid var(--c);background:rgba(0,0,0,.35);box-shadow:0 0 14px rgba(0,0,0,.4);}
.ho-result.off{opacity:.45;}
.ho-result .ho-part.img,.ho-result .ho-part.img .nx-ic{width:42px;height:42px;}
.ho-result b{font-size:14px;}
.ho-btn-green{background:linear-gradient(180deg,#9fe07f,#5d9a43) !important;border-color:#b8f09a !important;color:#10200a !important;}
.ho-prow{display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--line);border-left:3px solid var(--c);border-radius:8px;background:#100c08;margin-top:6px;cursor:pointer;}
.ho-prow.on{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--c);}
.ho-prow.top{cursor:default;opacity:.7;}
.ho-prow .ho-part.img,.ho-prow .ho-part.img .nx-ic{width:30px;height:30px;}
.ho-prow-t{flex:1;font-size:12.5px;}
.ho-mini{font-family:var(--font-display);font-weight:700;font-size:11px;border-radius:6px;padding:5px 8px;border:1px solid #6b7480;background:linear-gradient(180deg,#4a525c,#2f353d);color:#fff;white-space:nowrap;}
.ho-mini.gold{background:linear-gradient(180deg,#e4bf4a,#b48a1e);color:#1c1409;border-color:#8a6a1c;}
.ho-mini.off{opacity:.5;}
.ho-bench-cap{text-align:center;margin-top:10px;color:#d8c9a6;}
.ho-reqs{display:flex;flex-direction:column;gap:3px;margin-top:10px;}
.ho-reqs span{font-size:11.5px;} .ho-reqs .ok{color:#a9d18e;} .ho-reqs .no{color:#e08b8b;}
.ho-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.ho-choice-card{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--line);border-radius:10px;padding:10px 6px;background:#120d08;color:var(--parchment);text-align:center;cursor:pointer;}
.ho-choice-card .nx-ic{width:34px;height:34px;}
.ho-choice-card b{font-family:var(--font-display);font-size:12.5px;color:var(--gold-bright);}
.ho-choice-card.on{border-color:var(--gold-bright);box-shadow:0 0 12px rgba(228,191,74,.3);}
.ho-choice-card:disabled{opacity:.45;cursor:default;}
.ho-pct{display:inline-block;margin-top:4px;font-size:11px;font-weight:800;padding:2px 8px;border-radius:10px;background:#3a1d1d;border:1px solid #8e3a3a;color:#f0a0a0;}
.ho-cbonus{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.ho-cbonus>span{font-size:11px;padding:5px 7px;border-radius:6px;border:1px solid rgba(142,224,106,.45);background:rgba(142,224,106,.08);color:var(--craft-green);}
.ho-maxrow{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#100c08;font-size:12px;}
.ho-maxrow i{color:var(--muted);font-style:normal;font-size:11px;}
.pill.craft-pill{border-color:rgba(142,224,106,.7) !important;color:var(--craft-green) !important;background:rgba(142,224,106,.10);}
.ability-row.craft-ab{border-color:rgba(142,224,106,.45);box-shadow:inset 0 0 16px rgba(142,224,106,.08);}
.ab-btn.craft{border-color:rgba(142,224,106,.7);box-shadow:0 0 8px rgba(142,224,106,.25), inset 0 1px 0 rgba(255,255,255,.1);}
.ab-btn.craft .lv{color:var(--craft-green);}
.pill.craft-pill small{font-size:8.5px;font-weight:800;letter-spacing:.06em;border:1px solid rgba(142,224,106,.6);border-radius:6px;padding:0 4px;margin-left:3px;}
.ho-forge-res .nx-ic{width:78px;height:78px;}
.ho-forge-res.ok .nx-ic{filter:drop-shadow(0 0 14px rgba(142,224,106,.7));}
.ho-forge-res.ko .nx-ic{filter:grayscale(.6) drop-shadow(0 0 10px rgba(198,92,92,.6));}
.ho-mchips{display:flex;flex-wrap:wrap;gap:6px;}
.ho-mchip{font-size:12px;font-weight:700;padding:6px 10px;border-radius:18px;border:1px solid var(--c);background:#120d08;color:var(--parchment);display:flex;gap:6px;align-items:center;cursor:pointer;}
.ho-mchip i{width:14px;height:14px;border-radius:4px;border:1px solid var(--c);display:inline-grid;place-items:center;font-style:normal;font-size:10px;}
.ho-mchip.on{background:rgba(255,255,255,.08);box-shadow:0 0 8px var(--c);}
.ho-mchip.on i{background:var(--c);color:#000;}
/* v124: confirmação de desmanche / forja */
.nx-confirm-ic .nx-ic{width:56px;height:56px;}
div.nx-confirm-msg{text-align:left;}
.dc-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;}
.dc-item-ic .nx-ic,.dc-item-ic .nx-k{width:34px;height:34px;font-size:26px;}
.dc-item b,.dc-row b{display:block;font-size:13px;line-height:1.2;}
.dc-item small,.dc-row small{display:block;font-size:11px;color:var(--muted);}
.dc-rows{display:flex;flex-direction:column;gap:5px;}
.dc-row{display:flex;align-items:center;gap:9px;padding:6px 9px;border:1px solid var(--line);border-left:3px solid var(--c);border-radius:8px;background:var(--bg-void);}
.dc-row .ho-part.img,.dc-row .ho-part.img .nx-ic{width:30px;height:30px;}
.dc-store{display:flex;justify-content:space-between;gap:8px;margin-top:9px;font-size:12px;}
.dc-store .ok{color:var(--craft-green,#8EE06A);} .dc-store .warn{color:#e08b8b;}
.dc-warn{margin-top:8px;font-size:11.5px;color:#e8b3a0;text-align:center;}
.dc-lead{font-size:13px;margin-bottom:8px;text-align:center;}
.dc-pct{color:#f0a0a0;}

/* ===== v130: Mapa vivo das regiões (separador Batalha) ===== */
.rm-map{position:relative;width:100%;max-width:100%;aspect-ratio:4/5;border:2px solid #5d4a28;border-radius:10px;overflow:hidden;background-color:#2a2418;background-size:cover;background-position:center;
  box-shadow:inset 0 0 40px rgba(0,0,0,.55),0 6px 18px rgba(0,0,0,.6);touch-action:manipulation;user-select:none;-webkit-user-select:none;}
.rm-map::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:150;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 0 50px rgba(0,0,0,.35);}
.rm-sign{position:absolute;z-index:2;font:700 9.5px var(--font-display);letter-spacing:.06em;color:#f3e3bd;background:rgba(30,20,10,.8);border:1px solid #7a5c2a;border-radius:5px;padding:2px 6px;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;}
.rm-tok{position:absolute;transform:translate(-50%,-50%);width:44px;background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;transition-property:left,top;transition-timing-function:linear;color:#fff;-webkit-tap-highlight-color:transparent;}
.rm-c{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#2b2418,#0d0a07);border:2.5px solid var(--rm-ring,#B9B4A8);
  box-shadow:0 0 8px rgba(0,0,0,.4),0 5px 7px rgba(0,0,0,.55);transition:transform .15s;}
.rm-c .rm-img{width:38px;height:38px;border-radius:50%;object-fit:contain;transition:transform .2s;}
.rm-c .rm-svg{width:28px;height:28px;}
.rm-c .rm-emo{font-size:22px;line-height:1;}
.rm-tok.left .rm-c .rm-img{transform:scaleX(-1);}
.rm-lb{font:700 9.5px var(--font-body);text-shadow:0 1px 2px #000,0 0 5px #000;line-height:1.1;text-align:center;width:max-content;max-width:74px;}
.rm-tok.boss .rm-lb{max-width:92px;}
.rm-lv{font:800 8.5px var(--font-body);color:var(--gold-bright);text-shadow:0 1px 2px #000;line-height:1.1;}
.rm-tok::after{content:"";position:absolute;top:36px;left:8px;right:8px;height:9px;border-radius:50%;background:rgba(0,0,0,.42);z-index:-1;}
.rm-tok.walk .rm-c{animation:rmBob .32s ease-in-out infinite alternate;}
@keyframes rmBob{to{transform:translateY(-3px);}}
.rm-tok:active .rm-c{transform:scale(.93);}
.rm-tok.sel .rm-c{box-shadow:0 0 0 3px rgba(228,191,74,.5),0 0 18px rgba(228,191,74,.7);}
.rm-alert{position:absolute;top:-13px;left:50%;transform:translateX(-50%) scale(0);font:900 13px var(--font-body);color:#1c1409;background:var(--gold-bright);border:1.5px solid #fff3c4;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;transition:transform .18s;z-index:2;}
.rm-tok.engaged .rm-alert{transform:translateX(-50%) scale(1);}
.rm-tok.spawn .rm-c{animation:rmSpawn .6s ease-out;}
@keyframes rmSpawn{from{transform:scale(.2);opacity:0;filter:brightness(3);}to{transform:scale(1);opacity:1;}}
.rm-tok.boss{width:54px;}
.rm-tok.boss .rm-c{width:46px;height:46px;border-width:3px;border-color:#C95A5A;box-shadow:0 0 0 2px #3a1010,0 0 14px rgba(201,90,90,.6),0 6px 9px rgba(0,0,0,.6);}
.rm-tok.boss .rm-c .rm-img{width:42px;height:42px;}
.rm-tok.boss::after{top:38px;}
.rm-tok.gate{width:64px;}
.rm-tok.gate .rm-c{width:58px;height:58px;border-color:var(--gold-bright);box-shadow:0 0 0 2px #5a1b1b,0 0 18px rgba(228,191,74,.55),0 6px 9px rgba(0,0,0,.6);}
.rm-tok.gate .rm-c .rm-img{width:54px;height:54px;}
.rm-tok.gate::after{top:50px;}
.rm-crown{position:absolute;top:-13px;left:50%;transform:translateX(-50%);z-index:1;font-size:15px;line-height:1;}
.rm-crown .nx-ic{width:22px;height:22px;filter:drop-shadow(0 1px 2px #000);}
.rm-done{position:absolute;top:-4px;right:2px;z-index:2;width:17px;height:17px;border-radius:50%;background:linear-gradient(#6E9A58,#3d6230);border:1.5px solid #bfe3a8;color:#fff;font:900 10px/1 var(--font-body);display:grid;place-items:center;}
.rm-tok.boss .rm-lb{color:#ffd9d9;}
.rm-btag{white-space:nowrap;font:800 8px var(--font-body);letter-spacing:.06em;color:#fff;background:linear-gradient(#a33a3a,#6e2020);border:1px solid #e07a7a;border-radius:6px;padding:0 5px;margin-top:1px;line-height:1.5;}
.rm-tok.gate .rm-btag{background:linear-gradient(#b48a1e,#7a5c14);border-color:var(--gold-bright);}
.rm-btag.warn{box-shadow:0 0 6px rgba(255,90,90,.9);}
.rm-hero{position:absolute;width:46px;height:46px;transform:translate(-50%,-50%);transition-property:left,top;transition-timing-function:linear;pointer-events:none;}
.rm-hero .hero-av,.rm-hero .hero-av-fallback{width:46px;height:46px;border-radius:50%;border:2.5px solid var(--gold-bright);object-fit:cover;background:#120d08;box-shadow:0 0 12px rgba(228,191,74,.45),0 5px 8px rgba(0,0,0,.7);display:grid;place-items:center;font-size:26px;}
.rm-hero.left .hero-av{transform:scaleX(-1);}
.rm-hero.walk .hero-av,.rm-hero.walk .hero-av-fallback{animation:rmBob .26s ease-in-out infinite alternate;}
.rm-hero.left.walk .hero-av{animation-name:rmBobL;}
@keyframes rmBobL{from{transform:scaleX(-1);}to{transform:scaleX(-1) translateY(-3px);}}
.rm-hero::after{content:"";position:absolute;left:8px;right:8px;bottom:-4px;height:9px;border-radius:50%;background:rgba(0,0,0,.5);z-index:-1;}
.rm-flash{position:absolute;inset:0;z-index:200;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,240,200,.85),rgba(255,120,40,.35) 30%,transparent 60%);opacity:0;pointer-events:none;}
.rm-flash.go{animation:rmFlash .45s ease-out forwards;}
@keyframes rmFlash{40%{opacity:1;}100%{opacity:.6;}}
@media (prefers-reduced-motion:reduce){.rm-tok,.rm-hero{transition-duration:0s!important;}.rm-tok.walk .rm-c,.rm-hero.walk .hero-av{animation:none;}}

/* v131: ecrã de Batalha — faixa da região, dificuldade num botão, tarefa/evento e ficha sobre o mapa */
.bt-strip{display:flex;align-items:center;gap:6px;margin:0 0 9px;}
.bt-arr{width:28px;height:40px;border:1px solid var(--line);border-radius:8px;background:#120e09;color:var(--gold-bright);font:800 19px var(--font-body);cursor:pointer;display:grid;place-items:center;flex-shrink:0;padding:0;}
.bt-arr[disabled]{color:var(--dim);opacity:.4;cursor:default;}
.bt-reg{flex:1;min-width:0;display:flex;align-items:center;gap:8px;}
.bt-reg-ic{width:38px;height:38px;border:1px solid var(--bronze);border-radius:8px;background:#0e0b08;display:grid;place-items:center;flex-shrink:0;font-size:22px;}
.bt-reg-ic .nx-ic{width:31px;height:31px;}
.bt-reg-t{min-width:0;}
.bt-reg-t b{display:block;font-family:var(--font-display);font-size:14px;color:var(--gold-bright);letter-spacing:.03em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bt-reg-t span{font-size:11px;color:var(--muted);white-space:nowrap;}
.bt-diff{position:relative;flex-shrink:0;}
.bt-diff-btn{display:flex;align-items:center;gap:6px;border:1.5px solid var(--c);border-radius:9px;background:#120e09;color:var(--parchment);font:700 12px var(--font-body);padding:9px 9px;cursor:pointer;box-shadow:0 0 8px color-mix(in srgb,var(--c) 35%,transparent);}
.bt-diff-btn i,.bt-dopt i{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 6px var(--c);flex-shrink:0;}
.bt-diff-btn em{font-style:normal;color:var(--muted);font-size:10px;}
.bt-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:400;width:248px;background:linear-gradient(180deg,#221a11,#140f0a);border:1px solid var(--gold);border-radius:10px;padding:5px;box-shadow:0 12px 30px rgba(0,0,0,.8);}
.bt-pop[hidden]{display:none;}
.bt-dopt{width:100%;display:flex;align-items:center;gap:9px;padding:8px;border:0;border-radius:7px;background:none;color:var(--parchment);cursor:pointer;text-align:left;}
.bt-dopt.on{background:rgba(228,191,74,.12);}
.bt-dopt b{font-size:13px;display:block;}
.bt-dopt span{font-size:10.5px;color:var(--muted);line-height:1.35;display:block;}
.bt-dopt.lock{opacity:.45;}
.bt-emo{font-size:18px;line-height:1;}
.bt-emo.big{font-size:28px;}
.bt-pill{position:absolute;z-index:160;top:8px;display:flex;align-items:center;gap:6px;border-radius:20px;padding:4px 10px 4px 5px;font:700 11px var(--font-body);cursor:pointer;border:1px solid var(--line);background:rgba(16,12,8,.88);color:var(--parchment);}
.bt-pill.q{left:8px;}
.bt-pill.ev{right:8px;border-color:var(--blood-bright);color:#ffd2d2;}
.bt-ring{width:22px;height:22px;border-radius:50%;background:conic-gradient(var(--gold-bright) calc(var(--p)*1turn),#3a2e1c 0);display:grid;place-items:center;}
.bt-ring::before{content:"";width:15px;height:15px;border-radius:50%;background:#120e09;}
.bt-ev-n{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#ff8a8a,#8e2f2f);display:grid;place-items:center;font:900 10px var(--font-body);color:#fff;}
.bt-tip{position:absolute;z-index:190;top:42px;width:min(272px,calc(100% - 16px));border-radius:12px;padding:12px;background:linear-gradient(180deg,#241b11,#120d09);border:1px solid var(--gold);box-shadow:0 14px 30px rgba(0,0,0,.8);animation:btTip .18s ease-out;}
.bt-tip[hidden]{display:none;}
.bt-tip.q{left:8px;transform-origin:30px 0;}
.bt-tip.ev{right:8px;transform-origin:calc(100% - 40px) 0;border-color:var(--blood-bright);background:linear-gradient(180deg,#2c1412,#140a09);}
.bt-tip::before{content:"";position:absolute;top:-7px;width:12px;height:12px;background:inherit;border-left:1px solid;border-top:1px solid;border-color:inherit;transform:rotate(45deg);}
.bt-tip.q::before{left:22px;} .bt-tip.ev::before{right:34px;}
@keyframes btTip{from{opacity:0;transform:scale(.92) translateY(-4px);}to{opacity:1;transform:none;}}
.bt-tip-h{display:flex;align-items:center;gap:9px;margin-bottom:9px;}
.bt-tip-h .bt-tip-ic{width:34px;height:34px;filter:drop-shadow(0 2px 3px #000);}
.bt-tip-h small{display:block;font:800 9.5px var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.bt-tip-h b{display:block;font-family:var(--font-display);font-size:15px;color:var(--gold-bright);line-height:1.2;}
.bt-tip.ev .bt-tip-h b{color:#ffb4b4;}
.bt-tip-x{margin-left:auto;align-self:flex-start;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:#1a140d;color:var(--muted);font:800 12px var(--font-body);cursor:pointer;padding:0;flex-shrink:0;}
.bt-prog{height:9px;border-radius:5px;background:#2a2014;border:1px solid var(--line);overflow:hidden;}
.bt-prog i{display:block;height:100%;background:linear-gradient(90deg,#b48a1e,var(--gold-bright));border-radius:5px;}
.bt-prog-t{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:5px 0 10px;}
.bt-prog-t b{color:var(--parchment);}
.bt-rw{display:flex;gap:6px;}
.bt-rw span{flex:1;display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#120e09;font:800 13px var(--font-body);font-variant-numeric:tabular-nums;}
.bt-rw .nx-ic{width:20px;height:20px;}
.bt-tip-n{font-size:11px;color:var(--muted);line-height:1.45;margin-top:9px;}
.bt-tip-d{font-size:12px;line-height:1.45;color:var(--parchment);margin-bottom:9px;}
.bt-st3{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:8px;}
.bt-st3 div{text-align:center;padding:6px 2px;border:1px solid var(--line);border-radius:8px;background:#120e09;}
.bt-st3 .nx-ic{width:20px;height:20px;display:block;margin:0 auto 2px;}
.bt-st3 b{display:block;font:800 14px var(--font-body);font-variant-numeric:tabular-nums;}
.bt-st3 span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.bt-st3 .up b{color:#ff8f8f;} .bt-st3 .dn b{color:#9fd27f;}
.bt-special{font-size:11.5px;line-height:1.4;padding:7px 8px;border-radius:8px;background:rgba(142,47,47,.22);border:1px solid rgba(201,90,90,.5);margin-bottom:8px;}
.bt-left{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--muted);}
.bt-left b{color:var(--parchment);}
.bt-pips{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;}
.bt-pips i{width:13px;height:13px;border-radius:4px;background:linear-gradient(#c95a5a,#8e2f2f);border:1px solid #e07a7a;}
.bt-drop{margin-top:8px;font-size:11px;color:var(--muted);line-height:1.4;padding-top:8px;border-top:1px solid var(--line-soft);}
/* ficha do alvo: sobe por cima do fundo do mapa */
.rm-sheet{position:absolute;left:8px;right:8px;bottom:8px;z-index:170;display:flex;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--gold);border-radius:11px;
  background:linear-gradient(180deg,#221a11,#140f0a);box-shadow:0 10px 24px rgba(0,0,0,.7);transform:translateY(calc(100% + 14px));transition:transform .25s ease;}
.rm-sheet.on{transform:none;}
.rm-sheet.boss{border-color:#c95a5a;background:linear-gradient(180deg,#2a1414,#140b0a);}
.rm-sh-ic{width:46px;height:46px;border-radius:50%;border:2px solid var(--gold);background:#0d0a07;flex-shrink:0;display:grid;place-items:center;overflow:hidden;}
.rm-sh-ic .rm-img{width:42px;height:42px;object-fit:contain;}
.rm-sh-ic .rm-svg{width:30px;height:30px;}
.rm-sh-ic .rm-emo{font-size:24px;}
.rm-sh-mid{flex:1;min-width:0;}
.rm-sh-mid b{font-family:var(--font-display);font-size:14px;color:var(--gold-bright);letter-spacing:.03em;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rm-sh-mid .tiny{margin-top:1px;line-height:1.35;}
.rm-warn{color:var(--blood-bright)!important;font-weight:700;}
.rm-sheet .rm-atk{white-space:nowrap;flex-shrink:0;padding:11px 13px;}
.rm-sh-x{position:absolute;top:-9px;right:-6px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:#1a140d;color:var(--muted);font:800 12px var(--font-body);cursor:pointer;display:grid;place-items:center;padding:0;}
/* v141: Mapa / Lista */
.bt-view{display:flex;gap:4px;padding:3px;margin:0 0 9px;border:1px solid var(--line);border-radius:10px;background:#0e0b08;}
.bt-view button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:30px;border:0;border-radius:7px;background:none;color:var(--muted);font:700 12px var(--font-body);letter-spacing:.02em;cursor:pointer;}
.bt-view button.on{background:linear-gradient(180deg,#3a2c16,#22190d);color:var(--gold-bright);box-shadow:inset 0 0 0 1px rgba(228,191,74,.45);}
.bt-view .bt-view-ic,.bt-view .nx-ic{width:18px;height:18px;}
.bt-view .bt-emo{font-size:14px;}
.bt-view-lines{display:inline-flex;flex-direction:column;gap:2.5px;width:14px;}
.bt-view-lines i{display:block;height:2px;border-radius:1px;background:currentColor;}
.bt-view-lines i:nth-child(2){width:80%;}
.bl-wrap{position:relative;}
.bl-pills{position:relative;display:flex;justify-content:space-between;gap:8px;min-height:30px;margin-bottom:6px;}
.bl-pills .bt-pill{position:static;}
.bl-pills .bt-tip{top:38px;}
.bl-pills .bt-tip.q{left:0;}
.bl-pills .bt-tip.ev{right:0;}
.bl-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:10px 2px 6px;}
.bl-h span{font-family:var(--font-display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);}
.bl-h small{font-size:11px;color:var(--muted);}
.bl-group{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,rgba(30,23,14,.92),rgba(16,12,8,.92));}
.bl-row{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:0;border-top:1px solid rgba(255,255,255,.05);background:none;color:var(--text);text-align:left;cursor:pointer;font:inherit;}
.bl-row:first-child{border-top:0;}
.bl-row:active{background:rgba(228,191,74,.08);}
.bl-ic{position:relative;flex-shrink:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#2b2418,#0d0a07);border:2px solid var(--c,#8a7a5a);}
.bl-ic .rm-img{width:40px;height:40px;}
.bl-ic .rm-emo{font-size:24px;}
.bl-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.bl-t b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bl-t small{font-size:11.5px;color:var(--muted);}
.bl-pet{color:#c9b6f0;}
.bl-warn{font-style:normal;font-size:11px;color:#f0a35a;}
.bl-go{flex-shrink:0;padding:7px 12px;border-radius:8px;font:800 12px var(--font-body);letter-spacing:.02em;color:#1b1206;background:linear-gradient(180deg,#f3d27a,#c9a227);box-shadow:0 2px 0 #7a5d14;}
.bl-row.boss .bl-ic{--c:#C95A5A;box-shadow:0 0 10px rgba(201,90,90,.35);}
.bl-row.boss .bl-go{color:#fff;background:linear-gradient(180deg,#c0473f,#8a2620);box-shadow:0 2px 0 #4f1410;}
.bl-row.gate .bl-ic{--c:var(--gold-bright);width:50px;height:50px;box-shadow:0 0 12px rgba(228,191,74,.45);}
.bl-row.gate .bl-ic .rm-img{width:46px;height:46px;}
.bl-row.gate{background:linear-gradient(90deg,rgba(228,191,74,.09),transparent 70%);}
.bl-crown{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-size:13px;line-height:1;filter:drop-shadow(0 1px 1px #000);}
.bl-ok{position:absolute;right:-4px;bottom:-3px;width:17px;height:17px;border-radius:50%;background:linear-gradient(#6E9A58,#3d6230);border:1.5px solid #bfe3a8;color:#fff;font:900 9.5px/14px var(--font-body);text-align:center;}
.bl-row.done .bl-ic .rm-img,.bl-row.done .bl-ic .rm-emo{filter:saturate(.6) brightness(.8);}
.bl-row.done .bl-t small{color:#9fd27f;}
@media (prefers-reduced-motion:reduce){.rm-sheet,.bt-tip{transition:none;animation:none;}}

/* ===== v132: Mercado (Trades) com categorias ===== */
.trd-head{display:flex;align-items:center;gap:10px;margin:2px 0 10px;}
.trd-head .trd-head-ic{width:34px;height:34px;filter:drop-shadow(0 2px 3px #000);}
.trd-head>div{flex:1;min-width:0;}
.trd-head b{display:block;font-family:var(--font-display);font-size:17px;color:var(--gold-bright);letter-spacing:.05em;}
.trd-head span{font-size:11.5px;color:var(--muted);}
.trd-refresh{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#120e09;color:var(--gold-bright);font:800 16px var(--font-body);cursor:pointer;flex-shrink:0;}
.trd-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#100c08;margin-bottom:9px;}
.trd-tabs button{border:0;background:none;color:var(--muted);font:700 12.5px var(--font-body);padding:10px 4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;}
.trd-tabs button+button{border-left:1px solid var(--line-soft);}
.trd-tabs button.on{background:linear-gradient(180deg,#3a2c14,#211808);color:var(--gold-bright);}
.trd-tabs em{font-style:normal;font-size:10px;background:#2a2014;border:1px solid var(--line);border-radius:8px;padding:0 5px;color:var(--parchment);}
.trd-cats{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 9px;padding-bottom:2px;}
.trd-cats::-webkit-scrollbar{display:none;}
.trd-cat{flex-shrink:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;width:68px;padding:7px 2px 6px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#1b150e,#110d09);color:var(--muted);cursor:pointer;font:700 10.5px var(--font-body);}
.trd-cat .nx-ic,.trd-cat .trd-emo{width:30px;height:30px;font-size:20px;display:grid;place-items:center;filter:drop-shadow(0 2px 2px #000);}
.trd-cat.on{border-color:var(--gold-bright);color:var(--gold-bright);background:linear-gradient(180deg,#3a2c14,#1a1208);box-shadow:0 0 10px rgba(228,191,74,.25);}
.trd-cat em{position:absolute;top:3px;right:4px;font:800 9px var(--font-body);font-style:normal;color:var(--parchment);background:#2a2014;border-radius:7px;padding:0 4px;}
.trd-tools{display:flex;gap:6px;margin-bottom:9px;}
.trd-search{flex:1;min-width:0;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:#100c08;padding:0 10px;}
.trd-search input{flex:1;min-width:0;background:none;border:0;color:var(--parchment);font:500 13px var(--font-body);padding:9px 0;outline:none;}
.trd-search span{color:var(--dim);}
.trd-tools select{border:1px solid var(--line);border-radius:9px;background:#100c08;color:var(--parchment);font:600 12px var(--font-body);padding:0 8px;max-width:46%;}
.trd-list{display:flex;flex-direction:column;gap:7px;}
.trd-card{display:flex;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-left:3px solid var(--c,var(--line));border-radius:10px;background:linear-gradient(180deg,#1d160e,#120e09);}
.trd-tile{position:relative;width:48px;height:48px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--c,#555) 30%,#1a140d),#0b0907);border:1.5px solid var(--c,var(--line));font-size:26px;}
.trd-tile .nx-ic{width:38px;height:38px;filter:drop-shadow(0 2px 2px #000);}
.trd-qty{position:absolute;bottom:-6px;right:-6px;font:800 10.5px var(--font-body);background:#0d0a07;border:1px solid var(--gold);color:var(--gold-bright);border-radius:8px;padding:0 5px;font-variant-numeric:tabular-nums;line-height:1.5;}
.trd-mid{flex:1;min-width:0;}
.trd-mid b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.trd-sub{font-size:11px;color:var(--muted);margin-top:1px;line-height:1.35;}
.trd-stats{color:var(--parchment);}
.trd-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;}
.trd-tags span{font-size:10px;border:1px solid var(--line);border-radius:6px;padding:1px 5px;background:#120e09;color:var(--parchment);}
.trd-cmp{font-size:10.5px;margin-top:3px;line-height:1.5;}
.trd-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;}
.trd-price{display:flex;align-items:center;gap:4px;font:800 13.5px var(--font-body);color:var(--gold-bright);font-variant-numeric:tabular-nums;white-space:nowrap;}
.trd-price .nx-ic{width:16px;height:16px;}
.trd-emo{line-height:1;}
.trd-empty{text-align:center;padding:24px 12px;color:var(--muted);font-size:12.5px;border:1px dashed var(--line);border-radius:10px;}
.trd-note{font-size:11px;color:var(--dim);line-height:1.45;text-align:center;margin-top:12px;}
.trd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.trd-cell{min-width:0;}
.trd-slot{position:relative;width:100%;aspect-ratio:1;border-radius:10px;border:1.5px solid var(--c,var(--line));background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--c,#555) 26%,#1a140d),#0b0907);display:grid;place-items:center;cursor:pointer;padding:0;font-size:24px;}
.trd-slot .nx-ic{width:62%;height:62%;filter:drop-shadow(0 2px 2px #000);}
.trd-slot .trd-qty{bottom:3px;right:3px;}
.trd-slot-lb{font-size:10px;color:var(--muted);text-align:center;margin-top:3px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.trd-shade{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.55);opacity:0;transition:opacity .2s;}
.trd-shade.on{opacity:1;}
.trd-sheet{position:fixed;left:50%;bottom:0;z-index:901;width:min(480px,100%);transform:translate(-50%,105%);transition:transform .25s ease;padding:14px 14px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--gold);border-radius:16px 16px 0 0;background:linear-gradient(180deg,#241b11,#120d09);box-shadow:0 -12px 30px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:11px;max-height:88vh;overflow-y:auto;}
.trd-sheet.on{transform:translate(-50%,0);}
.trd-grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:-4px auto 0;flex-shrink:0;}
.trd-sh-top{display:flex;gap:11px;align-items:center;}
.trd-sh-top .trd-tile{width:56px;height:56px;}
.trd-sh-top b{display:block;font-family:var(--font-display);font-size:15px;color:var(--gold-bright);}
.trd-sh-top span{font-size:11.5px;color:var(--muted);}
.trd-desc{font-size:12px;line-height:1.45;color:var(--parchment);background:#120e09;border:1px solid var(--line-soft);border-radius:9px;padding:8px 10px;}
.trd-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);}
.trd-line b{color:var(--parchment);}
.trd-step{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;flex-shrink:0;}
.trd-step button{width:36px;height:36px;border:0;background:#1a140d;color:var(--gold-bright);font:800 17px var(--font-body);cursor:pointer;}
.trd-step input{width:84px;height:36px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);background:#0d0a07;color:var(--parchment);text-align:center;font:800 14px var(--font-body);font-variant-numeric:tabular-nums;-moz-appearance:textfield;}
.trd-step input::-webkit-outer-spin-button,.trd-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.trd-total{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:rgba(228,191,74,.08);border:1px solid rgba(228,191,74,.35);font-size:12px;color:var(--muted);}
.trd-hint{font-size:11px;color:var(--muted);text-align:right;}
.trd-hint b{color:#9fd27f;}
.trd-btns{display:flex;gap:8px;}
.trd-btns .btn{padding:12px;}
.trd-btns .btn.ghost{flex:1;}
.trd-btns .btn.primary{flex:2;}
@media (prefers-reduced-motion:reduce){.trd-sheet,.trd-shade{transition:none;}}

/* ===== v137: Dungeons em caminho ===== */
#screen-combat.dg-transit .combat-bottom{pointer-events:none;}
#screen-dgpath{background:#0b0908;overflow:hidden;}
.dgp-head{flex-shrink:0;padding:10px 12px 9px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#1a140d,#0e0b08);display:flex;flex-direction:column;gap:7px;}
.dgp-top{display:flex;align-items:center;gap:9px;}
.dgp-ic{width:40px;height:40px;border:1px solid var(--bronze);border-radius:8px;background:#0e0b08;display:grid;place-items:center;flex-shrink:0;font-size:22px;}
.dgp-ic .nx-ic{width:34px;height:34px;}
.dgp-t{flex:1;min-width:0;}
.dgp-t b{display:block;font-family:var(--font-display);font-size:15px;color:var(--gold-bright);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dgp-t span{font-size:11px;color:var(--muted);}
.dgp-hp .bar{height:14px;}
.dgp-segs{display:flex;gap:2px;}
.dgp-segs i{flex:1;height:7px;border-radius:2px;background:#2a2014;border:1px solid #3a2e1c;}
.dgp-segs i.done{background:linear-gradient(#9fd27f,#5f8f47);border-color:#6E9A58;}
.dgp-segs i.cur{background:linear-gradient(#ffe08a,#c9a227);border-color:var(--gold-bright);box-shadow:0 0 6px rgba(228,191,74,.8);}
.dgp-segs i.mini{border-color:#e07a7a;}
.dgp-segs i.boss{flex:2;border-color:var(--gold-bright);}
.dgp-scroll{flex:1;overflow-y:auto;position:relative;scroll-behavior:smooth;scrollbar-width:none;}
.dgp-scroll::-webkit-scrollbar{display:none;}
.dgp-map{position:relative;width:100%;max-width:100%;background:#1a1612 center top/100% 100% no-repeat;}
.dgp-map svg{position:absolute;inset:0;width:100%;height:100%;}
.dgp-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;padding:0;cursor:pointer;color:#fff;z-index:3;}
.dgp-c{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#2b2418,#0d0a07);border:2.5px solid #8a7a5a;box-shadow:0 5px 8px rgba(0,0,0,.6);transition:transform .2s,filter .3s,opacity .3s;}
.dgp-c .rm-img{width:42px;height:42px;border-radius:50%;object-fit:contain;}
.dgp-c .rm-svg{width:28px;height:28px;}
.dgp-c .rm-emo{font-size:22px;line-height:1;}
.dgp-no{position:absolute;top:-7px;left:-7px;min-width:19px;height:19px;border-radius:10px;padding:0 4px;background:#0d0a07;border:1px solid var(--line);font:800 10px/17px var(--font-body);color:var(--muted);text-align:center;}
.dgp-lb{font:700 10px var(--font-body);text-shadow:0 1px 2px #000,0 0 5px #000;white-space:nowrap;line-height:1.15;opacity:0;transition:opacity .2s;}
.dgp-lv{font:800 9px var(--font-body);color:var(--gold-bright);text-shadow:0 1px 2px #000;opacity:0;}
.dgp-node.future .dgp-c{opacity:.6;filter:saturate(.55) brightness(.75);}
.dgp-node.done .dgp-c{filter:grayscale(1) brightness(.55);border-color:#6E9A58;}
.dgp-node.done .dgp-no{display:none;}
.dgp-node.done .dgp-c::after{content:"✓";position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;background:linear-gradient(#6E9A58,#3d6230);border:1.5px solid #bfe3a8;color:#fff;font:900 10px/15px var(--font-body);text-align:center;}
.dgp-node.cur .dgp-c{border-color:var(--gold-bright);box-shadow:0 0 0 3px rgba(228,191,74,.35),0 0 20px rgba(228,191,74,.7);animation:dgpPulse 1.4s ease-in-out infinite;}
@keyframes dgpPulse{50%{transform:scale(1.07);}}
.dgp-node.cur .dgp-lb,.dgp-node.cur .dgp-lv,.dgp-node.mini .dgp-lb,.dgp-node.boss .dgp-lb{opacity:1;}
.dgp-node.cur .dgp-no{border-color:var(--gold-bright);color:var(--gold-bright);}
.dgp-node.mini .dgp-c{width:58px;height:58px;border-color:#C95A5A;box-shadow:0 0 0 2px #3a1010,0 0 14px rgba(201,90,90,.6),0 6px 9px rgba(0,0,0,.6);}
.dgp-node.mini .dgp-c .rm-img{width:54px;height:54px;}
.dgp-node.boss .dgp-c{width:76px;height:76px;border-width:3px;border-color:var(--gold-bright);box-shadow:0 0 0 3px #5a1b1b,0 0 26px rgba(228,191,74,.6),0 8px 12px rgba(0,0,0,.7);}
.dgp-node.boss .dgp-c .rm-img{width:72px;height:72px;}
.dgp-node.boss .dgp-c .rm-emo{font-size:38px;}
.dgp-tag{font:800 8px var(--font-body);letter-spacing:.07em;color:#fff;border-radius:6px;padding:0 5px;line-height:1.6;white-space:nowrap;}
.dgp-tag.mini{background:linear-gradient(#a33a3a,#6e2020);border:1px solid #e07a7a;}
.dgp-tag.boss{background:linear-gradient(#b48a1e,#7a5c14);border:1px solid var(--gold-bright);}
.dgp-crown{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:18px;filter:drop-shadow(0 1px 2px #000);}
.dgp-hero{position:absolute;z-index:5;width:40px;height:40px;transform:translate(-50%,-50%);transition:left .7s ease-in-out,top .7s ease-in-out;pointer-events:none;}
.dgp-hero .hero-av,.dgp-hero .hero-av-fallback{width:40px;height:40px;border-radius:50%;border:2.5px solid var(--gold-bright);object-fit:cover;background:#120d08;box-shadow:0 0 12px rgba(228,191,74,.5),0 5px 8px rgba(0,0,0,.7);display:grid;place-items:center;font-size:22px;}
.dgp-hero.walk .hero-av,.dgp-hero.walk .hero-av-fallback{animation:rmBob .25s ease-in-out infinite alternate;}
.dgp-bag{display:flex;align-items:center;gap:7px;padding:5px 9px;border-radius:9px;background:linear-gradient(90deg,rgba(201,162,39,.16),rgba(201,162,39,.04));border:1px solid rgba(228,191,74,.35);font:600 12px/1.25 var(--font-body);color:var(--text);position:relative;}
.dgp-bag b{color:var(--gold-bright);font-weight:800;}
.dgp-bag.empty{opacity:.8;}
.dgp-bag.empty .dgp-bag-t span{color:var(--muted);font-weight:500;font-size:11.5px;}
.dgp-bag-ic{font-size:16px;line-height:1;}
.dgp-bag-t{flex:1;min-width:0;}
.dgp-bag-plus{font-style:normal;font:800 11.5px var(--font-body);color:#9fd27f;white-space:nowrap;animation:dgpBagPop 1.2s ease-out both;}
@keyframes dgpBagPop{0%{opacity:0;transform:translateY(6px) scale(.9);}25%{opacity:1;transform:none;}100%{opacity:1;}}
.dgp-gift{position:absolute;bottom:-6px;right:-9px;font-size:15px;line-height:1;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 5px rgba(228,191,74,.8));z-index:2;}
.dgp-node.mini .dgp-gift{bottom:-4px;right:-7px;}
.dgp-float{position:absolute;z-index:7;transform:translate(-50%,-50%);font:800 12.5px var(--font-body);color:#9fd27f;text-shadow:0 1px 2px #000,0 0 6px #000;pointer-events:none;animation:dgpUp 1.5s ease-out forwards;white-space:nowrap;}
@keyframes dgpUp{to{transform:translate(-50%,-220%);opacity:0;}}
.dgp-panel{flex-shrink:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--gold);background:linear-gradient(180deg,#221a11,#140f0a);display:flex;gap:10px;align-items:center;box-shadow:0 -10px 24px rgba(0,0,0,.6);}
.dgp-panel.danger{border-top-color:#c95a5a;background:linear-gradient(180deg,#2a1414,#140b0a);}
.dgp-p-ic{width:50px;height:50px;border-radius:50%;border:2px solid var(--gold);background:#0d0a07;flex-shrink:0;display:grid;place-items:center;overflow:hidden;}
.dgp-p-ic .rm-img{width:46px;height:46px;object-fit:contain;}
.dgp-p-ic .rm-svg{width:30px;height:30px;}
.dgp-p-ic .rm-emo{font-size:26px;}
.dgp-p-mid{flex:1;min-width:0;}
.dgp-p-mid small{display:block;font:800 9.5px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.dgp-p-mid b{display:block;font-family:var(--font-display);font-size:14px;color:var(--gold-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dgp-p-mid span{font-size:11px;color:var(--muted);}
.dgp-panel .btn{padding:12px 14px;white-space:nowrap;flex-shrink:0;}
.dgp-next{height:4px;border-radius:2px;background:#2a2014;overflow:hidden;margin-top:5px;}
.dgp-next i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b48a1e,var(--gold-bright));}
.dgp-next i.run{transition:width 1.3s linear;width:100%;}
@media (prefers-reduced-motion:reduce){.dgp-hero,.dgp-scroll{transition:none;scroll-behavior:auto;}.dgp-bag-plus{animation:none;}.dgp-node.cur .dgp-c,.dgp-hero.walk .hero-av{animation:none;}}

/* v143: os mapas (região, lista, dungeon, esconderijo) ficam no seu próprio "andar" — assim os monstros
   e etiquetas nunca passam por cima das janelas (opções, confirmações) abertas por cima. */
.rm-map,.bl-wrap,.dgp-map,.ho-map{isolation:isolate;}
.bt-pop{z-index:80;}

/* v144: Hordas — seletor 1–5 e fila de inimigos no combate */
.hz-pick{display:flex;gap:4px;}
.hz-pick button{min-width:30px;height:28px;border-radius:7px;border:1px solid var(--line);background:#0f0c08;color:var(--muted);font:800 12.5px var(--font-body);cursor:pointer;padding:0 6px;}
.hz-pick button.on{border-color:var(--gold-bright);color:var(--gold-bright);background:linear-gradient(180deg,#3a2c16,#22190d);box-shadow:inset 0 0 0 1px rgba(228,191,74,.4);}
.hz-pick.sm button{min-width:25px;height:24px;font-size:11.5px;border-radius:6px;padding:0 4px;}
.rm-sheet.hz{flex-wrap:wrap;}
.rm-hz{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07);}
.rm-hz>span{font:700 11px var(--font-body);color:var(--muted);}
.rm-hz-t{display:block;font:800 10.5px var(--font-body);color:#2f5a1e;letter-spacing:0;margin-top:1px;text-align:center;}
.bl-horde{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(16,12,8,.85);}
.bl-hz-t{display:flex;flex-direction:column;min-width:0;}
.bl-hz-t b{font-size:12.5px;}
.bl-hz-t small{font-size:11px;color:#9fd27f;}
.cb-horde{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 8px;border:1px solid var(--line-soft);border-radius:11px;background:rgba(10,8,6,.72);}
.cb-horde[hidden]{display:none;}
.cb-h-l{align-self:center;font:800 9px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);}
.cb-hchip{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:0;background:none;cursor:pointer;color:var(--text);}
.cb-h-c{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:2px solid #6a5a40;background:radial-gradient(circle at 50% 35%,#2b2418,#0d0a07);transition:transform .15s;}
.cb-h-c .rm-img{width:35px;height:35px;}
.cb-h-c .rm-emo{font-size:20px;}
.cb-h-c b{position:absolute;right:-5px;bottom:-4px;min-width:16px;height:16px;border-radius:8px;background:#0d0a07;border:1px solid var(--line);font:800 9.5px/14px var(--font-body);text-align:center;color:var(--muted);}
.cb-h-b{display:block;width:100%;max-width:46px;height:4px;border-radius:2px;background:#2a1a12;overflow:hidden;}
.cb-h-b i{display:block;height:100%;background:linear-gradient(90deg,#9e2a2e,#e05a52);transition:width .3s;}
.cb-hchip.on .cb-h-c{border-color:var(--gold-bright);box-shadow:0 0 0 2px rgba(228,191,74,.35),0 0 10px rgba(228,191,74,.5);transform:scale(1.07);}
.cb-hchip.on .cb-h-c b{border-color:var(--gold-bright);color:var(--gold-bright);}
.cb-hchip.dead{opacity:.35;cursor:default;}
.cb-hchip.dead .cb-h-c::after{content:"✕";position:absolute;inset:0;display:grid;place-items:center;font:900 20px var(--font-body);color:#ff8a8a;text-shadow:0 1px 3px #000;}
@media (prefers-reduced-motion:reduce){.cb-h-c,.cb-h-b i{transition:none;}}

/* v145: Bar e Amigos */
.log-line.ally{color:#cfe4ff;border-left-color:#8cc0ff;background:linear-gradient(90deg,rgba(80,130,200,.14),transparent);}
.ally-img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;}
.ally-emo{display:grid;place-items:center;width:100%;height:100%;font-size:26px;}
.ally-img.cf,.ally-emo.cf{width:54px;height:54px;}
.ally-card{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--c,var(--gold));border-radius:13px;background:linear-gradient(160deg,rgba(42,31,18,.95),rgba(17,12,8,.95));}
.ally-pt{width:66px;height:66px;flex-shrink:0;border-radius:50%;border:2.5px solid var(--c,var(--gold));box-shadow:0 0 12px color-mix(in srgb,var(--c,#E4BF4A) 45%,transparent);overflow:hidden;background:#0d0a07;}
.ally-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.ally-mid b{font-family:var(--font-display);font-size:15px;}
.ally-role{align-self:flex-start;font:800 9.5px var(--font-body);letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;color:var(--c,var(--gold));border:1px solid var(--c,var(--gold));}
.ally-lv{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:2px;}
.ally-xp{height:6px;border-radius:3px;background:#120c08;border:1px solid #2c3a52;overflow:hidden;}
.ally-xp i{display:block;height:100%;background:linear-gradient(90deg,#4a7fd0,#8cc0ff);}
.ally-mid small{font-size:11px;color:var(--gold-bright);line-height:1.35;}
.bar-hero{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--gold);border-radius:14px;background:linear-gradient(160deg,#2a1f12,#120d09 70%);}
.bar-hero-ic{width:92px;height:92px;flex-shrink:0;display:grid;place-items:center;font-size:48px;}
.bar-hero-ic .nx-ic{width:92px;height:92px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6));}
.bar-hero h3{margin:0 0 4px;font-family:var(--font-display);color:var(--gold-bright);font-size:17px;}
.bar-rec{display:flex;gap:11px;align-items:center;width:100%;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,rgba(30,23,14,.95),rgba(16,12,8,.95));color:var(--text);text-align:left;cursor:pointer;font:inherit;}
.bar-rec:active{background:rgba(228,191,74,.08);}
.bar-rec.mine{border-color:var(--c);}
.bar-pt{width:60px;height:60px;flex-shrink:0;border-radius:50%;border:2px solid var(--c);overflow:hidden;background:#0d0a07;}
.bar-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.bar-mid b{font-family:var(--font-display);font-size:14.5px;}
.bar-mid small{font-size:11.5px;color:var(--muted);line-height:1.35;}
.bar-price{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;}
.bar-price span{display:flex;align-items:center;gap:4px;font:800 12.5px var(--font-body);color:var(--gold-bright);font-variant-numeric:tabular-nums;}
.bar-price span .nx-ic{width:15px;height:15px;}
.bar-price span.off{opacity:.5;}
.bar-price em{font-style:normal;font:800 11px var(--font-body);color:#9fd27f;}
.ho-ally-slot{margin-top:14px;padding:12px;border:1px solid var(--gold);border-radius:14px;background:linear-gradient(160deg,#2a1d10,#110c08 70%);display:flex;flex-direction:column;gap:8px;}
.ho-ally-slot b{font-family:var(--font-display);color:var(--gold-bright);font-size:14px;}
.ho-ally-slot.locked{border-color:var(--line);opacity:.85;}
.ho-ally-tag{font:800 10px var(--font-body);color:#1b1206;background:var(--gold-bright);border-radius:6px;padding:2px 7px;}
.cb-ally{display:inline-flex;align-items:center;gap:5px;margin-left:auto;margin-right:6px;padding:2px 8px 2px 2px;border:1px solid var(--c,#8cc0ff);border-radius:14px;background:linear-gradient(90deg,rgba(80,130,200,.18),rgba(15,12,9,.6));max-width:52%;min-width:0;}
.cb-ally[hidden]{display:none;}
.cb-ally .ally-img.sm,.cb-ally .ally-emo.sm{width:22px;height:22px;flex-shrink:0;font-size:14px;border:1.5px solid var(--c,#8cc0ff);border-radius:50%;}
.cb-ally b{font:700 11.5px var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cb-ally small{font-size:10px;color:var(--muted);white-space:nowrap;}

/* v146: o combate cabe sempre no ecrã (5–6 habilidades, horda, amigo). Se mesmo assim não couber, o ecrã desliza. */
#screen-combat{overflow-y:auto;overscroll-behavior:contain;}
#screen-combat .combat-log{min-height:84px;}
.ability-grid.many{grid-template-columns:repeat(3,1fr);gap:6px;}
.ability-grid.many .ab-btn{min-height:54px;padding:7px 4px 6px;}
.ability-grid.many .ab-btn .ic .nx-ic{width:26px;height:26px;}
.ability-grid.many .ab-btn .nm{font-size:10.5px;line-height:1.15;}
.ability-grid.many .ab-btn .lv{font-size:9px;padding:0 6px;}
#screen-combat.has-scene.has-horde .combat-top{padding-bottom:14px;}
#screen-combat.has-horde .cb-horde{margin-top:6px;padding:4px 8px;}
@media (max-height:720px){
  #screen-combat .combat-log{min-height:60px;}
  #screen-combat .event-banner{padding:5px 10px;font-size:11.5px;}
  .cb-h-c{width:34px;height:34px;}
  .cb-h-c .rm-img{width:30px;height:30px;}
  #screen-combat .combat-top{padding-top:calc(6px + var(--safe-top));}
  .ab-btn{min-height:54px;}
  #screen-combat.has-scene .combat-top{padding-bottom:28px;}
  #screen-combat .combat-bottom{padding-top:9px;}
  #cb-btn-attack{padding:10px !important;}
}

/* v146: ecrãs estreitos (≤380px) — nomes da Cidade/Wiki e números da barra de estado sem partir */
@media (max-width:380px){
  .wiki-tile-lb{font-size:9.5px;letter-spacing:.02em;overflow-wrap:normal;word-break:normal;hyphens:auto;}
  .hp-num{font-size:10px;white-space:nowrap;gap:6px;}
  .hp-num span{white-space:nowrap;}
  .hp-num small{display:none;}
}

/* v147: Escudo Mágico — Defesa a branco, Escudo a azul-claro */
:root{--es-c:#9FE3FF;--es-d:#3E8FC7;--def-c:#F4F1EA;}
.st-def{color:var(--def-c) !important;}
.st-es{color:var(--es-c) !important;}
.item-stats .st-def,.item-stats .st-es,.trd-stats .st-def,.trd-stats .st-es,.trd-desc .st-def,.trd-desc .st-es{font-weight:700;}
.es-ic{width:16px !important;height:16px !important;vertical-align:-3px;}
.ak-tag{display:inline-block;margin-top:4px;font:800 9.5px var(--font-body);letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;border:1px solid;}
.ak-tag.ak-def{color:var(--def-c);border-color:#8a8576;background:rgba(244,241,234,.06);}
.ak-tag.ak-hybrid{color:var(--es-c);border-color:var(--es-d);background:linear-gradient(90deg,rgba(244,241,234,.08),rgba(159,227,255,.12));}
.ak-tag.ak-es{color:var(--es-c);border-color:var(--es-d);background:rgba(159,227,255,.1);}
.doll-stats .es-tot b{color:var(--es-c);}
.stat-box.es{border-color:var(--es-d);}
.cb-es{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
.cb-es[hidden]{display:none;}
.cb-es-ic{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;}
.cb-es-ic .es-ic{width:20px !important;height:20px !important;vertical-align:0;}
.cb-es .bar{flex:1;}
.bar.bar-es{height:12px;background:#08141c;border:1px solid #24506e;}
.bar.bar-es .bar-fill{background:linear-gradient(90deg,#3e8fc7,#9fe3ff);box-shadow:0 0 8px rgba(159,227,255,.55);}
.bar.bar-es .bar-num{font-size:9.5px;color:#eaf8ff;}
.log-line.es{color:var(--es-c);border-left-color:var(--es-d);background:linear-gradient(90deg,rgba(62,143,199,.14),transparent);}

/* v152: ícones de raridade (orbes) */
.rarity-ic .nx-ic{width:16px;height:16px;margin:0;vertical-align:-3px;}
.nx-k[data-nx-key^="rar-"] .nx-ic, .nx-tx .nx-ic[src*="rar-"]{filter:drop-shadow(0 0 2px rgba(0,0,0,.6));}
.bt-diff-btn i.rar-dot,.bt-dopt i.rar-dot{width:18px;height:18px;border-radius:0;background:none;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;}
.bt-diff-btn i.rar-dot .nx-ic,.bt-dopt i.rar-dot .nx-ic{width:18px;height:18px;margin:0;}
.bt-diff-btn i.rar-dot:empty,.bt-dopt i.rar-dot:empty{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 6px var(--c);}

/* v153: Cidade → Trabalhos (mapa) */
.tb-map{position:relative;width:100%;aspect-ratio:4/5;max-height:60vh;border:2px solid #6a5130;border-radius:10px;overflow:hidden;isolation:isolate;background:#2b3d1e;box-shadow:0 6px 18px rgba(0,0,0,.6);}
.tb-map::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 50px rgba(0,0,0,.75);pointer-events:none;z-index:2;}
.tb-bg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;}
.tb-st .ho-st-base{background:radial-gradient(circle at 50% 35%,#3e3122,#15100acc);}
.tb-emo{font-size:30px;line-height:1;filter:drop-shadow(0 3px 3px rgba(0,0,0,.8));}

/* v154: língua no ecrã de entrada */
.account-lang{position:absolute;top:calc(10px + var(--safe-top, 0px));left:14px;z-index:2;display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(10,8,6,.72);border:1px solid var(--line, #4a3a22);box-shadow:0 2px 8px rgba(0,0,0,.5);}
.account-lang button{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:0;border-radius:999px;background:none;color:var(--muted);font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.05em;cursor:pointer;}
.account-lang button.on{background:linear-gradient(180deg,#e4bf4a,#a8831f);color:#1a1208;box-shadow:0 0 8px rgba(228,191,74,.35);}
.account-lang .al-flag{font-size:14px;line-height:1;}

/* v155: Alquimia — Núcleo (7.º slot) */
.nuc{position:relative;width:100%;max-width:420px;margin:6px auto 10px;aspect-ratio:1/1;border-radius:14px;border:1px solid #5a4424;
  background:radial-gradient(circle at 50% 50%,#2a1e3a 0,#160f1d 45%,#0d0a08 78%);box-shadow:inset 0 0 40px rgba(0,0,0,.8);overflow:hidden;isolation:isolate;}
.nuc-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.nuc .ring{fill:none;stroke:#3b2f22;stroke-width:1.5;stroke-dasharray:3 6;}
.nuc.ready .ring,.nuc.active .ring{stroke:#8a6a2a;}
.nuc .ln{stroke:#3b2f22;stroke-width:3;stroke-linecap:round;}
.nuc .ln.on{stroke:#c9a227;filter:drop-shadow(0 0 3px rgba(228,191,74,.8));}
.nuc.active .ln.on{stroke:#f2d36b;stroke-width:4;stroke-dasharray:6 8;animation:nucFlow 1.2s linear infinite;}
.nuc.active .ln.on.dim{opacity:.35;animation:none;stroke-dasharray:none;stroke-width:3;}
@keyframes nucFlow{to{stroke-dashoffset:-28}}
.nuc .ns{position:absolute;transform:translate(-50%,-50%);width:78px;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;padding:0;cursor:pointer;z-index:2;color:var(--parchment);}
.nuc .ns-b{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#3e3122,#15100a);border:2px solid #5a4424;box-shadow:0 4px 10px rgba(0,0,0,.7);transition:transform .12s;}
.nuc .ns:active .ns-b,.nuc .core:active .core-b{transform:scale(.94);}
.nuc .ns.filled .ns-b{border-color:#c9a227;}
.nuc .ns.perf .ns-b{border-color:#f2d36b;box-shadow:0 0 12px rgba(242,211,107,.6);}
.nuc .ns.feed .ns-b{border-color:var(--fc);box-shadow:0 0 14px var(--fc);}
.nuc .ns-b .nx-ic{width:44px;height:44px;}
.nuc .ns-b .nx-k{font-size:28px;line-height:1;}
.nuc .ns-empty{font-size:20px;opacity:.35;}
.nuc .ns-l{font-size:10px;font-weight:700;text-shadow:0 1px 2px #000;line-height:1.15;text-align:center;}
.nuc .ns-l small{display:block;color:var(--gold-bright);font-weight:600;}
.nuc .ns:not(.filled) .ns-l small{color:var(--muted);}
.nuc .core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:118px;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;padding:0;cursor:pointer;z-index:3;}
.nuc .core-b{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 40%,#2c2238,#0e0a12);border:2px dashed #4a3a5a;transition:transform .12s;}
.nuc.ready .core-b{border:2px solid #b48cff;box-shadow:0 0 18px rgba(180,140,255,.55),inset 0 0 18px rgba(180,140,255,.25);animation:nucPulse 1.6s ease-in-out infinite;}
.nuc.active .core-b{border:2px solid #f2d36b;box-shadow:0 0 26px rgba(242,211,107,.75),inset 0 0 20px rgba(255,220,120,.3);}
.nuc.sleeping .core-b{filter:grayscale(.7) brightness(.7);}
@keyframes nucPulse{50%{box-shadow:0 0 30px rgba(180,140,255,.85),inset 0 0 22px rgba(180,140,255,.35);}}
.nuc .core-b .nx-ic{width:70px;height:70px;filter:drop-shadow(0 0 8px rgba(255,230,150,.6));}
.nuc .core-b .nx-k{font-size:42px;line-height:1;}
.nuc .core-ic{font-size:26px;opacity:.75;}
.nuc .core-l{font-family:var(--font-display);font-size:10.5px;font-weight:700;color:#cbb8f0;text-shadow:0 1px 2px #000;line-height:1.15;text-align:center;}
.nuc.active .core-l{color:var(--gold-bright);}
.nuc .core-tag{position:absolute;top:-8px;right:-8px;font-size:9px;font-weight:800;padding:1px 6px;border-radius:8px;background:#1a140d;border:1px solid #4a3a22;color:var(--muted);white-space:nowrap;}
.nuc.ready .core-tag{background:linear-gradient(#7d5fc4,#4b3488);border-color:#b48cff;color:#fff;}
.nuc.active .core-tag{background:linear-gradient(#5f8f47,#3d6230);border-color:#9fd27f;color:#fff;}
.nprog{display:flex;gap:4px;justify-content:center;margin:0 0 10px;}
.nprog i{width:26px;height:6px;border-radius:3px;background:#2b2118;border:1px solid #4a3a22;}
.nprog i.on{background:linear-gradient(90deg,#c9a227,#f2d36b);border-color:#f2d36b;}
.core-row{border-left:3px solid var(--fc);}
.core-row.on{background:linear-gradient(90deg,rgba(242,211,107,.08),transparent);}
.alch-core-sum{margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft);}
.alch-core-sum.off{opacity:.6;}
@media (max-width:360px){.nuc .ns{width:66px}.nuc .ns-b{width:52px;height:52px}.nuc .ns-b .nx-ic{width:38px;height:38px}.nuc .core-b{width:78px;height:78px}.nuc .core-b .nx-ic{width:58px;height:58px}}

/* v157: XP no máximo (nível 200) */
.bar-xp.xp-full .bar-fill{background:linear-gradient(90deg,#c9a227,#f2d36b)!important;box-shadow:0 0 8px rgba(242,211,107,.6);}
.hp-num .xp-max{color:var(--gold-bright);font-weight:800;letter-spacing:.04em;margin-right:2px;}

/* v158: Labirinto da Cripta */
.maze{position:relative;display:grid;aspect-ratio:1/1;border:3px solid #5a4424;border-radius:10px;overflow:hidden;background:#0b0907;box-shadow:inset 0 0 30px rgba(0,0,0,.9),0 6px 16px rgba(0,0,0,.6);isolation:isolate;}
.maze .lc{position:relative;display:grid;place-items:center;padding:0;margin:0;border:0 solid #7a5c36;background:radial-gradient(circle at 50% 45%,#3a2e22,#241b13);color:inherit;cursor:pointer;min-width:0;min-height:0;}
.maze .lc.wN{border-top-width:3px}.maze .lc.wS{border-bottom-width:3px}.maze .lc.wE{border-right-width:3px}.maze .lc.wW{border-left-width:3px}
.maze .lc.fog{background:repeating-linear-gradient(45deg,#0e0b09 0 6px,#120e0b 6px 12px);border-color:#0e0b09;cursor:default;}
.maze .lc.done{background:radial-gradient(circle at 50% 45%,#2e251a,#1a140e);}
.maze .lc.seen{background:radial-gradient(circle at 50% 45%,#40311f,#22190f);}
.maze .lc.move{box-shadow:inset 0 0 0 2px rgba(242,211,107,.75);animation:mzMove 1.3s ease-in-out infinite;}
@keyframes mzMove{50%{box-shadow:inset 0 0 0 2px rgba(242,211,107,.2);}}
.maze .lc.key .lic{filter:drop-shadow(0 0 6px rgba(242,211,107,.9));}
.maze .lc.exit-lock .lic{filter:grayscale(.4) drop-shadow(0 0 4px rgba(200,60,60,.8));}
.maze .lc.exit-open{box-shadow:inset 0 0 0 2px rgba(120,220,120,.8);}
.maze .lic{font-size:clamp(14px,4.6vw,22px);line-height:1;filter:drop-shadow(0 2px 2px #000);display:grid;place-items:center;width:80%;height:80%;}
.maze .lic .nx-ic,.maze .lic img{width:100%;height:100%;object-fit:contain;}
.maze .lic.dim{opacity:.35;font-size:12px;}
.maze .lic.used{opacity:.45;filter:grayscale(.6);}
.maze .lhero{width:84%;height:84%;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:2px solid var(--gold-bright);box-shadow:0 0 10px rgba(242,211,107,.6);background:#120d08;}
.maze .lhero .hero-av,.maze .lhero img{width:100%;height:100%;object-fit:cover;}
.maze .lhero .hero-av-fallback{font-size:16px;}
.maze-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.maze-chips span{font-size:11.5px;padding:2px 8px;border-radius:8px;background:rgba(0,0,0,.4);border:1px solid #4a3a22;}
.maze-chips span.ok{border-color:#9fd27f;color:#cdeebb;}
.maze .lc.fog{box-shadow:inset 0 0 0 1px rgba(255,235,200,.035);}

/* v161: fundo de pedra no Labirinto (as salas ficam translúcidas por cima) */
.maze{background-color:#0b0907;background-size:cover;background-position:center;}
.maze .lc{background:rgba(30,22,14,.18);border-color:#9a7444;box-shadow:none;}
.maze .lc.wN{box-shadow:inset 0 3px 3px -2px rgba(0,0,0,.7);}
.maze .lc.done{background:rgba(20,14,8,.30);}
.maze .lc.seen{background:rgba(70,52,30,.32);}
.maze .lc.fog{background:repeating-linear-gradient(45deg,rgba(8,6,5,.94) 0 6px,rgba(14,11,9,.94) 6px 12px);border-color:transparent;box-shadow:inset 0 0 0 1px rgba(255,235,200,.035);}
.maze .lc.move{background:rgba(242,211,107,.12);box-shadow:inset 0 0 0 2px rgba(242,211,107,.75);}
.maze .lc.exit-open{box-shadow:inset 0 0 0 2px rgba(120,220,120,.8);}
#hub-content{overflow-anchor:none;}

/* v162: Labirinto mais bonito — tocha, paredes de pedra, nevoeiro vivo e brilho das salas */
.maze .maze-light{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle at var(--hx) var(--hy),rgba(255,176,90,.26) 0,rgba(255,150,60,.12) 11%,rgba(0,0,0,0) 22%,rgba(0,0,0,.38) 38%,rgba(0,0,0,.66) 62%,rgba(0,0,0,.82) 100%);
  animation:mzTorch 2.6s ease-in-out infinite alternate;transition:background-position .4s;}
@keyframes mzTorch{0%{opacity:.92}35%{opacity:1}60%{opacity:.86}100%{opacity:.97}}
.maze .lc{z-index:1;}
/* paredes de pedra: borda em relevo cinzento-pedra com sombra */
.maze .lc{border-color:#6f665a;border-style:ridge;}
.maze .lc.wN{border-top-width:5px}.maze .lc.wS{border-bottom-width:5px}.maze .lc.wE{border-right-width:5px}.maze .lc.wW{border-left-width:5px}
.maze .lc.done,.maze .lc.seen{filter:drop-shadow(0 0 0 transparent);}
.maze .lc:not(.fog){box-shadow:inset 0 0 6px rgba(0,0,0,.55);}
/* nevoeiro a mexer: uma só névoa contínua por cima de todas as salas escondidas */
.maze .lc.fog{overflow:hidden;border-width:0!important;background:rgba(8,6,5,.92);box-shadow:none;}
.maze .lc.fog::before{content:"";position:absolute;pointer-events:none;
  width:calc(var(--n) * 100% + 40%);height:calc(var(--n) * 100% + 40%);
  left:calc(var(--cx) * -100% - 20%);top:calc(var(--cy) * -100% - 20%);
  background:
    radial-gradient(ellipse 22% 14% at 18% 22%,rgba(175,165,190,.30),transparent 70%),
    radial-gradient(ellipse 28% 16% at 62% 30%,rgba(155,147,175,.26),transparent 70%),
    radial-gradient(ellipse 20% 18% at 40% 58%,rgba(170,160,185,.28),transparent 70%),
    radial-gradient(ellipse 30% 15% at 78% 72%,rgba(145,137,165,.26),transparent 70%),
    radial-gradient(ellipse 24% 16% at 22% 85%,rgba(165,155,180,.24),transparent 70%);
  animation:mzMist 16s ease-in-out infinite alternate;}
@keyframes mzMist{0%{transform:translate(0,0)}50%{transform:translate(6%,-3%)}100%{transform:translate(-5%,4%)}}
.maze .lc.rev-new{animation:mzReveal .9s ease-out both;}
@keyframes mzReveal{0%{background-color:rgba(9,7,6,.93);filter:brightness(.3) blur(2px)}100%{filter:none}}
/* brilho das salas pelo conteúdo */
.maze .lc.t-tesouro .lic,.maze .lc.t-misterio .lic{filter:drop-shadow(0 0 6px rgba(242,201,76,.85));}
.maze .lc.t-tesouro{background:radial-gradient(circle,rgba(242,201,76,.22),rgba(30,22,14,.18) 70%);}
.maze .lc.t-fonte{background:radial-gradient(circle,rgba(110,190,255,.25),rgba(30,22,14,.18) 70%);}
.maze .lc.t-fonte .lic:not(.used){animation:mzSpark 1.8s ease-in-out infinite;}
@keyframes mzSpark{50%{filter:drop-shadow(0 0 8px rgba(140,210,255,1)) brightness(1.25);}}
.maze .lc.t-elite{background:radial-gradient(circle,rgba(220,60,50,.28),rgba(30,22,14,.18) 70%);}
.maze .lc.t-elite .lic{filter:drop-shadow(0 0 6px rgba(230,70,60,.9));}
.maze .lc.t-chave{background:radial-gradient(circle,rgba(242,211,107,.30),rgba(30,22,14,.18) 70%);}
.maze .lc.t-chave .lic{animation:mzKey 1.4s ease-in-out infinite;}
@keyframes mzKey{50%{transform:scale(1.08);filter:drop-shadow(0 0 10px rgba(242,211,107,1));}}
.maze .lc.t-chave-ok .lic{filter:drop-shadow(0 0 6px rgba(242,211,107,.9));}
.maze .lc.t-escada,.maze .lc.t-chefe{background:radial-gradient(circle,rgba(160,120,255,.22),rgba(30,22,14,.18) 70%);}
.maze .lc.exit-lock .lic{filter:grayscale(.5) brightness(.75);}
.maze .lc.exit-open{background:radial-gradient(circle,rgba(120,220,120,.30),rgba(30,22,14,.18) 70%);animation:mzOpen 1.6s ease-in-out infinite;}
@keyframes mzOpen{50%{box-shadow:inset 0 0 0 2px rgba(120,220,120,.95),inset 0 0 14px rgba(120,220,120,.5);}}
.maze .lock-b{position:absolute;right:6%;bottom:6%;font-size:clamp(10px,3vw,14px);line-height:1;filter:drop-shadow(0 1px 2px #000);}
.maze .lock-b .nx-ic{width:1.2em;height:1.2em;}
.maze .lhero{position:relative;z-index:2;box-shadow:0 0 14px rgba(255,180,90,.8),0 0 0 2px rgba(0,0,0,.4);}

/* v163: Armas da Cripta */
.ak-tag.crypt-tag{background:linear-gradient(90deg,rgba(120,90,200,.25),rgba(60,40,110,.25));border-color:#9b7be0;color:#d9c8ff;}
.crypt-line{margin:6px 0 2px;padding:6px 9px;border-radius:8px;background:rgba(120,90,200,.12);border:1px solid rgba(155,123,224,.45);color:#e6dcff;}
.crypt-line b{color:#f2d36b;}
.crypt-txt{color:#c9b4ff;font-weight:700;}

/* v164: forja de Armas — escolher Peitoral ou Arma */
.ho-forge-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.ho-fp{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#120d08;color:var(--parchment);text-align:left;cursor:pointer;}
.ho-fp .nx-ic{width:30px;height:30px;flex:none;}
.ho-fp-empty{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:20px;opacity:.5;flex:none;}
.ho-fp span{display:flex;flex-direction:column;line-height:1.2;min-width:0;}
.ho-fp b{font-family:var(--font-display);font-size:12.5px;color:var(--gold-bright);}
.ho-fp small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ho-fp.on{border-color:var(--gold-bright);box-shadow:0 0 12px rgba(228,191,74,.3);background:#1a130a;}
.ho-fp-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--craft-green);box-shadow:0 0 6px rgba(142,224,106,.8);}
.craft-x2{font-size:10px;font-weight:800;color:var(--craft-green);border:1px solid rgba(142,224,106,.6);border-radius:6px;padding:0 4px;margin-left:2px;}
.ho-cbonus>span .nx-ic{width:18px;height:18px;vertical-align:-4px;}

/* v166: Templo das Almas — pétalas de cerejeira e chefe de 2 fases */
.fx-sakura i{width:7px; height:5px; border-radius:70% 0 70% 0; background:linear-gradient(135deg,#ffd1dc,#ff8fab); opacity:.85; animation-name:scSakura; top:-8px !important;}
.fx-sakura i:nth-child(3n){width:5px; height:4px; background:linear-gradient(135deg,#ffe4ea,#ff9fb8);}
.fx-sakura i:nth-child(4n){opacity:.6;}
@keyframes scSakura{0%{transform:translate(0,0) rotate(0deg);} 50%{transform:translate(-30px,170px) rotate(200deg);} 100%{transform:translate(-70px,340px) rotate(420deg); opacity:0;}}
.enemy-glyph.phase2{box-shadow:0 0 0 2px #ff3b2a, 0 0 22px rgba(255,59,42,.65), inset 0 0 18px rgba(255,59,42,.35) !important;}
.enemy-glyph.fx-phase2{animation:nxPhase2 .9s ease-out;}
@keyframes nxPhase2{0%{transform:scale(1); filter:brightness(1);} 25%{transform:scale(1.18) rotate(-4deg); filter:brightness(2.2) saturate(1.6);} 55%{transform:scale(.94) rotate(3deg); filter:brightness(1.4);} 100%{transform:scale(1); filter:none;}}

/* v169: logótipo da app (escudo) nos ecrãs de entrada */
.app-logo{display:block; width:1em; height:1em; object-fit:contain; margin:0 auto; filter:drop-shadow(0 4px 10px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(228,191,74,.18));}
#screen-boot .glyph .app-logo{width:96px; height:96px;}
.create-hero .glyph .app-logo{width:76px; height:76px;}
.account-mark.account-mark-logo{width:auto; height:auto; border:none; background:none; border-radius:0;}
.account-mark-logo .app-logo{width:78px; height:78px;}

/* v170: ver e comparar itens da Mochila */
.item-ic-btn{position:relative; padding:0; border:none; background:none; cursor:pointer; align-self:center;}
.item-ic-zoom{position:absolute; right:-5px; bottom:-4px; font-size:10px; line-height:1; background:#1a130b; border:1px solid var(--line); border-radius:50%; width:16px; height:16px; display:grid; place-items:center;}
.item-ic-zoom .nx-ic{width:11px !important; height:11px !important;}
.cmp-cards{display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:stretch;}
.cmp-card{position:relative; border:1px solid var(--line); border-radius:10px; padding:16px 8px 8px; text-align:center; min-width:0;}
.cmp-card.empty{opacity:.6; border-style:dashed;}
.cmp-tag{position:absolute; top:-8px; left:50%; transform:translateX(-50%); font-size:9.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; background:#1a130b; border:1px solid var(--line); border-radius:8px; padding:1px 7px; color:var(--gold-bright); white-space:nowrap;}
.cmp-ic{font-size:32px; line-height:1;} .cmp-ic .nx-ic{width:44px; height:44px;}
.cmp-nm{font-family:var(--font-display); font-weight:700; font-size:13px; margin-top:4px; line-height:1.2; overflow-wrap:anywhere;}
.cmp-vs{align-self:center; font-family:var(--font-display); font-weight:800; color:var(--muted); font-size:12px;}
.cmp-verdict{margin:10px 0 2px; text-align:center; font-weight:800; font-size:13px; padding:6px; border-radius:8px; border:1px solid var(--line);}
.cmp-verdict.better{color:#8ee06a; border-color:rgba(142,224,106,.5); background:rgba(142,224,106,.08);}
.cmp-verdict.worse{color:#e07a6a; border-color:rgba(224,122,106,.5); background:rgba(224,122,106,.08);}
.cmp-verdict.equal{color:var(--muted);}
.cmp-table td,.cmp-table th{font-size:12px; padding:5px 4px;} .cmp-table td:first-child{white-space:nowrap;}
.cmp-d{font-weight:800; white-space:nowrap;} .cmp-d.up{color:#8ee06a;} .cmp-d.down{color:#e07a6a;} .cmp-d.eq{color:var(--muted);}
.cmp-extras{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.cmp-extras > div{border:1px solid var(--line); border-radius:8px; padding:6px 8px; min-width:0;}
.cmp-extras p{margin:3px 0; overflow-wrap:anywhere;} .cmp-bad{color:#e07a6a;}
.cmp-hero-row{display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:center; font-size:12.5px; padding:4px 0; border-bottom:1px solid rgba(255,255,255,.05);}
.cmp-hero-row b{font-weight:600;} .cmp-hero-row em{font-style:normal; font-weight:800; min-width:52px; text-align:right;}
.cmp-hero-row em.up{color:#8ee06a;} .cmp-hero-row em.down{color:#e07a6a;} .cmp-hero-row em.eq{color:var(--muted);}
.cmp-actions{display:flex; gap:8px; margin-top:12px;} .cmp-actions .btn{flex:1;}
.cmp-extras .pill{white-space:normal; display:inline-block; max-width:100%; line-height:1.25; text-align:left;}

/* v171: Boss Soberano */
.sob-card{border-color:rgba(255,90,60,.55) !important; box-shadow:0 0 18px rgba(255,60,30,.12);}
.sob-head{display:flex; gap:12px; align-items:center;}
.sob-ic{width:78px; height:78px; flex:none; display:grid; place-items:center; font-size:48px; border-radius:14px; background:radial-gradient(circle,#3a120c,#140806); border:1px solid rgba(255,90,60,.45);}
.sob-ic .nx-ic{width:70px; height:70px;}
.sob-name{font-family:var(--font-display); font-weight:700; font-size:17px; color:#ffb08a; line-height:1.2; margin-bottom:4px;}
.sob-stats{display:flex; gap:8px; margin-top:10px;} .sob-stats span{flex:1; text-align:center; font-weight:700; font-size:13px; padding:6px 4px; border-radius:8px; background:#120c08; border:1px solid var(--line);}
.sob-stage{margin-top:10px; padding:8px 10px; border-radius:8px; border:1px solid var(--line); background:#100b07;}
.sob-stage.fury{border-color:rgba(255,60,40,.5); background:linear-gradient(180deg,rgba(120,20,10,.25),#100b07);}
.sob-st-h{font-weight:800; font-size:12px; letter-spacing:.04em; color:var(--gold-bright); margin-bottom:4px; display:flex; align-items:center; gap:6px;}
.sob-stage.fury .sob-st-h{color:#ff8a7a;} .sob-mini .nx-ic{width:22px; height:22px;}
.enemy-glyph.soberano{box-shadow:0 0 0 2px #e4bf4a, 0 0 18px rgba(228,191,74,.45) !important;}
.enemy-glyph.soberano.phase2{box-shadow:0 0 0 2px #ff3b2a, 0 0 26px rgba(255,59,42,.75), inset 0 0 18px rgba(255,59,42,.35) !important;}

/* v173: Ascensão (Coração do Soberano) */
.asc-badge{font-size:10px; font-weight:800; letter-spacing:.03em; padding:1px 6px; border-radius:6px; color:#ffe9a8; background:linear-gradient(90deg,#7a1d10,#b8501a); border:1px solid #ffb35a; box-shadow:0 0 8px rgba(255,140,60,.55); text-shadow:0 0 4px rgba(255,200,120,.8); white-space:nowrap; vertical-align:middle;}
.asc-txt{color:#ffb070 !important;}
.asc-pill{border-color:#ffb35a !important; color:#ffd59a !important; background:linear-gradient(90deg,rgba(122,29,16,.55),rgba(184,80,26,.45)); box-shadow:0 0 10px rgba(255,140,60,.35);}
.asc-box{margin-top:10px; padding:10px; border-radius:10px; border:1px solid rgba(255,140,60,.55); background:linear-gradient(180deg,rgba(110,25,12,.35),var(--bg-void)); box-shadow:inset 0 0 18px rgba(255,90,30,.12);}
.asc-h{font-family:var(--font-display); font-weight:700; color:#ffb070; margin-bottom:6px; display:flex; align-items:center; gap:6px;}
.asc-h .nx-ic{width:22px; height:22px;}
.btn.asc-btn{background:linear-gradient(180deg,#d8642a,#8a2412); color:#fff3dc; border:1px solid #ffb35a; box-shadow:0 0 12px rgba(255,120,50,.45);}
.sheet-head.asc{box-shadow:0 0 0 1px #ffb35a, 0 0 18px rgba(255,120,50,.35) !important;}

/* v174: Noite das Abóboras */
.fx-bats i{width:10px; height:5px; border-radius:50% 50% 0 0; background:#0a0510; box-shadow:5px 0 0 -1px #0a0510, -5px 0 0 -1px #0a0510; animation-name:scBat; opacity:.85;}
.fx-bats i:nth-child(n+9){display:none;}
@keyframes scBat{0%{transform:translate(0,0) scaleY(1);} 25%{transform:translate(40px,-12px) scaleY(.4);} 50%{transform:translate(80px,6px) scaleY(1);} 75%{transform:translate(120px,-10px) scaleY(.4);} 100%{transform:translate(160px,0) scaleY(1); opacity:0;}}
.hw-banner{position:relative; overflow:hidden; text-align:center; padding:16px 12px; border-radius:14px; border:1px solid #c4561a; background:radial-gradient(circle at 80% 20%, rgba(255,160,60,.35), transparent 40%), linear-gradient(180deg,#2a1040,#140820); box-shadow:0 0 18px rgba(255,120,30,.25); margin-bottom:12px;}
.hw-moon{position:absolute; right:16px; top:10px; width:42px; height:42px; border-radius:50%; background:radial-gradient(circle at 40% 40%,#ffe3a0,#ff9a3a); box-shadow:0 0 22px rgba(255,170,60,.7); opacity:.9;}
.hw-title{font-family:var(--font-display); font-weight:700; font-size:21px; color:#ffb04a; text-shadow:0 0 10px rgba(255,140,40,.6);}
.hw-count{display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:5px 14px; border-radius:20px; background:rgba(0,0,0,.35); border:1px solid #c4561a; font-size:15px; color:#ffd59a;}
.hw-count .nx-ic{width:22px; height:22px;}
.hw-mobs{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px;}
.hw-mob{display:flex; flex-direction:column; align-items:center; gap:3px; padding:10px 6px; border-radius:10px; border:1px solid #4a2a5a; background:linear-gradient(180deg,#1d0f2a,#120818); color:var(--parchment); cursor:pointer; text-align:center;}
.hw-mob:active{transform:scale(.97);} .hw-mob b{font-family:var(--font-display); font-size:12.5px; color:#ffcf8a;} .hw-mob small{font-size:10.5px; color:var(--muted);}
.hw-mob-ic{font-size:34px; line-height:1;} .hw-mob-ic .nx-ic{width:44px; height:44px;}
.hw-boss{border-color:#c4561a !important; background:linear-gradient(180deg,rgba(196,86,26,.18),transparent) !important;}
.hw-boss-ic{width:64px; height:64px; display:grid; place-items:center; font-size:44px; border-radius:12px; background:radial-gradient(circle,#4a1a08,#140806); border:1px solid #c4561a; flex:none;}
.hw-boss-n{font-family:var(--font-display); font-weight:700; font-size:16px; color:#ffb04a;}
.btn.hw-btn{background:linear-gradient(180deg,#e0701a,#9a3a0a); color:#fff3dc; border:1px solid #ffb04a; box-shadow:0 0 10px rgba(255,120,30,.35);}
.hw-item{border-color:#4a2a5a !important;}
/* v174: Recompensa diária */
.daily-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:6px;}
.daily-day{position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 4px; border-radius:10px; border:1px solid var(--line); background:#120d08; text-align:center; min-width:0;}
.daily-day.big{grid-column:span 2; border-color:var(--gold);}
.daily-day.today{border-color:var(--gold-bright); box-shadow:0 0 12px rgba(228,191,74,.45); background:linear-gradient(180deg,rgba(228,191,74,.15),#120d08);}
.daily-day.done{opacity:.5;}
.daily-n{font-size:10px; font-weight:800; letter-spacing:.05em; color:var(--gold-bright); text-transform:uppercase;}
.daily-ic{font-size:26px; line-height:1;} .daily-ic .nx-ic{width:34px; height:34px;}
.daily-lb{font-size:10.5px; line-height:1.2; color:var(--parchment); overflow-wrap:anywhere;}
.daily-ok{position:absolute; top:4px; right:6px; color:#8ee06a; font-weight:800;}
.hw-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:12px;}
.hw-steps > div{font-size:11px; line-height:1.25; text-align:center; padding:8px 6px; border-radius:10px; border:1px solid #4a2a5a; background:#140a1c; color:var(--parchment);}
.hw-steps b{display:block; margin:0 auto 4px; width:22px; height:22px; line-height:22px; border-radius:50%; background:#c4561a; color:#fff3dc; font-weight:800;}
.hw-steps .nx-ic{width:16px; height:16px; vertical-align:-3px;}
.btn.small.hw-btn{background:linear-gradient(180deg,#e0701a,#9a3a0a) !important; color:#fff3dc !important; border-color:#ffb04a !important;}
.ak-tag.hw-tag{border-color:#e0701a !important; color:#ffb04a !important; background:rgba(224,112,26,.14) !important;}
.hw-txt{color:#ffb04a;} .hw-line{color:#ffcf8a; border:1px solid rgba(224,112,26,.45); background:rgba(224,112,26,.08); border-radius:8px; padding:6px 8px; margin:6px 0;}

/* ======================================================================
   v175: VISUAL "MODERNO" (body.ui-modern) — opcional, escolhe-se nas Definições.
   Cartões de vidro arredondados, menos molduras, barra de baixo numa só linha.
   ====================================================================== */
.nav-more{display:none;}
body.ui-modern{
  --bg-void:#0B0D12; --bg-panel:#12151C; --bg-raised:#171B23; --bg-raised-2:#1D222C;
  --line:rgba(255,255,255,.09); --line-soft:rgba(255,255,255,.05);
  --parchment:#ECE6D8; --muted:#9AA0AC; --dim:#6B7280;
  --m-card:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  --m-border:1px solid rgba(255,255,255,.08);
  --m-shadow:0 6px 18px rgba(0,0,0,.35);
  --m-radius:16px;
  --depth:var(--m-shadow);
}
body.ui-modern #app{background:radial-gradient(ellipse 120% 50% at 50% -10%, rgba(var(--acc-rgb),.10), transparent 60%), radial-gradient(ellipse 80% 40% at 100% 100%, rgba(99,102,241,.08), transparent 60%), #0B0D12; box-shadow:none;}
body.ui-modern h1,body.ui-modern h2,body.ui-modern h3,body.ui-modern h4{text-shadow:none;}
/* cartões */
body.ui-modern :is(.card,.region-card,.player-panel,.item-row,.class-card,.stat-box,.account-panel,.combat-log,.event-banner){background:var(--m-card), var(--bg-panel) !important; border:var(--m-border); border-radius:var(--m-radius); box-shadow:var(--m-shadow);}
body.ui-modern :is(.card,.region-card,.player-panel,.item-row,.class-card,.account-panel)::before{display:none;}
body.ui-modern .item-row{border-radius:14px;}
body.ui-modern .item-ic{border-radius:12px;}
/* títulos */
body.ui-modern .section-title{font-family:var(--font-body); font-weight:700; font-size:12px; letter-spacing:.12em; color:#C9CED8; text-shadow:none;}
body.ui-modern .section-title::after{background:linear-gradient(90deg, rgba(255,255,255,.12), transparent);}
body.ui-modern .wiki-group-title{font-family:var(--font-body); font-weight:700; color:#8C93A1;}
body.ui-modern .wiki-group-title::after{background:linear-gradient(90deg, rgba(255,255,255,.1), transparent);}
body.ui-modern .wiki-current{font-family:var(--font-body); font-weight:800; letter-spacing:.08em; color:var(--gold-bright); text-shadow:none;}
/* botões */
body.ui-modern .btn{border-radius:12px; font-family:var(--font-body); font-weight:700; letter-spacing:.01em; text-shadow:none; box-shadow:0 2px 8px rgba(0,0,0,.3) !important;}
body.ui-modern .btn.primary{background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:#1B1405; border:1px solid rgba(var(--acc-rgb),.6);}
body.ui-modern .btn.ghost,body.ui-modern .btn:not(.primary):not(.danger):not(.hw-btn):not(.asc-btn):not(.ho-btn-green){background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:var(--parchment);}
body.ui-modern .btn.danger{background:linear-gradient(180deg,#E0564F,#A9302B); border:1px solid rgba(255,150,140,.5);}
body.ui-modern .tab-chip{border-radius:999px !important; font-family:var(--font-body) !important; font-weight:700; background:rgba(255,255,255,.05) !important; border:1px solid rgba(255,255,255,.09) !important; text-shadow:none !important;}
body.ui-modern .tab-chip.active{background:linear-gradient(180deg,var(--gold-bright),var(--gold)) !important; color:#1B1405 !important; border-color:transparent !important;}
body.ui-modern .pill{border-radius:999px;}
/* quadradinhos */
body.ui-modern .wiki-tile{border-radius:18px; border:1px solid rgba(255,255,255,.08); background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), #12151C; box-shadow:0 6px 16px rgba(0,0,0,.35); min-height:92px;}
body.ui-modern .wiki-tile:hover{border-color:rgba(var(--acc-rgb),.55); box-shadow:0 6px 18px rgba(0,0,0,.4), 0 0 0 1px rgba(var(--acc-rgb),.25);}
body.ui-modern .wiki-tile-lb{font-family:var(--font-body); font-weight:700; font-size:11.5px; letter-spacing:.02em; text-transform:none;}
body.ui-modern .wiki-tile-badge{border-radius:999px; background:var(--gold-bright); color:#1B1405; border:none;}
/* barra de cima */
body.ui-modern #statusbar{margin:calc(8px + var(--safe-top)) 10px 0; padding:8px 10px; border-radius:18px; background:rgba(23,27,35,.78); border:1px solid rgba(255,255,255,.08); box-shadow:0 8px 24px rgba(0,0,0,.4); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
body.ui-modern .sb-portrait{position:relative; width:46px; height:46px; border-radius:50%; border:none; padding:3px; background:conic-gradient(#63B0A3 var(--xp,0%), rgba(255,255,255,.1) 0); box-shadow:none;}
body.ui-modern .sb-portrait .hero-av{border-radius:50%; width:100%; height:100%; object-fit:cover;}
body.ui-modern .sb-lv-badge{position:absolute; right:-4px; bottom:-3px; min-width:20px; height:18px; padding:0 4px; border-radius:9px; background:var(--gold-bright); color:#1B1405; font-size:10px; font-weight:800; display:grid; place-items:center; border:2px solid #171B23;}
.sb-lv-badge{display:none;} body.ui-modern .sb-lv-badge{display:grid;}
body.ui-modern .sb-name{font-family:var(--font-body); font-weight:800; letter-spacing:0; text-shadow:none;}
body.ui-modern .sb-lvl{display:none;}
body.ui-modern .bar{height:8px; border-radius:6px; border:none; background:rgba(255,255,255,.08);}
body.ui-modern .bar-xp{display:none;}
body.ui-modern .hp-num{font-size:10.5px;}
body.ui-modern .sb-gold{border-radius:999px; background:rgba(var(--acc-rgb),.12) !important; border:1px solid rgba(var(--acc-rgb),.35) !important; box-shadow:none !important; padding:6px 12px;}
body.ui-modern .sb-mute{border-radius:50% !important; background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.1) !important; box-shadow:none !important;}
/* barra de baixo: uma linha, flutuante */
body.ui-modern #nav{margin:0 10px calc(8px + var(--safe-bottom)); padding:6px; border-radius:22px; background:rgba(18,21,28,.88); border:1px solid rgba(255,255,255,.08); box-shadow:0 10px 30px rgba(0,0,0,.55); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);}
body.ui-modern .nav-row + .nav-row{display:none;}
body.ui-modern .nav-more{display:flex;}
body.ui-modern .nav-btn{background:none !important; border:none !important; border-radius:16px; font-family:var(--font-body); font-weight:700; font-size:10.5px; letter-spacing:0; padding:7px 2px 6px; color:#8C93A1; text-shadow:none !important;}
body.ui-modern .nav-btn.active{background:rgba(var(--acc-rgb),.14) !important; color:var(--gold-bright);}
body.ui-modern .nav-btn .ic{filter:grayscale(.6) brightness(.9);}
body.ui-modern .nav-btn.active .ic{filter:none;}
body.ui-modern .nav-more .ic{font-size:20px; line-height:28px; height:28px; filter:none; color:#C9CED8;}
/* menu "Mais" */
.ui-more-h{font-weight:800; font-size:16px; margin-bottom:10px; text-align:center;}
.ui-more-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
.ui-more-tile{position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; padding:16px 8px; border-radius:18px; border:1px solid rgba(255,255,255,.09); background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), #12151C; color:var(--parchment); font-weight:700; cursor:pointer;}
.ui-more-tile.on{border-color:rgba(var(--acc-rgb),.6); box-shadow:0 0 0 1px rgba(var(--acc-rgb),.25);}
.ui-more-tile .ic{font-size:30px; line-height:1;} .ui-more-tile .ic .nx-ic{width:40px; height:40px;}
/* modal */
body.ui-modern .modal-sheet{border-radius:24px 24px 0 0 !important; background:#12151C !important; border:1px solid rgba(255,255,255,.08) !important; border-bottom:none !important;}
body.ui-modern .modal-sheet::before{display:none;}
/* combate */
body.ui-modern .enemy-glyph{border-radius:18px;}
body.ui-modern .ab-btn{border-radius:16px !important; background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), #12151C !important; border:1px solid rgba(255,255,255,.09) !important;}
body.ui-modern .combat-log{background:rgba(12,14,19,.72) !important;}
body.ui-modern .sb-lv-badge{min-width:28px; right:-8px; font-size:9.5px; padding:0 3px;}
body.ui-modern :is(.item-name,.fr-item-name,.sheet-name,.cmp-nm,.sob-name,.hw-boss-n){font-family:var(--font-body); font-weight:800; letter-spacing:0;}
body.ui-modern .hp-num{white-space:nowrap; font-size:10px;} body.ui-modern .hp-num span{white-space:nowrap;}
body.ui-modern .sb-portrait{overflow:visible !important;}

/* ======================================================================
   v175: VISUAL "ARCANO" (body.ui-modern.ui-arcano) — vidro escuro com brilho
   roxo/ciano, botão de Batalha grande ao centro da barra de baixo.
   ====================================================================== */
body.ui-arcano{
  --bg-void:#07060F; --bg-panel:#100D1F; --bg-raised:#16122A;
  --m-card:linear-gradient(160deg, rgba(var(--acc-rgb),.14), rgba(var(--acc2-rgb),.05) 60%, rgba(255,255,255,.02));
  --m-border:1px solid rgba(var(--acc-rgb),.22);
  --m-shadow:0 8px 24px rgba(10,5,30,.6), inset 0 1px 0 rgba(255,255,255,.06);
  --m-radius:20px;
}
body.ui-arcano #app{background:radial-gradient(circle at 15% -5%, rgba(var(--acc-rgb),.35), transparent 45%), radial-gradient(circle at 110% 40%, rgba(var(--acc2-rgb),.18), transparent 40%), radial-gradient(circle at -10% 110%, rgba(236,72,153,.15), transparent 40%), #07060F;}
body.ui-arcano .section-title{color:var(--gold-bright);}
body.ui-arcano .section-title::after{background:linear-gradient(90deg, rgba(var(--acc-rgb),.6), transparent);}
body.ui-arcano .wiki-tile{border-radius:22px; border:1px solid rgba(var(--acc-rgb),.25); background:linear-gradient(160deg, rgba(var(--acc-rgb),.20), rgba(var(--acc2-rgb),.06)), #100D1F; box-shadow:0 8px 22px rgba(10,5,30,.55), inset 0 1px 0 rgba(255,255,255,.07);}
body.ui-arcano .wiki-tile:hover{border-color:var(--gold); box-shadow:0 0 0 1px rgba(var(--acc-rgb),.5), 0 0 22px rgba(var(--acc-rgb),.35);}
body.ui-arcano .wiki-tile-badge{background:linear-gradient(90deg,var(--gold),var(--acc2)); color:#fff;}
body.ui-arcano .btn.primary{background:linear-gradient(90deg,var(--gold),var(--acc2)); color:#fff; border:none; text-shadow:0 1px 2px rgba(0,0,0,.35);}
body.ui-arcano .tab-chip.active{background:linear-gradient(90deg,var(--gold),var(--acc2)) !important; color:#fff !important;}
body.ui-arcano #statusbar{background:rgba(22,18,42,.72); border:1px solid rgba(var(--acc-rgb),.25); box-shadow:0 10px 30px rgba(10,5,30,.6), 0 0 20px rgba(var(--acc-rgb),.15);}
body.ui-arcano .sb-portrait{background:conic-gradient(var(--acc2) 0, var(--gold) var(--xp,0%), rgba(255,255,255,.1) 0);}
body.ui-arcano .sb-lv-badge{background:linear-gradient(90deg,var(--gold),var(--acc2)); color:#fff; border-color:#16122A;}
body.ui-arcano .sb-gold{background:rgba(250,204,21,.10) !important; border-color:rgba(250,204,21,.35) !important; color:#FACC15;}
body.ui-arcano .bar-hp .bar-fill{background:linear-gradient(90deg,#EC4899,#F43F5E);}
body.ui-arcano #nav{background:rgba(16,13,31,.9); border:1px solid rgba(var(--acc-rgb),.25); overflow:visible;}
body.ui-arcano .nav-row{align-items:flex-end;}
body.ui-arcano .nav-btn[data-tab="batalha"]{order:3;} body.ui-arcano .nav-btn[data-tab="heroi"]{order:1;} body.ui-arcano .nav-btn[data-tab="mochila"]{order:2;} body.ui-arcano .nav-btn[data-tab="mapa"]{order:4;} body.ui-arcano .nav-more{order:5;}
body.ui-arcano .nav-btn[data-tab="batalha"]{position:relative; margin-top:-26px; flex:0 0 76px; height:76px; border-radius:50% !important; background:linear-gradient(145deg,var(--gold),var(--acc2)) !important; color:#fff !important; box-shadow:0 8px 22px rgba(var(--acc-rgb),.55), 0 0 0 5px rgba(16,13,31,.95) !important; justify-content:center;}
body.ui-arcano .nav-btn[data-tab="batalha"] .ic{filter:drop-shadow(0 2px 3px rgba(0,0,0,.5)) !important;}
body.ui-arcano .nav-btn[data-tab="batalha"] .ic .nx-ic{width:32px; height:32px;}
body.ui-arcano .nav-btn.active:not([data-tab="batalha"]){background:rgba(var(--acc-rgb),.18) !important; color:var(--gold-bright);}
body.ui-arcano .nav-btn[data-tab="batalha"].active{box-shadow:0 8px 26px rgba(var(--acc2-rgb),.6), 0 0 0 5px rgba(16,13,31,.95), 0 0 0 7px rgba(var(--acc-rgb),.6) !important;}
body.ui-arcano .modal-sheet{background:#100D1F !important; border-color:rgba(var(--acc-rgb),.3) !important;}
body.ui-arcano .ui-more-tile{border-color:rgba(var(--acc-rgb),.25); background:linear-gradient(160deg, rgba(var(--acc-rgb),.2), rgba(var(--acc2-rgb),.06)), #100D1F;}

/* ======================================================================
   v175: VISUAL "PERGAMINHO" (body.ui-modern.ui-pergaminho) — claro, papel
   envelhecido e tinta castanha, como um livro de aventuras.
   ====================================================================== */
body.ui-pergaminho{
  --bg-void:#EADBB8; --bg-panel:#F4E8CC; --bg-raised:#F8EFD9; --bg-raised-2:#EFE1BF;
  --line:rgba(90,60,25,.25); --line-soft:rgba(90,60,25,.14);
  --parchment:#3A2814; --muted:#7A6447; --dim:#9A8566;
  --gold:var(--ink); --gold-bright:var(--ink);
  --m-card:linear-gradient(180deg, #FBF4E2, #F2E4C4);
  --m-border:1px solid rgba(110,75,30,.28);
  --m-shadow:0 3px 10px rgba(80,50,15,.18), inset 0 1px 0 rgba(255,255,255,.6);
  --m-radius:14px;
  color-scheme:light;
}
body.ui-pergaminho #app{background:radial-gradient(ellipse at 50% 0%, #F6EAD0, transparent 70%), repeating-linear-gradient(0deg, rgba(120,85,40,.035) 0 2px, transparent 2px 4px), #E8D7B0; color:var(--parchment);}
body.ui-pergaminho :is(.card,.region-card,.player-panel,.item-row,.class-card,.stat-box,.account-panel,.event-banner){color:var(--parchment);}
body.ui-pergaminho h1,body.ui-pergaminho h2,body.ui-pergaminho h3,body.ui-pergaminho h4{color:#3A2814;}
body.ui-pergaminho .section-title{font-family:var(--font-display); color:var(--ink); letter-spacing:.08em;}
body.ui-pergaminho .section-title::after{background:linear-gradient(90deg, rgba(var(--ink-rgb),.45), transparent);}
body.ui-pergaminho .wiki-current{font-family:var(--font-display); color:var(--ink);}
body.ui-pergaminho .wiki-tile{background:linear-gradient(180deg,#FBF4E2,#EEDFBC); border:1px solid rgba(110,75,30,.32); box-shadow:0 3px 8px rgba(80,50,15,.18), inset 0 1px 0 #fff; color:#3A2814;}
body.ui-pergaminho .wiki-tile-lb{font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:10.5px;}
body.ui-pergaminho .wiki-tile:hover{border-color:#9A6A12;}
body.ui-pergaminho .wiki-tile-badge{background:var(--ink); color:#FFF3DC;}
body.ui-pergaminho .btn.primary{background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(0,0,0,.22)), var(--ink); color:#FFF3DC; border:1px solid rgba(0,0,0,.35);}
body.ui-pergaminho .btn.ghost,body.ui-pergaminho .btn:not(.primary):not(.danger):not(.hw-btn):not(.asc-btn):not(.ho-btn-green){background:rgba(255,255,255,.55); border:1px solid rgba(110,75,30,.35); color:#3A2814;}
body.ui-pergaminho .tab-chip{background:rgba(255,255,255,.5) !important; border-color:rgba(110,75,30,.3) !important; color:#5A4022 !important;}
body.ui-pergaminho .tab-chip.active{background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(0,0,0,.22)), var(--ink) !important; color:#FFF3DC !important;}
body.ui-pergaminho .muted,body.ui-pergaminho .tiny.muted{color:var(--muted) !important;}
body.ui-pergaminho #statusbar{background:rgba(250,242,222,.92); border:1px solid rgba(110,75,30,.3); box-shadow:0 6px 18px rgba(80,50,15,.22);}
body.ui-pergaminho .sb-portrait{background:conic-gradient(#3F7F5C var(--xp,0%), rgba(90,60,25,.15) 0);}
body.ui-pergaminho .sb-lv-badge{background:var(--ink); color:#FFF3DC; border-color:#FAF2DE;}
body.ui-pergaminho .sb-name{color:#3A2814;}
body.ui-pergaminho .sb-gold{background:rgba(154,106,18,.12) !important; border-color:rgba(154,106,18,.45) !important; color:#7A4E08;}
body.ui-pergaminho .sb-mute{background:rgba(255,255,255,.6) !important; border-color:rgba(110,75,30,.3) !important;}
body.ui-pergaminho .bar{background:rgba(90,60,25,.15);}
body.ui-pergaminho .hp-num{color:#6A5435;}
body.ui-pergaminho #nav{background:rgba(250,242,222,.95); border:1px solid rgba(110,75,30,.3); box-shadow:0 8px 24px rgba(80,50,15,.25);}
body.ui-pergaminho .nav-btn{color:#8A7556; font-family:var(--font-display);}
body.ui-pergaminho .nav-btn.active{background:rgba(var(--ink-rgb),.12) !important; color:var(--ink);}
body.ui-pergaminho .nav-btn .ic{filter:sepia(.4) saturate(.8);}
body.ui-pergaminho .nav-more .ic{color:#5A4022;}
body.ui-pergaminho .modal-sheet{background:#F6EBD0 !important; border-color:rgba(110,75,30,.35) !important; color:#3A2814;}
body.ui-pergaminho .ui-more-tile{background:linear-gradient(180deg,#FBF4E2,#EEDFBC); border-color:rgba(110,75,30,.32); color:#3A2814;}
body.ui-pergaminho .item-name{color:#3A2814;}
body.ui-pergaminho .item-stats,body.ui-pergaminho .tiny{color:#5A4530;}
body.ui-pergaminho .item-row{border-left-width:4px !important;}
body.ui-pergaminho .cmp-pill.better{color:#2F6B2A; border-color:#2F6B2A;}
/* Pergaminho: o ecrã de combate continua escuro (cenários), e cores de stats legíveis em papel. */
body.ui-pergaminho #screen-combat{--bg-void:#0B0D12; --bg-panel:#12151C; --bg-raised:#171B23; --bg-raised-2:#1D222C; --line:rgba(255,255,255,.09); --line-soft:rgba(255,255,255,.05); --parchment:#ECE6D8; --muted:#9AA0AC; --dim:#6B7280; --gold:#C9A227; --gold-bright:#E4BF4A;
  --m-card:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)); --m-border:1px solid rgba(255,255,255,.08); --m-shadow:0 6px 18px rgba(0,0,0,.35); color:#ECE6D8; background:#0B0D12;}
body.ui-pergaminho #screen-combat :is(.tiny,.item-name,.player-panel){color:#ECE6D8;}
body.ui-pergaminho #screen-combat .btn:not(.primary):not(.danger){background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:#ECE6D8;}
body.ui-pergaminho #screen-combat .btn.primary{background:linear-gradient(180deg,#F2CF5B,#D3A62C); color:#1B1405; border:1px solid rgba(255,230,150,.6);}
body.ui-pergaminho .st-def{color:#3A2814 !important;} body.ui-pergaminho .st-es{color:#1F6FA8 !important;}
body.ui-pergaminho #screen-combat .st-def{color:#ECE6D8 !important;} body.ui-pergaminho #screen-combat .st-es{color:#7CC7F2 !important;}
body.ui-pergaminho .item-stats b{color:#3A2814;}
body.ui-pergaminho .modal-sheet :is(.sheet-tot,.wiki-table td){color:#3A2814;}
body.ui-pergaminho .crypt-txt{color:#5B2A86 !important;} body.ui-pergaminho .hw-txt{color:#9A3A0A !important;}
body.ui-pergaminho .pill-plus2{color:#6B5200 !important; border-color:#B08D3E !important; background:rgba(176,141,62,.14) !important;}
body.ui-pergaminho .pill-plus2 *{color:#6B5200 !important;}
body.ui-pergaminho .item-sub{filter:saturate(1.3) brightness(.78);}

/* v176: Mapa do Mundo */
.wm-wrap{position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--line); box-shadow:0 8px 24px rgba(0,0,0,.45);}
.wm-view{height:max(320px, calc(100vh - 290px)); height:max(320px, calc(100dvh - 290px)); overflow:auto; -webkit-overflow-scrolling:touch; background:#0b2233; touch-action:pan-x pan-y; cursor:grab; overscroll-behavior:contain;}
.wm-view::-webkit-scrollbar{display:none;}
.wm-size{position:relative;}
.wm-stage{position:absolute; left:0; top:0; width:1000px; height:1500px; transform-origin:0 0;}
.wm-svg{position:absolute; inset:0; display:block;}
.wm-pin{position:absolute; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:4px; background:none; border:none; padding:0; color:#fff3dc; cursor:pointer; z-index:2;}
.wm-pin .wm-ic{position:relative; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 35% 30%, #3a2e1c, #120e09); border:3px solid #e2c98a; box-shadow:0 6px 14px rgba(0,0,0,.6);}
.wm-reg .wm-ic{width:108px; height:108px; font-size:58px;} .wm-reg .wm-ic .nx-ic{width:90px; height:90px;}
.wm-dg .wm-ic,.wm-cat .wm-ic,.wm-tower .wm-ic,.wm-city .wm-ic,.wm-event .wm-ic{width:76px; height:76px; font-size:40px;} :is(.wm-dg,.wm-cat,.wm-tower,.wm-city,.wm-event) .wm-ic .nx-ic{width:62px; height:62px;}
.wm-boss .wm-ic{width:96px; height:96px; font-size:52px; border-color:#ff7a5a; box-shadow:0 0 0 4px rgba(255,90,60,.35), 0 0 28px rgba(255,90,60,.6);} .wm-boss .wm-ic .nx-ic{width:84px; height:84px;}
.wm-cat .wm-ic{border-color:#b59ae0; border-radius:18px;} .wm-tower .wm-ic{border-color:#8fb8d8; border-radius:14px;}
.wm-city .wm-ic{border-color:#ffd56a; box-shadow:0 0 0 4px rgba(255,213,106,.25), 0 6px 14px rgba(0,0,0,.6);}
.wm-event .wm-ic{border-color:#ff9a3a; box-shadow:0 0 22px rgba(255,140,40,.7); animation:wmPulse 2.2s ease-in-out infinite;}
@keyframes wmPulse{50%{transform:scale(1.08);}}
.wm-plate{display:flex; flex-direction:column; align-items:center; padding:5px 14px; border-radius:12px; background:rgba(12,9,6,.82); border:2px solid #e2c98a; box-shadow:0 4px 10px rgba(0,0,0,.6); white-space:nowrap;}
.wm-plate b{font-family:var(--font-display); font-size:20px; color:#ffe3a0; letter-spacing:.03em;} .wm-plate small{font-size:15px; color:#d8c9a6;}
.wm-lb{font-size:15px; font-weight:800; padding:3px 10px; border-radius:10px; background:rgba(12,9,6,.78); white-space:nowrap; text-shadow:0 1px 2px #000;}
.wm-badge{position:absolute; top:-8px; right:-14px; white-space:nowrap; line-height:1.2; font-size:14px; font-weight:800; padding:2px 7px; border-radius:10px; background:#e2c98a; color:#1b1405;}
.wm-pin.locked .wm-ic{filter:grayscale(.85) brightness(.6); border-color:#555;} .wm-pin.locked .wm-plate,.wm-pin.locked .wm-lb{opacity:.75;}
.wm-reg.here .wm-ic{border-color:#7cff9a; box-shadow:0 0 0 5px rgba(124,255,154,.25), 0 0 26px rgba(124,255,154,.45);}
.wm-hero{position:absolute; width:64px; height:64px; transform:translate(-50%,-50%); border-radius:50%; overflow:hidden; border:3px solid #7cff9a; box-shadow:0 6px 16px rgba(0,0,0,.6); z-index:3; animation:wmBob 1.6s ease-in-out infinite; pointer-events:none;}
.wm-hero .hero-av{width:100%; height:100%; object-fit:cover;}
@keyframes wmBob{50%{transform:translate(-50%,-62%);}}
.wm-ctrl{position:absolute; right:10px; top:10px; display:flex; flex-direction:column; gap:6px; z-index:4;}
.wm-ctrl button{width:38px; height:38px; border-radius:12px; background:rgba(12,9,6,.82); border:1px solid rgba(226,201,138,.6); color:#ffe3a0; font-size:18px; font-weight:800; display:grid; place-items:center; box-shadow:0 3px 8px rgba(0,0,0,.5);}
body.fx-off .wm-hero,body.fx-off .wm-event .wm-ic{animation:none;}
.wm-badge .nx-ic,.wm-badge img{width:16px !important; height:16px !important; vertical-align:-3px;} .wm-plate small .nx-ic{width:16px !important; height:16px !important; vertical-align:-3px;}

/* ============================================================
   v178 — Efeitos especiais: itens por raridade, chefes, fase 2, vida baixa,
   esquiva, Terramoto, drops raros, Ferreiro, gemas, ouro e menus
   ============================================================ */
/* Itens por raridade (brilho atrás do ícone; partículas só em Animações Completas) */
.ifx{position:relative; display:inline-flex; align-items:center; justify-content:center; line-height:1; vertical-align:middle; isolation:isolate;}
.ifx > .nx-k,.ifx > .nx-tx,.ifx > svg,.ifx > img{position:relative; z-index:1;}
.ifx::before{content:""; position:absolute; inset:-28%; z-index:0; border-radius:50%; pointer-events:none; background:radial-gradient(circle, var(--ifx, transparent) 0%, transparent 66%); opacity:.6;}
.ifx-raro{--ifx:rgba(154,95,214,.75);} .ifx-lend{--ifx:rgba(232,190,60,.75);} .ifx-unico{--ifx:rgba(236,140,50,.8);}
.ifx-set{--ifx:rgba(95,190,95,.75);} .ifx-temp{--ifx:rgba(242,201,76,.8);} .ifx-demo{--ifx:rgba(235,50,40,.85);} .ifx-div{--ifx:rgba(63,224,208,.8);}
.ifx-asc{filter:drop-shadow(0 0 3px rgba(255,214,90,.9));}
.ifx-asc:not(.ifx-raro):not(.ifx-lend):not(.ifx-unico):not(.ifx-set):not(.ifx-temp):not(.ifx-demo):not(.ifx-div){--ifx:rgba(255,214,90,.7);}
body:not(.fx-lite) .ifx-raro::before,body:not(.fx-lite) .ifx-set::before,body:not(.fx-lite) .ifx-temp::before{animation:ifxPulse 2.8s ease-in-out infinite;}
body:not(.fx-lite) .ifx-lend::before,body:not(.fx-lite) .ifx-unico::before{animation:ifxPulse 2.2s ease-in-out infinite;}
body:not(.fx-lite) .ifx-demo::before{animation:ifxFlicker 1.3s ease-in-out infinite;}
@keyframes ifxPulse{0%,100%{opacity:.35; transform:scale(.9);} 50%{opacity:.85; transform:scale(1.05);}}
@keyframes ifxFlicker{0%,100%{opacity:.45;} 20%{opacity:.95;} 35%{opacity:.6;} 60%{opacity:1;} 80%{opacity:.55;}}
/* Lendário / Único / Temporada: estrelinha a cintilar */
.ifx-lend::after,.ifx-unico::after,.ifx-temp::after,.ifx-div::after{content:"✦"; position:absolute; top:-12%; right:-14%; z-index:2; font-size:max(9px,.34em); line-height:1; color:#fff3c4; text-shadow:0 0 4px #ffcf40; pointer-events:none; opacity:0;}
.ifx-div::after{color:#d8fffb; text-shadow:0 0 5px #3fe0d0;}
body:not(.fx-lite) .ifx-lend::after,body:not(.fx-lite) .ifx-unico::after,body:not(.fx-lite) .ifx-temp::after{animation:ifxTwinkle 3.2s ease-in-out infinite;}
body:not(.fx-lite) .ifx-div::after{animation:ifxTwinkle 2.2s ease-in-out infinite;}
@keyframes ifxTwinkle{0%,55%,100%{opacity:0; transform:scale(.3) rotate(0);} 70%{opacity:1; transform:scale(1.15) rotate(45deg);} 85%{opacity:.6; transform:scale(.8) rotate(90deg);}}
/* Divino: anel de luz a rodar */
.ifx-div::before{inset:-22%; background:conic-gradient(from 0deg, rgba(63,224,208,0), rgba(63,224,208,.9), rgba(200,255,250,.2), rgba(63,224,208,.9), rgba(63,224,208,0)) ; opacity:.75;
  -webkit-mask:radial-gradient(circle, transparent 52%, #000 56%, #000 64%, transparent 68%); mask:radial-gradient(circle, transparent 52%, #000 56%, #000 64%, transparent 68%);}
.ifx-div{filter:drop-shadow(0 0 3px rgba(63,224,208,.85));}
body:not(.fx-lite) .ifx-div::before{animation:ifxSpin 3s linear infinite;}
@keyframes ifxSpin{to{transform:rotate(360deg);}}
/* Demoníaco: brasas; Ascendido: luz a subir */
.ifx > i{position:absolute; z-index:2; bottom:10%; width:3px; height:3px; border-radius:50%; pointer-events:none; opacity:0; display:none;}
body:not(.fx-lite) .ifx > i{display:block;}
.ifx-demo > i{background:#ff7a3a; box-shadow:0 0 4px #ff3a10; animation:ifxEmber 2s linear infinite;}
.ifx-asc > i{width:2px; height:7px; border-radius:2px; background:linear-gradient(#fff6c0,rgba(242,201,76,0)); box-shadow:none; animation:ifxRise 1.8s ease-in infinite;}
.ifx > i:nth-of-type(1){left:22%; animation-delay:0s;} .ifx > i:nth-of-type(2){left:52%; animation-delay:-.7s;} .ifx > i:nth-of-type(3){left:76%; animation-delay:-1.3s;}
@keyframes ifxEmber{0%{opacity:0; transform:translate(0,0);} 15%{opacity:1;} 100%{opacity:0; transform:translate(4px,-170%) scale(.4);}}
.ifx-demo > i{--rise:-1.6em;}
@keyframes ifxRise{0%{opacity:0; transform:translateY(0);} 25%{opacity:1;} 100%{opacity:0; transform:translateY(-1.4em);}}
.ifx-demo > i{animation-name:ifxEmber2;}
@keyframes ifxEmber2{0%{opacity:0; transform:translate(0,0);} 15%{opacity:1;} 100%{opacity:0; transform:translate(3px,-1.5em) scale(.4);}}
/* Gemas T3 encaixadas: cintilar */
.sheet-sock.t3 > span:first-child{position:relative; display:inline-block;}
body:not(.fx-off):not(.fx-lite) .sheet-sock.t3 > span:first-child{animation:ifxGem 2.6s ease-in-out infinite;}
body:not(.fx-off) .sheet-sock.t3 > span:first-child::after{content:"✦"; position:absolute; top:-6px; right:-8px; font-size:9px; color:#ffe1ec; text-shadow:0 0 4px #ff6b9a; opacity:0;}
body:not(.fx-off):not(.fx-lite) .sheet-sock.t3 > span:first-child::after{animation:ifxTwinkle 2.4s ease-in-out infinite;}
@keyframes ifxGem{50%{filter:brightness(1.3) drop-shadow(0 0 6px rgba(255,120,170,.8));}}

/* Combate: entrada dos chefes */
.fx-cine{position:absolute; inset:0; pointer-events:none; z-index:6;}
.fx-cine > i{position:absolute; left:0; right:0; height:0; background:#000; animation:fxCineBar 2.7s ease-in-out forwards;}
.fx-cine > i.t{top:0;} .fx-cine > i.b{bottom:0;}
@keyframes fxCineBar{0%{height:0;} 15%,80%{height:6%;} 100%{height:0;}}
.fx-cine-card{position:absolute; left:0; top:38%; padding:10px 22px 10px 16px; max-width:88%; border-radius:0 12px 12px 0; text-align:left;
  background:linear-gradient(90deg, rgba(40,10,8,.95), rgba(40,10,8,0)); animation:fxCineCard 2.7s cubic-bezier(.2,1.1,.4,1) forwards;}
.fx-cine-card b{display:block; font-family:var(--font-display); font-weight:800; font-size:20px; letter-spacing:.06em; color:#ffc2b0; text-shadow:0 0 12px #ff3b1f, 0 2px 0 #000; text-transform:uppercase;}
.fx-cine-card span{font-size:12px; color:#e9c7bc; letter-spacing:.04em;}
@keyframes fxCineCard{0%,18%{transform:translateX(-105%); opacity:0;} 32%{transform:none; opacity:1;} 82%{transform:none; opacity:1;} 100%{transform:translateX(-30%); opacity:0;}}
.enemy-glyph.fx-boss-in{animation:fxBossIn 1.2s ease-out;}
@keyframes fxBossIn{0%{transform:scale(.85); filter:brightness(0); opacity:.4;} 45%{transform:scale(1.04); filter:brightness(0) drop-shadow(0 0 12px #ff3b1f); opacity:1;} 100%{transform:none; filter:none;}}
/* Fase 2: aviso e bordas vermelhas a pulsar */
.fx-banner{position:absolute; transform:translate(-50%,-50%); z-index:7; white-space:nowrap; max-width:96%; overflow:hidden; text-overflow:ellipsis; font-family:var(--font-display); font-weight:800; font-size:19px; letter-spacing:.08em;
  color:#ffd7cc; text-shadow:0 0 14px #ff2a1a, 0 2px 0 #000; animation:fxBanner 2s ease-out forwards;
  padding:8px 40px; background:linear-gradient(90deg, transparent, rgba(0,0,0,.75) 20%, rgba(0,0,0,.75) 80%, transparent);}
@keyframes fxBanner{0%{opacity:0; transform:translate(-50%,-50%) scale(1.8);} 14%{opacity:1; transform:translate(-50%,-50%) scale(1);} 80%{opacity:1;} 100%{opacity:0; transform:translate(-50%,-60%);}}
#screen-combat::after{content:""; position:absolute; inset:0; pointer-events:none; z-index:39; opacity:0; transition:opacity .4s;}
#screen-combat.fx-phase2-screen::after{opacity:1; box-shadow:inset 0 0 60px rgba(208,20,10,.75); animation:fxVig 1.2s ease-in-out infinite;}
@keyframes fxVig{50%{box-shadow:inset 0 0 95px rgba(255,42,26,.9);}}
/* Vida baixa: bordas a bater como um coração */
#screen-combat.fx-lowhp::after{opacity:1; animation:fxBeat 1.1s infinite;}
@keyframes fxBeat{0%,100%{box-shadow:inset 0 0 22px rgba(192,20,10,.45);} 12%{box-shadow:inset 0 0 60px rgba(255,42,26,.85);} 24%{box-shadow:inset 0 0 26px rgba(192,20,10,.5);} 36%{box-shadow:inset 0 0 52px rgba(255,42,26,.75);}}
#screen-combat.fx-lowhp .player-panel .bar-hp .bar-fill{animation:fxLowBar 1.1s infinite;}
@keyframes fxLowBar{50%{filter:brightness(1.6);}}
/* Esquiva */
.player-panel.fx-dodge{animation:fxDodge .42s ease-out;}
@keyframes fxDodge{40%{transform:translateX(-18px) skewX(6deg); opacity:.5;}}
.fx-num.miss{color:#cfd6e0; font-size:17px;}
/* Terramoto: o chão racha com luz de lava */
.fx-skill.quake{width:300px; height:60px; animation:fxQuake 1.1s ease-out forwards;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 60'%3E%3Cpath d='M0 34 L30 30 L52 40 L80 24 L110 38 L140 22 L170 40 L200 26 L232 42 L262 24 L300 32' stroke='%23ffb04a' stroke-width='4' fill='none'/%3E%3Cpath d='M80 24 L86 8 M170 40 L164 56 M232 42 L240 58 M140 22 L132 6' stroke='%23ff8a2a' stroke-width='2.5' fill='none'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  filter:drop-shadow(0 0 6px #ff6a00); top:auto;}
@keyframes fxQuake{0%{opacity:0; clip-path:inset(0 100% 0 0); transform:translate(-50%,20%);} 35%{opacity:1; clip-path:inset(0 0 0 0); transform:translate(-50%,20%);} 100%{opacity:0; transform:translate(-50%,20%);}}
/* Derrota: tudo fica cinzento */
#screen-combat.fx-lost .combat-top{filter:grayscale(1) brightness(.7); transition:filter .9s;}
#screen-combat.fx-lost #cb-end-screen h2{animation:fxLoseIn 1.4s ease-out both;}
@keyframes fxLoseIn{0%{opacity:0; letter-spacing:.6em;} 100%{opacity:1; letter-spacing:.06em;}}
/* Ecrãs de celebração: coluna de luz e anel (nível e drops raros) */
.fx-ov-beam{position:absolute; left:50%; bottom:0; width:180px; height:100%; margin-left:-90px; pointer-events:none; background:linear-gradient(0deg, var(--rc), transparent 85%); opacity:0; filter:blur(10px); animation:fxOvBeam 2.4s ease-out forwards;}
@keyframes fxOvBeam{0%{opacity:0; transform:scaleX(.1);} 20%{opacity:.75; transform:scaleX(1);} 70%{opacity:.5;} 100%{opacity:.25;}}
.fx-ov-ring{position:absolute; left:50%; top:45%; width:60px; height:60px; margin:-30px; border-radius:50%; border:3px solid var(--rc); pointer-events:none; animation:fxOvRing 1s ease-out forwards;}
@keyframes fxOvRing{0%{opacity:1; transform:scale(.2);} 100%{opacity:0; transform:scale(7);}}
.fx-overlay.drop{background:radial-gradient(circle at 50% 45%, rgba(30,16,10,.85), rgba(0,0,0,.9));}
.fx-overlay.drop .fx-ov-name{font-size:23px;}
/* Gema encaixada */
.fx-overlay.gem{background:radial-gradient(circle at 50% 45%, rgba(40,10,24,.8), rgba(0,0,0,.85));}
.fx-sock{position:relative; width:150px; height:130px; margin:0 auto 6px;}
.fx-sock-item{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-size:72px; line-height:1;}
.fx-sock-item .nx-ic{width:84px; height:84px;}
.fx-sock-gem{position:absolute; left:50%; top:50%; font-size:30px; line-height:1; animation:fxSockGem .65s cubic-bezier(.4,0,.2,1) both;}
.fx-sock-gem .nx-ic{width:34px; height:34px;}
@keyframes fxSockGem{0%{transform:translate(-50%,160px) rotate(0) scale(1.3); opacity:0;} 30%{opacity:1;} 100%{transform:translate(-50%,-50%) rotate(360deg) scale(.6); opacity:0;}}
.fx-sock-ring{position:absolute; left:50%; top:50%; width:40px; height:40px; margin:-20px; border-radius:50%; border:3px solid #ff6b8f; opacity:0; animation:fxOvRing .8s ease-out .6s forwards;}
.fx-sock-item{animation:fxSockFlash .5s ease-out .6s;}
@keyframes fxSockFlash{40%{filter:brightness(2.2) drop-shadow(0 0 16px #ff6b8f);}}
/* Camada de efeitos fora do combate */
#fx-ui-layer{position:fixed; inset:0; pointer-events:none; z-index:8800; overflow:hidden;}
.fxu-spark{position:absolute; width:6px; height:6px; margin:-3px; border-radius:50%; background:var(--c); box-shadow:0 0 8px var(--c); animation:fxuSpark .9s ease-out forwards;}
@keyframes fxuSpark{0%{opacity:1; transform:translate(0,0);} 100%{opacity:0; transform:translate(var(--dx),var(--dy)) scale(.4);}}
.fxu-ring{position:absolute; width:40px; height:40px; margin:-20px; border-radius:50%; border:3px solid var(--c); animation:fxOvRing .8s ease-out forwards;}
.fxu-tag{position:absolute; transform:translate(-50%,-50%); font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--c); text-shadow:0 0 10px var(--c), 0 2px 0 #000; white-space:nowrap; animation:fxNum 1.3s ease-out forwards;}
.fxu-smoke{position:absolute; width:26px; height:26px; margin:-13px; border-radius:50%; background:#8b8f96; filter:blur(6px); animation:fxuSmoke 1.2s ease-out both;}
@keyframes fxuSmoke{0%{opacity:.85; transform:scale(.4);} 100%{opacity:0; transform:translate(var(--dx),-60px) scale(2.2);}}
.fxu-coin{position:absolute; transform:translate(-50%,-50%); font-size:18px; line-height:1; animation:fxuCoin .75s cubic-bezier(.5,0,.6,1) both;}
.fxu-coin .nx-ic,.fxu-coin .nx-tx .nx-ic{width:20px; height:20px;}
@keyframes fxuCoin{0%{opacity:0; transform:translate(-50%,-50%) scale(.6);} 15%{opacity:1; transform:translate(-50%,-90%) scale(1.1);} 90%{opacity:1;} 100%{opacity:0; transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(.7);}}
.sb-gold.fx-bump{animation:fxBump .35s;}
@keyframes fxBump{50%{transform:scale(1.15); filter:brightness(1.3);}}
.sb-gold-n{font-variant-numeric:tabular-nums;}
.item-ic.fx-smith-ok{animation:fxSmithOk .7s;}
@keyframes fxSmithOk{30%{filter:brightness(2.2) drop-shadow(0 0 14px #ffcf5a); transform:scale(1.12);}}
.item-ic.fx-smith-bad{animation:fxSmithBad .45s;}
@keyframes fxSmithBad{0%,100%{transform:none;} 20%{transform:translateX(-6px) rotate(-4deg); filter:grayscale(.8) brightness(.7);} 45%{transform:translateX(5px) rotate(3deg);} 70%{transform:translateX(-3px); filter:grayscale(.6) brightness(.8);}}
/* Menus: onda ao tocar, separador ativo dá um saltinho, mosaicos sobem */
.fx-ripple-wrap{position:absolute; inset:0; overflow:hidden; border-radius:inherit; pointer-events:none;}
.fx-ripple{position:absolute; border-radius:50%; background:rgba(255,255,255,.35); transform:scale(0); animation:fxRipple .55s ease-out forwards;}
@keyframes fxRipple{to{transform:scale(2.6); opacity:0;}}
body:not(.fx-off) .tab-chip.active{animation:fxChipPop .3s cubic-bezier(.2,1.6,.4,1);}
@keyframes fxChipPop{0%{transform:scale(.92);} 100%{transform:none;}}
@media (hover:hover){ body:not(.fx-off) .wiki-tile{transition:transform .18s ease, box-shadow .18s ease;} body:not(.fx-off) .wiki-tile:hover{transform:translateY(-3px); box-shadow:0 8px 16px rgba(0,0,0,.55), 0 0 0 1px var(--gold) inset;} }
/* Estrelas cadentes (Pináculo, Eclipse, Rift) */
.scene-fx .sc-shoot{position:absolute; top:12%; left:15%; width:90px; height:2px; border-radius:2px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.95)); transform:rotate(22deg); opacity:0; animation:scShoot 9s linear infinite;}
@keyframes scShoot{0%,88%{opacity:0; transform:translate(0,0) rotate(22deg);} 90%{opacity:1;} 100%{opacity:0; transform:translate(220px,90px) rotate(22deg);}}
/* Desligadas / movimento reduzido */
body.fx-off .ifx::before,body.fx-off .ifx::after,body.fx-off .ifx > i,body.fx-off #fx-ui-layer,body.fx-off #screen-combat::after{display:none;}
@media (prefers-reduced-motion:reduce){.ifx::before,.ifx::after,.ifx > i,.fx-cine,.fx-banner,.sc-shoot{animation:none !important;} .ifx > i{display:none;} #screen-combat::after{animation:none !important;}}

/* ============================================================
   v179 — Ficha do item em estilo tooltip de ARPG
   ============================================================ */
.tt{--c:#B9B4A8; position:relative; margin-bottom:10px; background:radial-gradient(ellipse at 50% 0%, #17130e, #070605 70%); border:1px solid #4a3e2e; outline:1px solid #000; border-radius:5px; box-shadow:0 8px 24px rgba(0,0,0,.7); overflow:hidden; color:#e9e1cf; text-align:left;}
.tt.asc{box-shadow:0 0 0 1px #ffb35a, 0 0 18px rgba(255,150,60,.35), 0 8px 24px rgba(0,0,0,.7);}
.tt-head{position:relative; padding:11px 26px; text-align:center; border-bottom:1px solid #000;
  background:linear-gradient(180deg, color-mix(in srgb, var(--c) 58%, #000) 0%, color-mix(in srgb, var(--c) 26%, #000) 55%, color-mix(in srgb, var(--c) 40%, #000) 100%);
  box-shadow:inset 0 1px 0 color-mix(in srgb, var(--c) 80%, #fff), inset 0 -1px 0 color-mix(in srgb, var(--c) 50%, #000);}
.tt-head::before,.tt-head::after{content:"◆"; position:absolute; top:50%; transform:translateY(-50%); font-size:9px; color:color-mix(in srgb, var(--c) 70%, #fff);}
.tt-head::before{left:9px;} .tt-head::after{right:9px;}
.tt-name{font-family:var(--font-display); font-weight:800; font-size:16px; line-height:1.2; letter-spacing:.06em; text-transform:uppercase; color:color-mix(in srgb, var(--c) 55%, #fff); text-shadow:0 0 10px color-mix(in srgb, var(--c) 60%, transparent), 0 2px 0 #000; text-wrap:balance;}
.tt-body{padding:12px 13px 10px; display:flex; flex-direction:column; gap:9px;}
.tt-top{display:grid; grid-template-columns:80px 1fr; gap:12px; align-items:start;}
.tt-ic{width:80px; height:106px; border-radius:3px; display:flex; align-items:center; justify-content:center; border:1px solid #000;
  background:radial-gradient(ellipse at 50% 45%, color-mix(in srgb, var(--c) 50%, #120e0a), color-mix(in srgb, var(--c) 12%, #080706) 75%);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, #000), inset 0 0 18px #000; font-size:50px; line-height:1;}
.tt-ic .nx-k{font-size:50px; line-height:1;} .tt-ic .nx-ic{width:62px; height:62px; filter:drop-shadow(0 3px 3px #000);}
.tt-type{display:flex; justify-content:space-between; gap:8px; font-size:12.5px; line-height:1.3;}
.tt-type b{color:color-mix(in srgb, var(--c) 70%, #fff); font-weight:600;}
.tt-type span{color:#8f8676; text-align:right;}
.tt-big{font-family:var(--font-display); font-weight:800; font-size:28px; line-height:1; color:#fff; margin-top:7px; font-variant-numeric:tabular-nums;}
.tt-big.es{color:#8fd0ff;}
.tt-big small{display:block; font-family:var(--font-body, inherit); font-weight:600; font-size:10.5px; color:#8f8676; letter-spacing:.08em; text-transform:uppercase; margin-top:4px;}
.tt-sub{color:#d8d0bf; font-size:12.5px; margin-top:4px;}
.tt-upn{color:#c9b98a; font-size:11px; font-weight:500;}
.tt-tags{display:flex; flex-wrap:wrap; gap:4px; margin-top:6px;}
.tt-tags .ak-tag{margin:0;}
.tt-sep{height:1px; background:linear-gradient(90deg, transparent, #4a3e2e, transparent);}
.tt-lines{display:flex; flex-direction:column; gap:3px; font-size:13px; line-height:1.4;}
.tt-lbl{font-size:10.5px; font-weight:700; color:#7d7464; letter-spacing:.12em; text-transform:uppercase;}
.tt-lbl span{color:#5f574a; letter-spacing:.04em;}
.tt-af{color:#8f93ff; padding-left:14px; position:relative;}
.tt-af::before{content:"◆"; position:absolute; left:0; top:2px; font-size:8px;}
.tt-af .st-def{color:#9fb6ff;} .tt-af .st-es{color:#8fd0ff;}
.tt-empty{color:#6f6758; font-size:12px; font-style:italic;}
.tt-lg{color:#f0953c; font-style:italic; padding-left:14px; position:relative;}
.tt-lg::before{content:"✦"; position:absolute; left:0; font-style:normal; font-size:10px; top:1px;}
.tt-src{font-style:normal; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#a2682c; margin-left:4px;}
.tt-bad{color:#e2574c; padding-left:14px; position:relative;}
.tt-bad::before{content:"◆"; position:absolute; left:0; top:2px; font-size:8px;}
.tt-socks{display:flex; flex-direction:column; gap:4px;}
.tt-sock{display:flex; align-items:center; gap:9px; width:100%; padding:3px 0; background:none; border:0; color:#e9e1cf; font:inherit; font-size:13px; text-align:left; cursor:default;}
button.tt-sock{cursor:pointer; border-radius:6px; padding:4px 4px;}
button.tt-sock:hover{background:rgba(255,255,255,.04);}
.tt-sock i{width:24px; height:24px; flex:none; border-radius:50%; border:1px solid #6a5a44; background:radial-gradient(circle at 40% 35%, #2b241b, #050403); display:flex; align-items:center; justify-content:center; font-style:normal; font-size:15px; color:#c9b98a; box-shadow:inset 0 0 6px #000;}
.tt-sock i .nx-ic{width:19px; height:19px;} .tt-sock i .nx-k{font-size:15px;}
.tt-sock span{flex:1; min-width:0;}
.tt-sock small{color:#8f8676; font-size:11.5px;}
.tt-sock em{font-style:normal; font-size:11px; font-weight:700; color:#c9b98a; white-space:nowrap;}
.tt-sock:not(.on) span{color:#6f6758;}
.tt-sock.on i{border-color:#b88a5a;}
.tt-sock.add i{border-style:dashed;}
.tt-sock.t3 i{border-color:#ff8fb0; box-shadow:inset 0 0 6px #000, 0 0 8px rgba(255,100,150,.5);}
body:not(.fx-off):not(.fx-lite) .tt-sock.t3 i{animation:ifxGem 2.6s ease-in-out infinite;}
.tt-setn{color:#5fd35f; font-weight:700; font-size:13px;}
.tt-setl{font-size:12.5px; color:#6a6355;}
.tt-setl.on{color:#5fd35f;}
.tt-note{font-size:12px; color:#b8ad98; line-height:1.45;}
.tt-note b{color:#f3d98a;}
.tt-note.good{color:#7ddf8a;} .tt-note.warn{color:#f0a64a;}
.tt-note.asc-txt{color:#ffcf7a;}
.tt-foot{display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; font-size:12px; line-height:1.5; color:#b8ad98; padding:8px 13px 9px; background:#0d0b08; border-top:1px solid #241e16;}
.tt-foot b{color:#fff;} .tt-foot b.g{color:#f3d98a;}
.tt-foot .r{text-align:right;}
.tt-lock{font-size:12px;}
/* Comparação */
.tt-delta{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:8px 0 10px;}
.tt-delta span{font-size:12px; font-weight:700; padding:4px 8px; border-radius:6px; background:#0d0b08; border:1px solid #2a231a; font-variant-numeric:tabular-nums;}
.tt-delta .lb{background:none; border:0; padding:0; color:var(--muted);}
.tt-delta .up{color:#5fd35f;} .tt-delta .down{color:#e2574c;} .tt-delta .eq{color:var(--muted);}
.tt-pair{display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start;}
.tt-col{flex:1 1 260px; min-width:0; display:flex; flex-direction:column;}
.tt-tag{align-self:flex-start; font-family:var(--font-display); font-weight:700; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#cfc4ad; background:#1d1913; border:1px solid #3a3125; border-bottom:0; border-radius:6px 6px 0 0; padding:3px 10px;}
.tt-tag.eq{color:#f3d98a;}
.tt-col .tt{border-top-left-radius:0;}
.tt-none{padding:18px 12px; border:1px dashed #3a3125; border-radius:0 6px 6px 6px; color:var(--muted); font-size:13px; text-align:center;}

/* ============================================================
   v180 — Contratos de Caça (Cidade)
   ============================================================ */
.hunt-fame{display:flex; flex-direction:column; gap:8px; margin-bottom:12px;}
.hunt-fame-top{display:flex; justify-content:space-between; align-items:baseline; gap:8px; flex-wrap:wrap;}
.hunt-fame-top .rk{font-family:var(--font-display); font-weight:800; font-size:16px; color:var(--gold-bright);}
.hunt-fame-bar{height:8px; border-radius:6px; background:rgba(0,0,0,.45); border:1px solid var(--line); overflow:hidden;}
.hunt-fame-bar i{display:block; height:100%; background:linear-gradient(90deg,#8a5a1f,#e3b04a); box-shadow:0 0 8px rgba(227,176,74,.5);}
.hunt-fame-pills{display:flex; gap:6px; flex-wrap:wrap;}
.hunt-help{margin-bottom:12px;}
.hunt-help summary{cursor:pointer; font-weight:700; color:var(--gold-bright); font-family:var(--font-display);}
.hunt-how{margin:10px 0 8px; padding-left:22px; display:flex; flex-direction:column; gap:8px; font-size:13px; line-height:1.45;}
.hunt-how li::marker{color:var(--gold-bright); font-weight:800;}
.hunt-how .q{color:#5fb3ff;} .hunt-how .r{color:#e2a336;}
.hunt-board{position:relative; overflow:hidden; padding:14px 12px; margin-bottom:12px; border-radius:10px; border:2px solid #4a3522;
  background:repeating-linear-gradient(90deg, #3b2a1a 0 38px, #332416 38px 40px), linear-gradient(#2c1f13,#20170e); box-shadow:inset 0 0 30px rgba(0,0,0,.65);}
.hunt-board.mine{background:repeating-linear-gradient(0deg, #2a2017 0 30px, #241b13 30px 32px); }
.hunt-board-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:14px;}
.hunt-card{position:relative; display:flex; flex-direction:column; gap:4px; text-align:left; cursor:pointer; padding:12px 11px 12px; border:0; border-radius:3px; color:#3a2a17; font:inherit;
  background:radial-gradient(ellipse at 30% 20%, #f3e5c2, #e9d8b0 45%, #d2b985 100%); box-shadow:0 6px 12px rgba(0,0,0,.6), inset 0 0 18px rgba(168,134,79,.5); transform:rotate(var(--r,0deg)); transition:transform .15s;}
.hunt-card:hover{transform:rotate(0) translateY(-2px);}
.hunt-card.sel{outline:3px solid #f3d98a; outline-offset:2px; transform:none;}
.hunt-pin{position:absolute; top:-6px; left:50%; width:12px; height:12px; margin-left:-6px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #d9d2c4, #6d6252); box-shadow:0 2px 3px #000;}
.hunt-g{font-family:var(--font-display); font-weight:800; font-size:10.5px; letter-spacing:.12em; color:#6b5233; text-transform:uppercase;}
.hunt-t{font-family:var(--font-display); font-size:16px; font-weight:700; color:#2b1d0e;}
.hunt-prey{display:flex; gap:8px; align-items:center;}
.hunt-prey-ic{width:44px; height:44px; flex:none; display:flex; align-items:center; justify-content:center; font-size:30px; line-height:1; filter:sepia(.35) drop-shadow(0 2px 2px rgba(0,0,0,.4));}
.hunt-prey-ic .nx-ic{width:44px; height:44px;}
.hunt-prey b{display:block; font-size:13px; line-height:1.2; color:#2b1d0e;}
.hunt-prey small{font-size:11px; color:#6b5233;}
.hunt-seals{display:flex; gap:4px; flex-wrap:wrap; margin-top:4px;}
.hunt-wax{width:26px; height:26px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; line-height:1;
  background:radial-gradient(circle at 35% 30%, #d0463b, #9c1f1f 55%, #5a0f0f); box-shadow:0 2px 3px rgba(0,0,0,.5), inset 0 0 0 2px #7a1414;}
.hunt-wax .nx-ic,.hunt-wax .nx-tx .nx-ic{width:15px; height:15px;}
.hunt-wax.gold{background:radial-gradient(circle at 35% 30%, #f0d27a, #b8902a 55%, #6b4c10); box-shadow:0 2px 3px rgba(0,0,0,.5), inset 0 0 0 2px #8a6a1c;}
.hunt-wax.oath{background:radial-gradient(circle at 35% 30%, #8d6bd1, #4f2f8f 55%, #2a1650); box-shadow:0 2px 3px rgba(0,0,0,.5), inset 0 0 0 2px #3c2470;}
.hunt-detail{border-radius:4px; overflow:hidden; color:#3a2a17; margin-bottom:12px;
  background:radial-gradient(ellipse at 30% 15%, #f5e9c9, #e9d8b0 40%, #d2b985 100%); box-shadow:0 10px 24px rgba(0,0,0,.7), inset 0 0 30px rgba(156,122,68,.5);}
.hunt-banner{position:relative; height:110px; background-size:cover; background-position:center; filter:sepia(.45) saturate(.85);}
.hunt-banner::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, #e9d8b0 100%);}
.hunt-banner span{position:absolute; left:12px; top:10px; z-index:1; font-family:var(--font-display); font-weight:800; font-size:12px; letter-spacing:.16em; color:#f8ead0; background:rgba(58,36,18,.85); padding:4px 10px; border-radius:4px;}
.hunt-dbody{padding:2px 14px 14px; display:flex; flex-direction:column; gap:10px;}
.hunt-dtitle{font-family:var(--font-display); font-weight:800; font-size:21px; line-height:1.15; color:#2b1d0e;}
.hunt-dsub{font-size:12.5px; color:#6b5233; margin-top:2px;}
.hunt-preyrow{display:flex; gap:12px; align-items:center; padding:10px; border:1px dashed #8a6a3f; border-radius:6px; background:rgba(247,236,210,.35);}
.hunt-preyrow-ic{width:60px; height:60px; flex:none; display:flex; align-items:center; justify-content:center; font-size:42px; line-height:1; filter:drop-shadow(0 3px 3px rgba(0,0,0,.4));}
.hunt-preyrow-ic .nx-ic{width:60px; height:60px;}
.hunt-preyrow b{display:block; font-family:var(--font-display); font-size:17px; color:#5a120f;}
.hunt-preyrow small{font-size:12px; color:#6b5233;} .hunt-preyrow small b{display:inline; font-family:inherit; font-size:12px;}
.hunt-why{margin:0; font-size:12px; color:#6b5233; line-height:1.45;}
.hunt-warn{margin:0; font-size:12.5px; font-weight:700; color:#8a2a12; background:rgba(138,42,18,.1); border:1px solid rgba(138,42,18,.35); border-radius:6px; padding:7px 9px;}
.hunt-lbl{font-family:var(--font-display); font-weight:800; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#6b5233;}
.hunt-seal-list{display:flex; flex-direction:column; gap:8px;}
.hunt-seal{display:grid; grid-template-columns:32px 1fr auto; gap:10px; align-items:center; font-size:13px; color:#2b1d0e;}
.hunt-seal .hunt-wax{width:32px; height:32px; font-size:16px;}
.hunt-seal b{display:block; font-family:var(--font-display); font-size:14px;}
.hunt-seal b i{font-family:var(--font-body, inherit); font-size:11.5px; color:#4f2f8f; font-weight:600;}
.hunt-seal.new{animation:huntSealIn .55s cubic-bezier(.2,1.6,.4,1);}
@keyframes huntSealIn{0%{transform:scale(1.6); opacity:0;} 100%{transform:none; opacity:1;}}
.hunt-rw{display:flex; flex-direction:column; align-items:flex-end; font-weight:700; font-size:11.5px; white-space:nowrap;}
.hunt-rw .q{color:#1f5f9c;} .hunt-rw .r{color:#9a5a0c;}
.hunt-totals{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
.hunt-totals div{background:#2b1d0e; color:#f3e3c0; border-radius:6px; padding:8px 4px; text-align:center;}
.hunt-totals b{display:block; font-family:var(--font-display); font-weight:800; font-size:18px;}
.hunt-totals small{font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#cdb88f;}
.hunt-totals .tq b{color:#8fcbff;} .hunt-totals .tr b{color:#ffc35a;} .hunt-totals .ti b{color:#f3d98a;}
.hunt-act{display:flex; gap:8px; flex-wrap:wrap;}
.hunt-act .btn{flex:1 1 150px;}
.hunt-act .btn:not(.primary){background:#2b1d0e; color:#f3e3c0; border-color:#5a4126; opacity:1;}
.hunt-detail .hunt-act .btn:not(.primary):disabled{opacity:1 !important; background:#7a6850 !important; color:#f3e8d0 !important; border-color:#7a6850 !important; filter:none !important; -webkit-text-fill-color:#f3e8d0;}

/* ============================================================
   v181 — Elementos e Resistências
   ============================================================ */
.res-card{display:flex; flex-direction:column; gap:7px; margin-bottom:14px;}
.res-row{display:grid; grid-template-columns:118px 1fr 58px; gap:10px; align-items:center; font-size:13px;}
.res-bar{position:relative; height:10px; border-radius:6px; background:rgba(0,0,0,.45); border:1px solid var(--line); overflow:hidden;}
.res-bar i{position:absolute; left:0; top:0; bottom:0; border-radius:6px;}
.res-bar::after{content:""; position:absolute; left:75%; top:-1px; bottom:-1px; width:2px; background:rgba(255,255,255,.55);}
.res-row b{text-align:right; font-variant-numeric:tabular-nums; line-height:1.15;}
.res-row b small{display:block; font-size:10px; color:var(--gold-bright); font-weight:600;}
.ak-tag.el-tag{color:var(--ec); border-color:color-mix(in srgb, var(--ec) 60%, #000); background:color-mix(in srgb, var(--ec) 12%, #0c0a08);}
.tt-af.tt-res{color:#9fa6ff;}
.res-row .nx-ic,.res-row .nx-k{width:18px; height:18px; font-size:16px; vertical-align:-3px;}

/* v183: 🕯️ Culto do Eclipse — altar com velas no cartão do evento */
.bt-special.cult-altar{background:linear-gradient(135deg,rgba(90,40,140,.32),rgba(20,12,30,.5));border-color:rgba(176,107,255,.55);}
.cult-altar-t{display:flex;justify-content:space-between;align-items:baseline;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#bfa8e6;margin-bottom:6px;}
.cult-altar-t b{font-size:13px;letter-spacing:0;color:#f3e3ff;}
.cult-altar-n{margin-top:7px;color:#e6dcf3;}
.cult-candles{display:flex;gap:7px;align-items:flex-end;padding-top:10px;}
.cult-candles i{position:relative;width:14px;height:20px;border-radius:3px 3px 2px 2px;background:linear-gradient(90deg,#2e2538,#3c3148);box-shadow:inset 0 0 0 1px #4a3d5c;}
.cult-candles i::before{content:"";position:absolute;left:50%;top:-4px;width:2px;height:4px;margin-left:-1px;background:#1a1420;}
.cult-candles i.on{background:linear-gradient(90deg,#d9c9a3,#f3e8cc 45%,#cdbb92);box-shadow:inset 0 0 0 1px #a8946a,0 0 10px rgba(255,170,60,.25);}
.cult-candles i.on::after{content:"";position:absolute;left:50%;top:-12px;width:8px;height:11px;margin-left:-4px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 72%,#fff6c2,#ffb347 55%,rgba(255,120,40,0) 72%);filter:drop-shadow(0 0 4px #ffae3c);transform-origin:50% 100%;animation:cultFlame 1.6s ease-in-out infinite alternate;}
.cult-candles i.on:nth-child(2)::after{animation-delay:-.4s}.cult-candles i.on:nth-child(3)::after{animation-delay:-.9s}.cult-candles i.on:nth-child(4)::after{animation-delay:-1.2s}.cult-candles i.on:nth-child(5)::after{animation-delay:-.2s}
@keyframes cultFlame{0%{transform:scale(1,1) rotate(-2deg)}100%{transform:scale(.88,1.08) rotate(3deg)}}
.bt-pill.ev.cult-ready{border-color:#b06bff;color:#f0e2ff;box-shadow:0 0 12px rgba(176,107,255,.55);}
body.fx-off .cult-candles i.on::after{animation:none}

/* v184: ❇️ Míticos — ficha, brilho do ícone e Coleção Mítica (Wiki) */
.tt-myth{position:relative;border:1px solid color-mix(in srgb,#C4F23A 45%,#1a1612);border-radius:6px;padding:9px 10px 8px;background:linear-gradient(180deg,rgba(40,52,10,.55),rgba(12,14,6,.6));box-shadow:inset 0 0 14px rgba(196,242,58,.08);}
.tt-myth::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,#8fc21a,#f4ffcc 50%,#8fc21a);}
.tt-myth .tt-lbl{color:#e4ff9a;margin-bottom:4px;}
.tt-my{color:#d8ff6a;font-weight:600;font-size:12.5px;padding-left:15px;position:relative;line-height:1.4;margin-top:2px;}
.tt-my::before{content:"✦";position:absolute;left:0;font-size:10px;}
.tt-myth .tt-mydn{margin-top:3px;}
.tt-flav{color:#a9b78a;font-style:italic;font-size:12px;}
.ifx-mit{filter:drop-shadow(0 0 3px rgba(196,242,58,.85));}
.ifx-mit::before{inset:-22%;background:conic-gradient(from 0deg,rgba(196,242,58,0),rgba(216,255,106,.95),rgba(244,255,204,.25),rgba(196,242,58,.9),rgba(196,242,58,0));opacity:.7;-webkit-mask:radial-gradient(circle,transparent 52%,#000 56%,#000 64%,transparent 68%);mask:radial-gradient(circle,transparent 52%,#000 56%,#000 64%,transparent 68%);}
body:not(.fx-lite) .ifx-mit::before{animation:ifxSpin 4s linear infinite;}
.ifx-mit::after{content:"✦";position:absolute;top:-12%;right:-14%;z-index:2;font-size:max(9px,.34em);line-height:1;color:#f4ffcc;text-shadow:0 0 5px #C4F23A;pointer-events:none;opacity:0;}
body:not(.fx-lite) .ifx-mit::after{animation:ifxTwinkle 2.6s ease-in-out infinite;}
.myth-prog{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 6px;font-weight:700;}
.myth-prog b{color:#d8ff6a;font-family:var(--font-display);font-size:16px;}
.myth-bar{height:6px;border-radius:4px;background:rgba(0,0,0,.4);border:1px solid var(--border,#2a231a);overflow:hidden;margin-bottom:12px;}
.myth-bar i{display:block;height:100%;background:linear-gradient(90deg,#8fc21a,#d8ff6a);box-shadow:0 0 8px #C4F23A;}
.myth-codex{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;}
.myth-cx{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;background:rgba(0,0,0,.25);border:1px solid var(--border,#2a231a);min-width:0;}
.myth-cx.on{border-color:rgba(196,242,58,.55);box-shadow:inset 0 0 14px rgba(196,242,58,.08);}
.myth-ic{width:44px;height:44px;flex:none;border-radius:8px;display:grid;place-items:center;font-size:24px;background:radial-gradient(circle,rgba(196,242,58,.25),rgba(10,12,4,.8));box-shadow:inset 0 0 0 1px rgba(196,242,58,.5);}
.myth-ic .nx-ic,.myth-ic img,.myth-ic svg{width:34px;height:34px;}
.myth-cx:not(.on) .myth-ic{background:#141210;box-shadow:inset 0 0 0 1px #2e2820;}
.myth-cx:not(.on) .myth-ic > *{filter:brightness(0) opacity(.5);}
.myth-tx{min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.35;}
.myth-tx b{color:#e4ff9a;font-size:13.5px;}
.myth-cx:not(.on) .myth-tx b{color:var(--text-muted,#9a9080);}
.myth-ty{color:var(--text-muted,#9a9080);font-size:11px;}
.myth-up{color:#d8ff6a;}
.myth-dn{color:#e2574c;}
.myth-src{color:var(--text-muted,#9a9080);font-size:11px;margin-top:2px;}
.loot-line.loot-myth{color:#d8ff6a; font-weight:800; text-shadow:0 0 10px rgba(196,242,58,.7); background:linear-gradient(90deg,rgba(196,242,58,.14),transparent); border-radius:6px; padding:3px 6px;}
.loot-anim .loot-line.loot-myth{animation:fxLootIn .45s ease-out both, fxLootGlow 1.6s ease-in-out 1.2s infinite;}
.tt-myth .tt-my,.tt-myth .tt-bad{font-size:12.5px; line-height:1.4;}

/* v186: gemas — 5 níveis com aspeto próprio, efeitos por peça */
.gemv{--gc:#fff; position:relative; display:inline-grid; place-items:center; line-height:0; vertical-align:middle;}
.gemv > *{position:relative; z-index:1;}
.gemv.gt1 > *{filter:saturate(.45) brightness(.8); transform:scale(.82);}
.gemv.gt2 > *{filter:saturate(.85); transform:scale(.92);}
.gemv.gt3 > *{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--gc) 75%, transparent));}
.gemv.gt4 > *{filter:brightness(1.1) drop-shadow(0 0 5px var(--gc));}
.gemv.gt5 > *{filter:brightness(1.2) saturate(1.2) drop-shadow(0 0 7px var(--gc));}
.gemv.gt3::after,.gemv.gt4::after,.gemv.gt5::after{content:"✦"; position:absolute; top:-12%; right:-14%; z-index:2; font-size:max(8px,.42em); line-height:1; color:#fff; text-shadow:0 0 5px var(--gc); pointer-events:none; opacity:0;}
body:not(.fx-lite):not(.fx-off) .gemv.gt3::after,body:not(.fx-lite):not(.fx-off) .gemv.gt4::after,body:not(.fx-lite):not(.fx-off) .gemv.gt5::after{animation:ifxTwinkle 2.6s ease-in-out infinite;}
body.fx-lite .gemv.gt3::after,body.fx-lite .gemv.gt4::after,body.fx-lite .gemv.gt5::after,body.fx-off .gemv.gt3::after,body.fx-off .gemv.gt4::after,body.fx-off .gemv.gt5::after{opacity:.85;}
.gemv.gt4::before{content:""; position:absolute; inset:-8%; border-radius:50%; background:radial-gradient(circle, color-mix(in srgb, var(--gc) 40%, transparent), transparent 68%);}
.gemv.gt5::before{content:""; position:absolute; inset:-26%; border-radius:50%; background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--gc) 60%, transparent) 0 6deg, transparent 6deg 30deg);
  -webkit-mask:radial-gradient(circle, transparent 26%, #000 40%, transparent 70%); mask:radial-gradient(circle, transparent 26%, #000 40%, transparent 70%);}
body:not(.fx-lite):not(.fx-off) .gemv.gt5::before{animation:ifxSpin 9s linear infinite;}
.gem-tiers.g5{grid-template-columns:repeat(5,1fr); gap:5px;}
.gem-tiers.g5 .gem-tier{padding:7px 2px 5px;}
.gem-tier-nm{font-size:9.5px; color:var(--text-muted,#9a9080); margin-top:1px; letter-spacing:.02em;}
.gem-fx{display:flex; flex-direction:column; gap:3px; margin-top:8px;}
.gem-fx-row{display:grid; grid-template-columns:70px 1fr; gap:0 8px; align-items:baseline; font-size:12px;}
.gem-fx-row span{color:var(--text-muted,#9a9080); font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.06em;}
.gem-fx-row b{color:#b9c0ff; font-weight:600;}
.gem-fx-row em{grid-column:2; font-style:normal; font-size:10.5px; color:var(--text-muted,#9a9080);}
.gem-fx-txt{color:#b9c0ff; font-weight:600;}
.tt-sock .gemv{width:100%; height:100%;}

/* v187: limites de recursos, aviso de mochila e venda rápida */
.cap-of{opacity:.55; font-weight:500; font-size:.92em;}
.cap-of.near{color:#f3c64a; opacity:1; font-weight:700;}
.inv-warn{margin:8px 0; padding:9px 11px; border-radius:10px; font-size:12.5px; line-height:1.4; color:#ffd9a0; background:rgba(201,120,30,.14); border:1px solid rgba(232,160,60,.55);}
.inv-quick{margin:8px 0;}

/* v188: Mochila em grelha */
.inv-view{display:flex; align-items:center; gap:4px;}
.inv-view-b{width:34px; height:30px; border-radius:8px; border:1px solid var(--line,#3a3125); background:rgba(0,0,0,.25); color:var(--text-muted,#9a9080); font-size:16px; line-height:1; cursor:pointer;}
.inv-view-b.on{background:linear-gradient(180deg,#e3c063,#b8922e); color:#1b1408; border-color:#e3c063;}
.inv-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(62px,1fr)); gap:6px; padding:8px; border-radius:12px; background:#070605; border:1px solid #2a231a; box-shadow:inset 0 0 18px #000;}
.ig-cell{--c:#888; position:relative; aspect-ratio:1; border-radius:6px; padding:0; cursor:pointer; border:1px solid #000; display:grid; place-items:center; overflow:visible;
  background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--c) 42%, #120e0a) 0%, color-mix(in srgb, var(--c) 14%, #0b0907) 72%);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 50%, #000), inset 0 0 12px #000;}
.ig-cell:active{transform:scale(.96);}
.ig-cell:focus-visible{outline:2px solid #f3d98a; outline-offset:2px;}
.ig-ic{width:72%; height:72%; display:grid; place-items:center; font-size:26px;}
.ig-ic .ifx,.ig-ic .nx-ic,.ig-ic img,.ig-ic svg{width:100%; height:100%;}
.ig-mk{position:absolute; left:3px; top:2px; font:800 11px var(--font-body,system-ui); line-height:1; text-shadow:0 1px 2px #000;}
.ig-mk.up{color:#6fdc7f;} .ig-mk.new{color:#f3d98a;}
.ig-gems{position:absolute; right:3px; top:3px; display:flex; flex-direction:column; gap:2px;}
.ig-gems i{width:6px; height:6px; border-radius:50%; background:#2a2a2a; border:1px solid #000;}
.ig-gems i.on{background:var(--gc,#fff); box-shadow:0 0 4px var(--gc,#fff);}
.ig-up{position:absolute; left:3px; bottom:2px; font:800 10px var(--font-body,system-ui); color:#f6e3a1; text-shadow:0 1px 2px #000;}
.ig-up.asc{color:#fff3c4; text-shadow:0 0 5px #f2c94c;}
.ig-lock{position:absolute; right:2px; bottom:1px; font-size:10px; line-height:1;}
.ig-lv{position:absolute; left:50%; bottom:-7px; transform:translateX(-50%); font:700 9px var(--font-body,system-ui); color:#cfc4ad; background:#0d0b08; border:1px solid #2a231a; border-radius:5px; padding:0 4px; line-height:13px;}
.inv-grid{row-gap:12px;}

/* v188: dicas do início */
#tut-layer{position:fixed; inset:0; z-index:9000; pointer-events:none;}
.tut-spot{position:fixed; border-radius:12px; box-shadow:0 0 0 9999px rgba(0,0,0,.62); border:2px solid #f3d98a; transition:all .25s ease; animation:tutPulse 1.6s ease-in-out infinite;}
@keyframes tutPulse{50%{border-color:#fff3c4; box-shadow:0 0 0 9999px rgba(0,0,0,.62), 0 0 18px #f3d98a;}}
.tut-bubble{--ax:50%; position:fixed; pointer-events:auto; background:linear-gradient(180deg,#221c12,#141009); border:1px solid #e3c063; border-radius:14px; padding:12px 14px 10px; box-shadow:0 12px 30px rgba(0,0,0,.6); color:var(--text,#ece3cf); animation:tutIn .3s ease-out;}
.tut-bubble::after{content:""; position:absolute; left:var(--ax); bottom:-8px; width:14px; height:14px; margin-left:-7px; background:#141009; border-right:1px solid #e3c063; border-bottom:1px solid #e3c063; transform:rotate(45deg);}
.tut-bubble.below::after{bottom:auto; top:-8px; background:#221c12; border:0; border-left:1px solid #e3c063; border-top:1px solid #e3c063;}
@keyframes tutIn{from{opacity:0; transform:translateY(6px);}}
.tut-h{display:flex; align-items:center; gap:8px; margin-bottom:4px;}
.tut-h b{font-family:var(--font-display,Georgia); color:#f3d98a; font-size:15px; flex:1;}
.tut-ic{font-size:20px;}
.tut-n{font-size:11px; color:var(--text-muted,#9a9080);}
.tut-bubble p{margin:0 0 10px; font-size:13px; line-height:1.45;}
.tut-act{display:flex; justify-content:flex-end; gap:8px;}
body.fx-off .tut-spot,body.fx-off .tut-bubble{animation:none;}

/* v190: 🔮 Obeliscos do Vazio */
.ob-card{margin:0 0 10px; padding:10px 12px; border-radius:12px; background:linear-gradient(100deg,rgba(84,40,150,.38),rgba(20,12,36,.7)); border:1px solid rgba(164,107,255,.6); display:flex; flex-direction:column; gap:8px;}
.ob-head{display:flex; align-items:center; gap:10px;}
.ob-ic{width:42px; height:42px; flex:none; display:grid; place-items:center; font-size:26px;}
.ob-ic .nx-ic{width:42px; height:42px;}
.ob-ht{flex:1; min-width:0;}
.ob-ht b{display:block; color:#e9dcff; font-size:13.5px;}
.ob-ht small{display:block; color:#bfaee0; font-size:11.5px; line-height:1.3;}
.ob-pips{display:flex; gap:3px; margin-top:5px;}
.ob-pips i{flex:1; max-width:18px; height:6px; border-radius:3px; background:#2a1f40;}
.ob-pips i.bonus{box-shadow:inset 0 0 0 1px #d6b8ff;}
.ob-pips i.on{background:#b07cff; box-shadow:0 0 6px #b07cff;}
.ob-help{width:28px; height:28px; border-radius:50%; border:1px solid rgba(214,184,255,.6); background:rgba(0,0,0,.25); color:#e9dcff; font-weight:800; cursor:pointer; flex:none;}
.ob-row{display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:9px; background:rgba(0,0,0,.25); border:1px solid rgba(164,107,255,.3);}
.ob-row-t{flex:1; min-width:0;}
.ob-row-t b{display:block; font-size:12.5px; color:#f1e6ff;}
.ob-row-t small{font-size:11px; color:#bfaee0;}
.ob-next{font-size:11.5px; color:#bfaee0;}
.ob-tok{position:absolute; transform:translate(-50%,-50%); width:96px; display:flex; flex-direction:column; align-items:center; z-index:95; background:none; border:0; padding:0; cursor:pointer;}
.ob-tok-ic{width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle,#4a2a3c 0%,#140a1a 72%); border:3px solid #ff5a6a; box-shadow:0 0 0 3px #1a0d18, 0 0 20px #ff4a6a; animation:obPulse 1.6s ease-in-out infinite; font-size:34px;}
.ob-tok-ic .nx-ic{width:60px; height:60px;}
@keyframes obPulse{50%{box-shadow:0 0 0 3px #1a0d18, 0 0 34px #ff7a8a; transform:scale(1.06);}}
.ob-tok b{margin-top:2px; font:800 11.5px var(--font-display,Georgia); color:#ffe3e8; text-shadow:0 2px 3px #000,0 0 6px #000; text-align:center; line-height:1.1;}
.ob-tok-t{margin-top:3px; font:800 10px var(--font-body,system-ui); letter-spacing:.05em; color:#2a0a12; background:linear-gradient(180deg,#ffb3bd,#ff5a6a); border-radius:6px; padding:2px 6px; white-space:nowrap;}
.ob-tok:focus-visible .ob-tok-ic{outline:2px solid #fff; outline-offset:2px;}
body.fx-off .ob-tok-ic{animation:none;}

/* v191: forja em todos os espaços — grelha 3×3 */
.ho-forge-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.ho-forge-pick .ho-fp{flex-direction:column;align-items:center;gap:4px;padding:8px 4px 7px;text-align:center;}
.ho-forge-pick .ho-fp span{align-items:center;width:100%;}
.ho-forge-pick .ho-fp b{font-size:11.5px;}
.ho-forge-pick .ho-fp small{font-size:9.5px;max-width:100%;}
.ho-forge-pick .ho-fp .nx-ic,.ho-forge-pick .ho-fp-empty{width:32px;height:32px;}

/* v192: Persistência da Forja */
.ho-pity{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#140e09;}
.ho-pity-ic{font-size:20px;filter:grayscale(1) opacity(.45);flex:none;}
.ho-pity>div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;}
.ho-pity b{font-family:var(--font-display);font-size:12.5px;color:var(--muted);}
.ho-pity small{font-size:10.5px;color:var(--muted);}
.ho-pity-pips{display:flex;gap:3px;flex:none;}
.ho-pity-pips i{width:9px;height:16px;border-radius:3px;background:#2a2017;border:1px solid #3a2c1f;}
.ho-pity-pips i.on{background:linear-gradient(#FFD27A,#FF7A2E);border-color:#FF9A3E;box-shadow:0 0 6px rgba(255,140,50,.6);}
.ho-pity.lit{border-color:rgba(255,140,50,.55);background:linear-gradient(90deg,rgba(255,120,40,.12),#140e09 70%);}
.ho-pity.lit .ho-pity-ic{filter:none;}
.ho-pity.lit b{color:#FFB357;}

/* v195: Lutar outra vez */
.end-actions{display:flex;gap:8px;width:100%;}
.end-actions .btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:48px;}
.end-actions .btn small{font-size:10.5px;font-weight:600;opacity:.85;}
.end-actions .btn small.low{color:#FFB0A0;opacity:1;}

/* v195: Painel "Hoje" */
.td-card{margin:0 0 9px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#17110b,#100c08);overflow:hidden;}
.td-head{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:none;border:0;color:var(--parchment);cursor:pointer;text-align:left;}
.td-h-ic{font-size:16px;}
.td-head b{font-family:var(--font-display);font-size:14px;color:var(--gold-bright);}
.td-count{margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(228,191,74,.14);color:var(--gold-bright);border:1px solid rgba(228,191,74,.35);}
.td-count.all{background:rgba(142,224,106,.12);color:var(--craft-green,#8EE06A);border-color:rgba(142,224,106,.35);}
.td-head em{font-style:normal;color:var(--muted);font-size:12px;width:12px;text-align:center;}
.td-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 10px 10px;}
.td-chip{position:relative;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#120d08;color:var(--parchment);text-align:left;cursor:pointer;min-width:0;}
.td-ic{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;font-size:18px;}
.td-ic .nx-ic,.td-ic img,.td-ic svg{width:26px;height:26px;}
.td-t{display:flex;flex-direction:column;min-width:0;line-height:1.2;}
.td-t b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.td-t small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.td-chip.ready{border-color:rgba(228,191,74,.6);background:linear-gradient(90deg,rgba(228,191,74,.13),#120d08 75%);}
.td-chip.ready small{color:var(--gold-bright);}
.td-chip.done{opacity:.55;}
.td-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 6px rgba(228,191,74,.9);}
.td-ok{position:absolute;top:4px;right:7px;font-style:normal;font-size:11px;color:var(--craft-green,#8EE06A);}

/* v196: Níveis de profissão */
.pf-prog{margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft);}
.pf-xp{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;}
.pf-xp b{color:var(--gold-bright);}
.pf-bar{height:10px;border-radius:6px;background:#2a1e12;margin-top:5px;overflow:hidden;border:1px solid #3d2d1b;}
.pf-bar i{display:block;height:100%;background:linear-gradient(90deg,#b8901f,var(--gold-bright));border-radius:6px;}
.pf-pips{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-top:10px;}
.pf-pips span{height:22px;border-radius:5px;background:#21180f;border:1px solid #3a2b1b;display:grid;place-items:center;font:800 10px var(--font-body,inherit);color:#6d5f4c;}
.pf-pips span.on{background:linear-gradient(180deg,#3a2c12,#2a1f0d);border-color:#7a5d22;color:var(--gold-bright);}
.pf-pips span.ten{border-color:#7a5d22;}
.pf-pips span.ten.on{background:linear-gradient(180deg,#ffe28a,#c99a24);color:#2a1a05;}
.pf-stat{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:10px;background:#120d08;border:1px solid var(--line);}
.pf-stat span{font-size:12px;color:var(--muted);}
.pf-stat b{font-size:13.5px;color:var(--gold-bright);text-align:right;}
.pf-stat b small{display:block;color:var(--craft-green,#8EE06A);font-size:11px;margin-top:2px;}
.pf-talent{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:10px;border:1px dashed #5a4630;background:#120d08;}
.pf-ti{font-size:20px;line-height:1;filter:grayscale(1) opacity(.5);}
.pf-talent b{display:block;font-size:13px;color:var(--muted);}
.pf-talent p{margin:3px 0 0;font-size:12px;line-height:1.45;color:var(--muted);}
.pf-tag{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#6d5f4c;}
.pf-talent.open{border-style:solid;border-color:#c99a24;background:linear-gradient(90deg,rgba(228,191,74,.14),#120d08 70%);}
.pf-talent.open .pf-ti{filter:none;}
.pf-talent.open b{color:var(--gold-bright);}
.pf-talent.open p{color:var(--parchment);}
.pf-talent.open .pf-tag{color:var(--craft-green,#8EE06A);}

/* v197: registo de combate por rondas */
#cb-log{position:relative;}
.log-mode{position:sticky;top:0;display:block;width:max-content !important;min-width:0 !important;height:auto !important;margin:0 0 4px auto;z-index:2;line-height:1.3;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(14,10,7,.92);color:var(--muted);font-size:10.5px;font-weight:700;cursor:pointer;}
.log-mode:hover{color:var(--gold-bright);border-color:var(--gold);}
.log-rd{display:flex;align-items:center;gap:8px;margin:6px 0 3px;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#7d6c55;}
.log-rd::before,.log-rd::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(125,108,85,.45),transparent);}
.log-line.sum{font-size:11.5px;color:var(--muted);border-left-color:#4a3a28;background:none;display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center;}
.log-line.sum i{font-style:normal;opacity:.5;}

/* v197: menus que aparecem aos poucos */
.wiki-tile-badge.new{background:linear-gradient(180deg,#9ef07a,#4aa83a) !important;color:#0d1a08 !important;border-color:#bff7a6 !important;font-weight:800;animation:unlNew 1.6s ease-in-out infinite;}
@keyframes unlNew{0%,100%{box-shadow:0 0 0 rgba(142,224,106,0)}50%{box-shadow:0 0 10px rgba(142,224,106,.8)}}
.unl-next{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:12px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:rgba(14,10,7,.55);}
.unl-t{width:100%;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}
.unl-i{font-size:12px;color:var(--parchment);}
.unl-i b{color:var(--gold-bright);margin-right:3px;}
@media (prefers-reduced-motion:reduce){.wiki-tile-badge.new{animation:none;}}

/* v197: pesquisa na Wiki */
.wk-search{position:relative;display:flex;align-items:center;margin:0 0 12px;}
.wk-s-ic{position:absolute;left:12px;font-size:15px;opacity:.75;pointer-events:none;}
.wk-search input{width:100%;padding:11px 38px 11px 38px;border-radius:12px;border:1px solid var(--line);background:#120d08;color:var(--parchment);font:inherit;font-size:14px;}
.wk-search input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(228,191,74,.15);}
.wk-search input::-webkit-search-cancel-button{display:none;}
.wk-s-x{position:absolute;right:8px;width:26px;height:26px;border-radius:50%;border:0;background:#2a1e12;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;}
.wk-hit{display:flex;gap:10px;align-items:flex-start;width:100%;margin-bottom:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,#1b140c,#120d08);color:var(--parchment);text-align:left;cursor:pointer;}
.wk-hit:hover{border-color:var(--gold);}
.wk-hit-ic{width:30px;height:30px;flex:none;display:flex;align-items:center;justify-content:center;font-size:20px;}
.wk-hit-ic .nx-ic{width:30px;height:30px;}
.wk-hit-t{display:flex;flex-direction:column;gap:3px;min-width:0;}
.wk-hit-t b{font-family:var(--font-display);font-size:14px;color:var(--gold-bright);}
.wk-hit-t small{font-size:11.5px;line-height:1.45;color:var(--muted);}
.wk-hit mark,.wk-mark{background:rgba(228,191,74,.35);color:#fff3cf;border-radius:3px;padding:0 2px;}
.wk-mark{animation:wkMark 2.4s ease-out 1;}
@keyframes wkMark{0%{background:rgba(255,220,110,.9)}100%{background:rgba(228,191,74,.35)}}

/* v197: explicação dos stats */
.st-help{cursor:pointer;}
.st-help:hover{border-color:var(--gold) !important;}
.st-q{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:4px;border-radius:50%;border:1px solid rgba(228,191,74,.55);color:var(--gold-bright);font-size:9.5px;font-style:normal;font-weight:800;vertical-align:1px;opacity:.85;}

/* v198: Vila do Herói */
.vl-res{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:4px;}
.vl-res span{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 4px;border-radius:10px;background:#120d08;border:1px solid var(--line);font-size:12.5px;line-height:1.15;font-variant-numeric:tabular-nums;}
.vl-res span .nx-ic,.vl-res span img{width:22px;height:22px;}
.vl-res b{color:var(--parchment);}
.vl-res small{font-size:10px;color:var(--craft-green,#8EE06A);font-weight:700;}
.vl-sub{margin:2px 0 8px;text-align:center;}
.vl-tabs{padding-bottom:10px;}
.vl-tabs .tab-chip{position:relative;}
.vl-dot{position:absolute;top:3px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--blood-bright);box-shadow:0 0 6px var(--blood-bright);}
.vl-map{position:relative;width:100%;aspect-ratio:390/520;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#2f4a22 center/cover no-repeat;margin-bottom:12px;}
.vl-map::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,transparent 45%,rgba(0,0,0,.5));pointer-events:none;}
.vl-wall{position:absolute;left:6%;right:6%;top:13%;bottom:5%;border:6px solid rgba(120,96,66,.9);border-radius:46% 46% 22% 22%/30% 30% 14% 14%;pointer-events:none;box-shadow:inset 0 0 0 2px rgba(0,0,0,.35);}
.vl-wall.dmg{border-color:rgba(160,70,50,.9);border-style:dashed;}
.vl-flag{position:absolute;left:50%;top:3.5%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:12px;letter-spacing:1.5px;color:var(--gold-bright);background:rgba(12,9,7,.86);border:1px solid #6a5124;border-radius:999px;padding:4px 12px 4px 6px;z-index:3;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis;}
.vl-flag img{width:24px;height:24px;}
.vl-house{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:0;cursor:pointer;padding:0;z-index:2;}
.vl-house img{width:62px;height:62px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.55));transition:transform .15s;}
.vl-house.big img{width:90px;height:90px;}
.vl-house.sel img,.vl-house:hover img{transform:translateY(-4px) scale(1.06);}
.vl-house b{font-size:10px;font-weight:800;color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000;white-space:nowrap;}
.vl-house.sel b{color:var(--gold-bright);}
.vl-house i{font-style:normal;font-size:9px;font-weight:800;color:var(--gold-bright);background:rgba(0,0,0,.65);border:1px solid rgba(228,191,74,.5);padding:1px 6px;border-radius:999px;white-space:nowrap;}
.vl-house.broken i{color:#fff;background:#8c2531;border-color:#f06272;}
.vl-house.broken img{filter:drop-shadow(0 6px 6px rgba(0,0,0,.55)) sepia(.6) saturate(.7) brightness(.8);}
.vl-house.work i{color:#0d1a08;background:linear-gradient(180deg,#9ef07a,#4aa83a);border-color:#bff7a6;}
.vl-alert{display:flex;gap:10px;align-items:center;margin-bottom:10px;padding:10px 12px;border-radius:12px;border:1px solid #8c2531;background:linear-gradient(90deg,rgba(224,72,90,.18),#140b0b 70%);}
.vl-alert img{width:40px;height:40px;flex:none;}
.vl-alert b{display:block;font-size:13px;color:#ffb0b0;}
.vl-alert small{font-size:11.5px;color:var(--muted);}
.vl-card{margin-bottom:10px;}
.vl-head{display:flex;gap:12px;align-items:center;}
.vl-head > img,.vl-head > .nx-ic{width:54px;height:54px;flex:none;}
.vl-head b{font-family:var(--font-display);font-size:15px;color:var(--gold-bright);}
.vl-head small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:2px;}
.vl-lv{font-family:var(--font-body,inherit);font-size:10px;font-weight:800;color:var(--gold-bright);border:1px solid #6a5124;border-radius:999px;padding:1px 6px;margin-left:4px;vertical-align:2px;}
.vl-title{font-family:var(--font-display);color:var(--gold-bright);font-size:14px;}
.vl-kv{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:10px;background:#120d08;border:1px solid var(--line);font-size:12.5px;color:var(--muted);}
.vl-kv span{display:flex;align-items:center;gap:6px;}
.vl-kv-ic{width:28px;height:28px;}
.vl-kv b{color:var(--gold-bright);font-family:var(--font-display);font-size:15px;}
.vl-kv b.bad,.bad{color:#ff9a9a;}
.good{color:var(--craft-green,#8EE06A);}
.vl-bar{height:8px;border-radius:6px;background:#2a1e12;overflow:hidden;margin-top:6px;}
.vl-bar i{display:block;height:100%;background:linear-gradient(90deg,#b8901f,var(--gold-bright));}
.vl-bar.hp i{background:linear-gradient(90deg,#c0303f,#ff7b6b);}
.vl-bar.go i{background:linear-gradient(90deg,#3a9b3a,#86e06a);}
.vl-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;}
.vl-ico{display:inline-flex;align-items:center;gap:6px;padding-left:8px;}
.vl-ico img{width:24px;height:24px;}
.vl-cost{display:inline-flex;flex-wrap:wrap;gap:6px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;}
.vl-cost span{display:inline-flex;align-items:center;gap:3px;}
.vl-cost .nx-ic,.vl-cost img{width:15px;height:15px;}
.vl-cost .no{color:#ff8d8d;}
.vl-queue{margin-top:10px;padding:8px 12px;border-radius:10px;border:1px dashed #6a5124;background:#120d08;font-size:12px;color:var(--muted);}
.vl-queue b{color:var(--parchment);}
.vl-list{display:grid;gap:8px;margin-top:10px;}
.vl-it{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#120d08;border:1px solid var(--line);}
.vl-round{border-radius:50%;}
.vl-it > img{width:44px;height:44px;flex:none;}
.vl-t{flex:1;min-width:0;line-height:1.3;}
.vl-t b{display:block;font-size:13px;color:var(--parchment);}
.vl-t small{display:block;font-size:11.5px;color:var(--muted);}
.vl-t .vl-cost{margin-top:2px;}
.vl-n{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--gold-bright);min-width:28px;text-align:center;font-variant-numeric:tabular-nums;}
.vl-step{display:flex;align-items:center;gap:6px;}
.vl-step.col{flex-direction:column;gap:4px;}
.vl-step .btn{min-width:38px;}
.vl-mx{width:100%;border-collapse:separate;border-spacing:3px;margin-top:10px;font-size:11.5px;text-align:center;}
.vl-mx th img{width:30px;height:30px;}
.vl-mx td{padding:7px 2px;border-radius:7px;background:#120d08;border:1px solid var(--line);font-weight:800;}
.vl-mx td.s{color:#0d1a08;background:linear-gradient(180deg,#9ef07a,#4aa83a);border-color:#bff7a6;}
.vl-mx td.w{color:#fff;background:linear-gradient(180deg,#f06272,#b62c3d);border-color:#f59aa4;}
.vl-mx td.n{color:var(--muted);}
.vl-why{display:grid;gap:4px;margin-top:8px;font-size:11.5px;color:var(--muted);}
.vl-why b{color:var(--parchment);}
.vl-tgt{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#120d08;border:1px solid var(--line);}
.vl-tgt.lock{opacity:.55;}
.vl-tgt-ic{width:62px;height:62px;flex:none;}
.vl-tgt .vl-t b{font-family:var(--font-display);font-size:13.5px;}
.vl-mini{width:18px;height:18px;vertical-align:-4px;}
.vl-diff{font-family:var(--font-body,inherit);font-size:9.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:1px 6px;border-radius:999px;border:1px solid;vertical-align:2px;}
.vl-comp{display:flex;gap:5px;margin:4px 0 2px;flex-wrap:wrap;}
.vl-comp span{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--parchment);background:#1d150d;border:1px solid var(--line);border-radius:999px;padding:2px 7px 2px 2px;}
.vl-comp img{width:20px;height:20px;}
.vl-comp em{font-style:normal;font-size:9.5px;color:var(--muted);}
.vl-hint{color:var(--gold-bright) !important;}
.vl-cd{color:var(--gold-bright) !important;}
.vl-march{margin-top:10px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#2c3d4f,#41563a 55%,#2a3a1f);}
.vl-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px 10px 0;}
.vl-phases span{text-align:center;font-size:10.5px;font-weight:700;color:rgba(255,255,255,.55);padding:5px 2px;border-radius:8px;background:rgba(10,7,5,.5);}
.vl-phases span.on{color:#1b1206;background:linear-gradient(180deg,#f6dc85,#e4bf4a);}
.vl-phases span.done{color:var(--craft-green,#8EE06A);}
.vl-mstat{display:flex;justify-content:space-between;align-items:center;padding:8px 14px 0;font-size:12.5px;color:#fff;}
.vl-mstat b{font-family:var(--font-display);font-size:15px;color:var(--gold-bright);font-variant-numeric:tabular-nums;}
.vl-road{position:relative;height:58px;margin:8px 14px 0;}
.vl-road::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:2px;background:repeating-linear-gradient(90deg,rgba(255,240,200,.5) 0 10px,transparent 10px 18px);}
.vl-road img{position:absolute;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);}
.vl-road img.home{left:0;transform:translate(0,-50%);}
.vl-road img.foe{right:0;left:auto;transform:translate(0,-50%);}
.vl-road img.army{width:40px;height:40px;filter:drop-shadow(0 0 6px rgba(228,191,74,.7));transition:left .9s linear;}
.vl-sides{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;padding:10px;align-items:start;}
.vl-sides > div{display:grid;gap:5px;}
.vl-sides h4{margin:0;font-size:11px;letter-spacing:1px;text-transform:uppercase;text-align:center;}
.vl-u{display:flex;align-items:center;gap:6px;padding:4px 7px;border-radius:10px;background:rgba(10,7,5,.72);border:1px solid var(--line);}
.vl-u img{width:28px;height:28px;flex:none;}
.vl-u b{font-family:var(--font-display);font-size:14px;color:#fff;min-width:22px;font-variant-numeric:tabular-nums;}
.vl-u small{font-size:10px;color:var(--muted);}
.vl-u.dead{opacity:.35;filter:grayscale(1);}
.vl-vs{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--gold-bright);text-shadow:0 2px 0 #000;align-self:center;}
.vl-blog{max-height:130px;overflow:auto;padding:8px 12px;background:rgba(10,7,5,.8);border-top:1px solid var(--line);font-size:12px;line-height:1.5;}
.vl-blog div{color:var(--muted);}
.vl-blog .g{color:var(--craft-green,#8EE06A);} .vl-blog .r{color:#ff9a9a;} .vl-blog .y{color:var(--gold-bright);font-weight:700;}
.vl-report{padding:12px;border-top:1px solid var(--line);background:rgba(10,7,5,.9);text-align:center;}
.vl-report h3{margin:0;font-family:var(--font-display);font-size:22px;letter-spacing:2px;}
.vl-report h3.win{color:var(--gold-bright);} .vl-report h3.lose{color:var(--blood-bright);}
.vl-report p{margin:6px 0;font-size:12.5px;color:var(--muted);}
.vl-found{text-align:center;padding:6px 4px;}
.vl-found-ic{width:150px;height:150px;}
.vl-found h3{font-family:var(--font-display);color:var(--gold-bright);margin:4px 0 8px;}
.vl-found p{font-size:13px;line-height:1.55;}
.vl-found-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;}
.vl-found-list span{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;background:#120d08;border:1px solid var(--line);font-size:12px;text-align:left;}
.vl-found-list img{width:36px;height:36px;flex:none;}
/* v198: Vila — abas cabem no ecrã; cartões das aldeias com o botão por baixo */
.vl-tabs{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible !important;}
.vl-tabs .tab-chip{min-width:0;padding-left:4px !important;padding-right:4px !important;justify-content:center;white-space:nowrap;font-size:12px;}
.vl-tgt{display:grid;grid-template-columns:54px minmax(0,1fr);gap:4px 10px;align-items:start;}
.vl-tgt-ic{width:54px;height:54px;}
.vl-tgt .vl-t{min-width:0;display:flex;flex-direction:column;gap:2px;}
.vl-tgt > button,.vl-tgt > .vl-cost{grid-column:1 / -1;width:100%;justify-content:center;text-align:center;margin-top:4px;}
.vl-lockt{display:block;font-size:11.5px;color:var(--muted);padding:7px;border:1px dashed var(--line);border-radius:10px;}
.vl-loot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:2px;}
.vl-loot span{display:inline-flex;align-items:center;gap:3px;color:var(--parchment);font-weight:700;}
.vl-loot span{margin-right:9px;}
.vl-loot-c{justify-content:center;}
.vl-loot-c span{margin:0 5px;}
/* v201: Reino Submerso — bolhas e raios de luz na cena de combate */
.fx-bubbles::before{content:''; position:absolute; inset:0; background:linear-gradient(100deg,transparent 18%,rgba(190,250,240,.10) 24%,transparent 30%,transparent 52%,rgba(190,250,240,.08) 57%,transparent 63%); animation:scRays 9s ease-in-out infinite alternate; pointer-events:none;}
@keyframes scRays{to{transform:translateX(26px); opacity:.6;}}
.fx-bubbles i{width:6px; height:6px; border:1px solid rgba(220,255,250,.75); background:rgba(200,250,245,.12); animation-name:scRise; top:100% !important; opacity:.8;}
.fx-bubbles i:nth-child(3n){width:3px; height:3px;}
@media (prefers-reduced-motion:reduce){.fx-bubbles::before{animation:none;}}
/* v203: Cidade ilustrada */
.ct-map{position:relative;width:100%;max-width:100%;aspect-ratio:4/5;border:2px solid #5d4a28;border-radius:10px;overflow:hidden;background-color:#2a2418;background-size:cover;background-position:center;box-shadow:inset 0 0 40px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.6);user-select:none;-webkit-user-select:none;}
.ct-dark{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,rgba(20,30,70,.15),rgba(8,10,30,.72));opacity:0;transition:opacity .6s;}
.ct-lamp{position:absolute;width:9%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,200,110,.7),transparent 65%);opacity:0;transition:opacity .6s;pointer-events:none;}
.ct-lamp.p{width:16%;background:radial-gradient(circle,rgba(190,110,255,.75),transparent 65%);}
.ct-map.night .ct-dark,.ct-map.night .ct-lamp{opacity:1;}
.ct-npc{position:absolute;width:11px;height:11px;border-radius:50%;background:#e8d3a8;border:2px solid #5a3f1d;transform:translate(-50%,-50%);transition:left 4s linear,top 4s linear;box-shadow:0 3px 3px rgba(0,0,0,.5);pointer-events:none;}
.ct-spot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:0;padding:0;cursor:pointer;color:#fff;z-index:3;-webkit-tap-highlight-color:transparent;}
.ct-c{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:radial-gradient(circle at 50% 35%,#2b2418,#0d0a07);border:2.5px solid #b98f3a;box-shadow:0 0 8px rgba(0,0,0,.45),0 5px 7px rgba(0,0,0,.55);transition:transform .15s;}
.ct-c .nx-ic,.ct-c img{width:32px;height:32px;}
.ct-spot:active .ct-c{transform:scale(.93);}
.ct-spot:focus-visible .ct-c{box-shadow:0 0 0 3px rgba(228,191,74,.6);}
.ct-spot.dark .ct-c{border-color:#7a3a4a;}
.ct-lb{font:700 9.5px var(--font-body);text-shadow:0 1px 2px #000,0 0 5px #000;line-height:1.1;text-align:center;width:max-content;max-width:90px;}
.ct-bd{position:absolute;top:-6px;right:-8px;font:800 9.5px var(--font-body);color:#1c1409;background:var(--gold-bright);border:1.5px solid #fff3c4;border-radius:999px;padding:1px 5px;line-height:1.3;}
.ct-bd.new{background:#8ee06a;}
@media (prefers-reduced-motion:reduce){.ct-npc{transition:none;}}
/* v203: fundo ilustrado nos ecrãs de entrada, de carregar e de criar herói */
body #screen-boot,body #screen-account,body #screen-create{background:linear-gradient(180deg,rgba(8,6,14,.35) 0%,rgba(8,6,14,.72) 38%,rgba(8,6,14,.72) 70%,rgba(8,6,14,.45) 100%),url(icons/fundo-entrada.webp?v=203) center/cover no-repeat,#0b0810;}
/* v204: fundos de combate pintados */
.cb-scene .scene-img{position:absolute;left:0;right:0;top:-22%;height:122%;background-size:cover;background-position:center top;background-repeat:no-repeat;}
.wiki-tile-scene .scene-img{position:absolute;inset:0;background-size:cover;background-position:center 45%;}
/* v205: ilustração no topo de cada edifício da Cidade e da Guild */
.in-hero{position:relative;width:100%;max-width:100%;aspect-ratio:16/8;margin:0 0 12px;border-radius:12px;overflow:hidden;border:1px solid #5d4a28;background-color:#1a130c;background-size:cover;background-position:center;box-shadow:0 6px 18px rgba(0,0,0,.55);}
.in-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(10,7,4,.9) 100%);}
.in-say{position:absolute;left:12px;right:12px;bottom:10px;z-index:1;display:flex;flex-direction:column;gap:2px;}
.in-say b{font-family:var(--font-display);font-size:15px;color:#fff;text-shadow:0 2px 6px #000;}
.in-say span{font-size:12px;color:#e8dcc0;font-style:italic;text-shadow:0 1px 4px #000;line-height:1.35;}
/* v206: ilustrações — fim do combate, classes, profissões e eventos */
/* v207: o fundo vai no próprio ecrã (sem overflow:hidden), para o conteúdo poder crescer e a página deslizar até aos botões */
#cb-end-screen.has-art{border-radius:14px;margin:8px;background:linear-gradient(180deg,rgba(8,6,4,.25) 0%,rgba(8,6,4,.55) 40%,rgba(8,6,4,.88) 75%,rgba(8,6,4,.96) 100%),var(--end-art) center top/cover no-repeat;}
/* v208: o fim do combate desliza por dentro (em qualquer ponto) e os botões ficam sempre à vista em baixo */
#cb-end-screen{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;justify-content:flex-start;padding-bottom:0;}
#cb-end-screen > :first-child{margin-top:auto;}
#cb-end-screen > .end-actions,#cb-end-screen > #btn-combat-continue{position:sticky;bottom:0;z-index:2;margin-top:auto;box-shadow:0 -14px 18px 6px rgba(8,6,4,.85);}
#cb-end-screen > .end-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));background:rgba(8,6,4,.92);border-radius:12px 12px 0 0;padding-top:8px;}
#cb-end-screen > #btn-combat-continue{margin-bottom:calc(12px + env(safe-area-inset-bottom, 0px));}
#screen-combat.ended{overflow:hidden;}
.class-card.has-art{position:relative;overflow:hidden;min-height:150px;padding-left:118px;}
.class-card.has-art .class-art{position:absolute;left:0;top:0;bottom:0;width:112px;background:var(--cls-art) center 18%/cover no-repeat;}
.class-card.has-art .class-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--bg-panel));}
.class-card.has-art.selected .class-art::after{background:linear-gradient(90deg,transparent 55%,var(--bg-raised));}
.prof-art{height:96px;margin:-2px -2px 10px;border-radius:10px;background-size:cover;background-position:center;border:1px solid rgba(0,0,0,.4);box-shadow:inset 0 -30px 30px -20px rgba(0,0,0,.6);}
.prof-art.sm{height:56px;margin-bottom:6px;}
body .event-banner.has-art,body.ui-modern .event-banner.has-art{background:linear-gradient(90deg,rgba(8,6,4,.8),rgba(8,6,4,.3) 50%,rgba(8,6,4,.8)),var(--ev-art) center/cover no-repeat !important;color:#ffe0d8;font-size:12px;padding:14px 8px;border-style:solid;text-shadow:0 1px 3px #000,0 0 6px #000;}
.ev-art{height:110px;border-radius:10px;margin-bottom:10px;background-size:cover;background-position:center;border:1px solid var(--line);}
/* v208: enquanto uma imagem grande carrega, o espaço pulsa devagar em vez de ficar preto */
@keyframes nxLoadPulse{0%,100%{background-color:#1a140d;}50%{background-color:#2a2116;}}
.rm-map,.ct-map,.in-hero,.prof-art,.ev-art,.cb-scene .scene-img,.wiki-tile-scene .scene-img,.vl-map{animation:nxLoadPulse 1.6s ease-in-out 4;}
@media (prefers-reduced-motion:reduce){.rm-map,.ct-map,.in-hero,.prof-art,.ev-art,.cb-scene .scene-img,.wiki-tile-scene .scene-img,.vl-map{animation:none;}}
/* v209: menu Herói */
.hm{display:flex;flex-direction:column;gap:10px;}
.hm button{font-family:var(--font-body);color:inherit;text-align:left;}
.hm-card{position:relative;display:block;width:100%;min-height:200px;border-radius:16px;overflow:hidden;border:1px solid #6a5226;background:#1a130c;box-shadow:0 8px 22px rgba(0,0,0,.55);padding:0;}
.hm-art{position:absolute;inset:0;background:var(--hm-art) right 22%/60% auto no-repeat;}
.hm-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#140f0a 36%,rgba(20,15,10,.75) 60%,rgba(20,15,10,.05) 100%),linear-gradient(0deg,rgba(10,8,5,.85),transparent 45%);}
.hm-open{position:absolute;right:12px;top:12px;font:800 11px var(--font-body);color:#1c1409;background:var(--gold-bright);border-radius:999px;padding:4px 10px;}
.hm-in{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px;max-width:68%;}
.hm-top{display:flex;gap:10px;align-items:center;}
.hm-av{position:relative;width:52px;height:52px;border-radius:50%;border:3px solid var(--gold-bright);overflow:hidden;flex:none;display:grid;place-items:center;font-size:26px;background:#1a130c;}
.hm-av img{width:100%;height:100%;object-fit:cover;}
.hm-av em{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);font:900 9.5px var(--font-body);font-style:normal;color:#1c1409;background:var(--gold-bright);border-radius:999px;padding:0 5px;}
.hm-name{display:block;font-family:var(--font-display);font-size:18px;}
.hm-cls{font-size:11.5px;color:var(--gold-bright);font-weight:700;}
.hm-pw{display:flex;align-items:baseline;gap:6px;}
.hm-pw > span{font-size:10.5px;letter-spacing:1.5px;color:var(--muted);font-weight:800;text-transform:uppercase;}
.hm-pw b{font:800 25px var(--font-display);color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #000;}
.hm-pw em{font-style:normal;font-size:11px;font-weight:800;}
.hm-pw em.up{color:#8ee06a;}.hm-pw em.dn{color:#ff8a8a;}
.hm-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;}
.hm-mini > span{background:rgba(10,8,5,.72);border:1px solid var(--line);border-radius:8px;padding:5px 2px;text-align:center;font-size:9.5px;color:var(--muted);min-width:0;}
.hm-mini b{display:block;font-size:11.5px;color:var(--parchment);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hm-gear{position:absolute;right:10px;bottom:10px;display:flex;gap:3px;}
.hm-gear i{width:16px;height:16px;border-radius:4px;border:2px solid;background:rgba(10,8,5,.7);}
.hm-sec{display:flex;align-items:center;gap:8px;font:800 10.5px var(--font-body);letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.hm-sec::after{content:"";flex:1;height:1px;background:var(--line);}
.hm-todo{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;}
.hm-td{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:12px;background:linear-gradient(180deg,#2a1f10,#1a130b);border:1px solid #7a5d22;font-size:12px;}
.hm-td-ic{font-size:22px;display:grid;place-items:center;}.hm-td-ic .nx-ic{width:26px;height:26px;}
.hm-td b{display:block;font-weight:700;white-space:nowrap;}
.hm-td small{display:block;font-size:10.5px;color:var(--muted);}
.hm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.hm-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.hm-t{position:relative;min-width:0;padding:12px 6px 10px;border-radius:14px;background:linear-gradient(180deg,var(--bg-raised),var(--bg-panel));border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center !important;}
.hm-t .hm-ic{font-size:28px;display:grid;place-items:center;height:40px;}.hm-t .hm-ic .nx-ic{width:40px;height:40px;}
.hm-tx{display:flex;flex-direction:column;gap:2px;min-width:0;}
.hm-t b{font-size:12.5px;}
.hm-t small{font-size:10.5px;color:var(--muted);line-height:1.25;}
.hm-t small.go{color:var(--gold-bright);}.hm-t small.ok{color:#8ee06a;}
.hm-t.w{flex-direction:row;text-align:left !important;padding:10px;gap:10px;}
.hm-t.w .hm-ic{height:44px;width:44px;flex:none;}.hm-t.w .hm-ic .nx-ic{width:44px;height:44px;}
.hm-t.is-locked{opacity:.55;}
.hm-bd{position:absolute;top:6px;right:6px;font:800 10px var(--font-body);color:#1c1409;background:var(--gold-bright);border-radius:999px;padding:1px 6px;}
.hm-bd.new{background:#8ee06a;}
.hm-book{display:flex;flex-direction:column;gap:8px;width:100%;padding:12px;border-radius:14px;background:linear-gradient(180deg,var(--bg-raised),var(--bg-panel));border:1px solid var(--line);}
.hm-row{display:grid;grid-template-columns:118px minmax(0,1fr) 68px;gap:8px;align-items:center;font-size:12px;}
.hm-row > span{color:var(--muted);}
.hm-bar{height:8px;border-radius:5px;background:#2a2016;overflow:hidden;}.hm-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#b8901f,var(--gold-bright));}
.hm-row b{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}.hm-row b small{color:var(--muted);font-weight:600;}
.hm-more{align-self:flex-end;font-size:11.5px;font-weight:800;color:var(--gold-bright);}
.hm-card:focus-visible,.hm-t:focus-visible,.hm-td:focus-visible,.hm-book:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px;}
.hm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.hm-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:#120d08;border:1px solid var(--line);font-size:11px;opacity:.55;}
.hm-chip.ok{opacity:1;border-color:#7a5d22;}
.hm-chip > .nx-k,.hm-chip > .nx-ic,.hm-chip > img{width:26px;height:26px;display:grid;place-items:center;font-size:16px;}
.hm-chip .nx-ic{width:26px;height:26px;border-radius:50%;}
.hm-chip b{display:block;font-size:11.5px;}.hm-chip small{display:block;font-size:10px;color:var(--muted);}
.hm-reg{margin-bottom:8px;}
.hm-card,.hm-td{color:#efe3cc;}
.hm-card .hm-mini > span{color:#a8977c;}.hm-card .hm-mini b{color:#efe3cc;}
.hm-td small{color:#b9a98c;}
.hm-chip:not(.ok) > .nx-k,.hm-chip:not(.ok) > .nx-ic,.hm-chip:not(.ok) img{filter:grayscale(1) brightness(.5);}
.hm-card .hm-name{color:#fff;}.hm-card .hm-cls{color:#f6dc85;}
.hm-card .hm-open{background:#f6dc85;color:#1c1409;}.hm-card .hm-av{border-color:#f6dc85;}.hm-card .hm-av em{background:#f6dc85;color:#1c1409;}
.hm-td b{color:#efe3cc;}

/* v211: Alquimia — mesa do alquimista, slots com a cor da pedra, bolsa em escada, fusão animada, grelha de troca */
.nuc.has-art{border-color:#6a4f28;background:radial-gradient(circle at 50% 50%,rgba(10,6,16,.25) 0,rgba(10,6,16,0) 40%,rgba(8,5,3,.35) 100%),var(--nuc-art) center/122.5% no-repeat,#140d08;box-shadow:inset 0 0 50px rgba(0,0,0,.75),0 6px 18px rgba(0,0,0,.5);}
.nuc.has-art .ring{display:none;}
.nuc .ln.on{stroke:rgb(var(--sc,201,162,39));filter:drop-shadow(0 0 3px rgba(var(--sc,228,191,74),.8));}
.nuc.active .ln.on{stroke:rgb(var(--sc,242,211,107));}
.nuc .ns{width:84px;color:#f3e7cf;}
.nuc .ns.filled .ns-b{width:62px;height:62px;padding:3px;border:0;background:conic-gradient(rgb(var(--sc)) calc(var(--pct,0)*1%),rgba(255,255,255,.12) 0);box-shadow:0 0 12px rgba(var(--sc),.45),0 4px 10px rgba(0,0,0,.7);}
.nuc .ns-in{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;}
.nuc .ns.filled .ns-in{background:radial-gradient(circle at 50% 35%,rgba(var(--sc),.32),#120c08 75%);}
.nuc .ns.perf .ns-b{background:conic-gradient(from var(--nxa,0deg),#fff3b8,#e4bf4a,#8a6a20,#e4bf4a,#fff3b8);box-shadow:0 0 16px rgba(242,211,107,.7),0 4px 10px rgba(0,0,0,.7);animation:alchHalo 3s linear infinite;}
@property --nxa{syntax:'<angle>';inherits:false;initial-value:0deg;}
@keyframes alchHalo{to{--nxa:360deg;}}
.nuc .ns.feed .ns-b{animation:alchFeed 1.6s ease-in-out infinite;}
.nuc .ns.perf.feed .ns-b{animation:alchHalo 3s linear infinite,alchFeed 1.6s ease-in-out infinite;}
@keyframes alchFeed{50%{box-shadow:0 0 22px var(--fc),0 4px 10px rgba(0,0,0,.7);}}
.nuc .ns-l{background:rgba(10,7,5,.72);padding:1px 6px 2px;border-radius:7px;}
.nuc .ns-l small.ns-lv{display:block;width:max-content;margin:1px auto 0;font-size:9.5px;font-weight:800;padding:0 6px;border-radius:99px;color:#140d08;background:rgb(var(--sct));}
.nuc .ns.perf .ns-l small.ns-lv{background:linear-gradient(90deg,#fff3b8,#e4bf4a);}
.nuc.has-art .core-b{background:radial-gradient(circle at 50% 40%,rgba(60,40,90,.85),rgba(10,7,14,.92));}
.alch-sum-cell.tinted{background:linear-gradient(180deg,rgba(var(--sc),.18),rgba(0,0,0,.28));border-color:rgba(var(--sc),.5);}
.alch-sum-cell .alch-sum-ic .nx-ic{width:26px;height:26px;}
.alch-sum-cell.tinted .alch-sum-pct{color:rgb(var(--sct));text-shadow:0 1px 2px rgba(0,0,0,.6);}
body.ui-pergaminho .alch-sum-cell.tinted{background:linear-gradient(180deg,rgba(var(--sc),.85),rgba(40,26,14,.92));}
body.ui-pergaminho .alch-sum-cell.tinted .alch-sum-lbl,body.ui-pergaminho .alch-sum-cell.tinted .alch-sum-real{color:#f3e7cf;}
.alch-stone{border-color:rgba(var(--sc),.45)!important;}
.alch-stone-h{display:flex;align-items:center;gap:8px;}
.alch-stone-h .si .nx-ic{width:30px;height:30px;}
.alch-stone-h b{font-family:var(--font-display);font-size:15px;}
.alch-stone-h .tiny{margin-left:auto;white-space:nowrap;}
.alch-ladder{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:10px;}
.alch-rung{position:relative;aspect-ratio:3/4;border-radius:7px;background:rgba(18,12,8,.6);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:2px 0 3px;min-width:0;}
.alch-rung .ri{position:absolute;inset:3px 2px 13px;display:grid;place-items:center;opacity:.18;filter:grayscale(1);}
.alch-rung .ri .nx-ic{width:100%;height:100%;object-fit:contain;}
.alch-rung .k{position:relative;font-size:9px;font-weight:800;line-height:1;color:#a8987f;}
.alch-rung .q{position:absolute;top:-5px;right:-4px;z-index:2;min-width:15px;height:15px;line-height:15px;padding:0 3px;border-radius:99px;font-size:9px;font-weight:900;text-align:center;color:#140d08;background:rgb(var(--sct));}
.alch-rung.has{border-color:rgba(var(--sc),.6);background:radial-gradient(circle at 50% 35%,rgba(var(--sc),.28),rgba(18,12,8,.6));}
.alch-rung.has .ri{opacity:1;filter:none;}
.alch-rung.has .k{color:#f3e7cf;}
.alch-rung.perf .k{color:#f6dc85;}
.alch-rung.eq::after{content:"";position:absolute;left:3px;right:3px;bottom:-4px;height:2px;border-radius:2px;background:#f6dc85;box-shadow:0 0 5px #f6dc85;}
.alch-rung.next{border-style:dashed;border-color:#e4bf4a;}
.alch-rung.pair{cursor:pointer;animation:alchReady 1.4s ease-in-out infinite;}
.alch-rung.pair:active{transform:scale(.94);}
.alch-rung:focus-visible{outline:2px solid #f6dc85;outline-offset:2px;}
@keyframes alchReady{50%{box-shadow:0 0 10px rgb(var(--sc));}}
.alch-stone .alch-bar i{background:linear-gradient(90deg,rgba(var(--sc),.7),rgb(var(--sct)));}
.alch-legend{display:flex;gap:12px;flex-wrap:wrap;margin:-2px 0 8px;}
.alch-legend i{display:inline-block;width:12px;height:2px;border-radius:2px;background:#f6dc85;vertical-align:3px;margin-right:4px;}
.alch-legend em{display:inline-block;width:9px;height:9px;border:1px dashed #e4bf4a;border-radius:3px;vertical-align:-1px;margin-right:4px;}
.alch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.alch-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px 7px;border-radius:12px;cursor:pointer;font-family:inherit;color:#f3e7cf;background:radial-gradient(circle at 50% 25%,rgba(var(--sc),.25),rgba(0,0,0,.25) 70%),#1c1611;border:1px solid rgba(var(--sc),.45);}
.alch-opt:active{transform:scale(.96);}
.alch-opt .oi .nx-ic{width:40px;height:40px;}
.alch-opt .oi .nx-k{font-size:28px;}
.alch-opt .nm{font-size:11px;font-weight:700;margin-top:2px;}
.alch-opt .v{font-size:10.5px;font-weight:700;color:rgb(var(--sct));}
.alch-opt .dl{font-size:10px;font-weight:800;margin-top:1px;line-height:1.2;}
.alch-opt .dl.up{color:#8ee06a;} .alch-opt .dl.dn{color:#ff7b7b;} .alch-opt .dl.sw{color:#a8987f;font-weight:600;}
.alch-opt .x{position:absolute;top:4px;right:6px;font-size:9.5px;font-weight:700;color:#a8987f;}
.alch-fx{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));background:rgba(5,3,8,.88);backdrop-filter:blur(2px);text-align:center;}
.alch-fx-stage{position:relative;width:240px;height:160px;}
.alch-fx-stage .st{position:absolute;top:50%;width:64px;height:64px;margin-top:-32px;display:grid;place-items:center;}
.alch-fx-stage .st .nx-ic,.alch-fx-stage .res .nx-ic{width:100%;height:100%;}
.alch-fx-stage .st.a{left:0;animation:alchInL .7s cubic-bezier(.5,0,.9,.4) forwards;}
.alch-fx-stage .st.b{right:0;animation:alchInR .7s cubic-bezier(.5,0,.9,.4) forwards;}
@keyframes alchInL{to{left:88px;transform:scale(.6);opacity:.15;}}
@keyframes alchInR{to{right:88px;transform:scale(.6);opacity:.15;}}
.alch-fx-stage .flash{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:3px solid rgb(var(--sc));opacity:0;animation:alchBoom .7s .65s ease-out forwards;}
.alch-fx.perf .alch-fx-stage .flash{border-color:#f6dc85;}
@keyframes alchBoom{0%{opacity:1;transform:scale(.3);}100%{opacity:0;transform:scale(8);}}
.alch-fx-stage .res{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;display:grid;place-items:center;font-size:56px;transform:scale(0);filter:drop-shadow(0 0 16px rgb(var(--sc)));animation:alchPop .5s .8s cubic-bezier(.3,1.6,.5,1) forwards;}
@keyframes alchPop{to{transform:scale(1);}}
.alch-fx-k,.alch-fx-t,.alch-fx-list,.alch-fx .btn{opacity:0;animation:alchFade .4s 1.05s forwards;}
.alch-fx .btn{animation-delay:1.3s;min-width:140px;}
@keyframes alchFade{to{opacity:1;}}
.alch-fx-k{font-size:12px;font-weight:800;letter-spacing:2px;color:#f6dc85;}
.alch-fx-t{font-family:var(--font-display);font-size:20px;font-weight:800;color:#f6dc85;}
.alch-fx-t small{display:block;font-family:var(--font-body,inherit);font-size:12.5px;font-weight:600;color:#c9b99c;margin-top:3px;}
.alch-fx-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:360px;}
.alch-fx-list span{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#f3e7cf;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:99px;padding:3px 9px 3px 5px;}
.alch-fx-list .nx-ic{width:18px;height:18px;}
.alch-fx.still .alch-fx-stage .st,.alch-fx.still .alch-fx-stage .flash{display:none;}
.alch-fx.still .alch-fx-stage .res,.alch-fx.still .alch-fx-k,.alch-fx.still .alch-fx-t,.alch-fx.still .alch-fx-list,.alch-fx.still .btn{animation:none;transform:none;opacity:1;}
@media (prefers-reduced-motion:reduce){.alch-fx .alch-fx-stage .st,.alch-fx .alch-fx-stage .flash{display:none;}.alch-fx .alch-fx-stage .res,.alch-fx-k,.alch-fx-t,.alch-fx-list,.alch-fx .btn{animation:none!important;transform:none!important;opacity:1!important;}.alch-rung.pair,.nuc .ns.perf .ns-b,.nuc .ns.feed .ns-b{animation:none;}}
@media (max-width:360px){.nuc .ns{width:72px}.nuc .ns.filled .ns-b{width:54px;height:54px}}
body .nuc.has-art .core-l{background:rgba(10,7,5,.72);padding:1px 7px 2px;border-radius:7px;color:#e2d2ff;}
body .nuc.has-art.active .core-l{color:#f6dc85;}
body .nuc .ns{color:#f3e7cf;}

/* v212: Equipamento — armaria, peças com nível/gemas, ▲ melhor na mochila, Poder, Poder por peça, Conjuntos, alternativas na ficha */
.doll.has-art{border-color:#5a4424;background:radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--aura) 18%, transparent), transparent 55%),linear-gradient(180deg,rgba(10,7,5,.12),rgba(10,7,5,.3) 55%,rgba(10,7,5,.78)),var(--doll-art) center 35%/cover no-repeat,#140e09;}
.doll.has-art .doll-name{text-shadow:0 1px 3px #000,0 0 8px #000;}
.doll.has-art .doll-mid .tiny{color:#cdbb9a;text-shadow:0 1px 2px #000;}
.doll.has-art .doll-stats{background:rgba(10,7,5,.62);border-radius:9px;padding:6px 9px;color:#c9b99c;}
.doll.has-art .doll-stats b{color:#f3e7cf;}
.doll-slot:not(.wide):not(.talis){height:88px;}
.doll-slot.filled:not(.wide){justify-content:flex-start;padding-top:10px;overflow:hidden;}
.doll-slot.filled:not(.wide) .doll-lbl{font-size:8.5px;color:#c9b99c;}
.doll-band{position:absolute;left:0;right:0;bottom:0;font-size:9.5px;font-weight:800;line-height:15px;letter-spacing:.02em;text-align:center;color:#140d08;background:var(--rc);}
.doll-slot.filled:not(.wide) .doll-lock,.doll-slot.filled:not(.wide) .doll-warn{bottom:17px;}
.doll-so{display:flex;gap:3px;justify-content:center;height:7px;margin-top:3px;}
.doll-so i{width:7px;height:7px;border-radius:50%;border:1px solid rgba(246,220,133,.7);}
.doll-so i.on{background:radial-gradient(circle at 35% 35%,#fff3b8,#e4bf4a 55%,#8a6a20);border-color:#f6dc85;box-shadow:0 0 4px #e4bf4a;}
.doll-bt{position:absolute;top:3px;left:3px;z-index:2;min-width:16px;height:16px;border-radius:5px;display:grid;place-items:center;font-size:9px;font-weight:900;color:#0e1a08;background:#8ee06a;box-shadow:0 0 6px rgba(142,224,106,.8);animation:eqBt 1.6s ease-in-out infinite;}
@keyframes eqBt{50%{transform:translateY(-2px);}}
.doll-set.sh{left:22px;}
.doll-slot.shine{animation:eqShine 2.6s ease-in-out infinite;}
@keyframes eqShine{50%{box-shadow:inset 0 0 16px color-mix(in srgb, var(--rc) 55%, transparent),0 0 16px color-mix(in srgb, var(--rc) 70%, transparent);}}
.doll-slot.wide .doll-bt{left:auto;right:28px;top:4px;}
.doll-wt{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:1px;margin-top:10px;}
.doll-wt .doll-wname{margin-top:0;max-width:100%;}
.doll-wsub{font-size:9.5px;color:#c9b99c;}
.doll-wt .doll-so{margin-top:2px;justify-content:flex-start;}
.eq-pow{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.eq-pow-l{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.eq-pow-n{font-family:var(--font-display);font-weight:800;font-size:28px;line-height:1.05;color:var(--gold-bright);font-variant-numeric:tabular-nums;}
.eq-pow-up{margin-left:auto;text-align:right;font-size:12px;line-height:1.35;}
.eq-pow-up b{color:#6fc24a;}
.eq-pow-up small{display:block;color:var(--muted);font-size:11px;}
.eq-pp{margin-bottom:12px;}
.eq-pp-rows{margin-top:6px;display:flex;flex-direction:column;}
.eq-prow{display:grid;grid-template-columns:24px 74px 1fr 46px;align-items:center;gap:8px;width:100%;padding:5px 6px 5px 2px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;}
.eq-prow:active{transform:scale(.98);}
.eq-prow .ic{width:24px;height:24px;display:grid;place-items:center;font-size:18px;}
.eq-prow .ic .nx-ic{width:24px;height:24px;}
.eq-prow .sn{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eq-prow .bar{position:relative;height:8px;border-radius:5px;background:rgba(128,110,80,.22);}
.eq-prow .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--rc);}
.eq-prow .bar u{position:absolute;top:0;bottom:0;border-radius:0 5px 5px 0;background:repeating-linear-gradient(45deg,rgba(111,194,74,.75) 0 3px,rgba(111,194,74,.25) 3px 6px);}
.eq-prow .v{text-align:right;font-weight:800;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.2;}
.eq-prow .v small{display:block;font-size:10px;color:#6fc24a;}
.eq-prow.weak{background:rgba(224,72,90,.08);outline:1px dashed rgba(224,72,90,.55);outline-offset:1px;}
.eq-pp-leg{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.eq-pp-leg u{display:inline-block;width:14px;height:7px;border-radius:3px;margin-right:4px;background:repeating-linear-gradient(45deg,rgba(111,194,74,.75) 0 3px,rgba(111,194,74,.25) 3px 6px);}
.eq-pp-leg s{display:inline-block;width:14px;height:9px;margin-right:4px;vertical-align:-1px;border:1px dashed rgba(224,72,90,.7);border-radius:3px;}
.eq-sets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;}
.eq-set{display:flex;flex-direction:column;gap:6px;min-width:0;padding:9px;border-radius:12px;border:1px solid rgba(128,110,80,.35);background:rgba(0,0,0,.18);}
.eq-set.has{border-color:rgba(95,160,95,.6);}
.eq-set.on{border-color:#5FA05F;box-shadow:0 0 10px rgba(95,160,95,.35);}
.eq-set-h{display:flex;align-items:center;gap:7px;}
.eq-set-h .ic{width:30px;height:30px;flex:none;display:grid;place-items:center;font-size:22px;}
.eq-set-h .ic .nx-ic{width:30px;height:30px;}
.eq-set-h b{font-family:var(--font-display);font-size:12px;line-height:1.2;min-width:0;}
.eq-set-h small{display:block;font-family:inherit;font-size:10px;font-weight:600;color:var(--muted);}
.eq-pips{display:flex;gap:3px;}
.eq-pips i{flex:1;height:5px;border-radius:3px;background:rgba(128,110,80,.25);}
.eq-pips i.on{background:#5FA05F;box-shadow:0 0 5px #5FA05F;}
.eq-pips i.bag{background:repeating-linear-gradient(45deg,rgba(95,160,95,.75) 0 3px,rgba(95,160,95,.25) 3px 6px);}
.eq-set-bag{font-size:10.5px;font-weight:700;color:#4f9a4f;}
.eq-set ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.eq-set li{font-size:10.5px;line-height:1.3;color:var(--muted);opacity:.85;}
.eq-set li b{margin-right:3px;}
.eq-set li.on{color:#5FA05F;opacity:1;font-weight:700;}
.eq-alts{display:flex;flex-direction:column;gap:6px;}
.eq-alt{cursor:pointer;border-left:3px solid var(--rc);}
.eq-alt .item-mid{min-width:0;}
.eq-alt .item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eq-alt-d{font-size:11.5px;font-weight:800;white-space:nowrap;}
.eq-alt-d.up{color:#6fc24a;} .eq-alt-d.down{color:#e0485a;} .eq-alt-d.eq{color:var(--muted);}
body.fx-off .doll-bt,body.fx-off .doll-slot.shine{animation:none!important;}
@media (prefers-reduced-motion:reduce){.doll-bt,.doll-slot.shine{animation:none;}}
@media (max-width:360px){.doll-slot:not(.wide):not(.talis){height:82px;}.eq-prow{grid-template-columns:22px 62px 1fr 42px;gap:6px;}}
body .doll.has-art .doll-name{color:#f6dc85;}
body .doll.has-art .doll-stats b,body .doll.has-art .doll-stats .st-def{color:#f3e7cf;}
body .doll.has-art .doll-up{color:#f6dc85;}
body .doll.has-art .doll-lbl{color:#c9b99c;}
body .doll.has-art .doll-slot.talis:not(.filled),body .doll.has-art .doll-slot:not(.filled){background:radial-gradient(circle at 50% 35%,rgba(35,27,17,.85),rgba(13,10,7,.9) 80%);}
body.ui-pergaminho .doll.has-art .doll-stats .st-def{color:#ECE6D8 !important;}

/* v213: Feitiços — mesa com os pergaminhos, grelha de peças, força dos bónus, animações */
.ft-desk{position:relative;aspect-ratio:16/9;max-width:100%;margin-bottom:8px;border-radius:14px;overflow:hidden;border:1px solid #4a3a5a;background:radial-gradient(ellipse at 50% 40%,rgba(180,140,255,.3),transparent 55%),#1a1222;box-shadow:inset 0 0 40px rgba(0,0,0,.7);}
.ft-desk.has-art{background:linear-gradient(180deg,rgba(10,7,5,0) 45%,rgba(10,7,5,.75)),var(--ft-art) center/cover no-repeat,#1a1222;}
.ft-scrolls{position:absolute;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.ft-sc{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 7px;border-radius:10px;background:rgba(12,8,6,.8);border:1px solid rgba(228,191,74,.4);color:#f3e7cf;}
.ft-sc .ic{width:24px;height:24px;flex:none;display:grid;place-items:center;font-size:18px;}
.ft-sc .ic .nx-ic{width:24px;height:24px;}
.ft-sc b{display:block;font-family:var(--font-display);font-size:16px;line-height:1;color:#f6dc85;}
.ft-sc small{display:block;font-size:9px;font-weight:700;line-height:1.15;color:#b8a888;white-space:nowrap;}
.ft-sc.plus{border-color:rgba(255,241,168,.75);box-shadow:0 0 10px rgba(255,241,168,.25);}
.ft-sc.plus b{color:#fff1a8;}
.ft-free{text-align:center;font-size:12px;color:var(--muted);margin:0 0 8px;}
.ft-free b{color:var(--gold-bright);}
.ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;}
.ft-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 4px 7px;border-radius:12px;cursor:pointer;font:inherit;color:#f3e7cf;border:1.5px solid var(--rc);background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--rc) 28%,#120d08),#0d0a07 80%);}
.ft-tile:active{transform:scale(.96);}
.ft-tile.sel{box-shadow:0 0 0 2px #f6dc85,0 0 16px rgba(246,220,133,.4);}
.ft-tile .ic{width:38px;height:38px;display:grid;place-items:center;font-size:28px;}
.ft-tile .ic .nx-ic{width:38px;height:38px;}
.ft-tile .nm{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#c9b99c;}
.ft-tile .socks{display:flex;gap:4px;align-items:center;}
.ft-tile .sk{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;line-height:1;border:1px dashed rgba(180,140,255,.6);background:rgba(20,12,30,.7);}
.ft-tile .sk.on{border:1.5px solid var(--qc);background:rgba(0,0,0,.45);box-shadow:0 0 6px var(--qc);}
.ft-tile .sk.pl{border-color:rgba(255,241,168,.6);background:rgba(40,34,8,.7);}
.ft-tile .sk.pl.on{border:1.5px solid #fff1a8;box-shadow:0 0 6px #fff1a8;}
.ft-panel{display:flex;flex-direction:column;gap:10px;}
.ft-ph{display:flex;align-items:center;gap:10px;}
.ft-ph .ic{width:44px;height:44px;flex:none;display:grid;place-items:center;font-size:32px;}
.ft-ph .ic .nx-ic{width:44px;height:44px;}
.ft-ph b{display:block;font-size:14px;}
.ft-lab{display:flex;justify-content:space-between;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.ft-bon{display:flex;flex-direction:column;gap:7px;}
.ft-b{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:#1c1611;border:1px solid #3a2e20;color:#f3e7cf;}
.ft-b .t{min-width:0;}
.ft-b .t b{display:block;font-size:13px;color:#f6dc85;}
.ft-b.pl{border-color:rgba(255,241,168,.5);background:linear-gradient(90deg,rgba(255,241,168,.08),transparent),#1c1611;}
.ft-b.pl .t b{color:#fff1a8;}
.ft-b .qbar{position:relative;height:6px;margin-top:5px;border-radius:4px;background:rgba(255,255,255,.1);}
.ft-b .qbar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--qc);}
.ft-b .qr{display:flex;justify-content:space-between;margin-top:3px;font-size:10px;color:#a8987f;}
.ft-b .q{font-size:10.5px;font-weight:800;white-space:nowrap;padding:2px 7px;border-radius:99px;color:#140d08;background:var(--qc);}
.ft-b.empty{display:block;border-style:dashed;font-size:12px;color:#a8987f;}
.ft-b.empty.pl{border-color:rgba(255,241,168,.45);}
.ft-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.ft-acts .btn small{font-weight:800;opacity:.8;margin-left:2px;}
.ft-hint{margin:-2px 0 0;}
.ft-pool{border-top:1px solid var(--line-soft);padding-top:8px;}
.ft-pool summary{cursor:pointer;font-size:12.5px;font-weight:700;color:#b48cff;}
body.ui-pergaminho .ft-pool summary{color:#6a3fa8;}
.ft-pl{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin-top:8px;font-size:11.5px;}
.ft-pl span:nth-child(even){color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;}
.ft-pl .has{color:var(--muted);text-decoration:line-through;}
.ft-fx{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));background:rgba(6,3,12,.9);backdrop-filter:blur(2px);text-align:center;color:#f3e7cf;}
.ft-fx h4,.ft-fx-t{margin:0;font-family:var(--font-display);font-size:19px;font-weight:800;color:#f6dc85;}
.ft-circle{position:relative;width:150px;height:150px;}
.ft-circle .r1,.ft-circle .r2{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(180,140,255,.75);box-shadow:0 0 22px rgba(180,140,255,.6),inset 0 0 22px rgba(180,140,255,.35);animation:ftSpin 3s linear infinite;}
.ft-circle .r2{inset:18px;border-style:dashed;animation-direction:reverse;animation-duration:2s;}
.ft-fx.plus .ft-circle .r1,.ft-fx.plus .ft-circle .r2{border-color:rgba(255,241,168,.85);box-shadow:0 0 22px rgba(255,241,168,.6);}
.ft-circle .ic{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;display:grid;place-items:center;font-size:44px;animation:ftPulse 1s ease-in-out infinite;}
.ft-circle .ic .nx-ic{width:64px;height:64px;}
@keyframes ftSpin{to{transform:rotate(360deg);}}
@keyframes ftPulse{50%{transform:scale(1.12);filter:drop-shadow(0 0 12px #b48cff);}}
.ft-reel{position:relative;width:min(320px,100%);height:44px;overflow:hidden;border-radius:10px;border:1px solid #6a5226;background:#1c1611;}
.ft-reel .strip div{height:44px;line-height:44px;font-size:13px;font-weight:700;color:#f6dc85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;}
.ft-reel::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(28,22,17,.9),transparent 30%,transparent 70%,rgba(28,22,17,.9));}
.ft-fx-box{width:min(340px,100%);display:flex;flex-direction:column;gap:8px;text-align:left;animation:ftIn .45s cubic-bezier(.3,1.5,.5,1) both;}
.ft-fx-box h4{text-align:center;}
.ft-fx-box > .tiny{text-align:center;}
.ft-fx-lb{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a8987f;text-align:center;}
.ft-fx-old{font-size:12px;opacity:.6;text-decoration:line-through;text-align:center;}
.ft-fx-res{display:flex;flex-direction:column;gap:6px;}
.ft-fx-box .btn{margin-top:6px;}
@keyframes ftIn{from{opacity:0;transform:scale(.7);}}
@media (prefers-reduced-motion:reduce){.ft-circle .r1,.ft-circle .r2,.ft-circle .ic,.ft-fx-box{animation:none;}}
@media (max-width:370px){.ft-sc small{display:none;}.ft-scrolls{gap:4px;}}
.ft-sc{gap:4px;padding:6px 5px;}
.ft-sc small{font-size:8.5px;overflow:hidden;text-overflow:ellipsis;}
.ft-sc > span:last-child{min-width:0;}
.ft-sc b i{font-style:normal;font-family:var(--font-body,inherit);font-size:10px;margin-left:3px;vertical-align:2px;}

/* v214: Passivas — constelação, ícones nos nós, caminho planeado, ramos, resumo */
.pv-tree.has-art{border-color:#3e3256;background:linear-gradient(rgba(6,5,12,.15),rgba(6,5,12,.15)),var(--pv-art) center/cover no-repeat,#0a0812;}
.pv-tree.has-art .pv-link{background:rgba(200,190,255,.16);}
.pv-tree.has-art .pv-link.reach{background:rgba(228,191,74,.5);}
.pv-tree .pv-link.on{background:#f6dc85;box-shadow:0 0 8px rgba(246,220,133,.75);}
.pv-tree .pv-link.plan{height:3px;background:repeating-linear-gradient(90deg,#fff 0 5px,transparent 5px 10px);box-shadow:0 0 6px rgba(255,255,255,.6);animation:pvPlan 1s linear infinite;background-size:20px 3px;}
@keyframes pvPlan{to{background-position:20px 0;}}
.pv-zone{width:auto;padding:2px 7px;border-radius:99px;border:1px solid currentColor;background:rgba(8,6,12,.72);z-index:3;pointer-events:none;}
.pv-node span{display:grid;place-items:center;line-height:1;}
.pv-tree.has-art .pv-node span{border-color:rgba(200,190,255,.35);background:radial-gradient(circle at 35% 30%,#2a2440,#0c0a14);}
.pv-node span em{font-style:normal;font-size:12px;filter:grayscale(.75) brightness(.8);opacity:.75;}
.pv-node.pv-notable span em{font-size:15px;}
.pv-node.pv-key span em{font-size:17px;transform:rotate(-45deg);}
.pv-node.pv-start span em{font-size:17px;filter:none;opacity:1;}
.pv-tree .pv-node.avail span{border-color:var(--pv);box-shadow:0 0 10px color-mix(in srgb,var(--pv) 60%,transparent);animation:pvAvail 1.8s ease-in-out infinite;}
@keyframes pvAvail{50%{box-shadow:0 0 16px var(--pv);}}
.pv-node.avail span em,.pv-node.on span em,.pv-node.plan span em{filter:none;opacity:1;}
.pv-tree .pv-node.on span{border-color:#fbe7a1;background:radial-gradient(circle at 35% 30%,#fff3c0,var(--pv) 50%,#1a1008);box-shadow:0 0 14px var(--pv);}
.pv-tree .pv-node.pv-start span{border-color:#fbe7a1;background:radial-gradient(circle at 35% 30%,#fff3c0,#c9a227 50%,#3a2406);box-shadow:0 0 18px rgba(246,220,133,.7);}
.pv-tree .pv-node.plan span{border-color:#fff;border-style:dashed;box-shadow:0 0 12px rgba(255,255,255,.6);}
.pv-node.pop span{animation:pvPop .6s cubic-bezier(.3,1.6,.5,1);}
.pv-node.pv-key.pop span{animation:pvPopK .6s cubic-bezier(.3,1.6,.5,1);}
@keyframes pvPop{0%{transform:scale(.4);}100%{transform:scale(1);}}
@keyframes pvPopK{0%{transform:rotate(45deg) scale(.4);}100%{transform:rotate(45deg) scale(1);}}
.pv-burst{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2px solid var(--pv);pointer-events:none;z-index:4;animation:pvBurst .7s ease-out forwards;}
@keyframes pvBurst{to{transform:scale(5);opacity:0;}}
.pv-top{display:flex;align-items:center;gap:10px;}
.pv-pts{display:flex;align-items:center;gap:6px;}
.pv-pts b{font-family:var(--font-display);font-weight:800;font-size:28px;line-height:1;color:var(--gold-bright);}
.pv-pts span{font-size:11px;font-weight:700;line-height:1.2;color:var(--muted);}
.pv-brs{margin-left:auto;display:flex;gap:5px;}
.pv-br{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:52px;padding:5px 5px;border-radius:9px;background:rgba(0,0,0,.25);border:1px solid color-mix(in srgb,var(--c) 50%,transparent);}
.pv-br small{font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--c);}
body.ui-pergaminho .pv-br{background:rgba(40,26,14,.85);}
.pv-br b{font-size:11.5px;font-variant-numeric:tabular-nums;}
body.ui-pergaminho .pv-br b{color:#f3e7cf;}
.pv-br i{display:block;width:100%;height:3px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden;}
.pv-br i u{display:block;height:100%;background:var(--c);}
.pv-ic{width:40px;height:40px;flex:none;display:grid;place-items:center;font-size:20px;border-radius:50%;border:2px solid var(--pv);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--pv) 40%,#1a1420),#0c0a14);}
.pv-ic.key{border-radius:9px;}
.pv-fxs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.pv-fx{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:99px;border:1px solid var(--line-soft);background:rgba(128,110,80,.08);}
.pv-fx.neg{color:#e0485a;border-color:rgba(224,72,90,.45);}
.pv-path{margin-top:10px;padding:9px 10px;border-radius:10px;border:1px dashed rgba(160,140,110,.6);background:rgba(128,110,80,.06);}
.pv-path-h{display:flex;justify-content:space-between;font-size:12px;font-weight:700;}
.pv-path-h b{color:var(--gold-bright);}
.pv-path ol{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.55;color:var(--muted);}
.pv-path ol b{color:var(--text,#eadfc8);font-weight:600;}
body.ui-pergaminho .pv-path ol b{color:#3A2814;}
.pv-path-g{margin-top:6px;font-size:11.5px;color:#6fae58;}
.pv-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;}
.pv-chip{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:7px 4px;border-radius:10px;text-align:center;background:rgba(0,0,0,.22);border:1px solid var(--line-soft);}
.pv-chip .e{font-size:17px;line-height:1.1;}
.pv-chip b{font-size:14px;color:var(--gold-bright);font-variant-numeric:tabular-nums;}
.pv-chip b.neg{color:#e0485a;}
.pv-chip small{font-size:9.5px;line-height:1.2;color:var(--muted);}
.pv-keys{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.pv-keys span{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:8px;border:1px solid rgba(228,191,74,.55);background:linear-gradient(90deg,rgba(228,191,74,.15),transparent);color:var(--gold-bright);}
body.fx-off .pv-node.avail span,body.fx-off .pv-link.plan,body.fx-off .pv-node.pop span,body.fx-off .pv-burst{animation:none!important;}
@media (prefers-reduced-motion:reduce){.pv-node.avail span,.pv-link.plan,.pv-node.pop span,.pv-burst{animation:none;}}
@media (max-width:370px){.pv-br{min-width:44px;}.pv-br small{font-size:7.5px;}.pv-pts b{font-size:24px;}}

/* v215: Habilidades — salão de treino, lugar da Mestra, cartas com a escada I–V, tabela de níveis */
.ab-hall{position:relative;aspect-ratio:16/9;max-width:100%;margin-bottom:10px;border-radius:14px;overflow:hidden;border:1px solid #5a4424;background:radial-gradient(ellipse at 50% 35%,rgba(255,180,90,.25),transparent 55%),#221b14;box-shadow:inset 0 0 40px rgba(0,0,0,.7);}
.ab-hall.has-art{background:linear-gradient(180deg,rgba(10,7,5,0) 45%,rgba(10,7,5,.75)),var(--ab-art) center/cover no-repeat,#221b14;}
.ab-hall-bar{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:8px;align-items:stretch;}
.ab-books{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:11px;background:rgba(12,8,6,.82);border:1px solid rgba(228,191,74,.45);color:#f3e7cf;}
.ab-books .ic{width:32px;height:32px;display:grid;place-items:center;font-size:24px;}
.ab-books .ic .nx-ic{width:32px;height:32px;}
.ab-books b{display:block;font-family:var(--font-display);font-size:22px;line-height:1;color:#f6dc85;}
.ab-books small{font-size:10px;font-weight:700;color:#b8a888;}
.ab-need{flex:1;min-width:0;display:flex;align-items:center;padding:7px 10px;border-radius:11px;background:rgba(12,8,6,.82);border:1px solid rgba(255,255,255,.1);font-size:11px;line-height:1.4;color:#c9b99c;}
.ab-need p{margin:0;} .ab-need b{color:#f3e7cf;} .ab-need span{display:block;}
.ab-master{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;border-radius:14px;border:1px dashed rgba(201,162,39,.65);background:linear-gradient(90deg,rgba(246,220,133,.1),transparent);}
.ab-master .crown{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:22px;border:2px solid #e4bf4a;background:radial-gradient(circle,rgba(246,220,133,.25),rgba(0,0,0,.3));}
.ab-master .crown .nx-ic{width:30px;height:30px;}
.ab-master b{display:block;font-family:var(--font-display);font-size:14px;color:var(--gold-bright);}
.ab-master span{font-size:11.5px;line-height:1.35;color:var(--muted);}
.ab-master.has{border-style:solid;box-shadow:0 0 16px rgba(246,220,133,.25);}
.ab-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
.ab-card{position:relative;padding:11px 12px;border-radius:14px;cursor:pointer;color:#f3e7cf;border:1px solid color-mix(in srgb,var(--cc) 45%,#33281c);background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 12%,#15110d),#15110d);}
.ab-card.mst{box-shadow:0 0 16px rgba(246,220,133,.3);}
.ab-ch{display:flex;align-items:center;gap:11px;}
.ab-art{position:relative;width:56px;height:56px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:32px;border:1.5px solid color-mix(in srgb,var(--cc) 70%,transparent);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--cc) 35%,#1a120b),#0d0a07 80%);}
.ab-art > .nx-k .nx-ic,.ab-art > .nx-ic{width:44px;height:44px;}
.ab-art i .nx-ic,.ab-art i img{width:11px !important;height:11px !important;vertical-align:-1px;margin:0 0 0 1px;}
.ab-art i{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-style:normal;font-size:10px;font-weight:800;white-space:nowrap;padding:0 6px;border-radius:99px;background:#140d08;border:1px solid #e4bf4a;color:#f6dc85;}
.ab-t{flex:1;min-width:0;}
.ab-t b{display:block;font-family:var(--font-display);font-size:15px;color:#f3e7cf;}
.ab-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px;}
.ab-tags span{font-size:10px;font-weight:700;padding:1px 7px;border-radius:99px;border:1px solid #3a2e20;color:#a8987f;}
.ab-tags span.cl{color:var(--cc);border-color:color-mix(in srgb,var(--cc) 55%,transparent);}
.ab-tags span.el{color:var(--ec);border-color:color-mix(in srgb,var(--ec) 55%,transparent);}
.ab-chev{font-size:11px;color:#a8987f;}
.ab-desc{margin:8px 0 0;color:#a8987f !important;}
.ab-now{margin:3px 0 0;font-size:12.5px;line-height:1.4;}
.ab-now b{color:#f6dc85;}
.ab-ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:9px;}
.ab-rg{position:relative;height:26px;border-radius:7px;display:grid;place-items:center;font-family:var(--font-display);font-size:11px;font-weight:800;color:#6a5a40;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.ab-rg.on{color:#140d08;background:linear-gradient(180deg,#f6dc85,#c79a22);border-color:#f6dc85;}
.ab-rg.next{border:1px dashed #e4bf4a;color:#f6dc85;}
.ab-rg.v{border-color:rgba(246,220,133,.35);}
.ab-rg.v.on{background:linear-gradient(180deg,#fff3b8,#e4bf4a);box-shadow:0 0 10px rgba(246,220,133,.6);}
.ab-rg small{position:absolute;bottom:-14px;font-family:var(--font-body,inherit);font-size:9px;font-weight:700;color:#a8987f;}
.ab-rg.pop{animation:abPop .5s cubic-bezier(.3,1.6,.5,1);}
@keyframes abPop{0%{transform:scale(.4);}100%{transform:scale(1);}}
.ab-card.flash{animation:abFlash .9s ease-out;}
@keyframes abFlash{0%{box-shadow:0 0 0 0 rgba(246,220,133,.9);}100%{box-shadow:0 0 0 18px rgba(246,220,133,0);}}
.ab-foot{display:flex;align-items:center;gap:8px;margin-top:18px;}
.ab-foot .btn{margin-left:auto;white-space:nowrap;}
.ab-prog{flex:1;min-width:0;font-size:11px;color:#a8987f;}
.ab-prog b{color:#f3e7cf;}
.ab-pb{height:5px;margin-top:4px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;}
.ab-pb i{display:block;height:100%;background:linear-gradient(90deg,#8a6a20,#f6dc85);}
.ab-state{margin-left:auto;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:99px;border:1px solid #3a2e20;color:#a8987f;white-space:nowrap;}
.ab-state.gold{border-color:#e4bf4a;color:#f6dc85;}
.ab-tbl{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid #33281c;}
.ab-tr{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:5px 7px;border-radius:8px;font-size:12px;color:#cdbb9a;}
.ab-tr .n{font-family:var(--font-display);font-size:12px;font-weight:800;text-align:center;color:#a8987f;}
.ab-tr .c{font-size:10.5px;color:#a8987f;white-space:nowrap;}
.ab-tr.on .n{color:#f6dc85;}
.ab-tr.cur{background:rgba(246,220,133,.1);outline:1px solid rgba(246,220,133,.35);}
.ab-tr.cur .d{color:#f6dc85;font-weight:700;}
.ab-tr.lock{opacity:.5;}
body.fx-off .ab-rg.pop,body.fx-off .ab-card.flash{animation:none!important;}
@media (prefers-reduced-motion:reduce){.ab-rg.pop,.ab-card.flash{animation:none;}}
.ab-rg small{white-space:nowrap;font-size:8.5px;}

/* v217: Mascotes — estábulo, as tuas, coleção, ficha */
.pt-stable{position:relative;border-radius:16px;overflow:hidden;border:1px solid #5a4424;background:radial-gradient(ellipse at 50% 70%,rgba(255,190,110,.25),transparent 55%),#22170e;box-shadow:inset 0 0 40px rgba(0,0,0,.7);color:#f3e7cf;}
.pt-stable.has-art{background:var(--pt-art) center/cover no-repeat,#22170e;}
.pt-act{position:relative;display:flex;align-items:flex-end;gap:12px;padding:56px 12px 12px;background:linear-gradient(180deg,transparent,rgba(10,7,5,.85) 62%);}
.pt-big{position:relative;width:112px;height:112px;flex:none;display:grid;place-items:center;font-size:72px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.8));}
.pt-big > .nx-k .nx-ic,.pt-big > .nx-ic{width:112px;height:112px;}
.pt-big .ring{position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(#f6dc85 calc(var(--p)*1%),rgba(255,255,255,.12) 0);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%);mask:radial-gradient(circle,transparent 62%,#000 63%);}
.pt-big .lv{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:11px;font-weight:800;white-space:nowrap;padding:1px 8px;border-radius:99px;background:#140d08;border:1px solid #e4bf4a;color:#f6dc85;}
.pt-big.fed .lv{animation:ptBump .5s cubic-bezier(.3,1.6,.5,1);}
@keyframes ptBump{0%{transform:translateX(-50%) scale(1.6);}100%{transform:translateX(-50%) scale(1);}}
.pt-heart{position:absolute;font-style:normal;font-size:16px;pointer-events:none;z-index:3;animation:ptHeart 1s ease-out forwards;}
@keyframes ptHeart{to{transform:translateY(-60px) scale(1.3);opacity:0;}}
.pt-info{flex:1;min-width:0;}
.pt-info small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8ee06a;}
.pt-info b{display:block;font-family:var(--font-display);font-size:19px;line-height:1.15;color:#f6dc85;}
.pt-info .role{font-size:11.5px;color:#c9b99c;}
.pt-grow{margin-top:7px;font-size:10.5px;color:#c9b99c;}
.pt-grow b{color:#f3e7cf;}
.pt-grow .gb{position:relative;height:6px;margin-top:4px;border-radius:4px;background:rgba(255,255,255,.12);}
.pt-grow .gb i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#c79a22,#f6dc85);}
.pt-grow .gb s{position:absolute;top:-3px;left:28%;width:2px;height:12px;background:#fff;}
.pt-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;}
.pt-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(0,0,0,.45);border:1px solid color-mix(in srgb,var(--c) 55%,transparent);color:var(--c);}
.pt-feed{display:flex;gap:8px;padding:0 12px 12px;background:rgba(10,7,5,.85);}
.pt-feed .btn{flex:1;}
.pt-empty{padding:70px 14px 16px;text-align:center;background:linear-gradient(180deg,transparent,rgba(10,7,5,.85) 45%);}
.pt-empty b{display:block;font-family:var(--font-display);font-size:15px;color:#f6dc85;}
.pt-empty span{font-size:12px;color:#c9b99c;}
.pt-grown{position:absolute;inset:0;z-index:4;display:grid;place-items:center;text-align:center;background:rgba(10,7,5,.75);animation:ptGrown 2.2s ease forwards;pointer-events:none;}
.pt-grown b{display:block;font-family:var(--font-display);font-size:20px;color:#f6dc85;}
.pt-grown span{font-size:12px;color:#c9b99c;}
@keyframes ptGrown{0%{opacity:0;}10%{opacity:1;}80%{opacity:1;}100%{opacity:0;}}
.pt-mine{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;}
.pt-mp{position:relative;flex:none;width:92px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;border-radius:12px;cursor:pointer;font:inherit;color:#f3e7cf;background:#15110d;border:1px solid #33281c;}
.pt-mp.on{border-color:#8ee06a;box-shadow:0 0 10px rgba(142,224,106,.3);}
.pt-mp.sel{outline:2px solid #f6dc85;outline-offset:1px;}
.pt-mp .ic{width:48px;height:48px;display:grid;place-items:center;font-size:34px;}
.pt-mp .ic .nx-ic{width:48px;height:48px;}
.pt-mp b{font-size:11.5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pt-mp small{font-size:10px;color:#a8987f;}
.pt-mp .st{position:absolute;top:4px;right:5px;font-size:9px;font-weight:800;color:#8ee06a;}
.pt-coll{margin-bottom:12px;}
.pt-cbar{height:5px;margin-top:6px;border-radius:3px;background:rgba(128,110,80,.25);overflow:hidden;}
.pt-cbar i{display:block;height:100%;background:linear-gradient(90deg,#8a6a20,#f6dc85);}
.pt-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:9px;}
.pt-cp{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:3px;border-radius:10px;cursor:pointer;font-size:22px;background:#15110d;border:1px solid #33281c;}
.pt-cp .nx-ic{width:100%;height:100%;}
.pt-cp.no .nx-ic,.pt-cp.no .nx-k{filter:brightness(0) opacity(.5);}
.pt-cp.no::after{content:"?";position:absolute;font-family:var(--font-display);font-size:15px;font-weight:800;color:#6a5a40;}
.pt-cp.has{border-color:rgba(228,191,74,.55);background:radial-gradient(circle,rgba(228,191,74,.14),#15110d 70%),#15110d;}
.pt-cp.sel{outline:2px solid #f6dc85;outline-offset:1px;}
.pt-fh{display:flex;align-items:center;gap:10px;}
.pt-fh .ic{width:52px;height:52px;flex:none;display:grid;place-items:center;font-size:36px;}
.pt-fh .ic .nx-ic{width:52px;height:52px;}
.pt-fh .ic.dark .nx-ic,.pt-fh .ic.dark .nx-k{filter:brightness(0) opacity(.5);}
.pt-fh b{display:block;font-family:var(--font-display);font-size:16px;}
.pt-fh small{font-size:11px;color:var(--muted);}
.pt-fh .stt{margin-left:auto;font-size:11px;font-weight:800;white-space:nowrap;padding:3px 9px;border-radius:99px;border:1px solid var(--line-soft);color:var(--muted);}
.pt-fh .stt.on{color:#4f9a4f;border-color:#6fc24a;}
.pt-src{margin-top:9px;padding:8px 10px;border-radius:10px;font-size:12px;line-height:1.45;border:1px dashed rgba(160,140,110,.55);background:rgba(128,110,80,.06);}
.pt-src b{color:var(--gold-bright);}
.pt-bars{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
.pt-br{display:grid;grid-template-columns:62px 1fr 74px;gap:8px;align-items:center;font-size:11.5px;}
.pt-br span{color:var(--muted);}
.pt-br .t{position:relative;height:8px;border-radius:5px;background:rgba(128,110,80,.2);overflow:hidden;}
.pt-br .t i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--c);opacity:.35;}
.pt-br .t u{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--c);}
.pt-br b{text-align:right;font-variant-numeric:tabular-nums;}
.pt-br b small{color:var(--muted);font-weight:600;}
body.fx-off .pt-heart,body.fx-off .pt-big.fed .lv{animation:none!important;display:none;}

/* v217: Perfil — Sala de Honra, equipamento, origem do poder, stats compactos, carreira */
.pf-hall{position:relative;margin-bottom:12px;border-radius:16px;overflow:hidden;border:1px solid #6a4f28;background:radial-gradient(ellipse at 28% 45%,rgba(255,200,110,.3),transparent 45%),#221b14;box-shadow:inset 0 0 40px rgba(0,0,0,.7);color:#f3e7cf;}
.pf-hall.has-art{background:var(--pf-art) center/cover no-repeat,#221b14;}
.pf-in{position:relative;display:flex;gap:12px;align-items:flex-end;padding:34px 12px 12px;background:linear-gradient(180deg,transparent 15%,rgba(10,7,5,.88));}
.pf-por{position:relative;width:112px;flex:none;}
.pf-por .frame{width:112px;height:134px;border-radius:12px;overflow:hidden;border:2px solid #d6822e;box-shadow:0 0 20px rgba(214,130,46,.5),0 8px 16px rgba(0,0,0,.8);background:#140d08;display:grid;place-items:center;font-size:60px;}
.pf-por .frame img{width:100%;height:100%;object-fit:cover;}
.pf-por .lv{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);font-family:var(--font-display);font-size:12px;font-weight:800;white-space:nowrap;padding:1px 9px;border-radius:99px;background:#140d08;border:1px solid #e4bf4a;color:#f6dc85;}
.pf-hi{flex:1;min-width:0;}
.pf-hi b.n{display:block;font-family:var(--font-display);font-size:21px;font-weight:800;line-height:1.1;color:#f6dc85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pf-hi .cl{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;font-size:12px;color:#c9b99c;}
.pf-hi .cl .nx-ic{width:18px;height:18px;}
.pf-pow{display:flex;align-items:baseline;gap:6px;margin-top:8px;}
.pf-pow small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a8987f;}
.pf-pow b{font-family:var(--font-display);font-size:24px;font-weight:800;color:#f6dc85;font-variant-numeric:tabular-nums;}
.pf-vb{display:flex;justify-content:space-between;margin-top:6px;font-size:10.5px;color:#c9b99c;}
.pf-vb b{color:#f3e7cf;font-variant-numeric:tabular-nums;}
.pf-bar{display:flex;height:6px;margin-top:3px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden;}
.pf-bar i{display:block;height:100%;}
.pf-bar.hp i{background:linear-gradient(90deg,#8a1d2a,#e0485a);}
.pf-bar.xp i{background:linear-gradient(90deg,#8a6a20,#f6dc85);}
.pf-quick{display:flex;gap:1px;background:rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.06);}
.pf-quick > div{flex:1;min-width:0;padding:7px 2px;text-align:center;background:rgba(10,7,5,.9);}
.pf-quick b{display:block;font-size:12px;white-space:nowrap;color:#f3e7cf;font-variant-numeric:tabular-nums;}
body.ui-pergaminho .pf-quick b.st-def{color:#f3e7cf !important;}
.pf-quick small{font-size:9.5px;color:#a8987f;}
.pf-eq{cursor:pointer;margin-bottom:12px;}
.pf-eqrow{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-top:9px;}
.pf-eqs{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:3px;border-radius:8px;font-size:18px;border:1.5px solid var(--rc);background:radial-gradient(circle,color-mix(in srgb,var(--rc) 28%,#120d08),#0d0a07 80%);}
.pf-eqs .nx-ic{width:100%;height:100%;}
.pf-eqs.empty{border:1px dashed #4a3a22;background:#0d0a07;opacity:.5;}
.pf-eqs i{position:absolute;top:-4px;right:-3px;font-style:normal;font-size:8.5px;font-weight:800;color:#f6dc85;text-shadow:0 1px 2px #000;}
.pf-srcc{margin-bottom:12px;}
.pf-src-l{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:10.5px;color:var(--muted);}
.pf-src-l span::before{content:"";display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:3px;vertical-align:-1px;background:var(--c);}
.pf-srow{margin-top:10px;}
.pf-srow .h{display:flex;justify-content:space-between;font-size:12px;}
.pf-srow .h b{font-variant-numeric:tabular-nums;}
.pf-stack{display:flex;height:12px;margin-top:4px;border-radius:6px;overflow:hidden;background:rgba(128,110,80,.2);}
.pf-stack i{display:block;height:100%;background:var(--c);border-right:1px solid rgba(0,0,0,.35);}
.pf-srow .d{margin-top:3px;font-size:10.5px;color:var(--muted);}
.pf-tips{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
.pf-tip{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;font-size:12px;border:1px dashed rgba(111,194,74,.5);background:rgba(111,194,74,.07);}
.pf-tip b{color:#4f9a4f;}
body:not(.ui-pergaminho) .pf-tip b{color:#8ee06a;}
.pf-tip .btn{margin-left:auto;white-space:nowrap;}
.pf-stats{margin-bottom:12px;}
.pf-sgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px;}
.pf-sc{min-width:0;padding:7px 8px;border-radius:9px;background:rgba(0,0,0,.22);border:1px solid var(--line-soft);cursor:pointer;}
.pf-sc .t{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--muted);}
.pf-sc .t span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pf-sc .t b{font-size:12px;color:var(--c);white-space:nowrap;font-variant-numeric:tabular-nums;}
.pf-sc .mb{height:4px;margin-top:5px;border-radius:2px;background:rgba(128,110,80,.22);overflow:hidden;}
.pf-sc .mb i{display:block;height:100%;background:var(--c);}
.pf-sc .cap{margin-top:2px;font-size:9px;color:var(--muted);opacity:.8;}
.pf-sc.zero{opacity:.55;}
.pf-res{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px;}
.pf-rs{text-align:center;padding:7px 4px;border-radius:9px;background:rgba(0,0,0,.22);border:1px solid var(--line-soft);}
.pf-rs .e{font-size:16px;} .pf-rs .e .nx-ic{width:20px;height:20px;}
.pf-rs b{display:block;font-size:14px;font-variant-numeric:tabular-nums;}
.pf-rs small{font-size:9.5px;color:var(--muted);}
.pf-rs .mb{height:4px;margin-top:4px;border-radius:2px;background:rgba(128,110,80,.22);overflow:hidden;}
.pf-rs .mb i{display:block;height:100%;background:var(--c);}
.pf-career{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px;}
.pf-career > div{text-align:center;padding:9px 4px;border-radius:10px;background:rgba(0,0,0,.22);border:1px solid var(--line-soft);}
.pf-career .e{font-size:18px;}
.pf-career b{display:block;font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--gold-bright);font-variant-numeric:tabular-nums;}
.pf-career small{font-size:10px;color:var(--muted);}
.pf-wr{margin-top:8px;}
.pf-wr .pf-bar{height:8px;margin-top:4px;}
.pf-wr .pf-bar i.w{background:#6fc24a;} .pf-wr .pf-bar i.l{background:#e0485a;}

.pt-heart{color:#ff6b8f;text-shadow:0 0 6px rgba(255,107,143,.8);font-size:18px;}
.pt-grow b{font-family:inherit !important;font-size:inherit !important;}
.pt-grow b{display:inline !important;color:#f3e7cf;}

/* v218: Amigos — taberna, pedidos em destaque, grupos, cartões, conversa em balões */
.fr-tav{position:relative;margin-bottom:10px;border-radius:16px;overflow:hidden;border:1px solid #5a4424;background:radial-gradient(ellipse at 50% 60%,rgba(255,170,70,.3),transparent 55%),#22170e;color:#f3e7cf;}
.fr-tav.has-art{background:var(--fr-art) center/cover no-repeat,#22170e;}
.fr-tav .in{padding:52px 12px 12px;background:linear-gradient(180deg,transparent,rgba(10,7,5,.86) 55%);}
.fr-tav .onl small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8ee06a;}
.fr-tav .onl small::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#8ee06a;box-shadow:0 0 6px #8ee06a;vertical-align:1px;animation:frPulse 1.6s ease-in-out infinite;}
@keyframes frPulse{50%{opacity:.4;}}
.fr-tav .faces{display:flex;gap:8px;margin-top:8px;min-height:60px;overflow-x:auto;}
.fr-tav .face{flex:none;width:58px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:0;border:0;background:none;cursor:pointer;color:#f3e7cf;font:inherit;}
.fr-tav .face .av{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid #8ee06a;box-shadow:0 0 10px rgba(142,224,106,.5);display:grid;place-items:center;background:#140d08;font-size:24px;}
.fr-tav .face .av img{width:100%;height:100%;object-fit:cover;}
.fr-tav .face > span:last-child{font-size:10.5px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fr-tav .none{padding:8px 0;font-size:12px;color:#c9b99c;}
.fr-tav .me{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-size:11.5px;color:#c9b99c;}
.fr-tav .me b{color:#f3e7cf;}
.fr-tav .me .btn{margin-left:auto;}
.fr-req{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:10px;border-radius:14px;border:1px solid rgba(201,162,39,.65);background:linear-gradient(90deg,rgba(246,220,133,.14),transparent);animation:frGlow 2s ease-in-out infinite;}
@keyframes frGlow{50%{box-shadow:0 0 14px rgba(246,220,133,.3);}}
.fr-req .av{width:42px;height:42px;flex:none;border-radius:50%;overflow:hidden;border:2px solid #e4bf4a;display:grid;place-items:center;font-size:22px;}
.fr-req .av img{width:100%;height:100%;object-fit:cover;}
.fr-req .t{flex:1;min-width:0;font-size:12px;color:var(--muted);}
.fr-req .t b{display:block;font-size:13.5px;color:var(--text,#eadfc8);}
body.ui-pergaminho .fr-req .t b{color:#3A2814;}
.fr-grp{display:flex;align-items:center;gap:6px;margin:6px 2px 6px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.fr-grp i{width:7px;height:7px;border-radius:50%;background:var(--c);}
.fr-card{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:9px 10px;border-radius:14px;cursor:pointer;text-align:left;font:inherit;color:#f3e7cf;background:#15110d;border:1px solid #33281c;}
.fr-card.need{border-color:rgba(246,220,133,.55);}
.fr-card:active{transform:scale(.98);}
.fr-av{position:relative;width:50px;height:50px;flex:none;}
.fr-av .im{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;overflow:hidden;border:2px solid var(--cc);background:#140d08;font-size:26px;}
.fr-av .im img{width:100%;height:100%;object-fit:cover;}
.fr-av .dot{position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;border-radius:50%;border:2px solid #15110d;background:#5a5040;}
.fr-av .dot.on{background:#8ee06a;box-shadow:0 0 6px #8ee06a;}
.fr-av .lv{position:absolute;left:50%;top:-7px;transform:translateX(-50%);font-family:var(--font-display);font-size:9.5px;font-weight:800;white-space:nowrap;padding:0 5px;border-radius:99px;background:#140d08;border:1px solid #e4bf4a;color:#f6dc85;}
.fr-m{flex:1;min-width:0;display:flex;flex-direction:column;}
.fr-m b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fr-m .cl{font-size:11px;color:var(--cc);}
.fr-m .g{font-size:11px;color:#c9b99c;}
.fr-m .s{font-size:10.5px;color:#a8987f;}
.fr-m .s.on{color:#8ee06a;}
.fr-bdg{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.fr-bdg span{font-size:10.5px;font-weight:800;white-space:nowrap;padding:2px 7px;border-radius:99px;}
.fr-bdg .msg{background:#e0485a;color:#fff;}
.fr-bdg .trd{background:linear-gradient(180deg,#f0cf5c,#c79a22);color:#1d1407;}
.fr-bdg .wait{border:1px solid #3a2e20;color:#a8987f;}
.fr-empty{text-align:center;padding:24px 10px;font-size:13px;line-height:1.5;color:var(--muted);}
.fr-empty b{display:block;margin-bottom:4px;font-family:var(--font-display);font-size:15px;color:var(--gold-bright);}
.fr-chat-log{display:flex;flex-direction:column;gap:8px;}
.fr-day{align-self:center;padding:2px 9px;border-radius:99px;font-size:10px;font-weight:700;color:var(--muted);background:rgba(128,110,80,.15);}
.fr-mg{display:flex;align-items:flex-end;gap:6px;max-width:86%;}
.fr-mg .av{width:26px;height:26px;flex:none;border-radius:50%;overflow:hidden;border:1.5px solid var(--cc);display:grid;place-items:center;font-size:14px;background:#140d08;}
.fr-mg .av img{width:100%;height:100%;object-fit:cover;}
.fr-mg .bb{padding:8px 11px;border-radius:14px 14px 14px 4px;font-size:13px;line-height:1.4;color:#f3e7cf;background:#1c1611;border:1px solid #33281c;word-break:break-word;}
.fr-mg .bb small{display:block;margin-top:2px;font-size:9.5px;text-align:right;color:#a8987f;}
.fr-mg.me{align-self:flex-end;flex-direction:row-reverse;}
.fr-mg.me .bb{border-radius:14px 14px 4px 14px;background:linear-gradient(180deg,#3a2c12,#2a2010);border-color:#6a5226;}
.fr-mg.pop{animation:frIn .3s ease-out;}
@keyframes frIn{from{transform:translateY(8px);opacity:0;}}
.fr-quick{display:flex;gap:6px;overflow-x:auto;margin-top:10px;padding-bottom:2px;}
.fr-quick button{flex:none;padding:6px 11px;border-radius:99px;cursor:pointer;font:600 12.5px var(--font-body,inherit);color:var(--text,#eadfc8);background:rgba(0,0,0,.25);border:1px solid var(--line-soft);}
body.ui-pergaminho .fr-quick button{color:#3A2814;background:rgba(255,255,255,.4);}

/* v218: Consumíveis — despensa com separadores */
.cs-pantry{position:relative;aspect-ratio:2/1;max-width:100%;margin-bottom:12px;border-radius:16px;overflow:hidden;border:1px solid #5a4424;background:radial-gradient(ellipse at 50% 45%,rgba(255,190,110,.25),transparent 55%),#22170e;}
.cs-pantry.has-art{background:var(--cs-art) center/cover no-repeat,#22170e;}
.cs-tabs{position:absolute;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.cs-tb{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 5px;border-radius:11px;cursor:pointer;font:inherit;color:#f3e7cf;background:rgba(12,8,6,.84);border:1px solid rgba(255,255,255,.14);}
.cs-tb .ic{width:30px;height:30px;display:grid;place-items:center;font-size:22px;}
.cs-tb .ic .nx-ic{width:30px;height:30px;}
.cs-tb > span:last-child{font-size:10px;font-weight:700;}
.cs-tb i{position:absolute;top:-6px;right:-4px;min-width:18px;height:17px;padding:0 4px;line-height:17px;border-radius:99px;font-style:normal;font-size:10px;font-weight:900;text-align:center;color:#140d08;background:#f6dc85;}
.cs-tb.on{border-color:#f6dc85;box-shadow:0 0 10px rgba(246,220,133,.35);background:rgba(40,28,10,.92);}
.cs-tb.empty{opacity:.6;}
.cs-hp{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:11.5px;color:var(--muted);}
.cs-hp .bar{position:relative;flex:1;height:8px;border-radius:5px;background:rgba(128,110,80,.22);overflow:hidden;}
.cs-hp .bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#8a1d2a,#e0485a);}
.cs-hp .bar u{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(111,194,74,.85) 0 3px,rgba(111,194,74,.35) 3px 6px);}
.cs-hp b{color:var(--text,#eadfc8);font-variant-numeric:tabular-nums;}
body.ui-pergaminho .cs-hp b{color:#3A2814;}
.cs-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.cs-pt{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:10px 6px 8px;border-radius:12px;text-align:center;color:#f3e7cf;background:radial-gradient(circle at 50% 30%,rgba(228,191,74,.12),#15110d 70%),#15110d;border:1px solid #33281c;}
.cs-pt .ic{width:46px;height:46px;display:grid;place-items:center;font-size:32px;}
.cs-pt .ic .nx-ic{width:46px;height:46px;}
.cs-pt b{font-size:11.5px;line-height:1.2;}
.cs-pt small{font-size:10px;line-height:1.25;color:#a8987f;}
.cs-pt .n{position:absolute;top:6px;right:7px;font-family:var(--font-display);font-size:13px;font-weight:800;color:#f6dc85;}
.cs-pt .kind{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:99px;border:1px solid #3a2e20;color:#a8987f;}
.cs-pt .kind.cure{color:#8ee06a;border-color:rgba(142,224,106,.5);}
.cs-pt .btn{width:100%;margin-top:4px;padding:6px 6px;font-size:11.5px;white-space:nowrap;}
.cs-pt.zero{opacity:.5;filter:saturate(.4);}
.cs-pt.zero .n{color:#a8987f;}
.cs-seg{display:flex;gap:4px;margin-bottom:10px;padding:3px;border-radius:10px;background:rgba(0,0,0,.25);border:1px solid var(--line-soft);}
.cs-seg button{flex:1;padding:7px 4px;border:0;border-radius:8px;cursor:pointer;font:700 11.5px var(--font-body,inherit);color:var(--muted);background:none;}
.cs-seg button.on{background:#2a2015;color:#f6dc85;}
.cs-ladder{display:flex;flex-direction:column;gap:6px;}
.cs-lr{display:grid;grid-template-columns:44px 36px 1fr auto;gap:8px;align-items:center;padding:7px 9px;border-radius:10px;color:#f3e7cf;background:#15110d;border:1px solid #33281c;}
.cs-lr .up{text-align:center;font-family:var(--font-display);font-size:15px;font-weight:800;color:#f6dc85;}
.cs-lr .ic{width:32px;height:32px;display:grid;place-items:center;font-size:22px;}
.cs-lr .ic .nx-ic{width:32px;height:32px;}
.cs-lr .t{min-width:0;font-size:12px;}
.cs-lr .t b{display:block;font-size:12.5px;}
.cs-lr .t small{font-size:10.5px;color:#a8987f;}
.cs-lr .have{font-family:var(--font-display);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;}
.cs-lr .have.no{color:#e0485a;}
.cs-lr.zero{opacity:.65;}
.cs-oy{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:14px;text-align:center;color:#f3e7cf;background:#15110d;border:1px solid #33281c;}
.cs-oy .ic.big{width:96px;height:96px;display:grid;place-items:center;font-size:64px;}
.cs-oy .ic.big .nx-ic{width:96px;height:96px;}
.cs-oy .ic.big.off{opacity:.4;filter:grayscale(1);}
.cs-oy b{font-family:var(--font-display);font-size:15px;color:#f6dc85;}
.cs-oy small{font-size:11.5px;color:#a8987f;}
.chest-stage.oyster .chest-ic{animation:csShake .5s ease-in-out 2;}
@keyframes csShake{20%,60%{transform:rotate(-8deg);}40%,80%{transform:rotate(8deg);}}
.chest-pearl{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;z-index:3;display:grid;place-items:center;font-size:40px;filter:drop-shadow(0 0 14px #fff);animation:csFly .9s .9s cubic-bezier(.3,1.5,.5,1) both;}
.chest-pearl .nx-ic{width:54px;height:54px;}
@keyframes csFly{from{transform:scale(0) translateY(20px);opacity:0;}to{transform:scale(1) translateY(-46px);opacity:1;}}
.cs-h4{display:flex;align-items:center;gap:8px;margin:12px 0 7px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.cs-buffs{display:flex;flex-wrap:wrap;gap:8px;}
.cs-bf{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:10px;font-size:11.5px;background:rgba(111,194,74,.08);border:1px solid rgba(111,194,74,.5);}
.cs-bf .ring{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#6fc24a calc(var(--p)*1%),rgba(128,110,80,.2) 0);}
.cs-bf .ring span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:#f3e7cf;background:#0d0a08;}
.cs-crops{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
.cs-cr{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:4px;border-radius:10px;font:inherit;font-size:22px;cursor:pointer;color:#f3e7cf;background:#15110d;border:1px solid #33281c;}
.cs-cr .ic .nx-ic{width:100%;height:100%;}
.cs-cr .ic{width:100%;height:100%;display:grid;place-items:center;}
.cs-cr i{position:absolute;bottom:-5px;right:-3px;min-width:17px;height:16px;padding:0 4px;line-height:16px;border-radius:99px;font-style:normal;font-size:10px;font-weight:900;text-align:center;background:#1c1611;border:1px solid #33281c;}
.cs-cr.zero{cursor:default;}
.cs-cr.zero .ic{filter:grayscale(1) opacity(.35);}
.cs-cr.on{border-color:#6fc24a;box-shadow:0 0 8px rgba(111,194,74,.45);cursor:default;}
.cs-recipes{display:flex;flex-direction:column;gap:7px;}
.cs-rc{display:grid;grid-template-columns:44px 1fr auto;gap:9px;align-items:center;padding:8px 10px;border-radius:12px;color:#f3e7cf;background:#15110d;border:1px solid #33281c;}
.cs-rc.ok{border-color:rgba(111,194,74,.6);}
.cs-rc .ic{width:44px;height:44px;display:grid;place-items:center;font-size:30px;}
.cs-rc .ic .nx-ic{width:44px;height:44px;}
.cs-rc .t{min-width:0;}
.cs-rc .t b{display:block;font-size:12.5px;}
.cs-rc .t small{display:block;font-size:10.5px;line-height:1.35;color:#c9b99c;}
.cs-rc .ing{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.cs-rc .ing > span{display:inline-flex;align-items:center;gap:2px;padding:1px 6px 1px 3px;border-radius:99px;font-size:10px;font-weight:700;border:1px solid #3a2e20;}
.cs-rc .ing > span .nx-ic{width:14px;height:14px;}
.cs-rc .ing > span.ok{color:#8ee06a;border-color:rgba(142,224,106,.6);}
.cs-rc .ing > span.no{color:#ff7b7b;border-color:rgba(224,72,90,.5);}
.cs-rc .st{text-align:right;font-size:10.5px;font-weight:800;}
.cs-rc .st.ok{color:#8ee06a;} .cs-rc .st.no{color:#a8987f;}

/* v218: Trabalhos — 4 postos ilustrados, posto aberto, animações, canteiros */
.tb-posts{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.tb-post{position:relative;aspect-ratio:4/3;padding:0;border-radius:14px;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:#f3e7cf;border:1px solid #33281c;background:linear-gradient(160deg,#3a3026,#1a140e);}
.tb-post.has-art{background:var(--tb-art) center/cover no-repeat,#1a140e;}
.tb-post::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,6,4,.92) 8%,transparent 60%);}
.tb-post.sel{outline:2px solid #f6dc85;outline-offset:1px;box-shadow:0 0 14px rgba(246,220,133,.35);}
.tb-post:active{transform:scale(.97);}
.tb-post .ic{position:absolute;left:8px;top:8px;z-index:2;width:34px;height:34px;display:grid;place-items:center;font-size:26px;filter:drop-shadow(0 2px 3px #000);}
.tb-post .ic .nx-ic{width:34px;height:34px;}
.tb-post .info{position:absolute;left:8px;right:8px;bottom:7px;z-index:2;display:flex;flex-direction:column;}
.tb-post .info b{font-family:var(--font-display);font-size:14px;}
.tb-post .info small{font-size:10.5px;color:#c9b99c;}
.tb-stt{position:absolute;left:8px;top:46px;z-index:2;font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;color:#c9b99c;background:rgba(0,0,0,.72);border:1px solid #4a3a22;}
.tb-stt.ok{color:#d9ffd0;background:#2f6b2a;border-color:#5dbb4f;}
.tb-uses{position:absolute;right:8px;bottom:10px;z-index:2;display:flex;gap:3px;}
.tb-uses i{width:8px;height:8px;border-radius:50%;background:#f6dc85;box-shadow:0 0 5px #f6dc85;}
.tb-uses i.off{background:rgba(255,255,255,.18);box-shadow:none;}
.tb-ring{position:absolute;right:8px;bottom:6px;z-index:2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#f6dc85 calc(var(--p)*1%),rgba(255,255,255,.14) 0);}
.tb-ring span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#f3e7cf;background:#0d0a08;}
.tb-open{display:flex;flex-direction:column;gap:10px;}
.tb-oh{display:flex;align-items:center;gap:10px;}
.tb-oh .ic{width:40px;height:40px;flex:none;display:grid;place-items:center;font-size:30px;}
.tb-oh .ic .nx-ic{width:40px;height:40px;}
.tb-oh b{display:block;font-family:var(--font-display);font-size:16px;}
.tb-oh small{font-size:11.5px;color:var(--muted);}
.tb-act{display:flex;align-items:center;gap:10px;}
.tb-act .btn{flex:none;min-width:130px;}
.tb-act .tiny{line-height:1.35;}
.tb-h4{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.tb-table{display:flex;flex-direction:column;gap:4px;}
.tb-table .tr{display:grid;grid-template-columns:1fr 84px 46px;gap:8px;align-items:center;padding:5px 8px;border-radius:8px;font-size:12px;background:rgba(128,110,80,.07);}
.tb-table .n{display:flex;align-items:center;gap:6px;color:var(--c);}
body.ui-pergaminho .tb-table .n{color:#3A2814;}
.tb-table .n i{width:8px;height:8px;border-radius:50%;background:var(--c);}
.tb-table .g{text-align:right;color:var(--gold-bright);font-variant-numeric:tabular-nums;white-space:nowrap;}
.tb-table .pc{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;}
.tb-table .tr.hit{background:rgba(246,220,133,.16);outline:1px solid rgba(201,162,39,.6);}
.tb-log{display:flex;flex-direction:column;gap:4px;}
.tb-log > div{display:flex;justify-content:space-between;padding:5px 8px;border-radius:8px;font-size:12px;background:rgba(128,110,80,.07);}
.tb-log > div b{color:var(--gold-bright);}
.tb-fx{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));text-align:center;color:#f3e7cf;background:rgba(10,7,5,.88);}
.tb-tool{font-size:56px;transform-origin:80% 80%;}
.tb-fx.minerar .tb-tool{animation:tbSwing .35s ease-in-out 3;}
@keyframes tbSwing{0%{transform:rotate(30deg);}50%{transform:rotate(-40deg);}100%{transform:rotate(30deg);}}
.tb-fx.lenhador .tb-tool{animation:tbChop .3s ease-in 3;}
@keyframes tbChop{0%{transform:rotate(-50deg);}70%{transform:rotate(20deg);}100%{transform:rotate(-50deg);}}
.tb-spark{position:absolute;left:50%;top:48%;width:6px;height:6px;border-radius:50%;background:#ffd36b;box-shadow:0 0 8px #ffb02e;animation:tbSpark .6s ease-out forwards;opacity:0;}
@keyframes tbSpark{0%{opacity:1;}100%{transform:translate(var(--dx),var(--dy));opacity:0;}}
.tb-bob{position:relative;width:140px;height:70px;}
.tb-bob .w{position:absolute;left:0;right:0;bottom:8px;height:2px;background:#4f9cc0;box-shadow:0 0 6px #4f9cc0;}
.tb-bob .b{position:absolute;left:62px;bottom:6px;width:16px;height:16px;border-radius:50%;background:linear-gradient(180deg,#e0485a 50%,#fff 50%);animation:tbBob 1.1s ease-in-out forwards;}
@keyframes tbBob{0%,30%{transform:translateY(0);}40%{transform:translateY(-4px);}55%{transform:translateY(0);}70%{transform:translateY(-3px);}85%,100%{transform:translateY(14px);opacity:.4;}}
.tb-res{display:flex;flex-direction:column;align-items:center;gap:6px;animation:tbPop .45s cubic-bezier(.3,1.6,.5,1) both;}
@keyframes tbPop{from{transform:scale(.5);opacity:0;}}
.tb-res .big{width:72px;height:72px;display:grid;place-items:center;font-size:48px;filter:drop-shadow(0 0 14px var(--c));}
.tb-res .big .nx-ic{width:72px;height:72px;}
.tb-res b{font-family:var(--font-display);font-size:19px;color:var(--c);}
.tb-res small{max-width:320px;font-size:12.5px;color:#c9b99c;}
.tb-res .btn{min-width:140px;margin-top:4px;}
.tb-plots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.tb-plot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:126px;padding:10px 8px;border-radius:12px;text-align:center;color:#f3e7cf;background:repeating-linear-gradient(0deg,#4a3018 0 6px,#5b3d22 6px 12px);border:1px solid #3a2614;}
.tb-plot .stage{font-size:34px;line-height:1;filter:drop-shadow(0 3px 3px #000);}
.tb-plot .stage .nx-ic{width:44px;height:44px;}
.tb-plot b{font-size:12px;}
.tb-plot small{font-size:10.5px;color:#e8d8b8;}
.tb-plot .pr{width:80%;height:6px;border-radius:4px;background:rgba(0,0,0,.4);overflow:hidden;}
.tb-plot .pr i{display:block;height:100%;background:#8ee06a;}
.tb-plot .seeds{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;}
.tb-plot.ready{border-color:#8ee06a;box-shadow:0 0 14px rgba(142,224,106,.5);}
.tb-plot.ready .stage{animation:tbJig 1.2s ease-in-out infinite;}
@keyframes tbJig{50%{transform:translateY(-4px);}}
body.fx-off .fr-req,body.fx-off .tb-plot.ready .stage,body.fx-off .fr-tav .onl small::before{animation:none!important;}
@media (prefers-reduced-motion:reduce){.fr-req,.tb-plot.ready .stage,.chest-pearl,.chest-stage.oyster .chest-ic{animation:none;}}
@media (max-width:360px){.cs-shelf{grid-template-columns:1fr 1fr;}.cs-crops{grid-template-columns:repeat(3,1fr);}}

body.ui-pergaminho .cs-pt b,body.ui-pergaminho .cs-pt .n{color:#f6dc85 !important;}
body.ui-pergaminho .cs-pt small{color:#c9b99c !important;}
body.ui-pergaminho .cs-pt .kind{color:#c9b99c !important;}
body.ui-pergaminho .cs-pt .kind.cure{color:#8ee06a !important;}
body.ui-pergaminho .cs-pt.zero{opacity:.7;}
body.ui-pergaminho .cs-pt b{color:#f3e7cf !important;}
body.ui-pergaminho .cs-pt{background:radial-gradient(circle at 50% 30%,rgba(228,191,74,.14),#15110d 70%),#15110d !important;border-color:#3a2e20 !important;}
body.ui-pergaminho .cs-pt .kind{background:transparent !important;border-color:#4a3a22 !important;}
