:root{--azul1:#1c2a6a;--azul2:#0b123a;--borda:#cfd6ff;--ouro:#d4af37;--ouro2:#f6dd8a;--txt:#eef0ff;--verm:#ff5a4a}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#05060e;color:var(--txt);font-family:Georgia,'Times New Roman',serif;overflow:hidden;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,select{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;pointer-events:auto}
#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}
.hidden{display:none!important}
@media print{body{display:none!important}}

button,.btn{font:inherit;color:var(--txt);cursor:pointer;border:2px solid var(--borda);border-radius:8px;padding:.6em 1em;text-decoration:none;display:inline-block;
  background:linear-gradient(180deg,#25368a,#0f1850);box-shadow:0 2px 0 #000a,inset 0 0 12px #6a7aff33;letter-spacing:.02em}
button:hover:not(:disabled){filter:brightness(1.25)} button:active:not(:disabled){transform:translateY(1px)}
button:disabled{opacity:.4;cursor:not-allowed}
button.gold,.btn.gold{color:#2a1c00;border-color:#fff2b0;background:linear-gradient(180deg,#ffe48a,#d4a017);font-weight:700;text-shadow:0 1px 0 #fff6}
button.mini{padding:.3em .7em;font-size:.8em}

/* ---------- login ---------- */
#auth{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.auth-bg{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 120%,#7a3a1a 0,#2a1a3a 35%,#070a1c 70%);z-index:-1}
.auth-bg::before{content:"";position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff 50%,transparent),radial-gradient(1px 1px at 60% 20%,#fff 50%,transparent),radial-gradient(1.5px 1.5px at 80% 60%,#fff 50%,transparent),radial-gradient(1px 1px at 35% 70%,#fff 50%,transparent),radial-gradient(1px 1px at 90% 15%,#fff 50%,transparent);background-size:300px 300px;animation:twk 6s infinite alternate}
@keyframes twk{from{opacity:.5}to{opacity:1}}
.auth-box{width:min(440px,100%);padding:26px 24px;background:linear-gradient(180deg,#1b2870ee,#0a1038f2);border:2px solid var(--borda);border-radius:14px;box-shadow:0 0 60px #000,0 0 40px #3a4aff44}
.auth-box .logo{text-align:center;font-size:44px;color:var(--ouro);text-shadow:0 0 20px #ffd84a}
.auth-box h1{margin:0;text-align:center;letter-spacing:.5em;font-size:34px;color:var(--ouro2);text-shadow:0 0 18px #ffb84a88;padding-left:.5em}
.auth-box .sub{text-align:center;margin:.2em 0 1em;color:#aab4ff;font-style:italic}
.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{flex:1;opacity:.6}.tabs button.on{opacity:1;border-color:var(--ouro)}
form{display:flex;flex-direction:column;gap:10px}
label{display:flex;flex-direction:column;gap:4px;font-size:.88em;color:#c8d0ff}
label.chk{flex-direction:row;gap:8px;align-items:flex-start;font-size:.78em;line-height:1.3}
input,select{font:inherit;padding:.6em .7em;border-radius:6px;border:1px solid #6a78d8;background:#070c2c;color:#fff;width:100%}
input[type=checkbox]{width:auto;margin-top:3px}
.dois{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#auth-erro{min-height:1.2em;margin-top:8px;color:#ff9a8a;font-size:.9em;text-align:center}
.rodape{margin:.8em 0 0;text-align:center;font-size:.72em;color:#8a94d0}

#carregando{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#05060e;z-index:40;font-size:1.2em;color:var(--ouro2);letter-spacing:.2em}

/* ---------- barras ---------- */
.barra{height:12px;border-radius:6px;background:#0008;border:1px solid #fff5;overflow:hidden;position:relative}
.barra i{display:block;height:100%;width:0;background:linear-gradient(180deg,#9aff9a,#2ca84a);transition:width .25s}
.barra.xp i{background:linear-gradient(180deg,#ffe48a,#c8921a)}
.barra.enemy i{background:linear-gradient(180deg,#ff8a7a,#b01e1e)}
.barra.graca i{background:linear-gradient(180deg,#a8e0ff,#2a78d6)}
.barra.limite i{background:linear-gradient(180deg,#ffe48a,#e07a10)}
.barra.limite.cheio{box-shadow:0 0 14px #ffc83a;animation:pulso .7s infinite alternate}
.barra.atb i{background:linear-gradient(180deg,#ffe9a0,#d99a20);transition:none}
@keyframes pulso{to{box-shadow:0 0 26px #fff0a0}}

/* ---------- HUD do mapa ---------- */
#hud{position:fixed;left:0;right:0;top:0;padding:calc(10px + env(safe-area-inset-top)) 12px 0;display:flex;gap:10px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;pointer-events:none;z-index:10}
#hud>*{pointer-events:auto}
.hbox{display:flex;align-items:center;gap:12px;padding:8px 14px;background:linear-gradient(180deg,#1c2a6acc,#0b123acc);border:2px solid var(--borda);border-radius:10px}
.hl{display:flex;flex-direction:column}.hl small{color:#aab4ff;font-size:.72em}
.hm{width:130px}.hm small{font-size:.68em;color:#aab4ff}
#h-nivel{color:var(--ouro2);font-weight:700}#h-est{color:var(--ouro2)}
.hbtn{display:flex;gap:6px;flex-wrap:wrap}.hbtn button{padding:.5em .8em;font-size:.9em}
#legenda{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:.5em 1.1em;background:#0b123acc;border:1px solid var(--borda);border-radius:20px;font-size:.88em;color:#dfe5ff;text-align:center;max-width:92vw;z-index:10;pointer-events:none}

/* ---------- painéis ---------- */
#painel{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:16px;background:#02030aaa;backdrop-filter:blur(3px);z-index:20;overflow:auto}
#painel.on{display:flex}
.pcard{width:min(620px,100%);max-height:94vh;overflow:auto;padding:22px 24px;background:linear-gradient(180deg,#1c2a6af2,#0a1038f7);border:2px solid var(--borda);border-radius:12px;box-shadow:0 0 50px #000,inset 0 0 30px #6a7aff22;animation:ent .35s ease}
#painel.larga .pcard{width:min(900px,100%)}
@keyframes ent{from{opacity:0;transform:translateY(14px) scale(.98)}}
.pcard h2{margin:.1em 0 .3em;color:var(--ouro2);font-size:1.6em}
.pcard p{line-height:1.5;margin:.6em 0;color:#e8ecff}.pcard .ref{color:#9ac8ff;font-style:italic}.pcard .peq{font-size:.8em;color:#aab4ff}
.sel small{display:inline-block;padding:.2em .7em;border-radius:20px;font-size:.7em;letter-spacing:.14em}
.sel.AT small{background:#6a4a10;color:#ffe08a;border:1px solid #e8b84a}.sel.NT small{background:#10386a;color:#bfe0ff;border:1px solid #6ab0ff}
.linha{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.linha>*{flex:1;min-width:140px;text-align:center}
.dica{margin-top:12px;padding:10px 12px;border-left:4px solid var(--ouro);background:#0006;border-radius:4px;font-size:.92em}
.estrelas{font-size:46px;letter-spacing:.2em;text-align:center}.estrelas span{color:#33384f}.estrelas span.on{color:#ffe066;text-shadow:0 0 18px #ffc83a;animation:est .6s backwards}
.estrelas span:nth-child(2){animation-delay:.2s}.estrelas span:nth-child(3){animation-delay:.4s}
@keyframes est{from{transform:scale(0) rotate(-90deg)}}
.sobe{margin:10px 0;padding:10px;border:1px solid var(--ouro);border-radius:8px;background:#3a2a0a99;text-align:center;color:#ffe9a0}
.tab{overflow:auto;max-height:60vh}table{width:100%;border-collapse:collapse;font-size:.85em}th,td{padding:.45em .6em;border-bottom:1px solid #fff2;text-align:left}th{color:var(--ouro2)}
.cert{width:100%;border-radius:6px;border:1px solid var(--ouro)}

/* ---------- legendas das cenas ---------- */
#legendas{position:fixed;left:0;right:0;bottom:0;padding:0 14px calc(18px + env(safe-area-inset-bottom));display:none;z-index:15;pointer-events:none}
#legendas.on{display:block}
.lg{max-width:860px;margin:0 auto;padding:16px 20px;background:linear-gradient(180deg,#0b123ae6,#05071ff0);border:2px solid var(--borda);border-radius:12px;pointer-events:auto;box-shadow:0 0 40px #000}
.lg small{color:#9ac8ff;letter-spacing:.08em;font-size:.75em}.lg p{margin:.5em 0 .8em;font-size:1.12em;line-height:1.5;min-height:3.4em}
.lg-b{display:flex;justify-content:space-between;gap:10px}

/* ---------- batalha ---------- */
#batalha{position:fixed;inset:0;z-index:12;pointer-events:none}
#batalha>*{pointer-events:none}
#b-menu,#b-menu *,#b-quiz,#b-quiz *{pointer-events:auto}
#b-topo{position:absolute;top:calc(10px + env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:center}
#b-inimigo{width:min(520px,86vw);padding:8px 14px;background:linear-gradient(180deg,#2a0a14cc,#10050acc);border:2px solid #ff9a8a;border-radius:10px;display:flex;flex-direction:column;gap:5px}
#b-inimigo b{font-size:1.15em;color:#ffc8c0;letter-spacing:.08em}#b-inimigo small{color:#ffe08a}
#b-banner{position:absolute;top:22%;left:0;right:0;text-align:center;font-size:clamp(26px,5vw,54px);font-weight:700;letter-spacing:.14em;opacity:0;text-shadow:0 0 22px #000,0 3px 0 #000;transform:scale(.9);transition:all .25s;text-transform:uppercase}
#b-banner.show{opacity:1;transform:scale(1)}#b-banner.red{color:#ff6a5a}#b-banner.enemy{color:#ffc8c0}#b-banner.virtude{color:#bfe0ff}
#b-banner.limite{color:#ffe066;text-shadow:0 0 30px #ff9a20,0 3px 0 #000}
#b-taunt{position:absolute;top:34%;left:0;right:0;text-align:center;font-size:1.2em;font-style:italic;color:#ffd0c8;text-shadow:0 2px 6px #000;padding:0 20px}
#b-recursos{position:absolute;top:calc(88px + env(safe-area-inset-top));left:12px;width:min(200px,42vw);display:flex;flex-direction:column;gap:6px;padding:8px;background:#0b123acc;border:1px solid var(--borda);border-radius:8px;font-size:.8em}
#b-recursos .rec{display:flex;flex-direction:column;gap:2px}#b-buffs{color:#ffe08a;min-height:1em}
#b-party{position:absolute;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:row;gap:6px;max-width:calc(100vw - 330px);flex-wrap:wrap;justify-content:flex-end}
.pc{width:158px;padding:7px 10px;background:linear-gradient(180deg,#1c2a6ae6,#0b123ae6);border:2px solid #7a88dd;border-radius:8px;font-size:.82em;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.pc small{color:#aab4ff;text-align:right}.pc .barra{grid-column:1/3;height:9px}.pc .hpn{grid-column:1/3;font-size:.85em;color:#cfe}
.pc.pronto{border-color:#ffe066;box-shadow:0 0 12px #ffc83a88}.pc.ativo{background:linear-gradient(180deg,#3a4ab0,#1a2478)}.pc.ko{opacity:.45;filter:grayscale(1)}
#b-menu{position:absolute;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:none;flex-direction:column;gap:5px;width:min(300px,62vw);padding:10px;background:linear-gradient(180deg,#1c2a6af2,#0a1038f5);border:2px solid var(--borda);border-radius:10px;max-height:56vh;overflow:auto}
#b-menu.on{display:flex;animation:ent .2s}
#b-menu .mt{color:var(--ouro2);font-weight:700;display:flex;justify-content:space-between;gap:8px}#b-menu .mt small{color:#aab4ff;font-weight:400}
#b-menu button{text-align:left;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;padding:.5em .8em}
#b-menu button i{margin-left:auto;font-style:normal;color:#a8e0ff;font-size:.85em}#b-menu button small{flex-basis:100%;font-size:.72em;color:#aab4ff}
#b-menu button.lim{border-color:#ffe066;color:#ffe9a0}#b-menu button.vl{margin-top:4px;opacity:.85}
#b-quiz{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:14px;background:#02030acc;backdrop-filter:blur(3px)}
#b-quiz.on{display:flex}
.qc{width:min(640px,100%);padding:20px 22px;background:linear-gradient(180deg,#1c2a6afa,#0a1038fa);border:2px solid var(--ouro);border-radius:12px;box-shadow:0 0 40px #000;max-height:94vh;overflow:auto}
.qc small{color:#ffd0c8;letter-spacing:.08em}.qc h3{margin:.4em 0 .8em;font-size:1.25em;line-height:1.4;color:#fff}
.ops{display:flex;flex-direction:column;gap:8px}.ops button{text-align:left;display:flex;gap:10px}.ops button b{color:var(--ouro2)}
.ops button.certa{background:linear-gradient(180deg,#2ca84a,#145a28);border-color:#9aff9a;opacity:1}.ops button.errada{background:linear-gradient(180deg,#b02a2a,#5a1414);border-color:#ff9a8a;opacity:1}
.fb{margin-top:10px}.fb p{margin:.4em 0 .8em;line-height:1.4}.fb .cont{width:100%}
#b-fx{position:absolute;inset:0;overflow:hidden}
.dmg{position:absolute;transform:translate(-50%,-50%);font-weight:700;font-size:30px;color:#fff;text-shadow:0 0 6px #000,0 3px 0 #000;animation:dmg 1.1s ease-out forwards;white-space:nowrap}
.dmg.dano{color:#ff7a6a}.dmg.cura{color:#8affb0}.dmg.fraco{color:#ffe066;font-size:40px}.dmg.crit{color:#ffb040;font-size:38px}.dmg.tag{font-size:18px;color:#ffe9a0;letter-spacing:.1em}.dmg.graca{color:#a8e0ff;font-size:22px}
@keyframes dmg{0%{opacity:0;transform:translate(-50%,-20%) scale(.6)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-190%) scale(1)}}

#toast{position:fixed;left:50%;top:calc(80px + env(safe-area-inset-top));transform:translate(-50%,-10px);opacity:0;padding:.6em 1.2em;background:#0b123aee;border:1px solid var(--ouro);border-radius:20px;z-index:60;pointer-events:none;transition:all .3s;max-width:90vw;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- proteção ---------- */
#marca{position:fixed;inset:-30%;z-index:70;pointer-events:none;display:flex;flex-wrap:wrap;gap:90px 70px;align-content:flex-start;transform:rotate(-24deg);opacity:.07;font-size:15px;color:#fff;overflow:hidden}
#cobre{position:fixed;inset:0;background:#000;z-index:90;display:none;align-items:center;justify-content:center;color:var(--ouro2);letter-spacing:.2em}
#cobre.on{display:flex}

@media (max-width:760px){
  #b-party{max-width:calc(100vw - 20px);bottom:auto;top:calc(168px + env(safe-area-inset-top));right:8px;flex-direction:column;align-items:flex-end}.pc{width:150px;padding:5px 8px}
  .hbox{gap:8px;padding:6px 10px;font-size:.85em}.hm{width:90px}
  #b-recursos{top:calc(84px + env(safe-area-inset-top));font-size:.72em}
  .pcard{padding:16px}.dmg{font-size:24px}
}

/* LUMEN · acabamento em pedra, bronze e pergaminho */
:root{--azul1:#252923;--azul2:#141815;--borda:#9b8a624d;--ouro:#b59a62;--ouro2:#e3cf9f;--txt:#eee9df;--verm:#cf7765}
body{background:#10130f;color:var(--txt);font-family:Georgia,'Times New Roman',serif}
button,.btn{border:1px solid #a4946d70;border-radius:3px;background:linear-gradient(180deg,#33382f,#20261f);box-shadow:inset 0 1px #fff1,0 3px 12px #0003;text-shadow:none;transition:background .18s,border-color .18s,filter .18s}
button:hover:not(:disabled){filter:brightness(1.12);border-color:#c4ad79}
button:focus-visible,input:focus-visible,select:focus-visible,.btn:focus-visible{outline:2px solid #dac392;outline-offset:3px}
button.gold,.btn.gold{color:#211d13;border-color:#d4bc83;background:linear-gradient(180deg,#d1bd8c,#ad915b);text-shadow:none;box-shadow:inset 0 1px #efe3ba70,0 3px 12px #0003}
#auth{justify-content:flex-end;padding:40px max(5vw,24px)}
.auth-bg{background:linear-gradient(90deg,#10140b0a 0%,#10140b33 45%,#10140bba 100%),url('/assets/galileia.png') center/cover no-repeat #1b241a}
.auth-bg::before{background:linear-gradient(0deg,#080e0caa,transparent 40%,#080e0c33);animation:none}
.auth-box{width:min(440px,100%);padding:32px;background:linear-gradient(150deg,#22271fed,#111811f5);border:1px solid #a9986c66;border-radius:4px;box-shadow:0 24px 100px #0006;backdrop-filter:blur(16px)}
.auth-box .logo{font-size:36px;color:#cbb27c;text-shadow:none;margin-bottom:8px}
.auth-box h1{font-weight:400;font-size:36px;letter-spacing:.38em;padding-left:.38em;text-shadow:none}
.auth-box .sub{color:#b4b9a6;font-size:.84em;margin:10px 0 26px}
.tabs{gap:0;border-bottom:1px solid #b09b6540;margin-bottom:22px}.tabs button{border:0;border-bottom:2px solid transparent;background:transparent;box-shadow:none;border-radius:0;padding-bottom:12px;color:#d8d3c4}.tabs button.on{border-bottom-color:#cbb27c}
label{color:#d3d3c3;font-family:Arial,sans-serif;font-size:.78em;letter-spacing:.02em;gap:8px}
form{gap:16px}input,select{background:#11170fe6;border:1px solid #87917555;border-radius:3px;padding:.85em;color:#eee9df;font-family:Arial,sans-serif;font-size:14px;color-scheme:dark}
label.chk{font-size:.72em;line-height:1.5}.rodape{color:#909a86;line-height:1.5;margin-top:20px}#auth-erro{color:#e3a28a}
.hbox,.pcard,.lg,.pc,#b-menu,#b-recursos{background:linear-gradient(160deg,#252b23ed,#101810ef);border:1px solid #9b8a6266;border-radius:4px;box-shadow:0 8px 30px #0004}
.hbox{backdrop-filter:blur(10px)}.hl small,.hm small,.pcard .peq{color:#b6bdab}
#legenda,#toast{background:#182015eb;border:1px solid #a38e5e66;border-radius:3px;color:#d4d8c6;box-shadow:0 5px 24px #0004}
.pcard{box-shadow:0 24px 90px #0008}.pcard h2{font-weight:400}.pcard p{color:#dedfd1}.pcard .ref,.lg small{color:#bdc9b1}.pcard .peq{color:#a5b19b}
#painel{background:#080e0aaa;backdrop-filter:blur(6px)}
.lg{background:linear-gradient(160deg,#20271ff2,#101710f5);box-shadow:0 8px 40px #0006}.lg p{color:#ecebdf}
.barra{height:8px;border:1px solid #9eaa8560;border-radius:2px;background:#080c08bb}.barra i{background:linear-gradient(180deg,#a5ad75,#58693d)}.barra.xp i,.barra.atb i{background:linear-gradient(180deg,#d1bc85,#96804d)}.barra.enemy i{background:linear-gradient(180deg,#bd7765,#71392e)}.barra.graca i{background:linear-gradient(180deg,#afc8c2,#5b8a83)}.barra.limite i{background:linear-gradient(180deg,#d8c590,#ac8751)}
#b-inimigo{border:1px solid #ad77645c;border-radius:3px;background:linear-gradient(160deg,#30251eed,#181711ec)}#b-inimigo b{color:#dbb69f}#b-inimigo small{color:#ccbb8f}
.pc{border-color:#8c967062}.pc.pronto{border-color:#c6b176}.pc.ativo{border-color:#e2cd98;box-shadow:0 0 18px #c4ac6720}
#b-quiz{background:linear-gradient(160deg,#252b23f7,#111811fa);border-color:#a39265;border-radius:4px}
#carregando{background:#121810;color:#d8c597}.dica{background:#a68b3910;border-left:2px solid #ad965d}.estrelas span.on{color:#d1b775;text-shadow:0 0 12px #d8b34c44}
@media(max-width:760px){#auth{padding:24px 16px;justify-content:center}.auth-bg{background-position:38% center}.auth-box{padding:24px;backdrop-filter:blur(12px)}}
@media(max-height:700px){#auth{align-items:flex-start}.auth-box{margin:auto 0;padding:20px 24px}.auth-box .logo{font-size:28px}.auth-box .sub{margin:8px 0 16px}form{gap:10px}}
@media(prefers-reduced-motion:reduce){.auth-bg::before{animation:none}button,.btn{transition:none}}

.qc{background:linear-gradient(150deg,#272d24fa,#121a12fc);border:1px solid #a59465;border-radius:4px}.pc.ativo{background:linear-gradient(160deg,#424a32,#262f23)}.pc small,#b-menu .mt small,#b-menu button small{color:#b0bca4}

.art-credits{color:#a3ad97;text-decoration:none;display:inline-block;margin-top:6px}.art-credits:hover{color:#dfca99}a{color:#d2bb85}

/* Remove the repeated name/email overlay from every game screen. */
#marca{display:none!important}
