/* =====================================================================
   MNDN Jornada v67: notificações, mutirão contra o Aedes e ajustes
   ===================================================================== */

/* ---------- entrar direto depois do login ---------- */
body.entrando #abertura .ab-in,body.entrando #abertura .cin-brilhos{visibility:hidden}
body.entrando #abertura::after{content:"Entrando na praça…";position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:5;padding:14px 22px;border-radius:999px;background:#ffffffee;color:#0b3b75;font:900 16px/1 system-ui,sans-serif;box-shadow:0 8px 24px #0006;animation:anmPing 1.2s ease-in-out infinite}

/* ---------- avisos que saíram de cima da praça (agora no sino) ---------- */
#praca.nt-ativa #proximoObjetivo,#praca.nt-ativa .bairro61-mark,#praca.nt-ativa .am61-invite,#praca.nt-ativa .alerta-vigilancia,#praca.nt-ativa .jr-toast{display:none!important}

/* ---------- sino ---------- */
.nt-sino{position:relative;cursor:pointer}
.nt-sino .nt-sino-ic{display:inline-block;transform-origin:50% 10%}
.nt-sino.nt-toca .nt-sino-ic{animation:ntToca 1s ease}
@keyframes ntToca{10%,50%{rotate:18deg}30%,70%{rotate:-18deg}85%{rotate:8deg}100%{rotate:0}}
.nt-sino i{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#d94035;color:#fff;font:900 11px/19px system-ui,sans-serif;font-style:normal;text-align:center;border:2px solid #fff;box-shadow:0 2px 5px #0005}
.nt-painel{position:absolute;z-index:62;right:max(10px,1.6%);top:clamp(110px,15vh,130px);width:min(380px,calc(100% - 20px));max-height:calc(100% - 260px);overflow:auto;padding:12px;border:3px solid #6b3f1d;border-radius:20px;background:#fff8e6;box-shadow:0 6px 0 #6b3f1d,0 18px 40px #0006;transform-origin:top right;animation:anmGavetaAbre .28s cubic-bezier(.2,1.3,.4,1)}
.nt-painel header{display:flex;justify-content:space-between;align-items:center;margin:0 2px 8px}
.nt-painel header b{font:900 16px/1.2 system-ui,sans-serif;color:#4a2a0d}
.nt-painel header span{display:flex;gap:6px}
.nt-painel header button{padding:6px 10px!important;border-radius:999px!important;border:2px solid #6b3f1d!important;background:#fff!important;color:#4a2a0d!important;font:900 12px/1 system-ui,sans-serif!important;cursor:pointer}
.nt-lista{display:grid;gap:7px}
.nt-item{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;width:100%;text-align:left;padding:9px 10px!important;border:2px solid #e8d7ad!important;border-radius:14px!important;background:#fff!important;color:#2d2416!important;box-shadow:none!important;font:inherit;animation:anmTile .35s ease both}
button.nt-item{cursor:pointer}
button.nt-item:hover{border-color:#c99a3c!important}
.nt-item .ic{font-size:24px;line-height:1}
.nt-item b{display:block;font:900 13px/1.2 system-ui,sans-serif}
.nt-item small{display:block;font:600 12px/1.35 system-ui,sans-serif;color:#5a4a30;margin-top:2px}
.nt-item time{display:block;font:700 10.5px/1 system-ui,sans-serif;color:#9a8a6a;margin-top:4px}
.nt-item em{font:900 11px/1 system-ui,sans-serif;color:#1c8058;font-style:normal;white-space:nowrap}
.nt-item.novo{border-color:#e0483c!important;background:#fff6f4!important}
.nt-item.novo::before{content:"";position:absolute;left:-4px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#e0483c}
.nt-objetivo{margin-bottom:8px;border-color:#1c8058!important;background:#eef9ef!important}
.nt-vazio{margin:6px 2px;color:#7a6a50;font:700 13px/1.4 system-ui,sans-serif}

/* ---------- balões não cortados ---------- */
.anm-emote,.cs-balao,.anm-dog-bubble{max-width:min(220px,80vw);white-space:normal;text-align:center}
.anm-emote::after,.cs-balao::after,.anm-dog-bubble::after{translate:var(--seta,0) 0}

/* ---------- mosquitos da praça ---------- */
.mt-mosq{position:absolute;inset:0;z-index:6;pointer-events:none}
.mt-mosq .mq{position:absolute;width:38px;padding:16px;margin:-16px;box-sizing:content-box;pointer-events:auto;cursor:pointer;animation:anmBuzz var(--t,3s) ease-in-out infinite,mtChega 1.6s ease-out both}
.mt-mosq .mq svg{width:100%;display:block;animation:anmJitter .12s steps(2) infinite;filter:drop-shadow(0 2px 1px #0005)}
.mt-mosq .mq .wing{animation:anmBuzzWing .06s linear infinite alternate}
.mt-mosq .mq.sai{animation:mtSai 1.1s ease-in forwards}
@keyframes mtChega{from{opacity:0;translate:-60vw 10vh}}
@keyframes mtSai{to{opacity:0;translate:160px -260px;scale:.3}}

/* ---------- mutirão ---------- */
.mt-overlay{position:fixed;inset:0;z-index:22600;overflow:auto;padding:18px;background:linear-gradient(160deg,#0f4a3a,#0b3346);font-family:system-ui,sans-serif;color:#2a1c0a}
.mt-shell{max-width:1000px;margin:auto}
.mt-shell>header{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff;margin-bottom:12px}
.mt-shell>header small{color:#f7d974;font-weight:900;font-size:11px}
.mt-shell>header h2{margin:3px 0 0;font-size:24px}
.mt-shell>header button{padding:10px 14px;border:0;border-radius:12px;background:#fff;color:#174638;font:900 14px system-ui,sans-serif;cursor:pointer}
.mt-cena{position:relative;margin:0 auto 12px;width:min(100%,calc(62vh * 1.6));border-radius:18px;overflow:hidden;border:4px solid #dcefd8;box-shadow:0 12px 28px #0005}
.mt-cena img{display:block;width:100%}
.mt-ponto{position:absolute;z-index:4;translate:-50% -50%;width:38px;height:38px;padding:0;border-radius:50%;border:3px solid #fff;background:#e0483c;color:#fff;font:900 18px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 0 0 0 #e0483c99;animation:mtPonto 1.5s ease-out infinite,anmPop .5s cubic-bezier(.3,1.6,.5,1) both;animation-delay:0s,calc(var(--i)*80ms)}
.mt-ponto.ok{background:#1c8058;animation:anmPop .4s ease}
@keyframes mtPonto{70%{box-shadow:0 0 0 16px #e0483c00}}
.mt-tampa{position:absolute;z-index:3;translate:-50% -50%;aspect-ratio:5/1;border-radius:50%;background:radial-gradient(ellipse at 50% 35%,#7fb4e6,#2f6aa8 70%);box-shadow:0 4px 0 #1d4a7a,0 8px 12px #0005;opacity:0;pointer-events:none}
.mt-tampa.pos{animation:mtTampa .6s cubic-bezier(.3,1.4,.5,1) forwards}
@keyframes mtTampa{0%{opacity:0;translate:-50% -260%;rotate:-20deg}70%{opacity:1;translate:-50% -40%;rotate:3deg}100%{opacity:1;translate:-50% -50%;rotate:0}}
.mt-larvas{position:absolute;z-index:2;translate:-50% -50%;aspect-ratio:5/1;pointer-events:none}
.mt-larvas i{position:absolute;top:40%;width:6px;height:2px;border-radius:2px;background:#4a3a2a;animation:mtLarva .7s ease-in-out infinite alternate}
.mt-larvas i:nth-child(1){left:25%}.mt-larvas i:nth-child(2){left:50%;animation-delay:.3s}.mt-larvas i:nth-child(3){left:70%;animation-delay:.6s}
@keyframes mtLarva{to{rotate:40deg;translate:3px 2px}}
.mt-larvas.some{display:none}
.mt-solto{position:absolute;z-index:2;translate:-50% -50%;font-size:clamp(28px,4vw,46px);transition:rotate .6s cubic-bezier(.3,1.5,.5,1),opacity .6s,translate .6s;pointer-events:none;filter:drop-shadow(0 3px 2px #0005)}
.mt-solto.garrafa.ok{rotate:180deg}
.mt-solto.pneu.ok{translate:120% -50%;opacity:0}
.mt-areia{position:absolute;z-index:2;translate:-50% -10%;width:5%;aspect-ratio:3/1;border-radius:50%;background:#e6c98a;box-shadow:inset 0 2px 0 #f6deaa;animation:anmPop .4s ease}
.mt-voa{position:absolute;z-index:3;width:30px;pointer-events:none;animation:anmBuzz var(--t,3s) ease-in-out infinite;animation-delay:var(--d)}
.mt-voa svg{width:100%;display:block;animation:anmJitter .12s steps(2) infinite}
.mt-card{background:#fff8e6;border-radius:18px;padding:16px;margin-bottom:12px;line-height:1.5;box-shadow:0 6px 16px #0003;animation:anmCard .4s cubic-bezier(.2,.9,.3,1.2)}
.mt-prog{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center}
.mt-prog b{font-size:26px;color:#1c8058;grid-row:span 2}
.mt-prog span{font-weight:800;font-size:13px}
.mt-prog i{height:10px;border-radius:999px;background:linear-gradient(90deg,#1c8058 var(--p),#e3e9e1 0);transition:background .4s}
.mt-prim,.mt-card button{padding:11px 14px;border:2px solid #d9c9a0;border-radius:12px;background:#fff;font:800 14px system-ui,sans-serif;cursor:pointer;color:#2a1c0a}
.mt-prim{background:#1c8058!important;color:#fff!important;border-color:#1c8058!important;margin-top:8px}
.mt-perg{display:grid;gap:8px}
.mt-perg h3,.mt-fim h3{margin:0}
.mt-perg button{text-align:left}
.mt-perg button.certo{border-color:#1c8058;background:#e4f6e7}
.mt-perg button.errado{border-color:#e0483c;background:#fdeceb;opacity:.7;animation:anmShake .4s ease}
.mt-retorno{min-height:20px;margin:0;color:#a0461d;font-weight:800;font-size:13px}
.mt-fim-art{position:relative;height:150px;border-radius:14px;background:linear-gradient(#bfe6ff,#d9f0c4);overflow:hidden;margin-bottom:10px}
.mt-sol{position:absolute;left:10%;top:12%;font-size:44px;animation:anmSpin 12s linear infinite}
.mt-ok{position:absolute;left:50%;top:50%;translate:-50% -50%;font-size:60px;animation:anmPop .6s .9s cubic-bezier(.3,1.6,.5,1) both}
.mt-foge{position:absolute;left:calc(35% + var(--i)*5%);top:calc(40% + var(--i)*4%);width:30px;animation:mtFoge 1.4s ease-in forwards;animation-delay:calc(var(--i)*90ms)}
.mt-foge svg{width:100%}
@keyframes mtFoge{to{translate:60vw -40vh;rotate:-30deg;opacity:0}}
.mt-btns{display:flex;flex-wrap:wrap;gap:8px}
.mt-fonte{color:#cfe5d8;font-size:12px;line-height:1.4}
.mt-fonte a{color:#f7d974}
@media(max-width:760px){.mt-overlay{padding:12px}.mt-ponto{width:30px;height:30px;font-size:15px}.mt-shell>header h2{font-size:19px}}
body.reduce-motion .mt-mosq .mq,body.reduce-motion .mt-voa{animation:none!important}

/* ---------- vila online mais leve ---------- */
.anm-vworld.night{filter:none!important}
.anm-vworld.night::after{content:"";position:absolute;inset:0;background:#0b1d4b40;pointer-events:none}
.anm-vhouse svg,.anm-vplayer img,.anm-vclouds .anm-cloud{filter:none!important}
.anm-tree{animation:none!important}
.anm-road-dash,.anm-river-shine{animation:none!important}
.anm-vhouse:not(.mine):not(.anm-recente) .smoke{display:none}
.anm-vview{contain:strict}
