/* Entrada compartilha os tokens e a preferência de tema do jogo. */
.app.app--entry { background:var(--bg-deep); max-width: 1220px; padding: 0 32px; }
.landing-page, .auth-page { font-size: 1rem; }
.entry-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; border-bottom:1px solid var(--ui-line); }
.entry-brand { display:flex; align-items:center; gap:10px; border:0; background:none; color:var(--text-primary); cursor:pointer; font:600 1.6rem var(--font-display); padding:0; }
.entry-brand__word { display:grid; line-height:1; text-align:left; }
.entry-brand em { font-style:normal; color:var(--ui-accent); font:800 .62rem var(--font-body); letter-spacing:.3em; text-transform:uppercase; margin-bottom:3px; }
.landing-nav { display:flex; gap:30px; }
.landing-nav a { color:var(--text-secondary); text-decoration:none; font-weight:700; }
.landing-nav a:hover { color:var(--ui-accent); }
.entry-theme-bar { display:flex; justify-content:flex-end; padding:16px 0; }
.entry-themes { display:flex; flex-wrap:wrap; gap:6px; padding:5px; width:fit-content; border:1px solid var(--ui-line-strong); border-radius:30px; background:var(--ui-card-flat); }
.entry-themes button { display:flex; gap:7px; align-items:center; background:none; border:1px solid transparent; border-radius:24px; padding:8px 13px; cursor:pointer; color:var(--text-secondary); font-size:.875rem; font-weight:700; }
.entry-themes button.is-active { background:var(--ui-accent-soft); color:var(--text-primary); border-color:var(--ui-accent); }
.entry-eyebrow { display:block; color:var(--ui-accent); font-size:.8rem; font-weight:800; letter-spacing:.12em; line-height:1.6; }
.landing-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:60px; padding:40px 0 85px; }
.landing-hero h1 { font-size:clamp(2.6rem,4.7vw,4rem); letter-spacing:-.035em; line-height:1.1; margin:18px 0 24px; }
.landing-hero h1 span { display:block; }
.landing-hero-copy > p { max-width:490px; color:var(--text-secondary); font-size:1.125rem; }
.entry-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 18px; }
.entry-note, .landing-hero-copy > p.entry-note { color:var(--text-secondary); font-size:.875rem; line-height:1.6; }
.landing-hero-art { border:1px solid var(--ui-line-strong); border-radius:40px; background:radial-gradient(ellipse at 50% 45%,var(--ui-accent-soft),transparent 70%),var(--ui-card-flat); padding:28px; position:relative; transform:rotate(2deg); box-shadow:var(--shadow-lift); }
.entry-art-label { width:fit-content; margin:0 auto; border:1px solid var(--ui-line-strong); padding:8px 15px; border-radius:25px; font-size:.875rem; color:var(--text-secondary); }
.landing-pet { height:300px; display:flex; align-items:center; justify-content:center; }
.landing-pet svg { width:100%; height:100%; }
.landing-pet-caption { display:flex; flex-direction:column; text-align:center; gap:6px; }
.landing-pet-caption strong { font:600 1.4rem var(--font-display); }
.landing-pet-caption span { font-size:.875rem; color:var(--text-secondary); }
.landing-section { padding:65px 0; border-top:1px solid var(--ui-line); scroll-margin-top:24px; }
.landing-section h2, .landing-cta h2 { font-size:clamp(2rem,3.2vw,2.8rem); letter-spacing:-.025em; margin:12px 0 18px; }
.landing-section-heading { display:flex; justify-content:space-between; gap:40px; align-items:center; margin-bottom:30px; }
.landing-section-heading > p { max-width:350px; color:var(--text-secondary); }
.landing-games { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.landing-game { background:var(--ui-card-flat); border:1px solid var(--ui-line-strong); border-radius:24px; overflow:hidden; display:flex; flex-direction:column; }
.landing-game-art { aspect-ratio:4/3; overflow:hidden; }
.landing-game-art img { width:100%; height:100%; object-fit:cover; display:block; }
.landing-game-copy { padding:20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.landing-game h3 { font-size:1.3rem; }
.landing-game p { color:var(--text-secondary); font-size:.9375rem; }
.landing-game .gbtn { margin-top:auto; align-self:flex-start; }
.landing-world { display:grid; grid-template-columns:.85fr 1.15fr; gap:45px; align-items:center; }
.landing-world-copy > p, .landing-theme-copy > p { color:var(--text-secondary); max-width:500px; }
.landing-features { display:grid; gap:26px; margin-top:35px; }
.landing-features article { display:grid; grid-template-columns:46px 1fr; column-gap:14px; }
.landing-features article > span { grid-row:span 2; font-size:1.8rem; }
.landing-features h3 { font-size:1.25rem; margin-bottom:7px; }
.landing-features p { color:var(--text-secondary); }
.landing-feature-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }

.landing-screen-shot { margin:0 auto; max-width:285px; }
.landing-screen-shot img, .landing-theme-gallery img, .auth-preview img { display:block; width:100%; height:auto; border:1px solid var(--ui-line-strong); border-radius:26px; box-shadow:var(--shadow-soft); }
.landing-screen-shot figcaption, .landing-theme-gallery figcaption { text-align:center; font-size:.875rem; color:var(--text-secondary); margin-top:14px; }
.landing-theme-section { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:42px; }
.landing-theme-copy .entry-themes { margin:26px 0 16px; }
.landing-theme-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.landing-theme-gallery figure { margin:0; }
.landing-theme-gallery figure:nth-child(even) { transform:translateY(-18px); }
.landing-cta { text-align:center; padding:55px 24px; margin:40px 0 55px; border-radius:32px; background:var(--ui-accent-soft); border:1px solid var(--ui-line-strong); }
.landing-cta p { color:var(--text-secondary); margin-bottom:25px; }
.landing-cta__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
/* Convite para instalar no celular (src/ui/install-cta.js). */
.landing-nav__install { color:var(--ui-accent) !important; }
.landing-install { display:grid; grid-template-columns:.9fr 1.1fr; gap:46px; align-items:center; }
.landing-install__art { position:relative; display:grid; place-items:center; aspect-ratio:1; max-width:420px; width:100%; margin:0 auto; border-radius:50%; background:radial-gradient(circle,var(--ui-accent-soft),transparent 70%); }
.landing-install__art img { width:88%; height:auto; animation:lore-float 4s ease-in-out infinite; filter:drop-shadow(0 18px 30px rgba(139,92,246,.28)); }
.landing-install__copy > p { color:var(--text-secondary); font-size:1.05rem; max-width:520px; }
.landing-install__perks { list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px; font-weight:700; }
.landing-install__done { margin:0; font-weight:800; color:var(--ui-accent); }
.install-steps { list-style:none; padding:0; margin:0; display:grid; gap:12px; text-align:left; }
.install-steps li { display:flex; gap:12px; align-items:center; }
.install-steps__icon { flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--ui-accent-soft); font-size:1.15rem; font-weight:800; }
.install-address { word-break:break-all; }
@media (max-width:650px) { .landing-install { grid-template-columns:1fr; gap:24px; } .landing-install__art { max-width:260px; } }
@media (prefers-reduced-motion: reduce) { .landing-install__art img { animation:none; } }
.entry-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0 32px; border-top:1px solid var(--ui-line); }
.entry-footer p { font-size:.875rem; color:var(--text-secondary); }
.auth-page { padding-bottom:40px; }
.auth-layout { display:grid; grid-template-columns:1fr 1fr; margin:24px 0; border:1px solid var(--ui-line-strong); border-radius:32px; overflow:hidden; background:var(--ui-card-flat); }
.auth-showcase { padding:40px 46px 0; background:radial-gradient(ellipse at 50% 75%,var(--ui-accent-soft),transparent 75%),var(--glass-surface-soft); overflow:hidden; }
.auth-showcase h2 { font-size:2.4rem; letter-spacing:-.025em; margin:14px 0 18px; }
.auth-showcase > p { color:var(--text-secondary); }
.auth-preview { max-width:260px; margin:30px auto -100px; transform:rotate(-5deg); }
.auth-form-panel { padding:40px 46px; }
.auth-form-panel h1 { font-size:2.2rem; margin:10px 0 14px; }
.auth-tabs { display:flex; gap:8px; padding:5px; border:1px solid var(--ui-line); background:var(--glass-surface-soft); border-radius:14px; margin:26px 0; }
.auth-tabs button { flex:1; border:0; background:none; color:var(--text-secondary); font-weight:800; padding:11px; border-radius:10px; cursor:pointer; }
.auth-tabs button.is-active { background:var(--ui-accent-soft); color:var(--text-primary); box-shadow:inset 0 0 0 1px var(--ui-accent); }
.auth-form-panel .field { gap:7px; }
.auth-form-panel .field label { font-size:.875rem; }
.auth-form-panel .input { font-size:1rem; border:1px solid var(--ui-line-strong); background:var(--ui-chip); }
.auth-form-panel .tiny { font-size:.875rem; }
.auth-guest { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--ui-line); padding-top:18px; margin:22px 0 15px; font-size:.875rem; color:var(--text-secondary); }
.entry-brand:focus-visible, .landing-nav a:focus-visible, .entry-themes button:focus-visible, .auth-tabs button:focus-visible { outline:3px solid var(--ui-accent); outline-offset:4px; }
@media (max-width:950px) {
  .landing-hero { gap:28px; }
  .landing-games { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-world { gap:35px; }
  .landing-theme-section { grid-template-columns:1fr; gap:40px; }
  .landing-theme-gallery { max-width:680px; }
  .auth-showcase, .auth-form-panel { padding:32px; }
}
@media (max-width:650px) {
  .app.app--entry { padding:0 18px; }
  .entry-header { gap:12px; padding:18px 0; }
  .landing-nav { display:none; }
  .entry-brand { font-size:1.35rem; }
  .entry-theme-bar { justify-content:center; }
  .entry-themes { border-radius:18px; }
  .entry-themes button { padding:8px 9px; }
  .landing-hero { grid-template-columns:1fr; padding:24px 0 45px; gap:35px; }
  .landing-hero h1 { font-size:2.8rem; }
  .landing-hero-art { transform:none; border-radius:28px; }
  .landing-section { padding:40px 0; }
  .landing-section-heading { display:block; }
  .landing-games { gap:12px; }
  .landing-game-copy { padding:14px; }
  .landing-game h3 { font-size:1.15rem; }
  .landing-game .gbtn { padding:9px 8px; font-size:.875rem; }
  .landing-world { grid-template-columns:1fr; }
  .landing-screen-shot { max-width:270px; }
  .landing-theme-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
  .landing-theme-gallery img { border-radius:12px; }
  .landing-theme-gallery figcaption { font-size:.8rem; }
  .entry-footer { flex-wrap:wrap; }
  .entry-footer p { order:3; width:100%; }
  .auth-layout { grid-template-columns:1fr; margin:12px 0; }
  .auth-showcase { display:none; }
  .auth-form-panel { padding:26px 22px; }
}
@media (max-width:370px) { .landing-games { grid-template-columns:1fr; } .entry-themes button { font-size:.8rem; padding:8px 7px; } }
@media (prefers-reduced-motion:reduce) { .landing-page *, .auth-page * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

.auth-page > .hero, .auth-page > .glass { width:100%; max-width:560px; margin:0 auto; }

/* Contos Animados: cenário original e o caminho do pedido até a estante. */
.landing-stories { display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.landing-stories-copy > p { color:var(--text-secondary); }
.landing-story-steps { list-style:none; counter-reset:story-step; padding:0; margin:28px 0; display:grid; gap:22px; }
.landing-story-steps li { counter-increment:story-step; position:relative; padding-left:48px; }
.landing-story-steps li::before { content:counter(story-step); position:absolute; left:0; top:0; width:32px; height:32px; display:grid; place-items:center; background:var(--ui-accent-soft); border:1px solid var(--ui-line-strong); border-radius:10px; color:var(--ui-accent); font-weight:800; }
.landing-story-steps h3 { font-size:1.15rem; margin-bottom:6px; }
.landing-story-steps p { color:var(--text-secondary); }
.landing-stories-copy > .entry-note { margin-top:14px; }
.landing-story-preview { margin:0; overflow:hidden; border:1px solid var(--ui-line-strong); border-radius:26px; background:var(--ui-card-flat); box-shadow:var(--shadow-soft); }
.landing-story-scene { aspect-ratio:16/9; }
.landing-story-scene > svg { display:block; width:100%; height:100%; }
.landing-story-preview figcaption { padding:24px; display:grid; gap:10px; }
.landing-story-preview strong { font:600 1.5rem var(--font-display); }
.landing-story-preview p { color:var(--text-secondary); }
/* Laluno TV: a TV com um conto e o convite para abrir a página pública. */
.landing-tv { display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.landing-tv__screen { position:relative; overflow:hidden; aspect-ratio:16/9; border:10px solid #2b1d4e; border-radius:30px; box-shadow:var(--shadow-soft), 0 0 0 4px #ff8ec7; }
.landing-tv__scene, .landing-tv__scene > svg { display:block; width:100%; height:100%; }
.landing-tv__play { position:absolute; inset:0; margin:auto; width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,#a855f7,#7c3aed); color:#fff; font-size:1.8rem; box-shadow:0 12px 30px -10px rgba(76,29,149,.8); }
.landing-tv__copy > p { color:var(--text-secondary); }
.landing-tv__copy > .entry-actions { margin-top:22px; }
.landing-tv__copy > .entry-note { margin-top:14px; }
a.gbtn { text-decoration:none; }
@media (max-width:950px) { .landing-stories { gap:28px; } }
@media (max-width:650px) { .landing-tv { grid-template-columns:1fr; } .landing-stories { grid-template-columns:1fr; } .landing-stories-copy > .gbtn { max-width:100%; white-space:normal; } }

/* Vitrine da entrada: pet sorteado a cada visita, com a tag de raridade. */
.landing-pet-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-bottom:6px; }
.landing-pet-reroll, .landing-pet-more { display:block; width:fit-content; margin:16px auto 0; border:1px solid var(--ui-line-strong); border-radius:25px; background:var(--ui-card-flat); color:var(--text-primary); font:700 .875rem var(--font-body, inherit); padding:8px 16px; cursor:pointer; text-decoration:none; }
.landing-pet-reroll:hover { border-color:var(--ui-accent); }
.landing-pet-more { border:0; background:none; margin-top:8px; color:var(--ui-accent); padding:4px 8px; }
.landing-pet-more:hover { text-decoration:underline; }
.landing-pet-reroll:focus-visible, .landing-pet-more:focus-visible, .lore-back:focus-visible { outline:3px solid var(--ui-accent); outline-offset:3px; }

/* Página dos pets: lenda, espécies, tipos, personalidades e raridades. */
.lore-topbar { justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.lore-back { border:0; background:none; color:var(--text-secondary); font-weight:700; cursor:pointer; padding:6px 0; }
.lore-back:hover { color:var(--ui-accent); }
.lore-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:60px; padding:30px 0 80px; }
.lore-hero h1 { font-size:clamp(2.6rem,4.7vw,4rem); letter-spacing:-.035em; line-height:1.1; margin:18px 0 24px; }
.lore-hero h1 span { display:block; }
.lore-hero__copy > p { max-width:500px; color:var(--text-secondary); font-size:1.125rem; }
.lore-hero__art { position:relative; aspect-ratio:1; max-width:460px; width:100%; margin:0 auto; }
.lore-orbit { position:absolute; inset:6%; border-radius:50%; border:1px dashed var(--ui-line-strong); background:radial-gradient(circle,var(--ui-accent-soft),transparent 68%); }
.lore-orbit::before, .lore-orbit::after { content:""; position:absolute; width:12px; height:12px; border-radius:50%; background:var(--ui-accent); top:50%; left:-6px; box-shadow:0 0 18px var(--ui-accent); }
.lore-orbit::after { left:auto; right:-6px; top:22%; background:var(--brand-violet, #a855f7); box-shadow:0 0 18px var(--brand-violet, #a855f7); }
.lore-hero__pet { position:absolute; display:flex; }
.lore-hero__pet svg { width:100%; height:100%; }
.lore-hero__pet.is-main { inset:16% 18%; animation:lore-float 5s ease-in-out infinite; }
.lore-hero__pet.is-side { width:30%; height:30%; }
.lore-hero__pet.is-left { left:-2%; bottom:4%; animation:lore-float 6s ease-in-out -2s infinite; }
.lore-hero__pet.is-right { right:-2%; top:4%; animation:lore-float 7s ease-in-out -4s infinite; }
@keyframes lore-float { 50% { transform:translateY(-10px); } }

.lore-heading { margin-bottom:30px; }
.lore-chapters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.lore-chapter { position:relative; padding:28px; border:1px solid var(--ui-line-strong); border-radius:24px; background:var(--ui-card-flat); }
.lore-chapter__num { position:absolute; top:22px; right:24px; color:var(--text-secondary); font:600 .9rem var(--font-display); opacity:.6; }
.lore-chapter__icon { display:block; font-size:2rem; margin-bottom:14px; }
.lore-chapter h3 { font-size:1.25rem; margin-bottom:8px; }
.lore-chapter p { color:var(--text-secondary); }

.lore-species-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:16px; }
.lore-species { display:flex; flex-direction:column; border:1px solid var(--ui-line-strong); border-radius:24px; background:var(--ui-card-flat); overflow:hidden; }
.lore-species__art { height:170px; display:flex; padding:14px; background:radial-gradient(ellipse at 50% 60%,var(--ui-accent-soft),transparent 72%); }
.lore-species__art svg { width:100%; height:100%; }
.lore-species__copy { display:grid; gap:10px; padding:18px 20px 20px; }
.lore-species__head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.lore-species__head h3 { font-size:1.25rem; }
.lore-species p { color:var(--text-secondary); font-size:.9375rem; }
.lore-chips { display:flex; flex-wrap:wrap; gap:5px; }
.lore-mystic { margin-top:34px; padding:30px; border-radius:30px; border:1px solid color-mix(in srgb,#fbbf24 45%,var(--ui-line-strong)); background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,#fbbf24 14%,transparent),transparent 60%),radial-gradient(ellipse at 90% 100%,color-mix(in srgb,#a855f7 16%,transparent),transparent 60%); }
.lore-mystic__intro { max-width:620px; margin-bottom:24px; }
.lore-mystic__intro h3 { font-size:clamp(1.5rem,2.4vw,2rem); margin:8px 0 10px; }
.lore-mystic__intro p { color:var(--text-secondary); }
.lore-species.is-mystic { border-color:color-mix(in srgb,#fbbf24 40%,var(--ui-line-strong)); }
.lore-species.is-mystic .lore-species__art { background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,#fbbf24 18%,transparent),transparent 72%); }

.lore-elements { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.lore-element { --el:var(--ui-accent); display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:18px; border:1px solid color-mix(in srgb,var(--el) 45%,var(--ui-line-strong)); background:linear-gradient(135deg,color-mix(in srgb,var(--el) 16%,transparent),transparent 75%),var(--ui-card-flat); }
.lore-element__emoji { flex-shrink:0; display:grid; place-items:center; width:42px; height:42px; border-radius:14px; font-size:1.35rem; background:color-mix(in srgb,var(--el) 24%,transparent); }
.lore-element div { display:grid; gap:2px; min-width:0; }
.lore-element strong { font:600 1.05rem var(--font-display); }
.lore-element span { color:var(--text-secondary); font-size:.85rem; line-height:1.35; }

.lore-personalities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.lore-personality { --el:var(--ui-accent); padding:24px; border-radius:22px; border:1px solid var(--ui-line-strong); border-top:3px solid var(--el); background:var(--ui-card-flat); display:grid; gap:8px; align-content:start; }
.lore-personality__emoji { font-size:1.8rem; }
.lore-personality h3 { font-size:1.2rem; }
.lore-personality p { color:var(--text-secondary); font-size:.9375rem; }
.lore-personality__style { font-style:italic; font-size:.875rem !important; }

.lore-rarities { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.lore-rarity { --tone:#94a3b8; display:grid; gap:6px; align-content:start; padding:24px; border-radius:22px; border:1px solid color-mix(in srgb,var(--tone) 45%,var(--ui-line-strong)); background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 14%,transparent),transparent 70%),var(--ui-card-flat); }
.lore-rarity.is-incomum { --tone:var(--brand-mint, #6ee7b7); }
.lore-rarity.is-raro { --tone:#60a5fa; }
.lore-rarity.is-epico { --tone:#a855f7; }
.lore-rarity.is-lendario { --tone:#fbbf24; box-shadow:0 0 40px color-mix(in srgb,#fbbf24 18%,transparent); }
.lore-rarity.is-mitico { --tone:#f0abfc; position:relative; border-color:rgb(255 255 255 / .45); background:linear-gradient(135deg,rgb(255 92 138 / .14),rgb(255 210 92 / .12),rgb(110 240 170 / .12),rgb(100 190 255 / .14),rgb(190 130 255 / .16)),var(--ui-card-flat); box-shadow:0 0 50px rgb(190 130 255 / .18); }
.lore-rarity__art { height:130px; display:flex; margin-bottom:6px; }
.lore-rarity__art svg { width:100%; height:100%; }
.lore-rarity .pet-sheet__badge { justify-self:start; }
.lore-rarity__share { font:600 2.4rem var(--font-display); letter-spacing:-.03em; margin-top:10px; line-height:1; }
.lore-rarity__label { color:var(--text-secondary); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.lore-rarity p { color:var(--text-secondary); font-size:.9375rem; margin-top:6px; }
.lore-rarity-tip { margin-top:20px; text-align:center; }
.lore-cta .entry-actions { justify-content:center; margin:0; }

@media (max-width:950px) {
  .lore-hero { gap:28px; }
  .lore-chapters { grid-template-columns:1fr; }
  .lore-elements { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lore-personalities { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lore-rarities { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .lore-hero { grid-template-columns:1fr; padding:16px 0 40px; gap:20px; }
  .lore-hero h1 { font-size:2.6rem; }
  .lore-hero__art { max-width:320px; order:-1; }
  .lore-topbar { justify-content:center; }
  .lore-mystic { padding:20px 16px; border-radius:24px; }
  .lore-elements { grid-template-columns:1fr; }
  .lore-personalities { grid-template-columns:1fr; }
  .lore-cta .entry-actions .gbtn { white-space:normal; }
}
@media (max-width:420px) { .lore-rarities { grid-template-columns:1fr; } }

/* Idioma no topo e no rodapé da entrada: ao lado do botão de conta. */
.entry-header__actions, .entry-footer__actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
@media (max-width: 420px) {
  .entry-header__actions .lang-picker__globe { display:none; }
  .entry-header__actions { gap:6px; }
}
