.region-page{--region-glow:rgba(245,200,66,.38)}.region-heading{align-items:flex-start;gap:1rem}.region-heading p{max-width:760px}.region-learned-pill{padding:.65rem .9rem;border:1px solid var(--gold-500);border-radius:12px;background:rgba(230,168,23,.1);text-align:right;font-size:.72rem;color:var(--text-secondary)}.region-learned-pill strong{color:var(--gold-300);font-size:.9rem}.region-map-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:1.2rem;align-items:start}.region-map-shell{position:relative;overflow:hidden;border-radius:18px;line-height:0;box-shadow:0 0 32px rgba(15,50,100,.26)}.region-map-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.region-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.38);background:rgba(5,11,28,.78);color:#fff;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 14px #000;transition:.18s;z-index:2}.region-hotspot span{font-size:1.1rem;line-height:1}.region-hotspot small{position:absolute;top:42px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(3,8,20,.88);padding:4px 7px;border-radius:7px;color:#e9eefc;font-size:.62rem;line-height:1.1;opacity:0;pointer-events:none}.region-hotspot:hover,.region-hotspot.selected{transform:translate(-50%,-50%) scale(1.18);border-color:#f5c842;box-shadow:0 0 18px var(--region-glow)}.region-hotspot:hover small,.region-hotspot.selected small{opacity:1}.region-hotspot.current{outline:2px solid #55d98a;outline-offset:3px}.region-hotspot.mastered:after{content:'✓';position:absolute;right:-5px;top:-7px;color:#07110b;background:#55d98a;border-radius:50%;font-size:.62rem;line-height:16px;width:16px;height:16px;font-weight:900}.region-detail{position:sticky;top:1rem;padding:1.1rem}.region-detail-title{display:flex;gap:.8rem;align-items:center;border-bottom:1px solid rgba(255,255,255,.09);padding-bottom:.8rem}.region-detail-title>span{font-size:2rem}.region-detail h2{font-family:var(--font-display);color:var(--gold-400);font-size:1.15rem;margin:0}.region-detail small{color:var(--text-secondary)}.region-tax-box{display:grid;grid-template-columns:1fr auto;gap:.25rem;margin-top:.8rem;padding:.7rem;border-radius:10px;background:rgba(230,168,23,.08);border:1px solid rgba(230,168,23,.24)}.region-tax-box strong{font-size:1.4rem;color:var(--gold-300)}.region-tax-box small{grid-column:1/-1;font-size:.68rem}.region-technique-box{margin-top:.8rem;padding:.8rem;border-left:3px solid #8f72ff;background:rgba(112,80,210,.08)}.region-technique-box h3{margin:.2rem 0;color:#c8b9ff}.region-technique-box p{font-size:.82rem;line-height:1.45;color:var(--text-secondary);margin:0}.region-progress{display:grid;gap:.3rem;margin:.8rem 0;font-size:.76rem;color:var(--text-muted)}.region-progress span:before{content:'○';margin-right:.4rem}.region-progress .done{color:#68dfa0}.region-progress .done:before{content:'●'}.region-actions{display:grid;gap:.5rem}.region-actions .btn{justify-content:center}.region-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:1rem}.region-list-card{display:flex;align-items:center;gap:.55rem;text-align:left;min-width:0;padding:.65rem;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:var(--surface-2);color:var(--text-primary);cursor:pointer}.region-list-card>span{font-size:1.15rem}.region-list-card div{min-width:0;display:grid}.region-list-card strong,.region-list-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.region-list-card small{color:var(--text-secondary);font-size:.63rem}.region-list-card>b{margin-left:auto;color:#55d98a}.region-list-card.selected{border-color:var(--gold-500);background:rgba(230,168,23,.09)}
.region-recovery-card{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem;padding:.8rem 1rem;border-color:rgba(230,168,23,.28);background:rgba(8,14,30,.82)}.region-recovery-status,.region-potion-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.region-recovery-status strong{color:var(--gold-300)}.region-recovery-status span{font-size:.76rem;color:var(--text-secondary)}.region-potion-actions .btn{white-space:normal;line-height:1.15}.region-shop-link{border:0;background:none;padding:0;color:var(--gold-300);text-decoration:underline;cursor:pointer;font:inherit}
.region-mentor-portrait{position:relative;height:250px;margin:.8rem 0 0;border-radius:12px;overflow:hidden;border:1px solid rgba(245,200,66,.26);background:radial-gradient(circle at 50% 20%,rgba(62,82,142,.35),rgba(3,7,18,.96) 70%)}.region-mentor-portrait img{width:100%;height:100%;object-fit:contain;object-position:center top;filter:drop-shadow(0 8px 16px rgba(0,0,0,.55))}.region-mentor-portrait>div{position:absolute;inset:auto 0 0;padding:1.55rem .75rem .65rem;background:linear-gradient(transparent,rgba(3,7,18,.96));display:grid}.region-mentor-portrait small{font-size:.58rem;letter-spacing:.12em;color:var(--gold-400)}.region-mentor-portrait strong{font-family:var(--font-display);color:#fff;font-size:.9rem}.region-affinity-box{display:grid;gap:.2rem;margin-top:.7rem;padding:.7rem;border:1px solid rgba(83,210,170,.25);border-radius:10px;background:rgba(35,145,115,.08)}.region-affinity-box span{font-size:.65rem;color:#7de4c0}.region-affinity-box strong{font-size:.82rem;color:#b9f6df}.region-affinity-box small{font-size:.66rem;line-height:1.35}.region-lore{margin-top:.7rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.025);overflow:hidden}.region-lore summary{padding:.7rem;cursor:pointer;color:var(--gold-300);font-size:.72rem;font-weight:700}.region-lore>div{padding:0 .75rem .15rem}.region-lore p{margin:.2rem 0 .7rem;color:var(--text-secondary);font-size:.73rem;line-height:1.45}.region-lore small{font-size:.56rem;letter-spacing:.09em;color:#a893ee}
@media(max-width:900px){.region-map-layout{grid-template-columns:1fr}.region-detail{position:static}.region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.region-hotspot{width:31px;height:31px}.region-hotspot small{display:none}.region-heading{display:grid}.region-learned-pill{text-align:left}.region-recovery-card{align-items:stretch;flex-direction:column}.region-potion-actions .btn{flex:1 1 145px}}@media(max-width:480px){.region-list{grid-template-columns:1fr}.region-map-shell{border-radius:12px}.region-hotspot{width:27px;height:27px;font-size:.75rem}.region-detail{padding:.9rem}.region-potion-actions{display:grid;grid-template-columns:1fr 1fr}.region-potion-actions .text-xs{grid-column:1/-1}}
.region-learning-modal{width:min(520px,calc(100vw - 2rem));padding:1.25rem}.region-slot-choices{display:grid;gap:.55rem;margin:1rem 0}.region-slot-choice{display:grid;gap:.2rem;text-align:left;padding:.8rem 1rem;border:1px solid rgba(143,114,255,.35);border-radius:10px;background:rgba(143,114,255,.08);color:var(--text-primary);cursor:pointer}.region-slot-choice:hover{border-color:#b6a1ff;background:rgba(143,114,255,.16)}.region-slot-choice small{color:#a893ee}.region-slot-choice strong{color:#fff}.region-slot-choice span{font-size:.7rem;color:var(--text-secondary)}

/* A crônica pertence à coluna do mapa, não ao painel lateral. */
.region-map-column{display:grid;gap:1rem;min-width:0}
.region-map-column .region-lore{margin:0;padding:0;width:100%;border:1px solid rgba(230,168,23,.28);border-radius:14px;background:linear-gradient(145deg,rgba(18,27,50,.96),rgba(8,13,29,.96));overflow:hidden}
.region-map-column .region-lore summary{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;cursor:pointer;color:var(--gold-300);list-style:none}
.region-map-column .region-lore summary::-webkit-details-marker{display:none}
.region-map-column .region-lore summary>span{font-size:1.25rem}
.region-map-column .region-lore summary>div{display:grid;gap:.1rem}
.region-map-column .region-lore summary strong{font-family:var(--font-display);font-size:.9rem}
.region-map-column .region-lore summary small{font-size:.62rem;color:var(--text-secondary);letter-spacing:0}
.region-map-column .region-lore-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:0 1rem 1rem}
.region-lore-content article{padding:.85rem;border:1px solid rgba(143,114,255,.17);border-radius:10px;background:rgba(112,80,210,.055)}
.region-lore-content p{margin:.35rem 0 0;color:var(--text-secondary);font-size:.76rem;line-height:1.58}
.region-lore-content small{font-size:.57rem;letter-spacing:.1em;color:#b7a3ff}
@media(max-width:900px){.region-map-column .region-lore-content{grid-template-columns:1fr}}
@media(max-width:480px){.region-map-column .region-lore summary{padding:.8rem}.region-map-column .region-lore-content{padding:0 .75rem .75rem}}
.region-travel-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid rgba(75,155,255,.42);border-radius:13px;background:linear-gradient(100deg,rgba(26,77,148,.24),rgba(50,35,112,.18));box-shadow:0 0 18px rgba(52,114,218,.12)}
.region-pvp-bonus-note{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;padding:.75rem 1rem;border:1px solid rgba(218,165,32,.34);border-radius:12px;background:rgba(218,165,32,.08);color:#d9e0ee;font-size:.78rem;line-height:1.4}.region-pvp-bonus-note strong{color:#f2cb62}
.region-travel-banner>div{display:grid;gap:.12rem}.region-travel-banner small{font-size:.58rem;letter-spacing:.12em;color:#7fb9ff}.region-travel-banner strong{color:#dbeaff}.region-travel-banner span{font-size:.7rem;color:var(--text-secondary)}.region-travel-banner>b{font-family:var(--font-display);font-size:1.35rem;color:#9cc9ff;white-space:nowrap}
.region-hotspot.destination{outline:2px dashed #76b8ff;outline-offset:4px;animation:regionDestinationPulse 1.6s ease-in-out infinite}
.region-hotspot.locked{filter:grayscale(.75);opacity:.7;border-color:rgba(180,190,215,.28)}
@keyframes regionDestinationPulse{50%{box-shadow:0 0 24px rgba(85,165,255,.85)}}
@media(max-width:480px){.region-travel-banner{align-items:flex-start}.region-travel-banner>b{font-size:1.1rem}}

/* Campanha single player */
.campaign-card{margin-bottom:1rem;padding:1rem;border:1px solid rgba(143,114,255,.3);background:linear-gradient(120deg,rgba(28,25,65,.72),rgba(8,15,32,.92))}
.campaign-card.is-complete{border-color:rgba(83,210,170,.35);background:linear-gradient(120deg,rgba(20,70,60,.25),rgba(8,15,32,.92))}
.campaign-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.campaign-card-head small{color:#ac99ef;font-size:.58rem;letter-spacing:.12em}.campaign-card-head h2{margin:.15rem 0 0;color:#f2d278;font-family:var(--font-display);font-size:1.05rem}.campaign-card-head>strong{color:#d7ccff;font-size:1.1rem}
.campaign-progress-track{height:5px;margin:.75rem 0;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.campaign-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8062e4,#e5c357)}
.campaign-return-warning{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:0 0 .7rem;padding:.6rem .7rem;border:1px solid rgba(241,174,74,.35);border-radius:9px;background:rgba(170,91,18,.12);color:#efc37f;font-size:.7rem}.campaign-return-warning .btn{flex:0 0 auto}
.campaign-tips{display:grid;gap:.18rem;margin-top:.45rem;color:#b8c8ee;font-size:.66rem;line-height:1.35}
.campaign-mission{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(175px,auto);gap:.9rem;align-items:center}.campaign-mission-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(229,195,87,.55);color:#f3d46e;background:rgba(229,195,87,.08);font-family:var(--font-display);font-size:1.05rem}.campaign-mission-copy small{color:#9c8cdc;font-size:.57rem;letter-spacing:.07em}.campaign-mission-copy h3{margin:.16rem 0 .28rem;color:#fff;font-size:1rem}.campaign-mission-copy p{margin:0;color:var(--text-secondary);font-size:.76rem;line-height:1.45}.campaign-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}.campaign-meta span{padding:.25rem .45rem;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:#cdd5e8;background:rgba(255,255,255,.035);font-size:.62rem}.campaign-mission-actions{display:grid;gap:.4rem}.campaign-mission-actions .btn{justify-content:center}.campaign-choice-list{display:grid;gap:.35rem}.campaign-waiting{font-size:.7rem;color:#c6b8fa;line-height:1.4}.campaign-complete{display:flex;justify-content:space-between;gap:1rem;color:#79e3b0;font-size:.8rem}.campaign-complete span{color:var(--text-secondary)}.campaign-lock-reason{margin:.75rem 0;padding:.6rem .7rem;border:1px solid rgba(240,100,100,.22);border-radius:9px;background:rgba(150,35,48,.1);color:#f0a1aa;font-size:.7rem;line-height:1.4}
@media(max-width:760px){.campaign-mission{grid-template-columns:auto 1fr}.campaign-mission-actions{grid-column:1/-1}.campaign-mission-actions .btn{width:100%}.campaign-complete{display:grid}}
@media(max-width:480px){.campaign-card{padding:.8rem}.campaign-mission{gap:.65rem}.campaign-mission-number{width:34px;height:34px}.campaign-meta{display:grid}.campaign-choice-list .btn{font-size:.72rem}}
.campaign-scene{display:grid;grid-template-columns:180px minmax(0,1fr);width:min(680px,calc(100vw - 2rem));padding:0;overflow:hidden}.campaign-scene-portrait{min-height:330px;background:radial-gradient(circle at 50% 25%,rgba(99,81,175,.4),rgba(3,8,20,.98) 72%)}.campaign-scene-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 16px rgba(0,0,0,.65))}.campaign-scene-copy{display:flex;flex-direction:column;justify-content:center;padding:1.35rem}.campaign-scene-copy>small{color:#aa98ed;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.campaign-scene-copy h2{margin:.2rem 0;color:#f1d273;font-family:var(--font-display);font-size:1.15rem}.campaign-scene-copy h3{margin:.55rem 0 .25rem;color:#fff;font-size:.92rem}.campaign-scene-copy p{color:var(--text-secondary);font-size:.8rem;line-height:1.6}.campaign-scene-actions{display:flex;gap:.5rem;margin-top:.7rem}.campaign-scene-actions .btn{justify-content:center}
@media(max-width:600px){.campaign-scene{grid-template-columns:1fr}.campaign-scene-portrait{min-height:190px;height:190px}.campaign-scene-copy{padding:1rem}.campaign-scene-actions{display:grid}}
.campaign-training-modal{width:min(460px,calc(100vw - 2rem));padding:1.2rem}.campaign-training-modal strong{color:var(--gold-300)}
.training-tutorial-modal{width:min(600px,calc(100vw - 2rem));padding:1.35rem}.training-tutorial-modal>p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.training-tutorial-steps{display:grid;gap:.65rem;margin-top:1rem}.training-tutorial-steps>div{display:grid;gap:.18rem;padding:.72rem;border:1px solid rgba(230,168,23,.22);border-radius:9px;background:rgba(230,168,23,.055)}.training-tutorial-steps strong{color:var(--gold-300);font-size:.88rem}.training-tutorial-steps span{color:var(--text-secondary);font-size:.82rem;line-height:1.5}

/* Leitura facilitada para quem está aprendendo o jogo em Ekkinisi. */
.campaign-tips{font-size:.75rem;line-height:1.5;gap:.22rem}
.campaign-mission-copy small{font-size:.65rem}
.campaign-mission-copy h3{font-size:1.05rem}
.campaign-scene{max-height:90vh;overflow:auto}.campaign-scene-copy p{white-space:pre-line}
.campaign-story{display:grid;gap:.5rem;max-height:480px;overflow:auto;padding-right:.35rem}.campaign-mission-copy .campaign-story p{white-space:pre-line;line-height:1.65}.campaign-chapter-intro{margin:.5rem 0 .8rem!important;padding:.65rem .8rem;border-left:3px solid var(--gold-500);background:rgba(230,168,23,.06);line-height:1.6!important}.campaign-last-scene{margin-top:.8rem;padding:.75rem;border:1px solid rgba(230,168,23,.2);border-radius:10px}.campaign-last-scene summary{cursor:pointer;color:var(--gold-300);font-size:.8rem;font-weight:700}.campaign-last-scene .campaign-story{margin-top:.7rem;color:var(--text-secondary);font-size:.78rem;line-height:1.6}
.campaign-mission-copy p{font-size:.84rem;line-height:1.55}
.campaign-meta span{font-size:.69rem}
.campaign-waiting,.campaign-lock-reason{font-size:.78rem;line-height:1.5}
.campaign-complete{font-size:.86rem}
.campaign-cast{display:flex;gap:.55rem;max-width:100%;overflow-x:auto;margin:.65rem 0;padding-bottom:.3rem}.campaign-cast figure{flex:0 0 88px;margin:0;text-align:center}.campaign-cast img{display:block;width:88px;height:120px;object-fit:contain;border:1px solid rgba(229,195,87,.28);border-radius:8px;background:#050505}.campaign-cast figcaption{margin-top:.2rem;color:var(--text-secondary);font-size:.66rem;line-height:1.2}.campaign-scene .campaign-cast figure{flex-basis:64px}.campaign-scene .campaign-cast img{width:64px;height:86px}
/* Leitura de cenas: narração e cada turno de fala ocupam blocos próprios. */
.campaign-story .campaign-narration{margin:0;white-space:pre-wrap;line-height:1.68}
.campaign-story .campaign-dialogue{margin:0 0 0 .45rem;padding:.35rem .7rem;border-left:2px solid var(--gold-500);background:rgba(230,168,23,.055);white-space:pre-wrap;line-height:1.62}
.campaign-story .campaign-dialogue + .campaign-dialogue{margin-top:-.25rem}

.campaign-speaker{display:block;margin-bottom:.15rem;color:var(--gold-300);font-size:.72rem;font-weight:700;letter-spacing:.025em}
