/* JOGOSRÁPIDOS — utilitários próprios (substituem as classes que os
   games traziam de Bootstrap/Tailwind; a biblioteca NÃO é carregada). */
.mt-0{margin-top:0;}
.mt-1{margin-top:.25rem;}
.mt-2{margin-top:.5rem;}
.mt-3{margin-top:1rem;}
.mt-4{margin-top:1.5rem;}
.mt-5{margin-top:3rem;}
.mt-6{margin-top:4rem;}
.mt-8{margin-top:6rem;}
.mt-auto{margin-top:auto;}
.mb-0{margin-bottom:0;}
.mb-1{margin-bottom:.25rem;}
.mb-2{margin-bottom:.5rem;}
.mb-3{margin-bottom:1rem;}
.mb-4{margin-bottom:1.5rem;}
.mb-5{margin-bottom:3rem;}
.mb-6{margin-bottom:4rem;}
.mb-8{margin-bottom:6rem;}
.mb-auto{margin-bottom:auto;}
.ms-0{margin-left:0;}
.ms-1{margin-left:.25rem;}
.ms-2{margin-left:.5rem;}
.ms-3{margin-left:1rem;}
.ms-4{margin-left:1.5rem;}
.ms-5{margin-left:3rem;}
.ms-6{margin-left:4rem;}
.ms-8{margin-left:6rem;}
.ms-auto{margin-left:auto;}
.me-0{margin-right:0;}
.me-1{margin-right:.25rem;}
.me-2{margin-right:.5rem;}
.me-3{margin-right:1rem;}
.me-4{margin-right:1.5rem;}
.me-5{margin-right:3rem;}
.me-6{margin-right:4rem;}
.me-8{margin-right:6rem;}
.me-auto{margin-right:auto;}
.mx-0{margin-left:0;margin-right:0;}
.mx-1{margin-left:.25rem;margin-right:.25rem;}
.mx-2{margin-left:.5rem;margin-right:.5rem;}
.mx-3{margin-left:1rem;margin-right:1rem;}
.mx-4{margin-left:1.5rem;margin-right:1.5rem;}
.mx-5{margin-left:3rem;margin-right:3rem;}
.mx-6{margin-left:4rem;margin-right:4rem;}
.mx-8{margin-left:6rem;margin-right:6rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.my-0{margin-top:0;margin-bottom:0;}
.my-1{margin-top:.25rem;margin-bottom:.25rem;}
.my-2{margin-top:.5rem;margin-bottom:.5rem;}
.my-3{margin-top:1rem;margin-bottom:1rem;}
.my-4{margin-top:1.5rem;margin-bottom:1.5rem;}
.my-5{margin-top:3rem;margin-bottom:3rem;}
.my-6{margin-top:4rem;margin-bottom:4rem;}
.my-8{margin-top:6rem;margin-bottom:6rem;}
.my-auto{margin-top:auto;margin-bottom:auto;}
.m-0{margin:0;}
.m-1{margin:.25rem;}
.m-2{margin:.5rem;}
.m-3{margin:1rem;}
.m-4{margin:1.5rem;}
.m-5{margin:3rem;}
.m-6{margin:4rem;}
.m-8{margin:6rem;}
.m-auto{margin:auto;}
.pt-0{padding-top:0;}
.pt-1{padding-top:.25rem;}
.pt-2{padding-top:.5rem;}
.pt-3{padding-top:1rem;}
.pt-4{padding-top:1.5rem;}
.pt-5{padding-top:3rem;}
.pt-6{padding-top:4rem;}
.pt-8{padding-top:6rem;}
.pt-auto{padding-top:auto;}
.pb-0{padding-bottom:0;}
.pb-1{padding-bottom:.25rem;}
.pb-2{padding-bottom:.5rem;}
.pb-3{padding-bottom:1rem;}
.pb-4{padding-bottom:1.5rem;}
.pb-5{padding-bottom:3rem;}
.pb-6{padding-bottom:4rem;}
.pb-8{padding-bottom:6rem;}
.pb-auto{padding-bottom:auto;}
.ps-0{padding-left:0;}
.ps-1{padding-left:.25rem;}
.ps-2{padding-left:.5rem;}
.ps-3{padding-left:1rem;}
.ps-4{padding-left:1.5rem;}
.ps-5{padding-left:3rem;}
.ps-6{padding-left:4rem;}
.ps-8{padding-left:6rem;}
.ps-auto{padding-left:auto;}
.pe-0{padding-right:0;}
.pe-1{padding-right:.25rem;}
.pe-2{padding-right:.5rem;}
.pe-3{padding-right:1rem;}
.pe-4{padding-right:1.5rem;}
.pe-5{padding-right:3rem;}
.pe-6{padding-right:4rem;}
.pe-8{padding-right:6rem;}
.pe-auto{padding-right:auto;}
.px-0{padding-left:0;padding-right:0;}
.px-1{padding-left:.25rem;padding-right:.25rem;}
.px-2{padding-left:.5rem;padding-right:.5rem;}
.px-3{padding-left:1rem;padding-right:1rem;}
.px-4{padding-left:1.5rem;padding-right:1.5rem;}
.px-5{padding-left:3rem;padding-right:3rem;}
.px-6{padding-left:4rem;padding-right:4rem;}
.px-8{padding-left:6rem;padding-right:6rem;}
.px-auto{padding-left:auto;padding-right:auto;}
.py-0{padding-top:0;padding-bottom:0;}
.py-1{padding-top:.25rem;padding-bottom:.25rem;}
.py-2{padding-top:.5rem;padding-bottom:.5rem;}
.py-3{padding-top:1rem;padding-bottom:1rem;}
.py-4{padding-top:1.5rem;padding-bottom:1.5rem;}
.py-5{padding-top:3rem;padding-bottom:3rem;}
.py-6{padding-top:4rem;padding-bottom:4rem;}
.py-8{padding-top:6rem;padding-bottom:6rem;}
.py-auto{padding-top:auto;padding-bottom:auto;}
.p-0{padding:0;}
.p-1{padding:.25rem;}
.p-2{padding:.5rem;}
.p-3{padding:1rem;}
.p-4{padding:1.5rem;}
.p-5{padding:3rem;}
.p-6{padding:4rem;}
.p-8{padding:6rem;}
.p-auto{padding:auto;}
.d-none{display:none;}
.d-block{display:block;}
.d-inline{display:inline;}
.d-inline-block{display:inline-block;}
.d-flex{display:flex;}
.d-grid{display:grid;}
.d-inline-flex{display:inline-flex;}
.d-sm-none{display:none;}
.d-sm-block{display:block;}
.d-sm-inline{display:inline;}
.d-sm-flex{display:flex;}
.d-sm-inline-block{display:inline-block;}
.d-sm-inline-flex{display:inline-flex;}
.d-md-none{display:none;}
.d-md-block{display:block;}
.d-md-inline{display:inline;}
.d-md-flex{display:flex;}
.d-md-inline-block{display:inline-block;}
.d-md-inline-flex{display:inline-flex;}
.d-lg-none{display:none;}
.d-lg-block{display:block;}
.d-lg-inline{display:inline;}
.d-lg-flex{display:flex;}
.d-lg-inline-block{display:inline-block;}
.d-lg-inline-flex{display:inline-flex;}
.flex-column,.flex-col{flex-direction:column;}.flex-row{flex-direction:row;}.flex-wrap{flex-wrap:wrap;}.flex-grow-1{flex-grow:1;}
.justify-content-center,.justify-center{justify-content:center;}
.justify-content-between,.justify-between{justify-content:space-between;}
.justify-content-around,.justify-around{justify-content:space-around;}
.justify-content-start,.justify-start{justify-content:flex-start;}
.justify-content-end,.justify-end{justify-content:flex-end;}
.justify-content-evenly,.justify-evenly{justify-content:space-evenly;}
.align-items-center,.items-center{align-items:center;}
.align-items-start,.items-start{align-items:flex-start;}
.align-items-end,.items-end{align-items:flex-end;}
.align-items-stretch,.items-stretch{align-items:stretch;}
.align-items-baseline,.items-baseline{align-items:baseline;}
.gap-0{gap:0;}
.gap-1{gap:.25rem;}
.gap-2{gap:.5rem;}
.gap-3{gap:1rem;}
.gap-4{gap:1.5rem;}
.gap-5{gap:3rem;}
.text-center{text-align:center;}
.text-start{text-align:left;}
.text-end{text-align:right;}
.text-white{color:#fff;}
.text-white-50{color:rgba(255,255,255,.5);}
.text-secondary{color:#9aa0ac;}
.text-muted{color:#8b92a0;}
.text-info{color:#38bdf8;}
.text-danger{color:#ef4444;}
.text-success{color:#22c55e;}
.text-warning{color:#f59e0b;}
.text-light{color:#e9ecef;}
.text-dark{color:#1a1a1a;}
.text-primary{color:#ffd21e;}
.text-slate-300{color:#cbd5e1;}
.text-slate-400{color:#94a3b8;}
.text-slate-900{color:#0f172a;}
.text-emerald-200{color:#a7f3d0;}
.text-emerald-400{color:#34d399;}
.text-emerald-500{color:#10b981;}
.text-sky-400{color:#38bdf8;}
.text-sky-200{color:#bae6fd;}
.text-rose-500{color:#f43f5e;}
.text-rose-200{color:#fecdd3;}
.bg-dark{background-color:#16181f;}
.bg-white{background-color:#fff;}
.bg-black{background-color:#000;}
.bg-transparent{background-color:transparent;}
.bg-slate-600{background-color:#475569;}
.bg-slate-700{background-color:#334155;}
.bg-slate-800{background-color:#1e293b;}
.bg-slate-900{background-color:#0f172a;}
.bg-emerald-500{background-color:#10b981;}
.bg-emerald-600{background-color:#059669;}
.bg-sky-600{background-color:#0284c7;}
.bg-rose-600{background-color:#e11d48;}
.fw-bold{font-weight:700;}.fw-black,.fw-bolder{font-weight:900;}.fw-semibold{font-weight:600;}.fw-normal{font-weight:400;}
.small,.text-sm{font-size:.85em;}.text-lg{font-size:1.125rem;}.text-base{font-size:1rem;}.text-xl{font-size:1.25rem;}.text-2xl{font-size:1.5rem;}.text-3xl{font-size:1.875rem;}.lh-1{line-height:1;}
.fs-1{font-size:2.5rem;}
.fs-2{font-size:2rem;}
.fs-3{font-size:1.75rem;}
.fs-4{font-size:1.5rem;}
.fs-5{font-size:1.25rem;}
.fs-6{font-size:1rem;}
.display-1{font-size:5rem;font-weight:300;line-height:1.15;}
.display-2{font-size:4.5rem;font-weight:300;line-height:1.15;}
.display-3{font-size:4rem;font-weight:300;line-height:1.15;}
.display-4{font-size:3.5rem;font-weight:300;line-height:1.15;}
.display-5{font-size:3rem;font-weight:300;line-height:1.15;}
.w-100,.w-full{width:100%;}.h-100,.h-full{height:100%;}.mw-100{max-width:100%;}.mx-auto{margin-left:auto;margin-right:auto;}.my-auto{margin-top:auto;margin-bottom:auto;}.mt-auto{margin-top:auto;}.ms-auto{margin-left:auto;}
.w-4{width:1rem;}.h-4{height:1rem;}
.w-5{width:1.25rem;}.h-5{height:1.25rem;}
.w-6{width:1.5rem;}.h-6{height:1.5rem;}
.w-8{width:2rem;}.h-8{height:2rem;}
.w-16{width:4rem;}.h-16{height:4rem;}
.w-20{width:5rem;}.h-20{height:5rem;}
.w-px{width:0.0625rem;}.h-px{height:0.0625rem;}
.border{border:1px solid #2a2e3a;}.border-0{border:0!important;}.border-secondary{border-color:#2a2e3a;}.border-danger{border-color:#ef4444;}.border-start{border-left:1px solid #2a2e3a;}.border-end{border-right:1px solid #2a2e3a;}.border-b,.border-b-4{border-bottom:0.25rem solid rgba(0,0,0,.25);}
.rounded{border-radius:.4rem;}.rounded-pill,.rounded-full{border-radius:50rem;}.rounded-circle{border-radius:50%;}.rounded-xl{border-radius:.75rem;}.rounded-2xl{border-radius:1rem;}
.opacity-50{opacity:.5;}.opacity-25{opacity:.25;}.shadow,.shadow-lg,.shadow-xl{box-shadow:0 .5rem 1.5rem rgba(0,0,0,.4);}.position-relative{position:relative;}.position-absolute{position:absolute;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border:1px solid transparent;border-radius:.5rem;font-weight:600;cursor:pointer;background:#2a2e3a;color:#fff;font-family:inherit;transition:.18s;text-decoration:none;}
.btn:hover{filter:brightness(1.12);}.btn:active{transform:scale(.97);}.btn-primary,.btn-primario{background:#ffd21e;color:#111;}.btn-secondary{background:#475569;color:#fff;}.btn-danger{background:#ef4444;color:#fff;}.btn-success{background:#22c55e;color:#fff;}.btn-info{background:#38bdf8;color:#03212e;}.btn-warning{background:#f59e0b;color:#3a2a00;}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.3);color:#fff;}.btn-outline-secondary{background:transparent;border-color:#475569;color:#cbd5e1;}.btn-link{background:transparent;color:#ffd21e;border:0;}
.btn-sm{padding:.3rem .7rem;font-size:.85rem;}.btn-lg{padding:.8rem 1.6rem;font-size:1.1rem;}
.btn-close{width:1.6rem;height:1.6rem;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:1rem;line-height:1;padding:0;}.btn-close-white{color:#fff;}
.container-fluid{width:100%;}.row{display:flex;flex-wrap:wrap;margin:0 -.5rem;}.col-6{flex:0 0 50%;max-width:50%;padding:0 .5rem;}

/* ==========================================================================
   MODAIS (substituem bootstrap.Modal — controlados por window.modalJogo)
   Estrutura: .modal.fade > .modal-dialog > .modal-content
   ========================================================================== */
.modal{position:fixed;inset:0;z-index:1055;display:none;overflow:hidden;outline:0;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;max-width:none;width:auto;text-align:left;}
.modal.show{display:flex;align-items:center;justify-content:center;padding:1rem;}
.modal::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.75);animation:fade .2s ease;}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal-dialog{position:relative;display:flex;align-items:center;justify-content:center;width:auto;max-width:31.25rem;z-index:1;}
.modal-dialog-centered{align-items:center;}
.modal-sm{max-width:20rem;}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;background:#16181f;border:1px solid #2a2e3a;border-radius:0.75rem;box-shadow:0 1rem 2.5rem rgba(0,0,0,.55);color:#eef1f6;outline:0;animation:modal-sobe .25s ease;max-height:calc(100vh - 2rem);overflow-y:auto;}
@keyframes modal-sobe{from{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #2a2e3a;}
.modal-title{margin:0;font-size:1.1rem;font-weight:700;}
.modal-body{position:relative;padding:1.25rem;flex:1 1 auto;}
.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:0.5rem;padding:1rem 1.25rem;border-top:1px solid #2a2e3a;}
.modal-footer.justify-content-center{justify-content:center;}
.modal-open{overflow:hidden;}

/* Form controls (substituem Bootstrap forms) */
.form-label{display:inline-block;margin-bottom:0.35rem;font-size:0.85rem;font-weight:600;color:#9aa0ac;}
.form-select,.form-control{display:block;width:100%;padding:0.5rem 0.75rem;font-size:0.95rem;color:#eef1f6;background:#1e2129;border:1px solid #2a2e3a;border-radius:0.4rem;font-family:inherit;transition:.18s;}
.form-select:focus,.form-control:focus{outline:0;border-color:#ffd21e;box-shadow:0 0 0 3px rgba(255,210,30,.18);}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239aa0ac' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;padding-right:2rem;}
.form-check{display:block;min-height:1.5rem;padding-left:1.75rem;margin-bottom:0.25rem;}
.form-check-input{float:left;margin-left:-1.75rem;width:1em;height:1em;margin-top:0.25em;vertical-align:top;background-color:#1e2129;border:1px solid #2a2e3a;appearance:none;cursor:pointer;border-radius:0.25rem;}
.form-check-input:checked{background-color:#ffd21e;border-color:#ffd21e;}
.form-check-input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23111' d='M10 3L4.5 8.5 2 6' stroke='%23111' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.form-switch{display:flex;align-items:center;min-height:1.5rem;padding-left:2.5rem;}
.form-switch .form-check-input{width:1.5em;margin-left:-2.5rem;border-radius:1em;background-color:#1e2129;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='%2380889a'/%3E%3C/svg%3E");background-position:left center;background-repeat:no-repeat;transition:.2s;}
.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='%23111'/%3E%3C/svg%3E");}

/* Alerta e listas */
.alert{position:relative;padding:0.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:0.4rem;}
.alert-warning{color:#f59e0b;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);}
.list-unstyled{list-style:none;padding-left:0;margin-bottom:0;}

/* Botão neon (usado por aerostrike/neonblocks) */
.btn-neon{background:transparent;border:0.125rem solid #38bdf8;color:#38bdf8;font-weight:700;text-transform:uppercase;letter-spacing:1px;box-shadow:0 0 0.75rem rgba(56,189,248,.4),inset 0 0 0.75rem rgba(56,189,248,.1);transition:.18s;}
.btn-neon:hover{background:rgba(56,189,248,.15);box-shadow:0 0 1.25rem rgba(56,189,248,.6),inset 0 0 1rem rgba(56,189,248,.2);}

/* Botão de ação (usado por mateblocks/blockboom) */
.btn-action{display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;padding:0.7rem 1.5rem;border:0.125rem solid #ffd21e;background:transparent;color:#ffd21e;font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:0.5rem;cursor:pointer;font-family:inherit;transition:.18s;}
.btn-action:active{transform:scale(.97);}