/* ---------- toasts ---------- */
#toasts { position: fixed; right: 1rem; bottom: 1rem; z-index: 90; display: flex; flex-direction: column; gap: .5rem; max-width: min(360px, calc(100vw - 2rem)); }
.toast { padding: .8rem 1rem; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-strong); box-shadow: var(--shadow); font-size: .9rem; animation: slideIn .25s ease; }
.toast.ok { border-color: var(--good); } .toast.err { border-color: var(--bad); } .toast.lvl { border-color: var(--gold); background: linear-gradient(160deg, #2b2110, var(--bg-2)); color: var(--gold-hi); font-weight: 600; }
@keyframes slideIn { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }

/* ---------- aviso de DevTools aberto (assets/js/nucleo/protect.js) ---------- */
#devtools-guard {
    position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center;
    background: rgba(10, 8, 5, .94); text-align: center; padding: 1.5rem;
}
#devtools-guard div { max-width: 420px; }
#devtools-guard p { font-family: var(--font-title); color: var(--gold-hi); font-size: 1.1rem; margin: .4rem 0; }
#devtools-guard p:last-child { color: var(--muted); font-size: .95rem; font-family: var(--font-body); }

/* ---------- janela de confirmação do jogo (assets/js/nucleo/dialogo.js — no lugar de confirm/prompt/alert) ---------- */
.dlg-camada {
    position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 1rem;
    background: radial-gradient(ellipse at center, rgba(20, 14, 8, .62), rgba(5, 4, 3, .86));
    backdrop-filter: blur(2px);
}
.dlg {
    position: relative; width: min(420px, 100%); padding: 1.35rem 1.4rem 1.2rem;
    background: linear-gradient(170deg, #2a2014 0%, #17120c 55%, #120e0a 100%);
    border: 1px solid var(--line-strong); border-radius: 12px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .7), 0 0 0 4px rgba(212, 169, 55, .13), 0 22px 60px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(242, 207, 107, .14);
}
/* cantoneiras douradas */
.dlg::before, .dlg::after {
    content: ''; position: absolute; width: 18px; height: 18px; pointer-events: none;
    border: 2px solid var(--gold); opacity: .75;
}
.dlg::before { top: 6px; left: 6px; border-right: 0; border-bottom: 0; border-radius: 6px 0 0 0; }
.dlg::after { bottom: 6px; right: 6px; border-left: 0; border-top: 0; border-radius: 0 0 6px 0; }
.dlg-cab { display: flex; align-items: center; gap: .7rem; padding-bottom: .7rem; margin-bottom: .8rem; border-bottom: 1px solid rgba(212, 169, 55, .22); }
.dlg-ico { flex: none; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #3b2c15, #1a130b); border: 1px solid rgba(212, 169, 55, .55); }
.dlg-ico svg { width: 22px; height: 22px; fill: none; stroke: var(--gold-hi); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dlg h3 { margin: 0; font-size: 1.12rem; color: var(--gold-hi); text-shadow: 0 1px 0 #000; }
.dlg-texto { margin: 0 0 1rem; color: var(--text); line-height: 1.5; font-size: .96rem; overflow-wrap: anywhere; }
.dlg-campo {
    width: 100%; box-sizing: border-box; margin: -.2rem 0 1rem; padding: .6rem .75rem; border-radius: 8px;
    background: #0d0a07; color: var(--text); border: 1px solid var(--line-strong); font: inherit; font-size: 1rem;
}
.dlg-campo:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212, 169, 55, .2); }
.dlg-opcoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .45rem; margin: -.2rem 0 1rem; }
.dlg-opcoes label { cursor: pointer; }
.dlg-opcoes input { position: absolute; opacity: 0; pointer-events: none; }
.dlg-opcoes span {
    display: block; text-align: center; padding: .5rem .4rem; border-radius: 8px; font-size: .9rem;
    border: 1px solid var(--line-strong); color: var(--muted); background: #0f0c08; transition: .15s;
}
.dlg-opcoes label:hover span { color: var(--text); border-color: var(--gold); }
.dlg-opcoes input:checked + span { color: #1a1208; font-weight: 700; border-color: var(--gold-hi); background: linear-gradient(160deg, var(--gold-hi), var(--gold)); }
.dlg-opcoes input:focus-visible + span { outline: 2px solid var(--gold-hi); outline-offset: 2px; }
.dlg-botoes { display: flex; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; }
.dlg-botoes .btn { min-width: 110px; }
.dlg.perigo { border-color: #7a2d22; box-shadow: 0 0 0 1px rgba(0, 0, 0, .7), 0 0 0 4px rgba(226, 86, 75, .14), 0 22px 60px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(242, 207, 107, .1); }
.dlg.perigo .dlg-ico { border-color: rgba(226, 86, 75, .7); background: radial-gradient(circle at 35% 30%, #4a1d16, #1e0d0a); }
.dlg.perigo .dlg-ico svg { stroke: #ff8a7a; }
@media (max-width: 480px) {
    .dlg-botoes { flex-direction: column-reverse; }
    .dlg-botoes .btn { width: 100%; }
}
