/* bloco-linha-10 */
    :root{
      --ceu:#22c9e9;
      --ceu-topo:#55aef2;
      --grama:#43b61e;
      --grama-clara:#50c522;
      --grama-escura:#349d16;
      --preto:#101010;
      --branco:#ffffff;
      --verde:#6eff1f;
      --painel:#0a1720;
      --pedra:#b8b6af;
      --pedra-escura:#838078;
      --terra:#60401e;
    }

    *{box-sizing:border-box}

    html,body{
      margin:0;
      min-height:100%;
      background:#071117;
      font-family:"Courier New", monospace;
    }

    body{overflow-x:hidden}

    .pixel{
      image-rendering:pixelated;
      text-rendering:geometricPrecision;
    }

    .pagina{
      min-height:100vh;
      width:100%;
    }

    .topo-pixel{
      position:relative;
      min-height:275px;
      overflow:hidden;
      border-bottom:0;
      background:
        linear-gradient(180deg,var(--ceu-topo) 0%,#3ebcf0 45%,#16dce6 100%);
    }

    .nuvens{
      position:absolute;
      inset:0;
      overflow:hidden;
      pointer-events:none;
      z-index:1;
    }

    .nuvem{
      position:absolute;
      left:100%;
      width:34px;
      height:24px;
      background:#e9f8ff;
      opacity:.72;
      box-shadow:
        26px 0 0 #e9f8ff,
        52px 0 0 #dff5ff,
        26px -18px 0 #e9f8ff,
        78px 0 0 #e9f8ff,
        104px 0 0 #d8f1ff;
      animation:nuvem-andando linear infinite;
      will-change:transform;
    }

    .nuvem-1{
      top:155px;
      animation-duration:38s;
      animation-delay:-8s;
    }

    .nuvem-2{
      top:82px;
      transform:scale(1.35);
      animation-duration:52s;
      animation-delay:-29s;
    }

    .nuvem-3{
      top:105px;
      transform:scale(.8);
      animation-duration:44s;
      animation-delay:-18s;
      opacity:.58;
    }

    .nuvem-4{
      top:52px;
      transform:scale(.62);
      animation-duration:61s;
      animation-delay:-46s;
      opacity:.48;
    }

    @keyframes nuvem-andando{
      from{
        left:calc(100% + 160px);
      }
      to{
        left:-220px;
      }
    }

    @media (prefers-reduced-motion:reduce){
      .nuvem{
        animation-play-state:paused;
      }
    }

    .logo-topo{
      position:absolute;
      left:50%;
      top:18px;
      transform:translateX(-50%);
      width:min(290px,55vw);
      max-height:205px;
      object-fit:contain;
      z-index:4;
      filter:drop-shadow(0 5px 0 rgba(0,0,0,.08));
    }

    .acoes-topo{
      position:absolute;
      top:20px;
      right:14px;
      display:flex;
      flex-direction:column;
      gap:12px;
      z-index:1080;
    }

    .acao-topo{
      min-width:62px;
      min-height:60px;
      padding:0 16px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:5px solid #101010;
      background:#fff;
      color:#181818;
      font-weight:900;
      font-size:14px;
      text-decoration:none;
      box-shadow:4px 5px 0 rgba(0,0,0,.16);
    }

    .acao-topo.icone{
      min-width:60px;
      width:60px;
      padding:0;
      font-size:26px;
    }

    body.modal-open .acoes-topo{
      z-index:1030;
    }

    .acao-topo:hover{
      transform:translate(-2px,-2px);
      box-shadow:6px 7px 0 rgba(0,0,0,.18);
      color:#181818;
    }


    .lua-noite{
      display:none;
      position:absolute;
      right:8%;
      top:18px;
      width:142px;
      height:142px;
      border-radius:50%;
      z-index:2;
      pointer-events:none;
      background:
        radial-gradient(circle at 34% 31%, rgba(95,103,118,.52) 0 9px, transparent 10px),
        radial-gradient(circle at 65% 24%, rgba(110,117,130,.48) 0 13px, transparent 14px),
        radial-gradient(circle at 62% 64%, rgba(105,111,125,.45) 0 18px, transparent 19px),
        radial-gradient(circle at 29% 69%, rgba(122,128,140,.42) 0 11px, transparent 12px),
        radial-gradient(circle at 48% 48%, #eef1ee 0 58%, #b8bdc4 72%, #8e949d 100%);
      border:4px solid rgba(228,235,239,.7);
      box-shadow:
        0 0 18px rgba(245,248,230,.42),
        0 0 55px rgba(221,230,205,.16);
      image-rendering:pixelated;
    }

    body.modo-noturno .topo-pixel{
      background:
        radial-gradient(circle at 20% 20%, rgba(34,48,83,.24), transparent 26%),
        linear-gradient(180deg,#020817 0%,#071022 55%,#0c1728 100%);
    }

    body.modo-noturno .topo-pixel:after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:0;
      background-image:
        radial-gradient(circle, rgba(255,255,255,.95) 0 1px, transparent 1.6px),
        radial-gradient(circle, rgba(197,218,255,.75) 0 1px, transparent 1.5px);
      background-size:91px 83px,137px 119px;
      background-position:17px 22px,61px 48px;
      opacity:.55;
    }

    body.modo-noturno .nuvem{
      background:#555c69;
      opacity:.62;
      box-shadow:
        26px 0 0 #555c69,
        52px 0 0 #4d5460,
        26px -18px 0 #59616f,
        78px 0 0 #555c69,
        104px 0 0 #4b515c;
    }

    body.modo-noturno .nuvem-3,
    body.modo-noturno .nuvem-4{
      opacity:.42;
    }

    body.modo-noturno .lua-noite{
      display:block;
    }

    body.modo-noturno .entrada-cemiterio,
    body.modo-noturno .cemiterio{
      background-color:#17380f;
      background-image:
        linear-gradient(rgba(2,16,6,.30),rgba(2,16,6,.30)),
        linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.06) 1px, transparent 1px),
        radial-gradient(circle at 25% 30%, rgba(103,151,71,.08) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 65%, rgba(0,0,0,.12) 0 1px, transparent 2px);
      background-size:auto,4px 4px,4px 4px,8px 8px,10px 10px;
    }

    body.modo-noturno .entrada-cemiterio:after{
      content:"";
      position:absolute;
      inset:0;
      background:rgba(3,14,7,.15);
      pointer-events:none;
      z-index:1;
    }

    body.modo-noturno .portal{
      filter:brightness(.76) saturate(.82);
    }

    body.modo-noturno .tumulo{
      filter:brightness(.76) drop-shadow(3px 4px 0 rgba(0,0,0,.28));
    }

    body.modo-noturno .acao-topo#btnTema{
      background:#f7f7f7;
      outline:2px solid #61a8ff;
      outline-offset:-5px;
    }

    body.modo-noturno .logo-topo{
      filter:brightness(.92) drop-shadow(0 5px 0 rgba(0,0,0,.18));
    }

    @media (max-width:767.98px){
      .lua-noite{
        width:92px;
        height:92px;
        right:15%;
        top:32px;
      }
    }


    .camada-matinhos{
      position:absolute;
      inset:0;
      overflow:hidden;
      pointer-events:none;
      z-index:1;
    }

    .matinho{
      position:absolute;
      width:6px;
      height:6px;
      background:var(--grama-escura);
      opacity:.55;
      image-rendering:pixelated;
      transform-origin:center bottom;
    }

    .matinho.tipo-1{
      box-shadow:
        0 -6px 0 var(--grama-clara),
        6px -6px 0 var(--grama-clara),
        -6px -6px 0 var(--grama-escura),
        0 -12px 0 var(--grama-clara),
        6px -12px 0 rgba(130,235,74,.75),
        -6px 0 0 var(--grama-escura);
    }

    .matinho.tipo-2{
      width:5px;
      height:5px;
      box-shadow:
        0 -5px 0 rgba(107,214,51,.75),
        5px -5px 0 rgba(107,214,51,.75),
        10px -10px 0 rgba(132,230,76,.72),
        0 -10px 0 rgba(75,168,31,.9),
        -5px -10px 0 rgba(99,201,43,.78),
        -5px -5px 0 rgba(62,146,24,.95);
    }

    .matinho.tipo-3{
      width:7px;
      height:7px;
      background:rgba(63,151,25,.85);
      box-shadow:
        0 -7px 0 rgba(90,190,39,.88),
        7px -7px 0 rgba(110,214,54,.82),
        7px -14px 0 rgba(127,226,67,.76),
        -7px -7px 0 rgba(72,165,29,.88),
        -7px -14px 0 rgba(99,204,44,.82),
        0 -14px 0 rgba(84,178,34,.9);
    }

    .matinho.tipo-4{
      width:4px;
      height:4px;
      background:rgba(71,159,28,.8);
      box-shadow:
        0 -4px 0 rgba(119,222,62,.72),
        4px -8px 0 rgba(128,229,69,.72),
        -4px -8px 0 rgba(89,188,39,.78),
        8px -4px 0 rgba(82,176,34,.72),
        -8px -4px 0 rgba(70,155,28,.78);
    }

    body.modo-noturno .matinho{
      filter:brightness(.58) saturate(.8);
      opacity:.5;
    }

    .entrada-cemiterio > .camada-matinhos{
      z-index:1;
    }

    .cemiterio > .camada-matinhos{
      z-index:0;
    }

    .entrada-cemiterio{
      position:relative;
      min-height:335px;
      background-color:var(--grama);
      background-image:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
        radial-gradient(circle at 25% 30%, rgba(255,255,255,.08) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 58%, rgba(0,0,0,.05) 0 1px, transparent 2px);
      background-size:4px 4px,4px 4px,8px 8px,10px 10px;
      overflow:hidden;
    }

    .entrada-cemiterio:before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:126px;
      height:80px;
      background:
        repeating-linear-gradient(
          90deg,
          #c67a44 0 12px,
          #8d4f2c 12px 15px,
          transparent 15px 19px
        );
      border-top:4px solid #754325;
      border-bottom:4px solid #754325;
      box-shadow:
        inset 0 13px 0 rgba(255,255,255,.08),
        inset 0 -12px 0 rgba(0,0,0,.1);
    }

    .portal{
      position:absolute;
      left:50%;
      top:50px;
      transform:translateX(-50%);
      width:320px;
      height:235px;
      z-index:5;
    }

    .capela{
      position:absolute;
      left:50%;
      bottom:0;
      transform:translateX(-50%);
      width:245px;
      height:190px;
      background:#f0d9ae;
      border:5px solid #5d3b28;
      clip-path:polygon(50% 0,100% 36%,100% 100%,0 100%,0 36%);
      box-shadow:
        inset 8px 0 0 rgba(255,255,255,.22),
        inset -8px 0 0 rgba(0,0,0,.08);
    }

    .capela:before{
      content:"";
      position:absolute;
      left:50%;
      bottom:0;
      transform:translateX(-50%);
      width:72px;
      height:104px;
      background:#9a5935;
      border:5px solid #5b3725;
      border-bottom:0;
      clip-path:polygon(50% 0,100% 25%,100% 100%,0 100%,0 25%);
    }

    .capela:after{
      content:"✚";
      position:absolute;
      left:50%;
      top:-55px;
      transform:translateX(-50%);
      color:#b8663b;
      font-size:58px;
      line-height:1;
      text-shadow:
        3px 0 #54301f,
        -3px 0 #54301f,
        0 3px #54301f,
        0 -3px #54301f;
    }

    .janela{
      position:absolute;
      top:78px;
      width:25px;
      height:47px;
      background:#48c8f4;
      border:5px solid #523527;
      z-index:2;
    }

    .janela.esq{left:28px}
    .janela.dir{right:28px}

    .janela-central{
      position:absolute;
      left:50%;
      top:44px;
      transform:translateX(-50%);
      width:42px;
      height:42px;
      border-radius:50%;
      background:#48c8f4;
      border:5px solid #523527;
      z-index:2;
    }

    .pet-porta{
      position:absolute;
      left:50%;
      bottom:20px;
      transform:translateX(-50%);
      z-index:8;
      width:66px;
      height:66px;
      border-radius:50%;
      border:4px solid #121212;
      background:#f1f1f1;
      display:grid;
      place-items:center;
      font-size:39px;
      box-shadow:0 4px 0 rgba(0,0,0,.2);
    }

    .flores{
      position:absolute;
      left:50%;
      bottom:2px;
      transform:translateX(-50%);
      width:315px;
      text-align:center;
      z-index:9;
      font-size:26px;
      letter-spacing:2px;
      text-shadow:2px 2px 0 rgba(0,0,0,.12);
    }

    .placa{
      position:absolute;
      left:50%;
      bottom:-8px;
      transform:translateX(-50%);
      z-index:10;
      background:#ffd36b;
      color:#4c3219;
      border:4px solid #7b4e1d;
      padding:7px 20px;
      font-size:12px;
      font-weight:900;
      min-width:94px;
      text-align:center;
    }

    .mundo-apos-entrada{
      height:calc(100vh - 30px);
      min-height:760px;
      border-top:0;
    }

    .mundo-apos-entrada .mundo-viewport{
      cursor:grab;
    }

    .mundo-apos-entrada .mundo-viewport.arrastando{
      cursor:grabbing;
    }



    .ceu-mundo{
      position:absolute;
      left:-50000px;
      top:0;
      width:100000px;
      height:300px;
      min-height:300px;
      z-index:8;
      overflow:hidden;
      border-bottom:0;
      pointer-events:none;
    }

    .ceu-mundo .logo-topo{
      pointer-events:none;
    }

    .ceu-mundo .acoes-topo{
      position:fixed;
      top:20px;
      right:14px;
      z-index:12;
      pointer-events:auto;
    }

    .ceu-mundo .acao-topo{
      pointer-events:auto;
    }

    .ceu-mundo .lua-noite{
      left:calc(50% + 500px);
      right:auto;
    }

    .ceu-mundo .nuvens{
      left:calc(50% - 800px);
      right:auto;
      width:1600px;
    }

    .entrada-mundo-topo{
      position:absolute;
      left:-50000px;
      top:300px;
      width:100000px;
      height:600px;
      z-index:6;
      overflow:visible;
      pointer-events:none;
      background-color:var(--grama);
      background-image:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
        radial-gradient(circle at 25% 30%, rgba(255,255,255,.07) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 58%, rgba(0,0,0,.05) 0 1px, transparent 2px);
      background-size:4px 4px,4px 4px,8px 8px,10px 10px;
    }

    .cerca-entrada{
      position:absolute;
      left:0;
      right:0;
      top:190px;
      height:86px;
      background:
        repeating-linear-gradient(
          90deg,
          #c67a44 0 12px,
          #8d4f2c 12px 15px,
          transparent 15px 19px
        );
      border-top:4px solid #754325;
      border-bottom:4px solid #754325;
      box-shadow:
        inset 0 13px 0 rgba(255,255,255,.08),
        inset 0 -12px 0 rgba(0,0,0,.1);
      z-index:1;
    }

    .portal-topo-mundo{
      position:absolute;
      left:50%;
      top:94px;
      transform:translateX(-50%);
      width:320px;
      height:235px;
      z-index:5;
    }

    body.modo-noturno .entrada-mundo-topo{
      background-color:#17380f;
      background-image:
        linear-gradient(rgba(2,16,6,.30),rgba(2,16,6,.30)),
        linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.06) 1px, transparent 1px),
        radial-gradient(circle at 25% 30%, rgba(103,151,71,.08) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 65%, rgba(0,0,0,.12) 0 1px, transparent 2px);
      background-size:auto,4px 4px,4px 4px,8px 8px,10px 10px;
    }

    body.modo-noturno .portal-topo-mundo{
      filter:brightness(.76) saturate(.82);
    }

    .quarteirao-destaque{
      margin-top:0;
    }

    .mundo-conteudo-central .cemiterio-grid{
      display:grid;
      grid-template-columns:repeat(8, 120px) !important;
      grid-auto-rows:170px;
      gap:38px 38px !important;
      justify-content:center;
      align-items:end;
    }

    .mundo-conteudo-central .tumulo{
      width:120px;
      min-width:120px;
      max-width:120px;
      min-height:154px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-end;
    }

    .mundo-conteudo-central .lapide{
      width:104px;
      min-width:104px;
      max-width:104px;
      height:132px;
      aspect-ratio:auto;
      flex:0 0 132px;
    }

    .mundo-conteudo-central .base-tumulo{
      width:112px;
      min-width:112px;
      max-width:112px;
      flex:0 0 17px;
    }

    .mundo-conteudo-central .codigo-lote-tumulo{
      margin-top:6px;
      min-height:18px;
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .quarteirao-procedural{
      width:620px;
      height:470px;
      padding:56px 34px 30px;
      overflow:hidden;
    }

    .tumulos-quarteirao{
      position:absolute;
      left:34px;
      right:34px;
      top:72px;
      bottom:30px;
      display:grid;
      grid-template-columns:repeat(4,120px);
      grid-template-rows:repeat(2,170px);
      justify-content:space-between;
      align-content:space-between;
      gap:30px 24px;
      align-items:end;
    }

    .tumulo-mini-procedural{
      position:relative;
      width:120px;
      height:154px;
      justify-self:center;
      align-self:end;
      opacity:.9;
    }

    .tumulo-mini-procedural:before{
      content:"";
      position:absolute;
      left:50%;
      bottom:20px;
      transform:translateX(-50%);
      width:104px;
      height:132px;
      background:#aaa8a2;
      border:3px solid #333;
      clip-path:polygon(13% 0,87% 0,100% 14%,100% 100%,0 100%,0 14%);
      box-shadow:
        inset 3px 0 0 rgba(255,255,255,.18),
        inset -3px 0 0 rgba(0,0,0,.12);
    }

    .tumulo-mini-procedural:after{
      content:"";
      position:absolute;
      left:50%;
      bottom:3px;
      transform:translateX(-50%);
      width:112px;
      height:17px;
      background:#6f4b28;
      border:3px solid #3f2c1c;
    }

    .btn-voltar-entrada{
      position:absolute;
      right:18px;
      top:18px;
      z-index:26;
      min-height:50px;
      padding:9px 14px;
      border:4px solid #101010;
      border-radius:0;
      background:#ffd21c;
      color:#111;
      font-size:11px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:5px 5px 0 rgba(0,0,0,.18);
    }

    .btn-voltar-entrada:hover{
      transform:translate(-2px,-2px);
      box-shadow:7px 7px 0 rgba(0,0,0,.22);
    }

    .quarteirao-destaque{
      position:relative;
      padding:44px 34px 34px;
      border:8px solid #7b6b4c;
      background:rgba(88,179,45,.18);
      box-shadow:inset 0 0 0 4px rgba(255,255,255,.06);
    }

    .quarteirao-titulo{
      position:absolute;
      top:-22px;
      left:24px;
      padding:8px 14px;
      border:4px solid #101010;
      background:#ffd21c;
      color:#111;
      font-size:11px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:4px 4px 0 rgba(0,0,0,.16);
    }

    .mundo-conteudo-central{
      left:-710px !important;
      top:1060px !important;
      width:1420px !important;
      padding:0 !important;
    }

    .mundo-conteudo-central .cemiterio-grid{
      display:grid;
      grid-template-columns:repeat(8, 118px) !important;
      gap:34px 34px !important;
      justify-content:center;
      align-items:end;
    }

    .rua-procedural{
      position:absolute;
      background:#bda77a;
      border:4px solid #8b7653;
      box-shadow:inset 0 0 0 3px rgba(255,255,255,.08);
      pointer-events:none;
      z-index:2;
    }

    .rua-procedural.horizontal{
      left:0;
      width:100%;
      height:78px;
    }

    .rua-procedural.vertical{
      top:0;
      width:78px;
      height:100%;
    }

    .quarteirao-procedural{
      position:absolute;
      width:360px;
      height:260px;
      border:6px solid #6d5f43;
      background:rgba(77,177,36,.38);
      box-shadow:inset 0 0 0 3px rgba(255,255,255,.05);
      z-index:3;
      pointer-events:none;
    }

    .quarteirao-procedural .placa-quarteirao{
      position:absolute;
      top:8px;
      left:8px;
      padding:4px 7px;
      border:2px solid #101010;
      background:#e9d89c;
      color:#2e281c;
      font-size:8px;
      font-weight:900;
      text-transform:uppercase;
    }

    .tumulos-quarteirao{
      position:absolute;
      left:20px;
      right:20px;
      top:44px;
      bottom:18px;
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      grid-template-rows:repeat(2, 1fr);
      gap:16px 18px;
      align-items:end;
    }

    .tumulo-mini-procedural{
      position:relative;
      width:56px;
      height:74px;
      justify-self:center;
      opacity:.82;
    }

    .tumulo-mini-procedural:before{
      content:"";
      position:absolute;
      left:50%;
      bottom:12px;
      transform:translateX(-50%);
      width:44px;
      height:56px;
      background:#aaa8a2;
      border:3px solid #333;
      clip-path:polygon(13% 0,87% 0,100% 14%,100% 100%,0 100%,0 14%);
      box-shadow:inset 3px 0 0 rgba(255,255,255,.18), inset -3px 0 0 rgba(0,0,0,.12);
    }

    .tumulo-mini-procedural:after{
      content:"";
      position:absolute;
      left:50%;
      bottom:4px;
      transform:translateX(-50%);
      width:54px;
      height:11px;
      background:#6f4b28;
      border:2px solid #3f2c1c;
    }

    body.modo-noturno .rua-procedural{
      background:#746950;
      border-color:#554b37;
      filter:brightness(.72);
    }

    body.modo-noturno .quarteirao-procedural,
    body.modo-noturno .quarteirao-destaque{
      filter:brightness(.72) saturate(.8);
    }

    @media (max-width:767.98px){
      .btn-voltar-entrada{
        right:10px;
        top:10px;
        min-height:44px;
        padding:7px 10px;
        font-size:9px;
      }

      .mundo-conteudo-central{
        width:900px !important;
        left:-450px !important;
      }

      .mundo-conteudo-central .cemiterio-grid{
        grid-template-columns:repeat(4, 118px) !important;
      }
    }

    .mundo-infinito{
      position:relative;
      margin-top:0;
      padding-top:0;
      height:calc(100vh - 74px);
      min-height:680px;
      overflow:hidden;
      background:var(--grama);
      user-select:none;
      touch-action:none;
    }

    .mundo-viewport{
      position:absolute;
      inset:0;
      overflow:hidden;
      cursor:grab;
      touch-action:none;
    }

    .mundo-viewport.arrastando{
      cursor:grabbing;
    }

    .mundo-camada{
      position:absolute;
      left:0;
      top:0;
      width:1px;
      height:1px;
      transform:translate3d(0,0,0);
      will-change:transform;
    }

    .mundo-chunks{
      position:absolute;
      left:0;
      top:0;
    }

    .mundo-chunk{
      position:absolute;
      width:1450px;
      height:1150px;
      overflow:hidden;
      background-color:var(--grama);
      background-image:
        linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
        radial-gradient(circle at 25% 30%, rgba(255,255,255,.055) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 65%, rgba(0,0,0,.05) 0 1px, transparent 2px);
      background-size:4px 4px,4px 4px,8px 8px,10px 10px;
      border:0;
    }

    body.modo-noturno .mundo-chunk{
      background-color:#17380f;
      background-image:
        linear-gradient(rgba(2,16,6,.24),rgba(2,16,6,.24)),
        linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.06) 1px, transparent 1px),
        radial-gradient(circle at 25% 30%, rgba(103,151,71,.08) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 65%, rgba(0,0,0,.12) 0 1px, transparent 2px);
      background-size:auto,4px 4px,4px 4px,8px 8px,10px 10px;
    }

    .mundo-conteudo-central{
      position:absolute;
      left:0;
      top:0;
      width:1540px;
      padding:80px 90px;
      z-index:5;
    }

    .mundo-conteudo-central .cemiterio-grid{
      grid-template-columns:repeat(8,minmax(92px,1fr));
    }

    .objeto-procedural{
      position:absolute;
      pointer-events:none;
      image-rendering:pixelated;
      filter:drop-shadow(2px 3px 0 rgba(0,0,0,.12));
    }

    .arbusto-procedural{
      width:22px;
      height:14px;
      border-radius:50%;
      background:#2f8f1a;
      box-shadow:
        10px 0 0 #3fa524,
        5px -7px 0 #55b932,
        17px -5px 0 #4eaf2d;
    }

    .pedra-procedural{
      width:16px;
      height:10px;
      background:#8a918d;
      box-shadow:
        4px -4px 0 #a5aca8,
        8px 0 0 #6d7471;
    }

    .flor-procedural{
      width:5px;
      height:5px;
      background:#ffd35a;
      box-shadow:
        5px 0 0 #ff6ea8,
        -5px 0 0 #fff2c9,
        0 5px 0 #329a21;
    }

    .matinho-procedural{
      width:5px;
      height:5px;
      background:#388f20;
      box-shadow:
        0 -5px 0 #65c844,
        5px -5px 0 #70d34e,
        -5px -5px 0 #4baa2d;
    }

    .lote-procedural{
      position:absolute;
      width:92px;
      height:104px;
      pointer-events:none;
      opacity:.8;
    }

    .lote-procedural:before{
      content:"";
      position:absolute;
      left:50%;
      bottom:17px;
      transform:translateX(-50%);
      width:52px;
      height:64px;
      background:#aeadab;
      border:3px solid #333;
      clip-path:polygon(13% 0,87% 0,100% 14%,100% 100%,0 100%,0 14%);
      box-shadow:inset 3px 0 0 rgba(255,255,255,.2), inset -3px 0 0 rgba(0,0,0,.12);
    }

    .lote-procedural:after{
      content:"RESERVADO";
      position:absolute;
      left:50%;
      bottom:0;
      transform:translateX(-50%);
      min-width:78px;
      padding:3px 5px;
      border:2px solid #5f3a1b;
      background:#b9783a;
      color:#3c240f;
      font-size:8px;
      font-weight:900;
      text-align:center;
    }

    .mundo-infinito .btn-eternizar-fixo{
      position:fixed;
    }

    @media (max-width:991.98px){
      .mundo-infinito{
        height:calc(100vh - 60px);
        min-height:620px;
      }

      .mundo-conteudo-central{
        width:1180px;
      }

      .mundo-conteudo-central .cemiterio-grid{
        grid-template-columns:repeat(6,minmax(92px,1fr));
      }
    }

    @media (max-width:767.98px){

      .mundo-conteudo-central{
        width:900px;
        padding:70px 50px;
      }

      .mundo-conteudo-central .cemiterio-grid{
        grid-template-columns:repeat(4,minmax(88px,1fr));
      }
    }

    .cemiterio{
      position:relative;
      min-height:720px;
      background-color:var(--grama);
      background-image:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.028) 1px, transparent 1px),
        radial-gradient(circle at 25% 30%, rgba(255,255,255,.06) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 65%, rgba(0,0,0,.055) 0 1px, transparent 2px);
      background-size:4px 4px,4px 4px,8px 8px,10px 10px;
      overflow:hidden;
    }

    .painel-mapa{
      position:absolute;
      top:26px;
      left:14px;
      width:178px;
      background:var(--painel);
      border:3px solid #111;
      border-radius:4px;
      z-index:20;
      box-shadow:4px 5px 0 rgba(0,0,0,.16);
      color:#fff;
    }

    .painel-mapa .titulo{
      padding:14px 14px 8px;
      font-size:14px;
      font-weight:700;
    }

    .mini-mapa{
      margin:0 14px 12px;
      padding:9px;
      background:#10221d;
      border:2px solid #294630;
      border-radius:3px;
      display:grid;
      grid-template-columns:repeat(10,1fr);
      gap:2px;
    }

    .mini-mapa span{
      display:block;
      aspect-ratio:1/1;
      background:#4caf1e;
      border:1px solid rgba(0,0,0,.15);
    }

    .mini-mapa span:nth-child(3n){background:#68d72b}
    .mini-mapa span:nth-child(5n){background:#389615}

    .mapa-botoes{
      display:flex;
      gap:10px;
      padding:0 14px 14px;
    }

    .mapa-botoes button{
      width:34px;
      height:34px;
      border:1px solid #4d9c30;
      color:var(--verde);
      background:#0c1a20;
      border-radius:4px;
      font-size:20px;
      line-height:1;
    }

    .visitantes{
      border-top:1px solid #1e323a;
      padding:14px;
      font-size:13px;
    }

    .visitantes strong{
      display:block;
      margin-top:7px;
      color:#f5d66a;
      font-size:16px;
    }

    .viewport-cemiterio{
      position:relative;
      width:100%;
      z-index:2;
      min-height:720px;
      overflow:hidden;
      cursor:default;
      touch-action:none;
    }

    .conteudo-cemiterio{
      padding:58px 74px 95px 74px;
      position:relative;
      z-index:2;
      transform-origin:0 0;
      will-change:transform;
      transition:transform .18s ease;
      min-height:720px;
    }

    .cemiterio-grid{
      display:grid;
      grid-template-columns:repeat(8,minmax(92px,1fr));
      gap:38px 44px;
      align-items:end;
      width:100%;
    }

    .tumulo{
      position:relative;
      min-width:0;
      cursor:pointer;
      text-align:center;
      transition:transform .15s ease;
      filter:drop-shadow(3px 4px 0 rgba(0,0,0,.18));
    }

    .tumulo:hover{
      transform:translateY(-5px);
      z-index:3;
    }

    .lapide{
      width:100%;
      max-width:118px;
      min-width:88px;
      aspect-ratio:.78/1;
      margin:0 auto;
      position:relative;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
      padding:15px 8px 8px;
      background:
        linear-gradient(90deg,rgba(255,255,255,.08),transparent 17%,transparent 85%,rgba(0,0,0,.08)),
        var(--pedra);
      border:3px solid #2e312f;
      border-bottom-width:5px;
      clip-path:polygon(13% 0,87% 0,100% 14%,100% 100%,0 100%,0 14%);
      box-shadow:
        inset 3px 0 0 rgba(255,255,255,.28),
        inset -4px 0 0 rgba(0,0,0,.12),
        inset 0 -8px 0 rgba(0,0,0,.08);
    }

    .nome-pet{
      color:#151515;
      font-size:clamp(11px,1vw,14px);
      font-weight:900;
      text-transform:uppercase;
      line-height:1.1;
      margin-bottom:6px;
      letter-spacing:-.4px;
    }

    .pet-avatar{
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      font-size:34px;
      line-height:1;
      margin-bottom:5px;
    }

    .datas{
      color:#171717;
      background:#d6d1c7;
      border:2px solid #59564f;
      padding:2px 4px;
      font-weight:900;
      font-size:9px;
      line-height:1;
      width:100%;
    }

    .base-tumulo{
      width:calc(100% + 8px);
      max-width:126px;
      height:17px;
      margin:-2px auto 0;
      background:var(--terra);
      border:3px solid #3b2a19;
      box-shadow:inset 0 4px 0 #7b5227;
      position:relative;
    }

    .base-tumulo:after{
      content:"✿  ✦  ✿";
      position:absolute;
      left:50%;
      top:-5px;
      transform:translateX(-50%);
      color:#ff75b7;
      font-size:12px;
      white-space:nowrap;
      text-shadow:1px 1px 0 #38421b;
    }

    .rodape{
      background:#071117;
      border-top:3px solid #13252d;
      color:#fff;
    }

    .rodape-item{
      min-height:106px;
      display:flex;
      align-items:center;
      gap:18px;
      padding:22px 0;
    }

    .rodape-icone{
      width:58px;
      height:58px;
      flex:0 0 58px;
      display:grid;
      place-items:center;
      font-size:38px;
    }

    .rodape h3{
      margin:0 0 6px;
      color:#a4ff39;
      font-size:14px;
      text-transform:uppercase;
      font-weight:900;
    }

    .rodape p{
      margin:0;
      color:#d0d6d9;
      font-size:12px;
      line-height:1.55;
    }




    .tumulo{
      scroll-margin-top:120px;
    }

    .codigo-lote-tumulo{
      width:max-content;
      margin:6px auto 0;
      padding:3px 7px;
      border:2px solid rgba(16,16,16,.75);
      background:rgba(255,255,255,.82);
      color:#183012;
      font-size:9px;
      font-weight:900;
      line-height:1;
      text-transform:uppercase;
      box-shadow:2px 2px 0 rgba(0,0,0,.12);
    }

    body.modo-noturno .codigo-lote-tumulo{
      background:#172219;
      color:#b9ff8c;
      border-color:#080d09;
    }

    .tumulo.localizado{
      animation:destaque-tumulo 1.1s ease-in-out 0s 3;
      z-index:8;
    }

    .tumulo.localizado .lapide{
      box-shadow:
        0 0 0 5px #fff,
        0 0 0 10px #ffd51d,
        inset 3px 0 0 rgba(255,255,255,.28),
        inset -4px 0 0 rgba(0,0,0,.12),
        inset 0 -8px 0 rgba(0,0,0,.08);
    }

    @keyframes destaque-tumulo{
      0%,100%{transform:translateY(0) scale(1)}
      50%{transform:translateY(-8px) scale(1.06)}
    }


    .btn-eternizar-fixo{
      position:fixed;
      left:18px;
      bottom:18px;
      z-index:1070;
      min-width:190px;
      min-height:64px;
      padding:12px 22px;
      border:5px solid #101010;
      border-radius:0;
      background:#ffd21c;
      color:#111;
      font-size:18px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:8px 8px 0 rgba(0,0,0,.22);
      transition:transform .12s ease, box-shadow .12s ease;
    }

    .btn-eternizar-fixo:hover{
      transform:translate(-2px,-2px);
      box-shadow:10px 10px 0 rgba(0,0,0,.24);
      background:#ffdf45;
    }

    body.modal-open .btn-eternizar-fixo{
      z-index:1030;
    }

    .modal-eternizar .modal-dialog{
      max-width:980px;
      margin:20px auto;
    }

    .modal-eternizar .modal-content{
      border:5px solid #101010;
      border-radius:0;
      background:#eef3f8;
      box-shadow:14px 14px 0 rgba(0,0,0,.76);
      overflow:hidden;
    }

    .modal-eternizar .modal-header{
      position:relative;
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:16px 20px;
      border:0;
      border-bottom:5px solid #101010;
      border-radius:0;
      background:#151196;
      color:#fff;
    }

    .modal-eternizar .modal-title{
      font-size:26px;
      font-weight:900;
      text-transform:uppercase;
    }

    .modal-eternizar .btn-fechar-eternizar{
      position:absolute;
      top:12px;
      right:12px;
      margin:0;
      flex:0 0 auto;
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      border:4px solid #101010;
      border-radius:0;
      background:#ef403b;
      color:#fff;
      font-size:25px;
      font-weight:900;
    }

    .modal-eternizar .modal-body{
      padding:26px;
      background:#eef3f8;
    }

    .etapa-eternizar{
      display:none;
    }

    .etapa-eternizar.ativa{
      display:block;
    }

    .eternizar-progresso{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:8px;
      margin-bottom:24px;
    }

    .eternizar-passo{
      min-height:38px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:8px 6px;
      border:3px solid #101010;
      background:#dfe6ee;
      color:#556171;
      font-size:9px;
      font-weight:900;
      text-align:center;
      text-transform:uppercase;
    }

    .eternizar-passo.ativo{
      background:#ffd21c;
      color:#111;
    }

    .titulo-etapa{
      margin:0 0 8px;
      color:#161616;
      font-size:28px;
      font-weight:900;
      text-transform:uppercase;
      text-align:center;
    }

    .subtitulo-etapa{
      max-width:720px;
      margin:0 auto 26px;
      color:#607086;
      font-family:Arial,sans-serif;
      font-size:14px;
      line-height:1.5;
      text-align:center;
    }

    .planos-eternizar{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:22px;
      max-width:820px;
      margin:0 auto;
    }

    .plano-card{
      position:relative;
      min-height:310px;
      display:flex;
      flex-direction:column;
      padding:22px;
      border:5px solid #101010;
      background:#fff;
      box-shadow:7px 7px 0 rgba(0,0,0,.12);
      cursor:pointer;
      transition:transform .12s ease, box-shadow .12s ease;
    }

    .plano-card:hover{
      transform:translate(-3px,-3px);
      box-shadow:10px 10px 0 rgba(0,0,0,.15);
    }

    .plano-card.selecionado{
      outline:6px solid #ffd21c;
      outline-offset:3px;
    }

    .plano-card.gratis{background:#eff6ff}
    .plano-card.eterno{background:#fff8df}
    .plano-card.premium{background:#f4eaff}

    .plano-card .icone-plano{
      font-size:40px;
      margin-bottom:12px;
    }

    .plano-card h3{
      margin:0 0 7px;
      font-size:24px;
      font-weight:900;
      text-transform:uppercase;
    }

    .plano-preco{
      margin-bottom:16px;
      color:#151196;
      font-size:24px;
      font-weight:900;
    }

    .plano-card ul{
      margin:0 0 20px;
      padding-left:18px;
      color:#485468;
      font-family:Arial,sans-serif;
      font-size:13px;
      line-height:1.55;
    }

    .plano-card .btn-selecionar-plano{
      width:100%;
      min-height:50px;
      margin-top:auto;
      border:4px solid #101010;
      border-radius:0;
      background:#111;
      color:#fff;
      font-weight:900;
      text-transform:uppercase;
    }

    .plano-card.eterno .btn-selecionar-plano,
    .plano-card.premium .btn-selecionar-plano{
      background:#ffd21c;
      color:#111;
    }

    .abas-acesso{
      display:flex;
      gap:10px;
      margin-bottom:18px;
    }

    .aba-acesso{
      flex:1;
      min-height:48px;
      border:4px solid #101010;
      background:#dfe6ee;
      color:#111;
      font-weight:900;
      text-transform:uppercase;
    }

    .aba-acesso.ativa{
      background:#151196;
      color:#fff;
    }

    .painel-acesso{
      display:none;
      max-width:620px;
      margin:0 auto;
      padding:24px;
      border:5px solid #101010;
      background:#fff;
      box-shadow:7px 7px 0 rgba(0,0,0,.1);
    }

    .painel-acesso.ativo{
      display:block;
    }

    .modal-eternizar .form-label{
      color:#46556a;
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
    }

    .modal-eternizar .form-control,
    .modal-eternizar .form-select{
      min-height:52px;
      border:4px solid #101010;
      border-radius:0;
      background:#fff;
      box-shadow:none;
      font-family:Arial,sans-serif;
      font-size:14px;
    }

    .btn-etapa{
      min-height:54px;
      padding:10px 18px;
      border:4px solid #101010;
      border-radius:0;
      background:#ffd21c;
      color:#111;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:4px 4px 0 rgba(0,0,0,.12);
    }

    .btn-etapa.secundario{
      background:#e0e7ef;
    }

    .acoes-etapa{
      display:flex;
      justify-content:space-between;
      gap:12px;
      margin-top:24px;
    }

    .escolhas-prosseguir{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:24px;
      max-width:850px;
      margin:0 auto;
      align-items:stretch;
    }

    .escolha-prosseguir{
      min-height:380px;
      height:100%;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      padding:28px;
      border:5px solid #101010;
      background:#fff;
      text-align:center;
      box-shadow:7px 7px 0 rgba(0,0,0,.12);
      cursor:pointer;
    }

    .escolha-prosseguir:hover{
      transform:translate(-2px,-2px);
      box-shadow:9px 9px 0 rgba(0,0,0,.15);
    }

    .escolha-prosseguir .icone{
      font-size:58px;
      margin-bottom:18px;
    }

    .escolha-prosseguir h3{
      margin:0 0 12px;
      font-size:28px;
      font-weight:900;
      text-transform:uppercase;
    }

    .escolha-prosseguir p{
      color:#65748a;
      font-family:Arial,sans-serif;
      font-size:13px;
      font-weight:700;
      line-height:1.45;
    }

    .aviso-pagamento{
      margin-top:18px;
      padding:10px 14px;
      border:3px solid #9cebb8;
      background:#edfff3;
      color:#19a14d;
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
    }

    .form-memorial-eternizar{
      border:5px solid #101010;
      background:#fff;
      padding:24px;
      box-shadow:7px 7px 0 rgba(0,0,0,.1);
    }

    .foto-upload-eternizar{
      min-height:220px;
      display:grid;
      place-items:center;
      border:4px dashed #ccd4df;
      background:#fafafa;
      color:#b6bec9;
      font-size:52px;
      text-align:center;
    }

    .estilos-tumulo{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:10px;
      margin-top:10px;
    }

    .estilo-tumulo{
      min-height:110px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:6px;
      border:4px solid #d8e0e9;
      background:#fff;
      cursor:pointer;
      font-size:10px;
      font-weight:900;
      text-align:center;
      text-transform:uppercase;
    }

    .estilo-tumulo.selecionado{
      border-color:#151196;
      box-shadow:0 0 0 3px #ffd21c;
    }

    .estilo-tumulo .mini{
      font-size:38px;
    }


    .drop-galeria{
      position:relative;
      min-height:210px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:28px 20px;
      border:4px dashed #9eb1c8;
      background:#f8fbff;
      color:#46566c;
      text-align:center;
      cursor:pointer;
      transition:background .15s ease,border-color .15s ease,transform .15s ease;
    }

    .drop-galeria:hover,
    .drop-galeria.arrastando{
      border-color:#151196;
      background:#eef1ff;
    }

    .drop-galeria.arrastando{
      transform:scale(.995);
    }

    .drop-galeria-icone{
      font-size:48px;
      line-height:1;
    }

    .drop-galeria-titulo{
      font-size:16px;
      font-weight:900;
      text-transform:uppercase;
      color:#172033;
    }

    .drop-galeria-texto{
      font-family:Arial,sans-serif;
      font-size:13px;
      color:#718096;
    }

    .drop-galeria-botao{
      appearance:none;
      font-family:inherit;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      margin-top:5px;
      padding:8px 16px;
      border:3px solid #101010;
      background:#ffd21c;
      color:#111;
      font-size:11px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:3px 3px 0 rgba(0,0,0,.12);
    }

    .drop-galeria-limite{
      margin-top:10px;
      color:#18a54a;
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
    }

    .preview-galeria{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:10px;
      margin-top:14px;
    }

    .preview-foto{
      position:relative;
      aspect-ratio:1/1;
      border:3px solid #101010;
      background:#e7edf3;
      overflow:hidden;
    }

    .preview-foto img{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
    }

    .preview-foto-remover{
      position:absolute;
      top:4px;
      right:4px;
      width:27px;
      height:27px;
      display:grid;
      place-items:center;
      padding:0;
      border:2px solid #101010;
      background:#ef403b;
      color:#fff;
      font-size:13px;
      font-weight:900;
      line-height:1;
      cursor:pointer;
    }

    .contador-galeria{
      margin-top:10px;
      color:#18a54a;
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
    }

    @media (max-width:767.98px){
      .preview-galeria{
        grid-template-columns:repeat(3,minmax(0,1fr));
      }
    }

    @media (max-width:575.98px){
      .preview-galeria{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .drop-galeria{
        min-height:180px;
        padding:22px 14px;
      }
    }

    .resumo-gratis{
      max-width:650px;
      margin:0 auto;
      padding:30px;
      border:5px solid #101010;
      background:#fff;
      text-align:center;
      box-shadow:7px 7px 0 rgba(0,0,0,.12);
    }

    .resumo-gratis .lapide-demo{
      width:150px;
      min-height:190px;
      margin:20px auto;
      padding:30px 12px 12px;
      border:5px solid #2e312f;
      background:#b8b6af;
      clip-path:polygon(13% 0,87% 0,100% 14%,100% 100%,0 100%,0 14%);
      color:#111;
      font-weight:900;
      text-transform:uppercase;
    }

    .resumo-gratis p{
      color:#65748a;
      font-family:Arial,sans-serif;
      font-size:14px;
      line-height:1.55;
    }

    @media (max-width:991.98px){
      .planos-eternizar{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .escolhas-prosseguir{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .estilos-tumulo{
        grid-template-columns:repeat(3,1fr);
      }
    }

    @media (max-width:575.98px){
      .planos-eternizar,
      .escolhas-prosseguir{
        grid-template-columns:1fr;
      }

      .modal-eternizar .modal-title{
        padding-right:58px;
        font-size:21px;
      }

      .btn-eternizar-fixo{
        left:10px;
        bottom:10px;
        min-width:150px;
        min-height:54px;
        padding:10px 14px;
        font-size:14px;
      }

      .modal-eternizar .modal-dialog{
        margin:8px;
      }

      .modal-eternizar .modal-body{
        padding:16px;
      }

      .eternizar-progresso{
        grid-template-columns:repeat(2,1fr);
      }

      .titulo-etapa{
        font-size:22px;
      }

      .estilos-tumulo{
        grid-template-columns:repeat(2,1fr);
      }

      .acoes-etapa{
        flex-direction:column-reverse;
      }

      .acoes-etapa .btn-etapa{
        width:100%;
      }
    }

    .modal-busca-lote .modal-dialog{
      max-width:560px;
    }

    .modal-busca-lote .modal-content{
      border:5px solid #101010;
      border-radius:0;
      background:#eef3f8;
      box-shadow:12px 12px 0 rgba(0,0,0,.72);
    }

    .modal-busca-lote .modal-header{
      border:0;
      border-bottom:4px solid #101010;
      border-radius:0;
      background:#1737a3;
      color:#fff;
      padding:14px 16px;
    }

    .modal-busca-lote .modal-title{
      font-size:20px;
      font-weight:900;
      text-transform:uppercase;
    }

    .modal-busca-lote .btn-close{
      filter:invert(1);
      opacity:1;
    }

    .modal-busca-lote .modal-body{
      padding:24px;
    }

    .busca-lote-box{
      display:flex;
      gap:10px;
    }

    .busca-lote-input{
      min-height:56px;
      border:4px solid #101010;
      border-radius:0;
      font-family:"Courier New", monospace;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:none!important;
    }

    .btn-localizar-lote{
      min-width:145px;
      border:4px solid #101010;
      border-radius:0;
      background:#ffd51d;
      color:#111;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:4px 4px 0 rgba(0,0,0,.12);
    }

    .resultado-busca-lote{
      min-height:22px;
      margin-top:14px;
      font-family:Arial,sans-serif;
      font-size:13px;
      font-weight:700;
    }

    .resultado-busca-lote.erro{color:#c92a2a}
    .resultado-busca-lote.sucesso{color:#1d7a18}

    .memorial-cabecalho-destaque{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      margin-bottom:8px;
    }

    .memorial-mini-status{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .status-chip{
      border:2px solid #101010;
      background:#e7f7df;
      color:#245b1b;
      padding:4px 8px;
      font-size:9px;
      font-weight:900;
      text-transform:uppercase;
    }

    .mensagem-memorial{
      margin-top:22px;
      border:4px solid #101010;
      background:#fff7df;
      padding:18px;
      box-shadow:4px 4px 0 rgba(0,0,0,.08);
    }

    .mensagem-memorial h4{
      margin:0 0 8px;
      color:#8a3a16;
      font-size:13px;
      font-weight:900;
      text-transform:uppercase;
    }

    .mensagem-memorial p{
      margin:0;
      color:#40392f;
      font-family:Arial,sans-serif;
      font-size:14px;
      line-height:1.6;
    }

    .acoes-memorial .btn-memorial{
      transition:transform .12s ease, box-shadow .12s ease;
    }

    .acoes-memorial .btn-memorial:hover{
      transform:translate(-2px,-2px);
      box-shadow:5px 5px 0 rgba(0,0,0,.16);
    }

    @media (max-width:575.98px){
      .busca-lote-box{
        flex-direction:column;
      }

      .btn-localizar-lote{
        min-height:54px;
        width:100%;
      }

      .memorial-cabecalho-destaque{
        flex-direction:column;
      }

      .memorial-mini-status{
        justify-content:flex-start;
      }
    }

    .modal-memorial .modal-dialog{
      max-width:930px;
      margin:24px auto;
    }

    .modal-memorial .modal-content{
      position:relative;
      border:5px solid #101010;
      border-radius:0;
      background:#eef3f8;
      box-shadow:12px 12px 0 rgba(0,0,0,.78);
      overflow:visible;
    }

    .modal-memorial .barra-topo{
      height:24px;
      background:#78869a;
      border-bottom:5px solid #101010;
    }

    .modal-memorial .btn-fechar-memorial{
      position:absolute;
      top:-8px;
      right:-28px;
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      padding:0;
      border:5px solid #101010;
      border-radius:0;
      background:#df2d28;
      color:#fff;
      font-size:28px;
      font-weight:900;
      line-height:1;
      z-index:5;
    }

    .modal-memorial .modal-body{
      padding:34px 34px 28px;
      background:#eef3f8;
    }

    .foto-pet-modal{
      position:relative;
      width:100%;
      max-width:230px;
      aspect-ratio:1/1;
      margin:0 auto;
      display:grid;
      place-items:center;
      background:#d2d2d2;
      border:4px solid #101010;
      box-shadow:5px 5px 0 rgba(0,0,0,.12);
      overflow:hidden;
      font-size:88px;
    }

    .foto-pet-modal .zoom-foto{
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%,-50%);
      padding:5px 10px;
      border:2px solid #fff;
      background:rgba(50,50,50,.7);
      color:#fff;
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
    }

    .nome-pet-modal{
      margin:0;
      color:#17158f;
      font-size:32px;
      font-weight:900;
      text-transform:uppercase;
      line-height:1;
    }

    .badges-memorial{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin:12px 0 16px;
    }

    .badge-pixel{
      display:inline-flex;
      align-items:center;
      min-height:20px;
      padding:3px 12px;
      border:2px solid #101010;
      border-radius:0;
      font-size:9px;
      font-weight:900;
      text-transform:uppercase;
    }

    .badge-lote{
      background:#111;
      color:#fff;
    }

    .badge-plano{
      background:#ffc81c;
      color:#111;
    }

    .quadro-dados-pet{
      border:4px solid #101010;
      background:#fff;
      padding:10px 16px;
      box-shadow:4px 4px 0 rgba(0,0,0,.08);
    }

    .linha-dado{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      min-height:38px;
      border-bottom:1px solid #e4e9ef;
      font-family:Arial,sans-serif;
    }

    .linha-dado:last-child{
      border-bottom:0;
    }

    .linha-dado small{
      color:#8b9bb0;
      font-size:8px;
      font-weight:800;
      text-transform:uppercase;
    }

    .linha-dado strong{
      color:#273142;
      font-size:14px;
      font-weight:800;
      text-align:right;
    }

    .linha-dado strong.destaque{
      color:#17158f;
      font-size:16px;
    }

    .acoes-memorial{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:24px;
    }

    .btn-memorial{
      min-height:35px;
      padding:7px 14px;
      border:4px solid #101010;
      border-radius:0;
      background:#fff;
      color:#111;
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:3px 3px 0 rgba(0,0,0,.12);
    }

    .btn-memorial.certificado{
      background:#ffd51d;
    }

    .luzes-saudade{
      margin-top:38px;
      padding:22px 24px 26px;
      border:5px solid #101010;
      background:#1f2d42;
      color:#fff;
      text-align:center;
      box-shadow:5px 6px 0 rgba(0,0,0,.13);
    }

    .luzes-saudade h3{
      margin:0 0 26px;
      color:#ffb25e;
      font-size:20px;
      font-weight:900;
      text-transform:uppercase;
    }

    .luzes-vazias{
      color:#7b8594;
      font-size:10px;
      font-weight:900;
      letter-spacing:1px;
      text-transform:uppercase;
    }

    .acender-vela{
      position:relative;
      margin-top:38px;
      padding:28px 38px 32px;
      border:4px solid #ffd49f;
      border-radius:16px;
      background:#fff8ee;
      box-shadow:8px 8px 0 rgba(0,0,0,.06);
    }

    .acender-vela h3{
      margin:4px 0 30px;
      color:#a83c18;
      font-size:22px;
      font-weight:900;
      text-align:center;
      text-transform:uppercase;
    }

    .acender-vela .form-label{
      color:#c44b1a;
      font-size:8px;
      font-weight:900;
      text-transform:uppercase;
    }

    .acender-vela .form-control{
      min-height:48px;
      border:4px solid #101010;
      border-radius:0;
      background:#fff;
      color:#222;
      font-family:Arial,sans-serif;
      font-size:14px;
      box-shadow:none;
    }

    .acender-vela textarea.form-control{
      min-height:82px;
      resize:vertical;
    }

    .duracoes{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
    }

    .duracao-opcao{
      min-height:50px;
      padding:7px;
      border:4px solid #ffd49f;
      border-radius:12px;
      background:#fff;
      color:#9d3a18;
      font-size:10px;
      font-weight:900;
      text-align:center;
      text-transform:uppercase;
      cursor:pointer;
    }

    .duracao-opcao.ativa{
      border-color:#101010;
      background:#ff7315;
      color:#fff;
    }

    .btn-acender-vela{
      width:100%;
      min-height:66px;
      margin-top:22px;
      border:4px solid #101010;
      border-radius:0;
      background:#ff7315;
      color:#fff;
      font-size:18px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:4px 4px 0 rgba(0,0,0,.1);
    }

    @media (max-width:767.98px){
  
    .tumulo{
      scroll-margin-top:120px;
    }

    .codigo-lote-tumulo{
      width:max-content;
      margin:6px auto 0;
      padding:3px 7px;
      border:2px solid rgba(16,16,16,.75);
      background:rgba(255,255,255,.82);
      color:#183012;
      font-size:9px;
      font-weight:900;
      line-height:1;
      text-transform:uppercase;
      box-shadow:2px 2px 0 rgba(0,0,0,.12);
    }

    body.modo-noturno .codigo-lote-tumulo{
      background:#172219;
      color:#b9ff8c;
      border-color:#080d09;
    }

    .tumulo.localizado{
      animation:destaque-tumulo 1.1s ease-in-out 0s 3;
      z-index:8;
    }

    .tumulo.localizado .lapide{
      box-shadow:
        0 0 0 5px #fff,
        0 0 0 10px #ffd51d,
        inset 3px 0 0 rgba(255,255,255,.28),
        inset -4px 0 0 rgba(0,0,0,.12),
        inset 0 -8px 0 rgba(0,0,0,.08);
    }

    @keyframes destaque-tumulo{
      0%,100%{transform:translateY(0) scale(1)}
      50%{transform:translateY(-8px) scale(1.06)}
    }

    .modal-busca-lote .modal-dialog{
      max-width:560px;
    }

    .modal-busca-lote .modal-content{
      border:5px solid #101010;
      border-radius:0;
      background:#eef3f8;
      box-shadow:12px 12px 0 rgba(0,0,0,.72);
    }

    .modal-busca-lote .modal-header{
      border:0;
      border-bottom:4px solid #101010;
      border-radius:0;
      background:#1737a3;
      color:#fff;
      padding:14px 16px;
    }

    .modal-busca-lote .modal-title{
      font-size:20px;
      font-weight:900;
      text-transform:uppercase;
    }

    .modal-busca-lote .btn-close{
      filter:invert(1);
      opacity:1;
    }

    .modal-busca-lote .modal-body{
      padding:24px;
    }

    .busca-lote-box{
      display:flex;
      gap:10px;
    }

    .busca-lote-input{
      min-height:56px;
      border:4px solid #101010;
      border-radius:0;
      font-family:"Courier New", monospace;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:none!important;
    }

    .btn-localizar-lote{
      min-width:145px;
      border:4px solid #101010;
      border-radius:0;
      background:#ffd51d;
      color:#111;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:4px 4px 0 rgba(0,0,0,.12);
    }

    .resultado-busca-lote{
      min-height:22px;
      margin-top:14px;
      font-family:Arial,sans-serif;
      font-size:13px;
      font-weight:700;
    }

    .resultado-busca-lote.erro{color:#c92a2a}
    .resultado-busca-lote.sucesso{color:#1d7a18}

    .memorial-cabecalho-destaque{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      margin-bottom:8px;
    }

    .memorial-mini-status{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .status-chip{
      border:2px solid #101010;
      background:#e7f7df;
      color:#245b1b;
      padding:4px 8px;
      font-size:9px;
      font-weight:900;
      text-transform:uppercase;
    }

    .mensagem-memorial{
      margin-top:22px;
      border:4px solid #101010;
      background:#fff7df;
      padding:18px;
      box-shadow:4px 4px 0 rgba(0,0,0,.08);
    }

    .mensagem-memorial h4{
      margin:0 0 8px;
      color:#8a3a16;
      font-size:13px;
      font-weight:900;
      text-transform:uppercase;
    }

    .mensagem-memorial p{
      margin:0;
      color:#40392f;
      font-family:Arial,sans-serif;
      font-size:14px;
      line-height:1.6;
    }

    .acoes-memorial .btn-memorial{
      transition:transform .12s ease, box-shadow .12s ease;
    }

    .acoes-memorial .btn-memorial:hover{
      transform:translate(-2px,-2px);
      box-shadow:5px 5px 0 rgba(0,0,0,.16);
    }

    @media (max-width:575.98px){
      .busca-lote-box{
        flex-direction:column;
      }

      .btn-localizar-lote{
        min-height:54px;
        width:100%;
      }

      .memorial-cabecalho-destaque{
        flex-direction:column;
      }

      .memorial-mini-status{
        justify-content:flex-start;
      }
    }

    .modal-memorial .modal-dialog{
        margin:10px;
      }

      .modal-memorial .btn-fechar-memorial{
        top:-8px;
        right:-8px;
      }

      .modal-memorial .modal-body{
        padding:24px 16px;
      }

      .foto-pet-modal{
        max-width:180px;
        margin-bottom:24px;
      }

      .nome-pet-modal{
        text-align:center;
      }

      .badges-memorial,
      .acoes-memorial{
        justify-content:center;
      }

      .duracoes{
        grid-template-columns:1fr;
      }

      .acender-vela{
        padding:24px 16px;
      }
    }

    .modal-menu-jardim .modal-dialog{
      max-width:390px;
      margin:1.75rem auto;
    }

    .modal-menu-jardim .modal-content{
      border:5px solid #101010;
      border-radius:0;
      background:#edf2f7;
      box-shadow:12px 12px 0 rgba(0,0,0,.75);
      overflow:hidden;
    }

    .modal-menu-jardim .modal-header{
      min-height:58px;
      padding:12px 12px;
      border:0;
      border-bottom:4px solid #101010;
      border-radius:0;
      background:#1c078f;
      display:flex;
      align-items:center;
      justify-content:space-between;
      flex-wrap:nowrap;
    }

    .modal-menu-jardim .modal-title{
      margin:0;
      color:#fff;
      font-size:20px;
      font-weight:900;
      letter-spacing:.2px;
      text-transform:uppercase;
      flex:1 1 auto;
    }

    .modal-menu-jardim .btn-fechar-menu{
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      padding:0;
      border:3px solid #101010;
      border-radius:0;
      background:#ff4944;
      color:#fff;
      font-size:22px;
      font-weight:900;
      line-height:1;
      box-shadow:none;
      margin-left:auto;
      flex:0 0 36px;
    }

    .modal-menu-jardim .btn-fechar-menu:hover{
      background:#ff302a;
    }

    .modal-menu-jardim .modal-body{
      padding:20px;
      background:#edf2f7;
    }

    .menu-jardim-lista{
      display:flex;
      flex-direction:column;
      gap:10px;
    }

    .menu-jardim-link{
      min-height:62px;
      display:flex;
      align-items:center;
      gap:12px;
      padding:10px 14px;
      border:4px solid #111;
      color:#151515;
      text-decoration:none;
      font-size:15px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:3px 3px 0 rgba(0,0,0,.1);
      transition:transform .12s ease, box-shadow .12s ease;
    }

    .menu-jardim-link:hover{
      color:#111;
      transform:translate(-2px,-2px);
      box-shadow:5px 5px 0 rgba(0,0,0,.18);
    }

    .menu-jardim-link.azul{background:#bcd8f8}
    .menu-jardim-link.bege{background:#ffe8c8}
    .menu-jardim-link.amarelo{background:#fff7b8}
    .menu-jardim-link.lilas{background:#ead9fb}
    .menu-jardim-link.cinza{background:#dfe6ee}

    .menu-jardim-icone{
      width:28px;
      flex:0 0 28px;
      text-align:center;
      font-size:20px;
    }

    .menu-jardim-separador{
      position:relative;
      margin:10px 0 4px;
      border-top:2px solid #d4dde6;
    }

    .menu-jardim-separador span{
      position:absolute;
      top:-12px;
      left:0;
      padding-right:7px;
      background:#edf2f7;
      color:#97a3b3;
      font-size:9px;
      font-weight:700;
      text-transform:uppercase;
    }

    .modal-menu-jardim .modal-footer{
      justify-content:center;
      min-height:38px;
      padding:9px 12px;
      border:0;
      border-top:4px solid #101010;
      border-radius:0;
      background:#edf2f7;
      color:#9fb0c3;
      font-size:9px;
      font-weight:900;
      letter-spacing:1px;
      text-transform:uppercase;
    }

    .modal-backdrop.show{
      opacity:.72;
    }

    @media (max-width:1399.98px){
      .cemiterio-grid{grid-template-columns:repeat(6,minmax(92px,1fr));gap:34px}
    }

    @media (max-width:1199.98px){
      .conteudo-cemiterio{padding-left:68px;padding-right:68px}
      .cemiterio-grid{grid-template-columns:repeat(5,minmax(90px,1fr));gap:30px}
    }

    @media (max-width:991.98px){
      .topo-pixel{min-height:250px}
      .logo-topo{top:28px;width:min(245px,60vw)}
      .acoes-topo{top:12px;right:10px}
      .acao-topo{min-width:54px;min-height:54px;padding:0 12px}
      .acao-topo.icone{width:54px;min-width:54px}
      .entrada-cemiterio{min-height:300px}
      .portal{transform:translateX(-50%) scale(.9);transform-origin:center bottom}
      .painel-mapa{position:relative;top:auto;left:auto;margin:18px 12px 0;width:170px}
      .conteudo-cemiterio{padding:38px 18px 90px}
      .cemiterio-grid{grid-template-columns:repeat(4,minmax(82px,1fr));gap:28px 20px}
    }

    @media (max-width:767.98px){
      .topo-pixel{min-height:225px}
      .logo-topo{width:min(220px,58vw)}
      .acao-topo.menu{min-width:54px;width:54px;font-size:0}
      .acao-topo.menu:before{content:"☰";font-size:24px}
      .entrada-cemiterio{min-height:270px}
      .portal{transform:translateX(-50%) scale(.8);top:35px}
      .cemiterio-grid{grid-template-columns:repeat(3,minmax(78px,1fr));gap:24px 14px}
      .lapide{max-width:105px}
    }

    @media (max-width:479.98px){
      .topo-pixel{min-height:205px}
      .logo-topo{top:34px;width:190px}
      .acoes-topo{gap:8px}
      .acao-topo{border-width:4px}
      .acao-topo.icone{width:48px;min-width:48px;min-height:48px}
      .acao-topo.menu{width:48px;min-width:48px;min-height:48px}
      .entrada-cemiterio{min-height:245px}
      .portal{transform:translateX(-50%) scale(.7);top:22px}
      .cemiterio-grid{grid-template-columns:repeat(2,minmax(80px,1fr))}
    }

    .ceu-mundo{
      top:0 !important;
      margin:0 !important;
      padding-top:0 !important;
      transform:translateY(0);
    }

    .ceu-mundo:before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:0;
      height:100%;
      z-index:-1;
      background:inherit;
    }


    .tumulo-mini-procedural .mini-nome,
    .tumulo-mini-procedural .mini-datas{
      display:none;
    }

    .quarteirao-procedural .placa-quarteirao{
      z-index:5;
    }

    @media (max-width:991.98px){
      .quarteirao-procedural{
        width:560px;
        height:450px;
      }

      .tumulos-quarteirao{
        grid-template-columns:repeat(4,110px);
        grid-template-rows:repeat(2,165px);
        gap:24px 20px;
      }

      .tumulo-mini-procedural{
        width:110px;
        height:150px;
      }

      .tumulo-mini-procedural:before{
        width:96px;
        height:128px;
      }

      .tumulo-mini-procedural:after{
        width:104px;
      }
    }


    

    

    .mundo-conteudo-central{
      left:-665px !important;
      top:1010px !important;
      width:1330px !important;
      padding:0 !important;
      z-index:10;
    }

    .bairro-real{
      display:grid;
      grid-template-columns:repeat(2,620px);
      gap:110px 90px;
      align-items:start;
    }

    .quarteirao-real{
      position:relative;
      width:620px;
      height:470px;
      padding:72px 34px 30px;
      border:6px solid #6d5f43;
      background:rgba(77,177,36,.52);
      box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.05),
        7px 7px 0 rgba(0,0,0,.08);
    }

    .quarteirao-real-titulo{
      position:absolute;
      left:14px;
      top:12px;
      padding:7px 10px;
      border:3px solid #101010;
      background:#e9d89c;
      color:#2e281c;
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
    }

    .tumulos-reais{
      display:grid;
      grid-template-columns:repeat(4,120px);
      grid-template-rows:repeat(2,170px);
      justify-content:space-between;
      align-content:space-between;
      gap:28px 24px;
      height:100%;
    }

    .tumulos-reais .tumulo{
      width:120px;
      min-width:120px;
      max-width:120px;
      height:170px;
      min-height:170px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-end;
      margin:0;
    }

    .tumulos-reais .lapide{
      width:104px;
      min-width:104px;
      max-width:104px;
      height:132px;
      aspect-ratio:auto;
      flex:0 0 132px;
      margin:0 auto;
    }

    .tumulos-reais .base-tumulo{
      width:112px;
      min-width:112px;
      max-width:112px;
      height:17px;
      flex:0 0 17px;
      margin:-2px auto 0;
    }

    .tumulos-reais .codigo-lote-tumulo{
      min-height:18px;
      margin-top:5px;
    }

    body.modo-noturno .quarteirao-real{
      filter:brightness(.72) saturate(.8);
    }

    @media (max-width:1399.98px){
      .bairro-real{
        grid-template-columns:620px;
        justify-content:center;
      }
    }

    @media (max-width:767.98px){
      .mundo-conteudo-central{
        left:-310px !important;
        width:620px !important;
      }

      .bairro-real{
        grid-template-columns:620px;
      }
    }



    .mundo-viewport{
      background:
        linear-gradient(
          to bottom,
          #55aef2 0,
          #3ebcf0 170px,
          #16dce6 300px,
          var(--grama) 300px,
          var(--grama) 100%
        ) !important;
    }

    body.modo-noturno .mundo-viewport{
      background:
        linear-gradient(
          to bottom,
          #020817 0,
          #071022 180px,
          #0c1728 300px,
          #17380f 300px,
          #17380f 100%
        ) !important;
    }

    .ceu-mundo{
      top:0 !important;
      height:300px !important;
      min-height:300px !important;
      background:
        linear-gradient(180deg,var(--ceu-topo) 0%,#3ebcf0 45%,#16dce6 100%) !important;
    }

    body.modo-noturno .ceu-mundo{
      background:
        radial-gradient(circle at 20% 20%, rgba(34,48,83,.24), transparent 26%),
        linear-gradient(180deg,#020817 0%,#071022 55%,#0c1728 100%) !important;
    }

    .entrada-mundo-topo{
      top:300px !important;
      background-color:var(--grama) !important;
    }

    body.modo-noturno .entrada-mundo-topo{
      background-color:#17380f !important;
    }


    .acoes-globais{
      position:fixed !important;
      top:20px !important;
      right:14px !important;
      display:flex !important;
      flex-direction:column !important;
      gap:12px !important;
      z-index:1090 !important;
      pointer-events:auto !important;
    }

    .acoes-globais .acao-topo{
      pointer-events:auto !important;
      opacity:1 !important;
      visibility:visible !important;
    }

    body.modal-open .acoes-globais{
      z-index:1030 !important;
    }

    @media (max-width:767.98px){
      .acoes-globais{
        top:12px !important;
        right:10px !important;
        gap:8px !important;
      }

      .acoes-globais .acao-topo.menu{
        min-width:54px;
        width:54px;
        font-size:0;
      }

      .acoes-globais .acao-topo.menu:before{
        content:"☰";
        font-size:24px;
      }
    }

    @media (max-width:479.98px){
      .acoes-globais .acao-topo.icone,
      .acoes-globais .acao-topo.menu{
        width:48px;
        min-width:48px;
        min-height:48px;
      }
    }


    :root{
      --quadra-largura:620px;
      --quadra-altura:470px;
      --rua-largura:96px;
      --tumulo-largura:120px;
      --tumulo-altura:170px;
    }

    .bairro-real{
      display:grid !important;
      grid-template-columns:repeat(2,var(--quadra-largura)) !important;
      gap:var(--rua-largura) var(--rua-largura) !important;
      align-items:start !important;
      justify-content:center !important;
    }

    .quarteirao-real,
    .quarteirao-procedural{
      width:var(--quadra-largura) !important;
      height:var(--quadra-altura) !important;
      min-width:var(--quadra-largura) !important;
      max-width:var(--quadra-largura) !important;
      min-height:var(--quadra-altura) !important;
      max-height:var(--quadra-altura) !important;
      box-sizing:border-box !important;
      overflow:hidden !important;
      position:relative !important;
    }

    .quarteirao-real{
      padding:72px 34px 30px !important;
    }

    .quarteirao-procedural{
      padding:72px 34px 30px !important;
    }

    .tumulos-reais,
    .tumulos-quarteirao{
      position:relative !important;
      inset:auto !important;
      width:100% !important;
      height:100% !important;
      display:grid !important;
      grid-template-columns:repeat(4,var(--tumulo-largura)) !important;
      grid-template-rows:repeat(2,var(--tumulo-altura)) !important;
      justify-content:space-between !important;
      align-content:space-between !important;
      align-items:end !important;
      gap:28px 24px !important;
    }

    .tumulos-reais .tumulo,
    .tumulo-mini-procedural{
      width:var(--tumulo-largura) !important;
      min-width:var(--tumulo-largura) !important;
      max-width:var(--tumulo-largura) !important;
      height:var(--tumulo-altura) !important;
      min-height:var(--tumulo-altura) !important;
      max-height:var(--tumulo-altura) !important;
      margin:0 !important;
      justify-self:center !important;
      align-self:end !important;
      box-sizing:border-box !important;
    }

    .tumulo-mini-procedural{
      pointer-events:auto !important;
      cursor:pointer !important;
      display:flex !important;
      flex-direction:column !important;
      align-items:center !important;
      justify-content:flex-end !important;
      opacity:1 !important;
      z-index:4 !important;
    }

    .tumulo-mini-procedural:hover{
      transform:translateY(-4px);
    }

    .tumulo-mini-procedural .lapide-mini{
      position:relative;
      width:104px;
      height:132px;
      flex:0 0 132px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
      padding:14px 7px 7px;
      background:
        linear-gradient(90deg,rgba(255,255,255,.08),transparent 17%,transparent 85%,rgba(0,0,0,.08)),
        #aaa8a2;
      border:3px solid #333;
      clip-path:polygon(13% 0,87% 0,100% 14%,100% 100%,0 100%,0 14%);
      box-shadow:
        inset 3px 0 0 rgba(255,255,255,.18),
        inset -3px 0 0 rgba(0,0,0,.12);
      color:#161616;
    }

    .tumulo-mini-procedural .lapide-mini strong{
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
      line-height:1.05;
      margin-bottom:8px;
      max-width:84px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .tumulo-mini-procedural .lapide-mini .avatar-mini{
      font-size:30px;
      line-height:1;
      margin:5px 0 9px;
    }

    .tumulo-mini-procedural .lapide-mini small{
      width:100%;
      padding:3px 2px;
      border:2px solid #625f59;
      background:#d5d1c8;
      font-size:8px;
      font-weight:900;
      line-height:1;
      text-align:center;
    }

    .tumulo-mini-procedural .base-mini{
      width:112px;
      height:17px;
      flex:0 0 17px;
      margin-top:-2px;
      background:#6f4b28;
      border:3px solid #3f2c1c;
      box-shadow:inset 0 4px 0 #85592d;
      position:relative;
    }

    .tumulo-mini-procedural .base-mini:after{
      content:"✿ ✦ ✿";
      position:absolute;
      left:50%;
      top:-5px;
      transform:translateX(-50%);
      color:#ff75b7;
      font-size:11px;
      white-space:nowrap;
    }

    .tumulo-mini-procedural:before,
    .tumulo-mini-procedural:after{
      display:none !important;
      content:none !important;
    }

    .quarteirao-real-titulo,
    .quarteirao-procedural .placa-quarteirao{
      position:absolute !important;
      top:12px !important;
      left:14px !important;
      z-index:8 !important;
      padding:7px 10px !important;
      border:3px solid #101010 !important;
      background:#e9d89c !important;
      color:#2e281c !important;
      font-size:10px !important;
      font-weight:900 !important;
      text-transform:uppercase !important;
      box-sizing:border-box !important;
    }

    .rua-procedural.horizontal{
      height:var(--rua-largura) !important;
    }

    .rua-procedural.vertical{
      width:var(--rua-largura) !important;
    }

    @media (max-width:1399.98px){
      .bairro-real{
        grid-template-columns:var(--quadra-largura) !important;
      }
    }


    .bairro-real{
      position:relative;
    }

    .bairro-real:before{
      content:"";
      position:absolute;
      left:50%;
      top:0;
      bottom:0;
      width:var(--rua-largura);
      transform:translateX(-50%);
      background:#bda77a;
      border-left:4px solid #8b7653;
      border-right:4px solid #8b7653;
      z-index:0;
      pointer-events:none;
    }

    .bairro-real > .quarteirao-real{
      z-index:2;
    }

    @media (max-width:1399.98px){
      .bairro-real:before{
        display:none;
      }
    }


    :root{
      --quadra-largura:620px;
      --quadra-altura:650px;
      --rua-largura:120px;
      --passo-x:740px;
      --passo-y:770px;
      --tumulo-largura:120px;
      --tumulo-altura:170px;
    }

    #mundoConteudoCentral{
      display:none !important;
    }

    .malha-ruas-fundo{
      position:absolute;
      left:-50000px;
      top:780px;
      width:100000px;
      height:100000px;
      z-index:1;
      pointer-events:none;
      background:#bda77a;
      box-shadow:inset 0 0 0 4px rgba(94,75,48,.16);
    }

    

    .quarteirao-procedural{
      position:absolute !important;
      width:var(--quadra-largura) !important;
      height:var(--quadra-altura) !important;
      min-width:var(--quadra-largura) !important;
      max-width:var(--quadra-largura) !important;
      min-height:var(--quadra-altura) !important;
      max-height:var(--quadra-altura) !important;
      padding:72px 34px 30px !important;
      margin:0 !important;
      overflow:hidden !important;
      box-sizing:border-box !important;
      border:6px solid #6d5f43 !important;
      background:
        linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),
        linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),
        rgba(70,181,31,.96) !important;
      background-size:4px 4px,4px 4px,auto !important;
      box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.05),
        6px 6px 0 rgba(0,0,0,.08) !important;
      z-index:4 !important;
      pointer-events:auto !important;
    }

    body.modo-noturno .quarteirao-procedural{
      background:
        linear-gradient(rgba(2,16,6,.22),rgba(2,16,6,.22)),
        linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px),
        linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),
        #17380f !important;
      background-size:auto,4px 4px,4px 4px,auto !important;
      filter:none !important;
    }

    body.modo-noturno .malha-ruas-fundo,
    body.modo-noturno .rua-saida-portal{
      background:#746950;
      border-color:#554b37;
    }

    .quarteirao-procedural .placa-quarteirao{
      position:absolute !important;
      top:14px !important;
      left:16px !important;
      z-index:8 !important;
      padding:7px 10px !important;
      border:3px solid #101010 !important;
      background:#e9d89c !important;
      color:#2e281c !important;
      font-size:10px !important;
      font-weight:900 !important;
      text-transform:uppercase !important;
    }

    .tumulos-quarteirao{
      position:relative !important;
      inset:auto !important;
      width:100% !important;
      height:100% !important;
      display:grid !important;
      grid-template-columns:repeat(4,var(--tumulo-largura)) !important;
      grid-template-rows:repeat(3,var(--tumulo-altura)) !important;
      justify-content:space-between !important;
      align-content:space-between !important;
      align-items:end !important;
      gap:18px 24px !important;
    }

    .tumulo-mini-procedural{
      position:relative !important;
      width:var(--tumulo-largura) !important;
      min-width:var(--tumulo-largura) !important;
      max-width:var(--tumulo-largura) !important;
      height:var(--tumulo-altura) !important;
      min-height:var(--tumulo-altura) !important;
      max-height:var(--tumulo-altura) !important;
      margin:0 !important;
      padding:0 !important;
      border:0 !important;
      background:transparent !important;
      cursor:pointer !important;
      pointer-events:auto !important;
      display:flex !important;
      flex-direction:column !important;
      align-items:center !important;
      justify-content:flex-end !important;
      justify-self:center !important;
      align-self:end !important;
      opacity:1 !important;
      z-index:6 !important;
      font-family:"Courier New",monospace;
    }

    .tumulo-mini-procedural:hover{
      transform:translateY(-5px);
      z-index:9 !important;
    }

    .tumulo-mini-procedural .lapide-mini{
      position:relative;
      width:104px;
      height:132px;
      flex:0 0 132px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
      padding:14px 7px 7px;
      background:
        linear-gradient(90deg,rgba(255,255,255,.08),transparent 17%,transparent 85%,rgba(0,0,0,.08)),
        #aaa8a2;
      border:3px solid #333;
      clip-path:polygon(13% 0,87% 0,100% 14%,100% 100%,0 100%,0 14%);
      box-shadow:
        inset 3px 0 0 rgba(255,255,255,.18),
        inset -3px 0 0 rgba(0,0,0,.12);
      color:#161616;
    }

    .tumulo-mini-procedural .lapide-mini strong{
      max-width:84px;
      margin-bottom:7px;
      overflow:hidden;
      color:#171717;
      font-size:10px;
      font-weight:900;
      line-height:1.05;
      text-overflow:ellipsis;
      text-transform:uppercase;
      white-space:nowrap;
    }

    .tumulo-mini-procedural .avatar-mini{
      margin:5px 0 9px;
      font-size:30px;
      line-height:1;
    }

    .tumulo-mini-procedural .lapide-mini small{
      width:100%;
      padding:3px 2px;
      border:2px solid #625f59;
      background:#d5d1c8;
      color:#171717;
      font-size:8px;
      font-weight:900;
      line-height:1;
      text-align:center;
    }

    .tumulo-mini-procedural .base-mini{
      position:relative;
      width:112px;
      height:17px;
      flex:0 0 17px;
      margin-top:-2px;
      background:#6f4b28;
      border:3px solid #3f2c1c;
      box-shadow:inset 0 4px 0 #85592d;
    }

    .tumulo-mini-procedural .base-mini:after{
      content:"✿ ✦ ✿";
      position:absolute;
      left:50%;
      top:-5px;
      transform:translateX(-50%);
      color:#ff75b7;
      font-size:11px;
      white-space:nowrap;
    }

    .tumulo-mini-procedural:before,
    .tumulo-mini-procedural:after{
      display:none !important;
      content:none !important;
    }


    .rua-saida-portal{
      position:absolute !important;
      left:-60px !important;
      top:500px !important;
      width:120px !important;
      height:400px !important;
      z-index:3 !important;
      pointer-events:none !important;
      background:#bda77a !important;
      border-left:4px solid #8b7653 !important;
      border-right:4px solid #8b7653 !important;
      box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.08),
        0 0 0 1px rgba(0,0,0,.04) !important;
    }

    .rua-saida-portal:before{
      content:"";
      position:absolute;
      left:-18px;
      top:-22px;
      width:148px;
      height:58px;
      background:#bda77a;
      border-left:4px solid #8b7653;
      border-right:4px solid #8b7653;
      border-top:4px solid #8b7653;
      box-sizing:border-box;
    }

    body.modo-noturno .rua-saida-portal,
    body.modo-noturno .rua-saida-portal:before{
      background:#746950 !important;
      border-color:#554b37 !important;
    }

    .entrada-mundo-topo .placa{
      z-index:12;
    }


    .rua-saida-portal{
      position:absolute !important;
      left:-60px !important;
      top:500px !important;
      width:120px !important;
      height:400px !important;
      z-index:3 !important;
      pointer-events:none !important;
      background:#bda77a !important;
      border-left:4px solid #8b7653 !important;
      border-right:4px solid #8b7653 !important;
      box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.08),
        0 0 0 1px rgba(0,0,0,.04) !important;
    }

    .rua-saida-portal:before{
      content:"";
      position:absolute;
      left:-18px;
      top:-22px;
      width:148px;
      height:58px;
      background:#bda77a;
      border-left:4px solid #8b7653;
      border-right:4px solid #8b7653;
      border-top:4px solid #8b7653;
      box-sizing:border-box;
    }

    body.modo-noturno .rua-saida-portal,
    body.modo-noturno .rua-saida-portal:before{
      background:#746950 !important;
      border-color:#554b37 !important;
    }

    .entrada-mundo-topo .placa{
      z-index:12;
    }


    /* TOPO: portal e cerca encostados na linha do horizonte */
    .entrada-mundo-topo{
      top:300px !important;
      height:430px !important;
    }

    .entrada-mundo-topo .cerca{
      top:0 !important;
    }

    .entrada-mundo-topo .portal{
      top:-2px !important;
    }

    /* A rua continua exatamente da porta do portal até a malha do cemitério */
    .rua-saida-portal{
      top:500px !important;
      height:400px !important;
    }

    /* Remove qualquer faixa vertical vazia criada por posicionamentos antigos */
    .mundo-conteudo-central{
      top:900px !important;
    }


    /* v1.0.33 — cerca centralizada exatamente na transição céu/gramado */
    .entrada-mundo-topo{
      top:300px !important;
      height:430px !important;
    }

    .entrada-mundo-topo .cerca{
      top:-80px !important;
      transform:none !important;
      z-index:5 !important;
    }

    .entrada-mundo-topo .portal{
      top:-82px !important;
      z-index:8 !important;
    }


    /* v1.0.34 — cerca exatamente entre o céu e o gramado */
    .entrada-mundo-topo .cerca-entrada{
      top:-43px !important;
      z-index:7 !important;
    }


    /* v1.0.35 — cerca e entrada principal acima do céu */
    .entrada-mundo-topo{
      z-index:20 !important;
    }

    .entrada-mundo-topo .cerca-entrada{
      z-index:22 !important;
    }

    .entrada-mundo-topo .portal,
    .entrada-mundo-topo .portal-topo-mundo{
      z-index:24 !important;
    }

    .entrada-mundo-topo .placa{
      z-index:26 !important;
    }

    .ceu-mundo{
      z-index:5 !important;
    }


    /* v1.0.36 — entrada principal 3x maior e sobrepondo metade da cerca */
    .entrada-mundo-topo .portal,
    .entrada-mundo-topo .portal-topo-mundo{
      top:-205px !important;
      transform:translateX(-50%) scale(1.05) !important;
      transform-origin:center center !important;
      z-index:24 !important;
    }


    /* v1.0.38 — correção da transição entrada > cemitério */

    /* O viewport não pode ter céu fixo, senão ele reaparece ao arrastar o mundo. */
    .mundo-viewport{
      background-color:var(--grama) !important;
      background-image:
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.022) 1px, transparent 1px) !important;
      background-size:4px 4px !important;
    }

    body.modo-noturno .mundo-viewport{
      background-color:#17380f !important;
      background-image:
        linear-gradient(rgba(2,16,6,.22),rgba(2,16,6,.22)),
        linear-gradient(90deg, rgba(255,255,255,.01) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.05) 1px, transparent 1px) !important;
      background-size:auto,4px 4px,4px 4px !important;
    }

    /* Malha real das ruas: somente os corredores ficam na cor da rua.
       O restante permanece gramado, eliminando o grande bloco bege. */
    .malha-ruas-fundo{
      display:block !important;
      position:absolute !important;
      left:-50380px !important;
      top:620px !important;
      width:100760px !important;
      height:100000px !important;
      z-index:1 !important;
      pointer-events:none !important;
      background-color:transparent !important;
      background-image:
        repeating-linear-gradient(
          90deg,
          #bda77a 0,
          #bda77a 120px,
          transparent 120px,
          transparent 740px
        ),
        repeating-linear-gradient(
          180deg,
          transparent 0,
          transparent 650px,
          #bda77a 650px,
          #bda77a 770px
        ) !important;
      box-shadow:none !important;
    }

    body.modo-noturno .malha-ruas-fundo{
      background-color:transparent !important;
      background-image:
        repeating-linear-gradient(
          90deg,
          #746950 0,
          #746950 120px,
          transparent 120px,
          transparent 740px
        ),
        repeating-linear-gradient(
          180deg,
          transparent 0,
          transparent 650px,
          #746950 650px,
          #746950 770px
        ) !important;
    }

    /* Caminho da porta até a primeira rua/quarteirão, sem o vazio anterior. */
    .rua-saida-portal{
      left:-60px !important;
      top:470px !important;
      width:120px !important;
      height:150px !important;
      z-index:3 !important;
      background:#bda77a !important;
      border-left:4px solid #8b7653 !important;
      border-right:4px solid #8b7653 !important;
      box-shadow:inset 0 0 0 3px rgba(255,255,255,.08) !important;
    }

    .rua-saida-portal:before{
      top:-18px !important;
      height:42px !important;
    }

    body.modo-noturno .rua-saida-portal,
    body.modo-noturno .rua-saida-portal:before{
      background:#746950 !important;
      border-color:#554b37 !important;
    }


    /* v1.0.39 — primeira rua horizontal e menor espaço após a entrada */

    /* A malha procedural começa junto da primeira fileira de quadras. */
    .malha-ruas-fundo{
      top:500px !important;
    }

    /* Rua horizontal superior: fecha geometricamente os primeiros quarteirões. */
    .rua-horizontal-primeira{
      position:absolute;
      left:-50000px;
      top:380px;
      width:100000px;
      height:120px;
      z-index:3;
      pointer-events:none;
      background:#bda77a;
      border-top:4px solid #8b7653;
      border-bottom:4px solid #8b7653;
      box-shadow:inset 0 0 0 3px rgba(255,255,255,.08);
    }

    body.modo-noturno .rua-horizontal-primeira{
      background:#746950;
      border-color:#554b37;
    }

    /* A rua que sai do portal agora encontra diretamente a rua horizontal. */
    .rua-saida-portal{
      top:350px !important;
      height:150px !important;
    }

    .rua-saida-portal:before{
      top:-14px !important;
      height:34px !important;
    }


    /* v1.0.40 — rua horizontal separando o topo dos primeiros quarteirões */
    .rua-horizontal-topo-inicio{
      position:absolute;
      left:-50000px;
      top:500px;
      width:100000px;
      height:120px;
      z-index:4;
      pointer-events:none;
      background:#bda77a;
      border-top:4px solid #8b7653;
      border-bottom:4px solid #8b7653;
      box-shadow:inset 0 0 0 3px rgba(255,255,255,.08);
    }

    body.modo-noturno .rua-horizontal-topo-inicio{
      background:#746950;
      border-color:#554b37;
    }


    /* v1.0.41 — rua real acima da primeira fileira de quarteirões */

    /* Desativa a rua antiga duplicada. */
    .rua-horizontal-primeira{
      display:none !important;
    }

    /* A malha começa somente depois da rua superior. */
    .malha-ruas-fundo{
      top:620px !important;
    }

    /* Rua horizontal de verdade, sem sobrepor os túmulos. */
    .rua-horizontal-topo-inicio{
      position:absolute !important;
      left:-50000px !important;
      top:500px !important;
      width:100000px !important;
      height:120px !important;
      z-index:5 !important;
      pointer-events:none !important;
      background:#bda77a !important;
      border-top:4px solid #8b7653 !important;
      border-bottom:4px solid #8b7653 !important;
      box-shadow:inset 0 0 0 3px rgba(255,255,255,.08) !important;
    }

    body.modo-noturno .rua-horizontal-topo-inicio{
      background:#746950 !important;
      border-color:#554b37 !important;
    }

    /* A rua vertical da entrada encontra exatamente essa rua horizontal. */
    .rua-saida-portal{
      top:350px !important;
      height:270px !important;
    }


    /* v1.0.42 — primeira rua horizontal garantida e visível */
    #ruaHorizontalTopoInicio{
      display:block !important;
      position:absolute !important;
      left:-50000px !important;
      top:500px !important;
      width:100000px !important;
      height:120px !important;
      z-index:12 !important;
      pointer-events:none !important;
      background:#bda77a !important;
      border-top:4px solid #8b7653 !important;
      border-bottom:4px solid #8b7653 !important;
      box-shadow:inset 0 0 0 3px rgba(255,255,255,.08) !important;
      opacity:1 !important;
      visibility:visible !important;
    }

    body.modo-noturno #ruaHorizontalTopoInicio{
      background:#746950 !important;
      border-color:#554b37 !important;
    }

    /* Primeiros quarteirões começam logo abaixo da rua. */
    .malha-ruas-fundo{
      top:620px !important;
    }


    /* v1.0.43 — reduz em ~50% o espaço entre a entrada e os primeiros túmulos */
    #ruaHorizontalTopoInicio{
      top:365px !important;
      height:120px !important;
    }

    .malha-ruas-fundo{
      top:485px !important;
    }

    .rua-saida-portal{
      top:330px !important;
      height:155px !important;
    }


    /* v1.0.44 — correção de z-index das ruas, quadras e túmulos */

    .malha-ruas-fundo{
      z-index:2 !important;
    }

    .rua-saida-portal{
      z-index:14 !important;
    }

    #ruaHorizontalTopoInicio{
      z-index:16 !important;
      opacity:1 !important;
      visibility:visible !important;
    }

    .mundo-chunks{
      z-index:8 !important;
    }

    .quarteirao-procedural{
      z-index:10 !important;
    }

    .quarteirao-procedural .placa-quarteirao{
      z-index:13 !important;
    }

    .tumulo-mini-procedural{
      z-index:12 !important;
    }

    .tumulo-mini-procedural:hover{
      z-index:18 !important;
    }

    .ceu-mundo{
      z-index:20 !important;
    }

    .entrada-mundo-topo{
      z-index:24 !important;
    }

    .entrada-mundo-topo .cerca-entrada{
      z-index:26 !important;
    }

    .entrada-mundo-topo .portal,
    .entrada-mundo-topo .portal-topo-mundo{
      z-index:28 !important;
    }

    .entrada-mundo-topo .placa{
      z-index:30 !important;
    }


    /* v1.0.45 — túmulos acima das ruas, sem ficarem parcialmente escondidos */
    .malha-ruas-fundo{
      z-index:2 !important;
    }

    .rua-horizontal-topo-inicio,
    #ruaHorizontalTopoInicio,
    .rua-saida-portal{
      z-index:4 !important;
    }

    .mundo-chunks{
      z-index:10 !important;
    }

    .quarteirao-procedural{
      z-index:12 !important;
    }

    .tumulos-quarteirao{
      position:relative !important;
      z-index:14 !important;
    }

    .tumulo-mini-procedural{
      position:relative !important;
      z-index:16 !important;
      overflow:visible !important;
    }

    .tumulo-mini-procedural:hover{
      z-index:20 !important;
    }

    .tumulo-mini-procedural .lapide-mini,
    .tumulo-mini-procedural .base-mini{
      position:relative !important;
      z-index:17 !important;
    }


    /* v1.0.46 — gramado atrás dos túmulos */
    .mundo-chunks{
      position:relative !important;
      z-index:10 !important;
    }

    .quarteirao-procedural{
      position:absolute !important;
      z-index:11 !important;
      overflow:visible !important;
      isolation:isolate !important;
    }

    .tumulos-quarteirao{
      position:relative !important;
      z-index:30 !important;
      overflow:visible !important;
    }

    .tumulo-mini-procedural{
      position:relative !important;
      z-index:40 !important;
      overflow:visible !important;
    }

    .tumulo-mini-procedural .lapide-mini,
    .tumulo-mini-procedural .base-mini{
      position:relative !important;
      z-index:45 !important;
    }

    .quarteirao-procedural .placa-quarteirao{
      z-index:35 !important;
    }

    .malha-ruas-fundo,
    .rua-horizontal-topo-inicio,
    #ruaHorizontalTopoInicio,
    .rua-saida-portal{
      z-index:2 !important;
    }


    /* v1.0.47 — uma única textura de gramado em todo o cemitério */
    :root{
      --gramado-textura:url('../images/gramado-textura.png');
      --gramado-cor:#43b61e;
      --gramado-cor-noturno:transparent;
    }

    .mundo-infinito,
    .mundo-viewport,
    .entrada-mundo-topo,
    .mundo-chunk,
    .cemiterio,
    .entrada-cemiterio,
    .quarteirao-procedural{
      background-color:var(--gramado-cor) !important;
      background-image:var(--gramado-textura) !important;
      background-repeat:repeat !important;
      background-size:16px 16px !important;
      background-position:0 0 !important;
    }

    body.modo-noturno .mundo-infinito,
    body.modo-noturno .mundo-viewport,
    body.modo-noturno .entrada-mundo-topo,
    body.modo-noturno .mundo-chunk,
    body.modo-noturno .cemiterio,
    body.modo-noturno .entrada-cemiterio,
    body.modo-noturno .quarteirao-procedural{
      background-color:var(--gramado-cor-noturno) !important;
      background-image:var(--gramado-textura) !important;
      background-repeat:repeat !important;
      background-size:16px 16px !important;
      background-position:0 0 !important;
    }


    /* v1.0.48 — gramado da entrada atrás dos túmulos */
    .entrada-mundo-topo{
      z-index:auto !important;
      background:transparent !important;
      background-color:transparent !important;
      background-image:none !important;
    }

    body.modo-noturno .entrada-mundo-topo{
      background:transparent !important;
      background-color:transparent !important;
      background-image:none !important;
    }

    .mundo-chunks{
      position:relative !important;
      z-index:20 !important;
    }

    .quarteirao-procedural{
      z-index:22 !important;
      overflow:visible !important;
    }

    .tumulos-quarteirao{
      z-index:24 !important;
      overflow:visible !important;
    }

    .tumulo-mini-procedural{
      z-index:26 !important;
      overflow:visible !important;
    }

    .tumulo-mini-procedural .lapide-mini,
    .tumulo-mini-procedural .base-mini{
      z-index:28 !important;
    }

    .entrada-mundo-topo .cerca-entrada{
      z-index:40 !important;
    }

    .entrada-mundo-topo .portal,
    .entrada-mundo-topo .portal-topo-mundo{
      z-index:42 !important;
    }

    .entrada-mundo-topo .placa{
      z-index:44 !important;
    }


    /* v1.0.49 — zoom da câmera do cemitério */
    .mundo-camada{
      transform-origin:0 0 !important;
    }

    .controles-zoom{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:1090;
      display:flex;
      align-items:stretch;
      border:4px solid #101010;
      background:#fff;
      box-shadow:6px 6px 0 rgba(0,0,0,.2);
    }

    .btn-zoom,
    .nivel-zoom{
      height:52px;
      min-width:52px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:0 12px;
      border:0;
      border-radius:0;
      background:#fff;
      color:#111;
      font-family:"Courier New",monospace;
      font-size:24px;
      font-weight:900;
      line-height:1;
      cursor:pointer;
    }

    .nivel-zoom{
      min-width:76px;
      border-left:3px solid #101010;
      border-right:3px solid #101010;
      background:#ffd21c;
      font-size:12px;
    }

    .btn-zoom:hover,
    .nivel-zoom:hover{
      background:#f1f5f9;
    }

    .nivel-zoom:hover{
      background:#ffe15c;
    }

    .btn-zoom:disabled{
      opacity:.35;
      cursor:not-allowed;
    }

    body.modal-open .controles-zoom{
      z-index:1030;
    }

    @media (max-width:575.98px){
      .controles-zoom{
        right:10px;
        bottom:76px;
      }

      .btn-zoom,
      .nivel-zoom{
        height:46px;
        min-width:46px;
      }

      .nivel-zoom{
        min-width:64px;
      }
    }


    /* v1.0.50 — no mobile o zoom é feito somente por gesto de pinça */
    @media (max-width:767.98px){
      .controles-zoom{
        display:none !important;
      }

      .mundo-viewport{
        touch-action:none !important;
      }
    }


    /* v1.0.52 — remove a linha horizontal sobre a estrada */
    .rua-horizontal-topo-inicio,
    #ruaHorizontalTopoInicio,
    .rua-horizontal-primeira{
      border-top:0 !important;
      border-bottom:0 !important;
      box-shadow:none !important;
    }


    /* v1.0.58 — clique dos túmulos + arrasto do mundo */
    .tumulo-mini-procedural,
    .tumulo-mini-procedural *{
      pointer-events:auto !important;
    }


    /* v1.0.59 — locais especiais espalhados pelo cemitério */
    .local-especial{
      position:absolute;
      width:var(--quadra-largura) !important;
      height:var(--quadra-altura) !important;
      min-width:var(--quadra-largura);
      min-height:var(--quadra-altura);
      box-sizing:border-box;
      overflow:hidden;
      border:6px solid #6d5f43;
      background-color:var(--gramado-cor);
      background-image:var(--gramado-textura);
      background-repeat:repeat;
      background-size:16px 16px;
      box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.06),
        6px 6px 0 rgba(0,0,0,.08);
      z-index:22;
      cursor:pointer;
      user-select:none;
    }

    body.modo-noturno .local-especial{
      background-color:var(--gramado-cor-noturno);
      background-image:var(--gramado-textura);
    }

    .local-especial:hover{
      outline:5px solid rgba(255,210,28,.8);
      outline-offset:-10px;
    }

    .local-especial-titulo{
      position:absolute;
      left:16px;
      top:14px;
      z-index:12;
      padding:8px 11px;
      border:3px solid #101010;
      background:#ffd21c;
      color:#111;
      font-size:11px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:4px 4px 0 rgba(0,0,0,.14);
    }

    .local-especial-subtitulo{
      position:absolute;
      left:16px;
      bottom:14px;
      z-index:12;
      max-width:calc(100% - 32px);
      padding:7px 10px;
      border:3px solid #101010;
      background:rgba(255,255,255,.9);
      color:#334155;
      font-family:Arial,sans-serif;
      font-size:11px;
      font-weight:700;
      line-height:1.35;
    }

    body.modo-noturno .local-especial-subtitulo{
      background:rgba(15,23,42,.92);
      color:#e5edf7;
    }

    .cenario-especial{
      position:absolute;
      inset:74px 28px 60px;
      display:flex;
      align-items:center;
      justify-content:center;
      pointer-events:none;
    }

    .icone-local-grande{
      position:relative;
      z-index:4;
      font-size:104px;
      line-height:1;
      filter:drop-shadow(5px 7px 0 rgba(0,0,0,.15));
      image-rendering:pixelated;
    }

    .local-lago .cenario-especial:before{
      content:"";
      position:absolute;
      width:410px;
      height:260px;
      border:6px solid #315f86;
      border-radius:48% 52% 45% 55%;
      background:
        repeating-linear-gradient(
          0deg,
          rgba(255,255,255,.16) 0 5px,
          transparent 5px 19px
        ),
        #49aee7;
      box-shadow:
        inset 0 0 0 8px rgba(18,104,158,.18),
        0 0 0 18px #8ccf57;
    }

    .local-lago .icone-local-grande{
      transform:translateY(20px);
    }

    .local-fonte .cenario-especial:before{
      content:"";
      position:absolute;
      width:290px;
      height:290px;
      border-radius:50%;
      border:12px solid #8c9298;
      background:#5ec8ef;
      box-shadow:
        inset 0 0 0 8px #b9c1c7,
        0 0 0 10px rgba(255,255,255,.12);
    }

    .local-fonte .icone-local-grande{
      font-size:118px;
    }

    .local-jardim-flores .cenario-especial{
      background:
        radial-gradient(circle at 12% 30%, #ff80b7 0 7px, transparent 8px),
        radial-gradient(circle at 27% 65%, #ffd24d 0 8px, transparent 9px),
        radial-gradient(circle at 45% 25%, #d98cff 0 8px, transparent 9px),
        radial-gradient(circle at 61% 72%, #ff667a 0 8px, transparent 9px),
        radial-gradient(circle at 80% 35%, #fff 0 7px, transparent 8px),
        radial-gradient(circle at 90% 70%, #ffbb42 0 7px, transparent 8px);
      background-size:115px 100px;
    }

    .local-arvore .icone-local-grande{
      font-size:150px;
    }

    .local-praca .cenario-especial:before{
      content:"";
      position:absolute;
      width:420px;
      height:270px;
      border:5px solid #8b7653;
      background:
        linear-gradient(90deg,transparent 47%,#bda77a 47%,#bda77a 53%,transparent 53%),
        linear-gradient(0deg,transparent 47%,#bda77a 47%,#bda77a 53%,transparent 53%);
    }

    .local-praca .icone-local-grande{
      font-size:92px;
    }

    .local-caes .cenario-especial:before,
    .local-gatos .cenario-especial:before{
      content:"";
      position:absolute;
      width:440px;
      height:300px;
      border:6px dashed rgba(75,95,55,.65);
      background:rgba(255,255,255,.05);
    }

    .local-ponte .cenario-especial:before{
      content:"";
      position:absolute;
      left:10px;
      right:10px;
      height:170px;
      background:#4dafdd;
      border-top:5px solid #2f6685;
      border-bottom:5px solid #2f6685;
    }

    .local-ponte .icone-local-grande{
      font-size:145px;
    }

    .local-capela .icone-local-grande{
      font-size:145px;
    }

    .local-mirante .cenario-especial:before{
      content:"";
      position:absolute;
      width:450px;
      height:270px;
      background:
        linear-gradient(155deg,transparent 0 40%,#518c3d 41% 59%,transparent 60%),
        linear-gradient(25deg,transparent 0 40%,#3f7430 41% 59%,transparent 60%);
      opacity:.85;
    }

    .local-estrelas{
      background-color:#284d27;
    }

    .local-estrelas .cenario-especial{
      background:
        radial-gradient(circle,rgba(255,245,142,.95) 0 4px,transparent 5px);
      background-size:70px 64px;
    }

    .local-estrelas .icone-local-grande{
      font-size:125px;
    }

    .placa-descoberta{
      position:absolute;
      right:14px;
      top:14px;
      z-index:13;
      padding:6px 8px;
      border:3px solid #101010;
      background:#172033;
      color:#a4ff39;
      font-size:9px;
      font-weight:900;
      text-transform:uppercase;
    }

    .modal-local-especial .modal-dialog{
      max-width:560px;
    }

    .modal-local-especial .modal-content{
      border:5px solid #101010;
      border-radius:0;
      background:#eef3f8;
      box-shadow:10px 10px 0 rgba(0,0,0,.65);
    }

    .modal-local-especial .modal-header{
      border:0;
      border-bottom:5px solid #101010;
      border-radius:0;
      background:#151196;
      color:#fff;
    }

    .modal-local-especial .modal-title{
      font-size:20px;
      font-weight:900;
      text-transform:uppercase;
    }

    .local-modal-icone{
      margin-bottom:14px;
      font-size:72px;
      line-height:1;
      text-align:center;
    }

    .local-modal-descricao{
      margin:0;
      color:#506078;
      font-family:Arial,sans-serif;
      font-size:14px;
      line-height:1.65;
      text-align:center;
    }


    /* v1.0.60 — conhecer um túmulo aleatório */
    .btn-conhecer-tumulo-fixo{
      position:fixed;
      left:18px;
      bottom:96px;
      z-index:1070;
      min-width:224px;
      min-height:58px;
      padding:11px 18px;
      border:5px solid #101010;
      border-radius:0;
      background:#151196;
      color:#fff;
      font-size:15px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:8px 8px 0 rgba(0,0,0,.22);
      transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
    }

    .btn-conhecer-tumulo-fixo:hover{
      transform:translate(-2px,-2px);
      box-shadow:10px 10px 0 rgba(0,0,0,.24);
      background:#211cc3;
      color:#fff;
    }

    .btn-conhecer-tumulo-fixo:disabled{
      opacity:.72;
      cursor:wait;
      transform:none;
    }

    body.modal-open .btn-conhecer-tumulo-fixo{
      z-index:1030;
    }

    .tumulo-mini-procedural.tumulo-aleatorio-destaque .lapide-mini{
      animation:destaque-tumulo-aleatorio .75s ease-in-out 2;
      box-shadow:
        0 0 0 5px #fff,
        0 0 0 10px #ffd21c,
        inset 3px 0 0 rgba(255,255,255,.18),
        inset -3px 0 0 rgba(0,0,0,.12) !important;
    }

    @keyframes destaque-tumulo-aleatorio{
      0%,100%{
        transform:translateY(0) scale(1);
        filter:brightness(1);
      }
      50%{
        transform:translateY(-10px) scale(1.08);
        filter:brightness(1.15);
      }
    }

    @media (max-width:575.98px){
      .btn-conhecer-tumulo-fixo{
        left:10px;
        bottom:76px;
        min-width:186px;
        min-height:50px;
        padding:9px 12px;
        font-size:12px;
      }
    }


    /* v1.0.61 — vida procedural no cemitério */
    .ambiente-procedural{
      position:absolute;
      inset:0;
      z-index:25;
      overflow:hidden;
      pointer-events:none !important;
      user-select:none;
      contain:layout paint;
    }

    .ambiente-procedural,
    .ambiente-procedural *{
      pointer-events:none !important;
    }

    .entidade-ambiente{
      position:absolute;
      display:block;
      line-height:1;
      pointer-events:none;
      user-select:none;
      transform-origin:center;
      image-rendering:pixelated;
      filter:drop-shadow(2px 3px 0 rgba(0,0,0,.12));
      will-change:transform,opacity;
    }

    /* ---------------- DIA ---------------- */
    .borboleta-procedural{
      left:-42px;
      top:var(--amb-top,35%);
      z-index:31;
      font-size:20px;
      animation:
        voo-borboleta var(--amb-dur,12s) linear var(--amb-delay,0s) infinite,
        bater-borboleta .42s ease-in-out infinite alternate;
    }

    @keyframes voo-borboleta{
      0%{
        transform:translate3d(-40px,0,0) rotate(-5deg) scale(.9);
      }
      18%{
        transform:translate3d(135px,-28px,0) rotate(8deg) scale(1);
      }
      38%{
        transform:translate3d(285px,24px,0) rotate(-7deg) scale(.9);
      }
      62%{
        transform:translate3d(455px,-18px,0) rotate(7deg) scale(1);
      }
      82%{
        transform:translate3d(585px,18px,0) rotate(-5deg) scale(.95);
      }
      100%{
        transform:translate3d(720px,-12px,0) rotate(4deg) scale(.9);
      }
    }

    @keyframes bater-borboleta{
      from{ filter:drop-shadow(2px 3px 0 rgba(0,0,0,.12)) brightness(.95); }
      to{ filter:drop-shadow(2px 3px 0 rgba(0,0,0,.12)) brightness(1.16); }
    }

    .passaro-procedural{
      left:-70px;
      top:var(--amb-top,18%);
      z-index:34;
      font-size:25px;
      opacity:.92;
      animation:voo-passaro var(--amb-dur,18s) linear var(--amb-delay,0s) infinite;
    }

    @keyframes voo-passaro{
      0%{
        transform:translate3d(-80px,8px,0) scaleX(1);
      }
      24%{
        transform:translate3d(170px,-25px,0) scaleX(1);
      }
      49%{
        transform:translate3d(345px,7px,0) scaleX(1);
      }
      74%{
        transform:translate3d(535px,-18px,0) scaleX(1);
      }
      100%{
        transform:translate3d(760px,4px,0) scaleX(1);
      }
    }

    /* ---------------- PEQUENOS ANIMAIS ---------------- */
    .animal-procedural{
      left:-55px;
      top:var(--amb-top,74%);
      z-index:27;
      font-size:27px;
      animation:caminhar-animal var(--amb-dur,24s) linear var(--amb-delay,0s) infinite;
    }

    .animal-procedural.animal-invertido{
      left:auto;
      right:-55px;
      animation-name:caminhar-animal-invertido;
    }

    @keyframes caminhar-animal{
      0%{
        transform:translate3d(-55px,0,0) scaleX(1);
      }
      12%{
        transform:translate3d(60px,-2px,0) scaleX(1);
      }
      28%{
        transform:translate3d(170px,2px,0) scaleX(1);
      }
      44%{
        transform:translate3d(280px,-2px,0) scaleX(1);
      }
      60%{
        transform:translate3d(390px,2px,0) scaleX(1);
      }
      76%{
        transform:translate3d(510px,-2px,0) scaleX(1);
      }
      100%{
        transform:translate3d(710px,0,0) scaleX(1);
      }
    }

    @keyframes caminhar-animal-invertido{
      0%{
        transform:translate3d(55px,0,0) scaleX(-1);
      }
      12%{
        transform:translate3d(-60px,-2px,0) scaleX(-1);
      }
      28%{
        transform:translate3d(-170px,2px,0) scaleX(-1);
      }
      44%{
        transform:translate3d(-280px,-2px,0) scaleX(-1);
      }
      60%{
        transform:translate3d(-390px,2px,0) scaleX(-1);
      }
      76%{
        transform:translate3d(-510px,-2px,0) scaleX(-1);
      }
      100%{
        transform:translate3d(-710px,0,0) scaleX(-1);
      }
    }

    /* ---------------- FOLHAS ---------------- */
    .folha-procedural{
      left:var(--amb-left,50%);
      top:-36px;
      z-index:29;
      font-size:17px;
      opacity:.82;
      animation:cair-folha var(--amb-dur,13s) linear var(--amb-delay,0s) infinite;
    }

    @keyframes cair-folha{
      0%{
        transform:translate3d(-12px,-45px,0) rotate(0deg);
        opacity:0;
      }
      8%{ opacity:.85; }
      26%{
        transform:translate3d(22px,160px,0) rotate(95deg);
      }
      50%{
        transform:translate3d(-18px,340px,0) rotate(190deg);
      }
      74%{
        transform:translate3d(28px,510px,0) rotate(285deg);
      }
      92%{ opacity:.8; }
      100%{
        transform:translate3d(-10px,710px,0) rotate(390deg);
        opacity:0;
      }
    }

    /* ---------------- FLORES ---------------- */
    .flor-procedural{
      left:var(--amb-left,50%);
      top:var(--amb-top,82%);
      z-index:23;
      font-size:17px;
      animation:balancar-flor var(--amb-dur,2.7s) ease-in-out var(--amb-delay,0s) infinite alternate;
      transform-origin:50% 100%;
    }

    @keyframes balancar-flor{
      from{
        transform:rotate(-8deg) translateY(0);
      }
      to{
        transform:rotate(9deg) translateY(-2px);
      }
    }

    /* ---------------- VAGALUMES / NOITE ---------------- */
    .vagalume-procedural{
      left:var(--amb-left,50%);
      top:var(--amb-top,50%);
      z-index:33;
      width:8px;
      height:8px;
      border:2px solid #d8ff56;
      border-radius:50%;
      background:#f6ff83;
      opacity:0;
      box-shadow:
        0 0 5px #efff61,
        0 0 12px rgba(231,255,70,.8),
        0 0 20px rgba(231,255,70,.45);
      animation:
        vagalume-mover var(--amb-dur,6s) ease-in-out var(--amb-delay,0s) infinite alternate,
        vagalume-piscar 1.35s ease-in-out var(--amb-delay,0s) infinite;
    }

    @keyframes vagalume-mover{
      0%{
        transform:translate3d(-18px,12px,0);
      }
      35%{
        transform:translate3d(16px,-20px,0);
      }
      65%{
        transform:translate3d(28px,11px,0);
      }
      100%{
        transform:translate3d(-8px,-26px,0);
      }
    }

    @keyframes vagalume-piscar{
      0%,100%{ opacity:.18; }
      28%{ opacity:1; }
      48%{ opacity:.32; }
      72%{ opacity:.9; }
    }

    .ambiente-noite{
      display:none !important;
    }

    body.modo-noturno .ambiente-dia{
      display:none !important;
    }

    body.modo-noturno .ambiente-noite{
      display:block !important;
    }

    body.modo-noturno .flor-procedural,
    body.modo-noturno .folha-procedural,
    body.modo-noturno .animal-procedural{
      filter:brightness(.62) saturate(.72) drop-shadow(2px 3px 0 rgba(0,0,0,.18));
    }

    /* Locais especiais também recebem a vida procedural */
    .local-especial > .ambiente-procedural{
      z-index:11;
    }

    .local-especial > .ambiente-procedural .passaro-procedural,
    .local-especial > .ambiente-procedural .borboleta-procedural,
    .local-especial > .ambiente-procedural .vagalume-procedural{
      z-index:13;
    }

    /* Menos elementos simultâneos em telas pequenas para manter fluidez */
    @media (max-width:767.98px){
      .passaro-procedural{
        font-size:22px;
      }

      .animal-procedural{
        font-size:24px;
      }

      .borboleta-procedural{
        font-size:18px;
      }

      .folha-procedural:nth-of-type(even),
      .flor-procedural:nth-of-type(even){
        display:none;
      }
    }

    @media (prefers-reduced-motion:reduce){
      .entidade-ambiente{
        animation-duration:1ms !important;
        animation-iteration-count:1 !important;
      }
    }


    /* =========================================================
       v1.0.62 — BORBOLETAS E PÁSSAROS EM PIXEL ART ANIMADO
       ========================================================= */

    /* Elementos antigos removidos desta versão */
    .animal-procedural,
    .folha-procedural,
    .flor-procedural,
    .vagalume-procedural{
      display:none !important;
    }

    /* Base dos sprites */
    .sprite-borboleta,
    .sprite-passaro{
      position:relative;
      display:block;
      image-rendering:pixelated;
      transform-origin:center;
    }

    /* ---------------------------------------------------------
       BORBOLETA PIXEL ART
       --------------------------------------------------------- */
    .borboleta-procedural{
      left:-38px !important;
      top:var(--amb-top,38%) !important;
      width:28px;
      height:22px;
      font-size:0 !important;
      animation:trajeto-borboleta-pixel var(--amb-dur,13s) linear var(--amb-delay,0s) infinite !important;
      filter:drop-shadow(2px 3px 0 rgba(0,0,0,.12));
    }

    .sprite-borboleta{
      width:28px;
      height:22px;
      animation:corpo-borboleta-pixel .56s steps(2,end) infinite;
    }

    .sprite-borboleta .corpo{
      position:absolute;
      left:12px;
      top:5px;
      width:4px;
      height:13px;
      background:#251b29;
      box-shadow:
        0 4px 0 #382a3d,
        0 8px 0 #17111b;
      z-index:4;
    }

    .sprite-borboleta .cabeca{
      position:absolute;
      left:11px;
      top:2px;
      width:6px;
      height:5px;
      background:#17111b;
      z-index:5;
    }

    .sprite-borboleta .antena-esq,
    .sprite-borboleta .antena-dir{
      position:absolute;
      top:0;
      width:2px;
      height:5px;
      background:#251b29;
      z-index:3;
    }

    .sprite-borboleta .antena-esq{
      left:10px;
      transform:rotate(-35deg);
      transform-origin:bottom;
    }

    .sprite-borboleta .antena-dir{
      right:10px;
      transform:rotate(35deg);
      transform-origin:bottom;
    }

    .sprite-borboleta .asa{
      position:absolute;
      top:5px;
      width:11px;
      height:12px;
      background:#ffce3a;
      z-index:2;
      image-rendering:pixelated;
    }

    .sprite-borboleta .asa:before{
      content:"";
      position:absolute;
      width:7px;
      height:5px;
      top:3px;
      background:#ff7bb9;
      box-shadow:
        2px 5px 0 #ef509b,
        4px -3px 0 #fff08a;
    }

    .sprite-borboleta .asa-esq{
      left:1px;
      box-shadow:
        -2px 3px 0 #e59623,
        2px -3px 0 #ffdc57,
        1px 11px 0 #d97924;
      transform-origin:right center;
      animation:asa-borboleta-esq .28s steps(2,end) infinite;
    }

    .sprite-borboleta .asa-dir{
      right:1px;
      box-shadow:
        2px 3px 0 #e59623,
        -2px -3px 0 #ffdc57,
        -1px 11px 0 #d97924;
      transform-origin:left center;
      animation:asa-borboleta-dir .28s steps(2,end) infinite;
    }

    .sprite-borboleta .asa-dir:before{
      right:0;
    }

    @keyframes asa-borboleta-esq{
      0%,49%{ transform:scaleX(1) translateY(0); }
      50%,100%{ transform:scaleX(.34) translateY(2px); }
    }

    @keyframes asa-borboleta-dir{
      0%,49%{ transform:scaleX(1) translateY(0); }
      50%,100%{ transform:scaleX(.34) translateY(2px); }
    }

    @keyframes corpo-borboleta-pixel{
      0%,49%{ transform:translateY(0) rotate(-2deg); }
      50%,100%{ transform:translateY(-2px) rotate(2deg); }
    }

    @keyframes trajeto-borboleta-pixel{
      0%{
        transform:translate3d(-45px,18px,0);
        opacity:0;
      }
      5%{ opacity:1; }
      14%{ transform:translate3d(70px,-18px,0); }
      28%{ transform:translate3d(165px,18px,0); }
      43%{ transform:translate3d(275px,-28px,0); }
      57%{ transform:translate3d(385px,12px,0); }
      72%{ transform:translate3d(495px,-20px,0); }
      88%{
        transform:translate3d(625px,10px,0);
        opacity:1;
      }
      100%{
        transform:translate3d(720px,-12px,0);
        opacity:0;
      }
    }

    /* ---------------------------------------------------------
       PÁSSARO PIXEL ART
       --------------------------------------------------------- */
    .passaro-procedural{
      left:-58px !important;
      top:var(--amb-top,18%) !important;
      width:40px;
      height:28px;
      font-size:0 !important;
      opacity:1 !important;
      animation:trajeto-passaro-pixel var(--amb-dur,20s) linear var(--amb-delay,0s) infinite !important;
      filter:drop-shadow(3px 4px 0 rgba(0,0,0,.14));
    }

    .sprite-passaro{
      width:40px;
      height:28px;
      animation:corpo-passaro-pixel .5s steps(2,end) infinite;
    }

    .sprite-passaro .corpo{
      position:absolute;
      left:11px;
      top:12px;
      width:20px;
      height:10px;
      background:#3988bd;
      box-shadow:
        4px 4px 0 #2c6e9b,
        8px 4px 0 #2c6e9b,
        -4px 2px 0 #5aa6d5;
      z-index:3;
    }

    .sprite-passaro .peito{
      position:absolute;
      left:22px;
      top:17px;
      width:9px;
      height:7px;
      background:#d9eff7;
      z-index:5;
    }

    .sprite-passaro .cabeca{
      position:absolute;
      left:25px;
      top:7px;
      width:11px;
      height:11px;
      background:#4897c8;
      box-shadow:
        -3px 3px 0 #3988bd;
      z-index:5;
    }

    .sprite-passaro .olho{
      position:absolute;
      left:32px;
      top:9px;
      width:2px;
      height:2px;
      background:#111;
      z-index:7;
    }

    .sprite-passaro .bico{
      position:absolute;
      left:36px;
      top:12px;
      width:5px;
      height:3px;
      background:#f0a52b;
      box-shadow:2px 1px 0 #d88618;
      z-index:6;
    }

    .sprite-passaro .cauda{
      position:absolute;
      left:4px;
      top:14px;
      width:10px;
      height:5px;
      background:#28688f;
      box-shadow:
        -4px 3px 0 #225b7e,
        -1px 6px 0 #317da9;
      transform:rotate(-8deg);
      z-index:1;
    }

    .sprite-passaro .asa{
      position:absolute;
      left:13px;
      top:9px;
      width:14px;
      height:9px;
      background:#28688f;
      box-shadow:
        3px -4px 0 #337ca7,
        6px -7px 0 #4b95bd,
        2px 5px 0 #205a7c;
      transform-origin:11px 8px;
      z-index:6;
      animation:asa-passaro-pixel .34s steps(2,end) infinite;
    }

    @keyframes asa-passaro-pixel{
      0%,49%{
        transform:rotate(-22deg) translateY(-4px);
      }
      50%,100%{
        transform:rotate(28deg) translateY(4px);
      }
    }

    @keyframes corpo-passaro-pixel{
      0%,49%{ transform:translateY(0); }
      50%,100%{ transform:translateY(-2px); }
    }

    @keyframes trajeto-passaro-pixel{
      0%{
        transform:translate3d(-65px,12px,0);
        opacity:0;
      }
      4%{ opacity:1; }
      20%{ transform:translate3d(110px,-18px,0); }
      40%{ transform:translate3d(270px,4px,0); }
      58%{ transform:translate3d(405px,-14px,0); }
      76%{ transform:translate3d(545px,2px,0); }
      92%{
        transform:translate3d(665px,-10px,0);
        opacity:1;
      }
      100%{
        transform:translate3d(755px,-16px,0);
        opacity:0;
      }
    }

    /* No modo noturno não há fauna voando */
    body.modo-noturno .borboleta-procedural,
    body.modo-noturno .passaro-procedural{
      display:none !important;
    }

    @media (max-width:767.98px){
      .borboleta-procedural{
        transform:scale(.9);
      }

      .passaro-procedural{
        transform:scale(.9);
      }
    }


    /* =========================================================
       v1.0.63 — CICLO AUTOMÁTICO DE DIA E NOITE
       Usa o horário local do computador do visitante.
       ========================================================= */

    .sol-ciclo{
      position:absolute;
      left:calc(50% + 455px);
      top:38px;
      width:92px;
      height:92px;
      border:6px solid rgba(255,211,54,.45);
      border-radius:50%;
      z-index:2;
      pointer-events:none;
      background:#ffe665;
      box-shadow:
        0 0 0 10px rgba(255,225,93,.12),
        0 0 28px rgba(255,225,93,.55),
        0 0 64px rgba(255,225,93,.22);
      image-rendering:pixelated;
      transition:
        top 1.2s ease,
        background 1.2s ease,
        box-shadow 1.2s ease,
        opacity .8s ease;
    }

    /* AMANHECER — 05:00 até 07:59 */
    body.periodo-amanhecer .topo-pixel,
    body.periodo-amanhecer .ceu-mundo{
      background:
        linear-gradient(
          180deg,
          #46366f 0%,
          #8b5b8a 28%,
          #ec8b78 62%,
          #ffd38b 100%
        ) !important;
    }

    body.periodo-amanhecer .sol-ciclo{
      top:178px;
      background:#ffbd57;
      border-color:rgba(255,168,68,.48);
      box-shadow:
        0 0 0 10px rgba(255,173,77,.14),
        0 0 32px rgba(255,154,65,.68),
        0 0 78px rgba(255,144,66,.30);
    }

    body.periodo-amanhecer .nuvem{
      background:#ffe2dc;
      box-shadow:
        26px 0 0 #ffe2dc,
        52px 0 0 #ffd7d5,
        26px -18px 0 #ffe8e0,
        78px 0 0 #ffe0d9,
        104px 0 0 #ffd4d0;
      opacity:.66;
    }

    /* DIA — 08:00 até 16:59 */
    body.periodo-dia .topo-pixel,
    body.periodo-dia .ceu-mundo{
      background:
        linear-gradient(
          180deg,
          #75cdf8 0%,
          #3ebcf0 47%,
          #16dce6 100%
        ) !important;
    }

    body.periodo-dia .sol-ciclo{
      top:35px;
      background:#ffe96d;
      border-color:rgba(255,217,53,.58);
      box-shadow:
        0 0 0 10px rgba(255,232,99,.12),
        0 0 30px rgba(255,226,83,.62),
        0 0 70px rgba(255,228,90,.23);
    }

    /* PÔR DO SOL — 17:00 até 18:59 */
    body.periodo-entardecer .topo-pixel,
    body.periodo-entardecer .ceu-mundo{
      background:
        linear-gradient(
          180deg,
          #43315f 0%,
          #8e496d 28%,
          #df655f 56%,
          #ff985b 78%,
          #ffd27b 100%
        ) !important;
    }

    body.periodo-entardecer .sol-ciclo{
      top:182px;
      background:#ff8b3d;
      border-color:rgba(255,111,47,.55);
      box-shadow:
        0 0 0 10px rgba(255,121,55,.13),
        0 0 35px rgba(255,104,49,.65),
        0 0 86px rgba(255,94,44,.32);
    }

    body.periodo-entardecer .nuvem{
      background:#e8b7b5;
      box-shadow:
        26px 0 0 #e8b7b5,
        52px 0 0 #dca5ad,
        26px -18px 0 #f1c2b9,
        78px 0 0 #dda7ad,
        104px 0 0 #cf98a5;
      opacity:.58;
    }

    /* NOITE — 19:00 até 04:59 */
    body.periodo-noite .sol-ciclo,
    body.modo-noturno .sol-ciclo{
      opacity:0;
      visibility:hidden;
    }

    body.periodo-noite .topo-pixel,
    body.periodo-noite .ceu-mundo,
    body.modo-noturno .topo-pixel,
    body.modo-noturno .ceu-mundo{
      background:
        radial-gradient(circle at 20% 20%, rgba(34,48,83,.24), transparent 26%),
        linear-gradient(180deg,#020817 0%,#071022 55%,#0c1728 100%) !important;
    }

    body.periodo-noite .topo-pixel:after,
    body.periodo-noite .ceu-mundo:after,
    body.modo-noturno .topo-pixel:after,
    body.modo-noturno .ceu-mundo:after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:0;
      background-image:
        radial-gradient(circle,rgba(255,255,255,.98) 0 1px,transparent 1.7px),
        radial-gradient(circle,rgba(197,218,255,.78) 0 1px,transparent 1.6px),
        radial-gradient(circle,rgba(255,239,178,.72) 0 1px,transparent 1.6px);
      background-size:91px 83px,137px 119px,181px 151px;
      background-position:17px 22px,61px 48px,104px 15px;
      opacity:.62;
    }

    body.periodo-noite .lua-noite,
    body.modo-noturno .lua-noite{
      display:block;
    }

    /* Velas acesas em alguns memoriais durante a noite */
    .vela-noturna-procedural{
      display:none;
      position:absolute;
      right:8px;
      bottom:16px;
      width:7px;
      height:14px;
      border:2px solid #2a1d14;
      background:#f8edc5;
      z-index:40;
      pointer-events:none;
      box-shadow:
        0 0 8px rgba(255,192,66,.38),
        0 0 15px rgba(255,166,46,.18);
    }

    .vela-noturna-procedural:before{
      content:"";
      position:absolute;
      left:0;
      top:-9px;
      width:5px;
      height:8px;
      background:#ffad30;
      box-shadow:
        1px -2px 0 #ffe36a,
        0 0 8px rgba(255,182,55,.9),
        0 0 14px rgba(255,141,33,.52);
      transform-origin:50% 100%;
      animation:chama-vela-ciclo .55s steps(2,end) infinite alternate;
    }

    @keyframes chama-vela-ciclo{
      from{
        transform:translateX(0) scaleY(.9) rotate(-4deg);
        opacity:.82;
      }
      to{
        transform:translateX(1px) scaleY(1.18) rotate(5deg);
        opacity:1;
      }
    }

    body.modo-noturno .tumulo-mini-procedural:nth-child(3n + 1) .vela-noturna-procedural,
    body.periodo-noite .tumulo-mini-procedural:nth-child(3n + 1) .vela-noturna-procedural{
      display:block;
    }

    /* O botão manual continua disponível, mas o padrão agora é automático. */
    #btnTema[data-ciclo="automatico"]{
      position:relative;
    }

    #btnTema[data-ciclo="automatico"]:after{
      content:"A";
      position:absolute;
      right:-4px;
      bottom:-4px;
      width:18px;
      height:18px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:2px solid #101010;
      background:#a4ff39;
      color:#101010;
      font-family:Arial,sans-serif;
      font-size:9px;
      font-weight:900;
      line-height:1;
    }

    #btnTema[data-ciclo="manual"]:after{
      content:"M";
      position:absolute;
      right:-4px;
      bottom:-4px;
      width:18px;
      height:18px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:2px solid #101010;
      background:#ffd21c;
      color:#101010;
      font-family:Arial,sans-serif;
      font-size:9px;
      font-weight:900;
      line-height:1;
    }

    @media (max-width:767.98px){
      .sol-ciclo{
        left:calc(50% + 285px);
        width:70px;
        height:70px;
      }

      body.periodo-amanhecer .sol-ciclo,
      body.periodo-entardecer .sol-ciclo{
        top:195px;
      }

      body.periodo-dia .sol-ciclo{
        top:48px;
      }
    }


    /* =========================================================
       v1.0.64 — Árvore das Lembranças perto da entrada
       ========================================================= */
    .local-modal-destaque{
      margin:0 auto 16px;
      width:max-content;
      max-width:100%;
      padding:10px 14px;
      border:4px solid #101010;
      background:#fff6bb;
      color:#5a4600;
      font-family:"Courier New",monospace;
      font-size:13px;
      font-weight:900;
      text-transform:uppercase;
      text-align:center;
      box-shadow:5px 5px 0 rgba(0,0,0,.12);
    }

    .local-modal-destaque small{
      display:block;
      margin-top:5px;
      color:#6f6a52;
      font-family:Arial,sans-serif;
      font-size:12px;
      font-weight:700;
      text-transform:none;
      line-height:1.45;
    }

    .local-especial-comunidade{
      position:absolute;
      right:14px;
      bottom:14px;
      z-index:13;
      max-width:180px;
      padding:8px 10px;
      border:3px solid #101010;
      background:#fff7c8;
      color:#4f3e00;
      font-size:10px;
      font-weight:900;
      line-height:1.25;
      text-transform:uppercase;
      text-align:center;
      box-shadow:4px 4px 0 rgba(0,0,0,.12);
    }

    .local-arvore{
      background:
        linear-gradient(180deg, rgba(218,203,167,.96) 0 44%, transparent 44%),
        var(--gramado-textura),
        var(--gramado-cor) !important;
      background-repeat:no-repeat, repeat, repeat !important;
      background-size:100% 100%, 16px 16px, auto !important;
      background-position:center center, 0 0, 0 0 !important;
    }

    body.modo-noturno .local-arvore{
      background:
        linear-gradient(180deg, rgba(87,77,66,.92) 0 44%, transparent 44%),
        var(--gramado-textura),
        var(--gramado-cor-noturno) !important;
      background-repeat:no-repeat, repeat, repeat !important;
      background-size:100% 100%, 16px 16px, auto !important;
      background-position:center center, 0 0, 0 0 !important;
    }

    .local-arvore .cenario-especial{
      inset:78px 22px 58px;
    }

    .local-arvore .local-especial-subtitulo{
      max-width:230px;
      background:rgba(255,255,255,.95);
    }

    .local-arvore .placa-descoberta{
      background:#355a20;
      color:#dff9b8;
    }

    .praca-arvore-base{
      position:absolute;
      left:50%;
      bottom:24px;
      width:420px;
      height:190px;
      transform:translateX(-50%);
      background:
        linear-gradient(0deg, rgba(255,255,255,.06), rgba(255,255,255,.06)),
        repeating-linear-gradient(
          90deg,
          #b89666 0 18px,
          #c7a577 18px 36px
        );
      border:6px solid #8b6d46;
      box-shadow:
        inset 0 0 0 5px rgba(255,255,255,.14),
        0 0 0 8px rgba(96,77,54,.10);
      image-rendering:pixelated;
    }

    .arvore-memorial-pixel{
      position:absolute;
      left:50%;
      bottom:36px;
      width:230px;
      height:250px;
      transform:translateX(-50%);
      image-rendering:pixelated;
    }

    .arvore-memorial-pixel .tronco{
      position:absolute;
      left:96px;
      bottom:22px;
      width:38px;
      height:102px;
      background:#8a5631;
      box-shadow:
        0 16px 0 #734323,
        -10px 56px 0 #734323,
        10px 56px 0 #734323;
      z-index:4;
    }

    .arvore-memorial-pixel .tronco:before,
    .arvore-memorial-pixel .tronco:after{
      content:"";
      position:absolute;
      bottom:62px;
      width:22px;
      height:56px;
      background:#8a5631;
    }

    .arvore-memorial-pixel .tronco:before{
      left:-24px;
      transform:rotate(-18deg);
      box-shadow:0 10px 0 #734323;
    }

    .arvore-memorial-pixel .tronco:after{
      right:-24px;
      transform:rotate(18deg);
      box-shadow:0 10px 0 #734323;
    }

    .arvore-memorial-pixel .copa{
      position:absolute;
      background:#4d9828;
      box-shadow:0 0 0 6px #2f6917 inset;
    }

    .arvore-memorial-pixel .copa-1{
      left:40px;
      top:46px;
      width:64px;
      height:62px;
    }

    .arvore-memorial-pixel .copa-2{
      left:86px;
      top:18px;
      width:74px;
      height:68px;
    }

    .arvore-memorial-pixel .copa-3{
      left:138px;
      top:46px;
      width:60px;
      height:60px;
    }

    .arvore-memorial-pixel .copa-4{
      left:60px;
      top:84px;
      width:120px;
      height:78px;
    }

    .arvore-memorial-pixel .folha{
      position:absolute;
      width:10px;
      height:10px;
      background:#a4ff39;
      box-shadow:0 0 0 3px rgba(255,255,255,.12);
      animation:folha-memorial-brilhar 1.7s steps(2,end) infinite alternate;
    }

    .arvore-memorial-pixel .folha.f1{ left:64px; top:64px; animation-delay:.1s; }
    .arvore-memorial-pixel .folha.f2{ left:108px; top:42px; animation-delay:.4s; }
    .arvore-memorial-pixel .folha.f3{ left:150px; top:68px; animation-delay:.8s; }
    .arvore-memorial-pixel .folha.f4{ left:88px; top:102px; animation-delay:1.1s; }
    .arvore-memorial-pixel .folha.f5{ left:138px; top:112px; animation-delay:1.4s; }

    @keyframes folha-memorial-brilhar{
      from{
        transform:translateY(0) scale(1);
        opacity:.82;
      }
      to{
        transform:translateY(-2px) scale(1.08);
        opacity:1;
      }
    }

    .arvore-memorial-pixel.mini{
      position:relative;
      left:auto;
      bottom:auto;
      width:166px;
      height:186px;
      margin:0 auto;
      transform:none;
    }

    .arvore-memorial-pixel.mini .tronco{
      left:67px;
      bottom:18px;
      width:30px;
      height:80px;
    }

    .arvore-memorial-pixel.mini .tronco:before{
      left:-19px;
      height:45px;
      bottom:50px;
    }

    .arvore-memorial-pixel.mini .tronco:after{
      right:-19px;
      height:45px;
      bottom:50px;
    }

    .arvore-memorial-pixel.mini .copa-1{ left:26px; top:34px; width:48px; height:46px; }
    .arvore-memorial-pixel.mini .copa-2{ left:61px; top:10px; width:56px; height:50px; }
    .arvore-memorial-pixel.mini .copa-3{ left:102px; top:34px; width:44px; height:44px; }
    .arvore-memorial-pixel.mini .copa-4{ left:42px; top:64px; width:88px; height:58px; }
    .arvore-memorial-pixel.mini .folha.f1{ left:42px; top:48px; }
    .arvore-memorial-pixel.mini .folha.f2{ left:76px; top:30px; }
    .arvore-memorial-pixel.mini .folha.f3{ left:112px; top:50px; }
    .arvore-memorial-pixel.mini .folha.f4{ left:61px; top:78px; }
    .arvore-memorial-pixel.mini .folha.f5{ left:98px; top:88px; }

    @media (max-width:767.98px){
      .praca-arvore-base{
        width:300px;
        height:148px;
      }

      .arvore-memorial-pixel{
        width:180px;
        height:210px;
      }

      .arvore-memorial-pixel .tronco{
        left:72px;
        height:88px;
      }

      .arvore-memorial-pixel .copa-1{ left:25px; top:44px; width:52px; height:50px; }
      .arvore-memorial-pixel .copa-2{ left:61px; top:18px; width:60px; height:56px; }
      .arvore-memorial-pixel .copa-3{ left:105px; top:44px; width:48px; height:48px; }
      .arvore-memorial-pixel .copa-4{ left:42px; top:78px; width:94px; height:66px; }
      .arvore-memorial-pixel .folha.f1{ left:44px; top:60px; }
      .arvore-memorial-pixel .folha.f2{ left:78px; top:40px; }
      .arvore-memorial-pixel .folha.f3{ left:112px; top:64px; }
      .arvore-memorial-pixel .folha.f4{ left:64px; top:94px; }
      .arvore-memorial-pixel .folha.f5{ left:98px; top:100px; }

      .local-especial-comunidade{
        max-width:140px;
        font-size:9px;
      }
    }


    /* =========================================================
       v1.0.66 — correção segura da Árvore das Lembranças
       ========================================================= */

    .local-arvore{
      overflow:hidden !important;
      border-color:#6f5a34 !important;
      background:
        linear-gradient(180deg,#ded2aa 0 34%,transparent 34%),
        var(--gramado-textura),
        var(--gramado-cor) !important;
      background-repeat:no-repeat,repeat,repeat !important;
      background-size:100% 100%,16px 16px,auto !important;
    }

    body.modo-noturno .local-arvore{
      background:
        linear-gradient(180deg,#625947 0 34%,transparent 34%),
        var(--gramado-textura),
        var(--gramado-cor-noturno) !important;
      background-repeat:no-repeat,repeat,repeat !important;
      background-size:100% 100%,16px 16px,auto !important;
    }

    .local-arvore .cenario-especial{
      inset:70px 20px 62px !important;
      overflow:hidden !important;
    }

    /* Esconde o desenho CSS antigo que estava deformando a árvore */
    .local-arvore .arvore-memorial-pixel,
    .local-modal-icone .arvore-memorial-pixel{
      display:none !important;
    }

    .arvore-memorial-svg-wrap{
      position:relative;
      width:100%;
      height:100%;
      display:flex;
      align-items:flex-end;
      justify-content:center;
      pointer-events:none;
    }

    .arvore-memorial-svg-wrap:before{
      content:"";
      position:absolute;
      left:50%;
      bottom:16px;
      width:76%;
      height:39%;
      transform:translateX(-50%);
      border:5px solid #8f7249;
      background:
        repeating-linear-gradient(
          90deg,
          #c7a777 0 22px,
          #b99667 22px 44px
        );
      box-shadow:
        inset 0 0 0 4px rgba(255,255,255,.12),
        5px 5px 0 rgba(0,0,0,.08);
      image-rendering:pixelated;
    }

    .arvore-memorial-svg{
      position:relative;
      z-index:3;
      width:min(70%,350px);
      height:auto;
      max-height:94%;
      overflow:visible;
      image-rendering:pixelated;
      filter:drop-shadow(6px 8px 0 rgba(0,0,0,.14));
    }

    .arvore-memorial-svg *{
      shape-rendering:crispEdges;
    }

    .folha-luz{
      transform-box:fill-box;
      transform-origin:center;
      animation:folha-luz-memorial 1.8s steps(2,end) infinite alternate;
    }

    .folha-luz:nth-child(2n){
      animation-delay:.45s;
    }

    .folha-luz:nth-child(3n){
      animation-delay:.9s;
    }

    @keyframes folha-luz-memorial{
      from{ opacity:.62; transform:translateY(0); }
      to{ opacity:1; transform:translateY(-2px); }
    }

    .local-arvore .local-especial-subtitulo{
      max-width:240px !important;
      min-height:54px;
      display:flex;
      align-items:center;
      border:3px solid #111 !important;
      background:rgba(255,255,255,.96) !important;
      color:#3d4b5f !important;
      box-shadow:4px 4px 0 rgba(0,0,0,.08);
    }

    .local-especial-comunidade{
      min-width:165px !important;
      padding:9px 12px !important;
      border:3px solid #111 !important;
      background:#fff4b8 !important;
      color:#503d00 !important;
      box-shadow:4px 4px 0 rgba(0,0,0,.08) !important;
    }

    /* Modal */
    .modal-local-especial .modal-dialog{
      max-width:620px !important;
    }

    .modal-local-especial .modal-content{
      border:5px solid #101010 !important;
      background:#f3f6fa !important;
      box-shadow:12px 12px 0 rgba(0,0,0,.35) !important;
    }

    .modal-local-especial .modal-header{
      padding:18px 22px !important;
      background:#151196 !important;
      border-bottom:5px solid #101010 !important;
    }

    .modal-local-especial .modal-body{
      padding:22px !important;
    }

    .local-modal-icone{
      width:100% !important;
      min-height:245px !important;
      margin:0 0 18px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      overflow:hidden !important;
      border:4px solid #111 !important;
      background:
        linear-gradient(180deg,#ded2aa 0 31%,transparent 31%),
        var(--gramado-textura),
        var(--gramado-cor) !important;
      background-repeat:no-repeat,repeat,repeat !important;
      background-size:100% 100%,16px 16px,auto !important;
      box-shadow:6px 6px 0 rgba(0,0,0,.08);
    }

    body.modo-noturno .local-modal-icone{
      background:
        linear-gradient(180deg,#625947 0 31%,transparent 31%),
        var(--gramado-textura),
        var(--gramado-cor-noturno) !important;
      background-repeat:no-repeat,repeat,repeat !important;
      background-size:100% 100%,16px 16px,auto !important;
    }

    .local-modal-icone .arvore-memorial-svg-wrap{
      height:245px;
    }

    .local-modal-icone .arvore-memorial-svg{
      width:225px;
      max-height:220px;
    }

    .local-modal-destaque{
      width:100% !important;
      margin:0 0 16px !important;
      padding:13px 15px !important;
      border:4px solid #111 !important;
      background:#fff3ad !important;
      color:#503d00 !important;
      box-shadow:5px 5px 0 rgba(0,0,0,.08) !important;
    }

    @media (max-width:767.98px){
      .arvore-memorial-svg{
        width:min(74%,270px);
      }

      .arvore-memorial-svg-wrap:before{
        width:84%;
      }

      .local-especial-comunidade{
        min-width:128px !important;
        max-width:145px;
        font-size:8px !important;
      }

      .local-arvore .local-especial-subtitulo{
        max-width:175px !important;
        font-size:9px !important;
      }
    }


    /* v1.0.67 — retorno suave até a entrada principal */
    .mundo-viewport.viajando-entrada{
      cursor:wait !important;
    }

    .btn-voltar-entrada:disabled{
      opacity:.82;
      cursor:wait;
    }


    /* =========================================================
       v1.0.68 — Painel lateral + minimapa + placas de rua
       ========================================================= */

    /* Esconde os controles antigos para liberar a visão do mapa */
    .acoes-globais,
    .btn-voltar-entrada,
    .btn-conhecer-tumulo-fixo,
    .controles-zoom{
      display:none !important;
    }

    .painel-lateral-cemiterio{
      position:fixed;
      top:0;
      right:0;
      width:380px;
      height:100vh;
      z-index:1085;
      transform:translateX(100%);
      transition:transform .28s ease;
      pointer-events:none;
    }

    .painel-lateral-cemiterio.aberto{
      transform:translateX(0);
      pointer-events:auto;
    }

    .aba-painel-cemiterio{
      position:absolute;
      left:-62px;
      top:50%;
      width:62px;
      min-height:126px;
      transform:translateY(-50%);
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:10px 7px;
      border:4px solid #101010;
      border-right:0;
      background:#ffd21c;
      color:#101010;
      font-size:11px;
      font-weight:900;
      text-transform:uppercase;
      cursor:pointer;
      box-shadow:-6px 6px 0 rgba(0,0,0,.16);
      pointer-events:auto;
    }

    .aba-painel-cemiterio .icone{
      font-size:24px;
      line-height:1;
    }

    .aba-painel-cemiterio .texto{
      writing-mode:vertical-rl;
      transform:rotate(180deg);
      letter-spacing:.04em;
    }

    .conteudo-painel-cemiterio{
      height:100%;
      overflow-y:auto;
      border-left:5px solid #101010;
      background:#edf3f8;
      box-shadow:-10px 0 0 rgba(0,0,0,.16);
    }

    .cabecalho-painel-cemiterio{
      position:sticky;
      top:0;
      z-index:4;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:18px 18px;
      border-bottom:5px solid #101010;
      background:#151196;
      color:#fff;
    }

    .cabecalho-painel-cemiterio strong{
      font-size:17px;
      text-transform:uppercase;
    }

    .btn-fechar-painel-cemiterio{
      width:42px;
      height:42px;
      border:4px solid #101010;
      background:#ef4444;
      color:#fff;
      font-size:19px;
      font-weight:900;
      cursor:pointer;
    }

    .bloco-painel-cemiterio{
      margin:16px;
      padding:14px;
      border:4px solid #101010;
      background:#fff;
      box-shadow:5px 5px 0 rgba(0,0,0,.08);
    }

    .titulo-bloco-painel{
      margin:0 0 10px;
      color:#1e2c3d;
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
    }

    .minimapa-cemiterio-wrap{
      position:relative;
      width:100%;
      aspect-ratio:1.35/1;
      overflow:hidden;
      border:4px solid #101010;
      background:#2c7c22;
    }

    #minimapaCemiterio{
      display:block;
      width:100%;
      height:100%;
      image-rendering:pixelated;
    }

    .legenda-minimapa{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:7px 10px;
      margin-top:10px;
      color:#4c5a6b;
      font-family:Arial,sans-serif;
      font-size:10px;
      font-weight:700;
    }

    .legenda-minimapa span{
      display:flex;
      align-items:center;
      gap:6px;
    }

    .legenda-minimapa i{
      width:12px;
      height:12px;
      display:inline-block;
      border:2px solid #101010;
    }

    .legenda-entrada{background:#ffd21c}
    .legenda-quadra{background:#4cbf2d}
    .legenda-ponto{background:#9b59e8}
    .legenda-voce{background:#ff4a4a}

    .acoes-painel-cemiterio{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }

    .btn-painel-cemiterio{
      min-height:58px;
      padding:10px 8px;
      border:4px solid #101010;
      background:#fff;
      color:#111;
      font-size:10px;
      font-weight:900;
      text-transform:uppercase;
      cursor:pointer;
      box-shadow:4px 4px 0 rgba(0,0,0,.10);
    }

    .btn-painel-cemiterio.amarelo{background:#ffd21c}
    .btn-painel-cemiterio.azul{background:#c7def9}
    .btn-painel-cemiterio.verde{background:#c9f2b8}
    .btn-painel-cemiterio.lilas{background:#ead9fb}

    .btn-painel-cemiterio:hover{
      transform:translate(-1px,-1px);
      box-shadow:5px 5px 0 rgba(0,0,0,.12);
    }

    .zoom-painel-cemiterio{
      display:grid;
      grid-template-columns:48px 1fr 48px;
      gap:8px;
      align-items:center;
    }

    .zoom-painel-cemiterio button{
      height:46px;
      border:4px solid #101010;
      background:#fff;
      font-size:21px;
      font-weight:900;
      cursor:pointer;
    }

    .zoom-painel-cemiterio output{
      height:46px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:4px solid #101010;
      background:#ffd21c;
      font-size:11px;
      font-weight:900;
    }

    .rua-nomes-lista{
      display:flex;
      flex-direction:column;
      gap:7px;
      color:#46566b;
      font-family:Arial,sans-serif;
      font-size:11px;
      line-height:1.35;
    }

    /* Placas dentro das ruas */
    .placa-rua-mundo{
      position:absolute;
      z-index:35;
      display:flex;
      align-items:center;
      justify-content:center;
      min-width:156px;
      min-height:30px;
      padding:6px 10px;
      border:3px solid #111;
      background:#f5e4a8;
      color:#342c1e;
      font-family:"Courier New",monospace;
      font-size:9px;
      font-weight:900;
      line-height:1.1;
      text-transform:uppercase;
      text-align:center;
      box-shadow:4px 4px 0 rgba(0,0,0,.10);
      pointer-events:none;
      white-space:nowrap;
    }

    .placa-rua-horizontal{
      left:50%;
      top:-77px;
      transform:translateX(-50%);
    }

    .placa-rua-vertical{
      left:-108px;
      top:50%;
      transform:translateY(-50%) rotate(-90deg);
    }

    body.modo-noturno .placa-rua-mundo{
      background:#5c5034;
      color:#f5e7b7;
      border-color:#111;
    }

    @media (max-width:767.98px){
      .painel-lateral-cemiterio{
        width:min(88vw,350px);
      }

      .aba-painel-cemiterio{
        left:-54px;
        width:54px;
        min-height:112px;
      }

      .placa-rua-mundo{
        min-width:130px;
        font-size:8px;
      }
    }


    /* =========================================================
       v1.0.69 — otimização de navegação e renderização
       ========================================================= */
    .mundo-camada{
      will-change:transform;
      backface-visibility:hidden;
      transform-style:flat;
    }

    .quarteirao-procedural,
    .local-especial{
      contain:layout style paint;
    }

    .ambiente-procedural .entidade-ambiente,
    .ambiente-procedural .sprite-borboleta,
    .ambiente-procedural .sprite-passaro,
    .ambiente-procedural .asa{
      animation-play-state:paused !important;
    }

    .ambiente-procedural.ambiente-visivel .entidade-ambiente,
    .ambiente-procedural.ambiente-visivel .sprite-borboleta,
    .ambiente-procedural.ambiente-visivel .sprite-passaro,
    .ambiente-procedural.ambiente-visivel .asa{
      animation-play-state:running !important;
    }

    body.zoom-distante .ambiente-procedural{
      display:none !important;
    }

    body.navegando-mundo .quarteirao-procedural,
    body.navegando-mundo .local-especial{
      box-shadow:none !important;
    }

    body.navegando-mundo .tumulo-mini-procedural,
    body.navegando-mundo .arvore-memorial-svg,
    body.navegando-mundo .entidade-ambiente{
      filter:none !important;
    }

    body.navegando-mundo .placa-rua-mundo{
      box-shadow:none !important;
    }

    @media (max-width:767.98px){
      .quarteirao-procedural,
      .local-especial{
        contain:layout paint;
      }
    }


    /* =========================================================
       v1.0.72 — mapa com túmulos ocupados/vagos clicáveis
       ========================================================= */

    .tumulo-mini-procedural.tumulo-vago{
      opacity:.92 !important;
    }

    .tumulo-mini-procedural.tumulo-vago .lapide-mini{
      border:4px dashed #5d7a35 !important;
      background:#b8d69f !important;
      color:#31431d !important;
      justify-content:center !important;
      box-shadow:none !important;
    }

    .tumulo-mini-procedural.tumulo-vago .lapide-mini strong{
      font-size:12px !important;
      text-align:center;
      line-height:1.15;
    }

    .tumulo-mini-procedural.tumulo-vago .lapide-mini small{
      margin-top:8px;
      border:2px solid #5d7a35;
      background:#dff0cc;
      color:#31431d;
      padding:4px 6px;
      font-size:9px;
    }

    .tumulo-mini-procedural.tumulo-vago .base-mini{
      background:#688144 !important;
    }

    .tumulo-mini-procedural.tumulo-vago:hover .lapide-mini{
      outline:4px solid #ffd21c;
      outline-offset:3px;
    }

    #minimapaCemiterio{
      cursor:crosshair;
    }

    .legenda-minimapa{
      grid-template-columns:1fr 1fr !important;
    }

    .legenda-ocupado{background:#2b4ea2}
    .legenda-vago{background:#fff36a}

    .dica-minimapa{
      margin-top:10px;
      padding:8px 9px;
      border:2px solid #c7d1dd;
      background:#f7fafc;
      color:#5b6675;
      font-family:Arial,sans-serif;
      font-size:10px;
      line-height:1.35;
    }


    /* =========================================================
       v1.0.73 — minimapa navegável por arraste
       ========================================================= */
    #minimapaCemiterio{
      cursor:grab !important;
      touch-action:none;
      user-select:none;
    }

    #minimapaCemiterio.arrastando{
      cursor:grabbing !important;
    }

    .dica-minimapa{
      user-select:none;
    }


    /* =========================================================
       v1.0.74 — menu/busca fora do Explorar + Eternizar menor
       ========================================================= */

    .atalhos-laterais-externos{
      position:fixed;
      right:18px;
      top:calc(50% - 230px);
      z-index:1080;
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:12px;
      pointer-events:none;
    }

    .atalhos-laterais-externos button{
      pointer-events:auto;
    }

    .btn-atalho-externo{
      min-width:118px;
      height:52px;
      padding:0 14px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border:4px solid #101010;
      background:#fff;
      color:#111;
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
      box-shadow:5px 5px 0 rgba(0,0,0,.13);
      cursor:pointer;
    }

    .btn-atalho-externo:hover{
      transform:translate(-1px,-1px);
      box-shadow:6px 6px 0 rgba(0,0,0,.14);
    }

    .btn-atalho-externo.busca{
      min-width:52px;
      width:52px;
      padding:0;
      align-self:flex-start;
      font-size:22px;
    }

    /* remove o botão Menu de dentro do Explorar */
    #painelLateralCemiterio .btn-painel-cemiterio[data-bs-target="#modalMenuJardim"]{
      display:none !important;
    }

    /* reduz o botão Eternizar */
    .btn-eternizar-fixo{
      min-width:0 !important;
      min-height:50px !important;
      padding:10px 18px !important;
      font-size:14px !important;
      line-height:1 !important;
      box-shadow:5px 5px 0 rgba(0,0,0,.16) !important;
    }

    @media (max-width:767.98px){
      .atalhos-laterais-externos{
        right:10px;
        top:calc(50% - 205px);
        gap:9px;
      }

      .btn-atalho-externo{
        min-width:94px;
        height:46px;
        padding:0 10px;
        font-size:10px;
      }

      .btn-atalho-externo.busca{
        width:46px;
        min-width:46px;
        font-size:20px;
      }

      .btn-eternizar-fixo{
        min-height:44px !important;
        padding:9px 14px !important;
        font-size:12px !important;
      }
    }


/* v1.0.67 — 9 túmulos por quarteirão, 3x3, com maior respiro */
.tumulos-reais,
.tumulos-quarteirao{
  grid-template-columns:repeat(3,var(--tumulo-largura)) !important;
  grid-template-rows:repeat(3,var(--tumulo-altura)) !important;
  justify-content:space-between !important;
  align-content:space-between !important;
  column-gap:clamp(34px,6%,72px) !important;
  row-gap:clamp(30px,7%,68px) !important;
}


#modalMemorialPublicadoSucesso{z-index:2147483600}
#modalMemorialPublicadoSucesso+.modal-backdrop{z-index:2147483590}
#modalMemorialPublicadoSucesso .ep-publicado-dialog{max-width:560px;padding:16px}
#modalMemorialPublicadoSucesso .ep-publicado-content{border:0;border-radius:30px;padding:42px 38px 34px;text-align:center;box-shadow:0 28px 90px rgba(20,24,45,.28);overflow:hidden}
#modalMemorialPublicadoSucesso .ep-publicado-icon{width:82px;height:82px;margin:0 auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e9f8ef;color:#209653;font-size:34px}
#modalMemorialPublicadoSucesso .ep-publicado-eyebrow{font-size:13px;font-weight:900;letter-spacing:.14em;color:#5144d8;margin-bottom:10px}
#modalMemorialPublicadoSucesso h2{margin:0 auto 12px;max-width:440px;font-size:32px;line-height:1.12;font-weight:900;color:#202a3d}
#modalMemorialPublicadoSucesso p{margin:0 auto 24px;max-width:440px;font-size:16px;line-height:1.6;color:#6e7b91}
#modalMemorialPublicadoSucesso .ep-publicado-lote{display:inline-flex;align-items:center;gap:10px;background:#f5f4ff;border:1px solid #e2defe;border-radius:14px;padding:10px 16px;margin-bottom:24px;color:#7168a8}
#modalMemorialPublicadoSucesso .ep-publicado-lote strong{color:#3d32ba;font-size:16px}
#modalMemorialPublicadoSucesso .ep-publicado-ir{width:100%;min-height:58px;border:0;border-radius:16px;background:#3f35b8;color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 0 #292187;transition:transform .15s ease,box-shadow .15s ease}
#modalMemorialPublicadoSucesso .ep-publicado-ir:hover{transform:translateY(-1px)}
#modalMemorialPublicadoSucesso .ep-publicado-ir:active{transform:translateY(4px);box-shadow:0 4px 0 #292187}
#modalMemorialPublicadoSucesso .ep-publicado-loading{margin-top:20px;font-size:13px;font-weight:700;color:#8b95a8;display:flex;align-items:center;justify-content:center;gap:8px}
@media(max-width:575.98px){
 #modalMemorialPublicadoSucesso .ep-publicado-dialog{padding:12px;margin:0 auto}
 #modalMemorialPublicadoSucesso .ep-publicado-content{border-radius:24px;padding:32px 20px 26px}
 #modalMemorialPublicadoSucesso .ep-publicado-icon{width:70px;height:70px;font-size:28px}
 #modalMemorialPublicadoSucesso h2{font-size:26px}
 #modalMemorialPublicadoSucesso p{font-size:15px}
}
