/* conta do jogador (04/11): folha cheia sobre o jogo, visual dos cartões (borda grossa, botão amarelo). Prefixo .fco */
.fco{position:fixed;inset:0;z-index:80;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(#b3d1ee,#e6ebea 55%,#cfe3c4);color:var(--ink,#1e2430);padding:calc(14px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.fco-card{max-width:460px;margin:0 auto;display:grid;gap:14px}
.fco-top{display:flex;justify-content:flex-start}
.fco-t{margin:0;font-size:28px;line-height:1.05;font-weight:900;text-align:center}
.fco-f{display:grid;gap:12px;background:#fff;border:3.5px solid var(--ink,#1e2430);border-radius:22px;padding:16px;box-shadow:0 5px 0 rgba(30,36,48,.3)}
.fco-campo{display:flex;align-items:center;gap:6px;height:54px;border:3.5px solid var(--ink,#1e2430);border-radius:999px;padding:0 8px 0 16px;background:#fff}
.fco-campo input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:inherit;font-size:17px;color:var(--ink,#1e2430)}
.fco-campo:focus-within{box-shadow:0 0 0 3px var(--y,#ffd23f)}
.fco-ver{border:0;background:#eef1f4;border-radius:999px;height:36px;padding:0 12px;font:inherit;font-size:14px;font-weight:900;color:var(--ink,#1e2430);cursor:pointer}
.fco-ck{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;min-height:44px}
.fco-ck input{width:24px;height:24px;accent-color:var(--ink,#1e2430);flex:none}
.fco-go{width:100%;min-height:56px;font-size:19px;font-weight:900}
.fco-go[disabled]{opacity:.6}
.fco-erro{margin:0;font-size:15px;font-weight:800;color:#a3261c;text-align:center}
.fco-lado{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fco-lado .btn{background:#fff;min-height:44px}
.fco-cod{margin:0;text-align:center;white-space:nowrap;font-size:clamp(20px,6.6vw,34px);font-weight:900;letter-spacing:.06em;background:#fff;border:3.5px dashed var(--ink,#1e2430);border-radius:22px;padding:18px 8px;user-select:all;-webkit-user-select:all}
.fco-est{margin:0;text-align:center;font-size:15px;font-weight:800;color:var(--muted,#5d6b7e)}
.fco-sub{margin:0;text-align:center;font-size:17px;font-weight:800}
.fco-local{display:grid;gap:8px;border:3px dashed #a3261c;border-radius:18px;padding:12px;background:#fff6f4}
.fco-local b{font-size:13px;color:#a3261c;text-transform:uppercase}
.fco-entrar{margin-top:10px;width:100%;background:#fff}
.fca-pe .fco-guardar{background:var(--y,#ffd23f)}
.fco-cod.ok{border-style:solid;opacity:.55}

/* convite (05/11): cartão acima das abas, não trava o jogo */
.fco-convite{position:fixed;left:12px;right:12px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:70;max-width:360px;margin:0 auto;display:grid;gap:8px;background:#fff;color:var(--ink,#1e2430);border:3.5px solid var(--ink,#1e2430);border-radius:22px;padding:14px;box-shadow:0 5px 0 rgba(30,36,48,.3)}
.fco-convite b{font-size:20px;font-weight:900;line-height:1.1}
.fco-convite p{margin:0;font-size:15px;font-weight:700}
.fco-convite-b{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:2px}
.fco-convite-b .btn{min-height:44px}
.fco-convite-b .btn:not(.prim){background:#fff}

.fcr{gap:6px;background:#fff7d6}
.fcr-k{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#7a5a00}
.fcr-t{margin:0;font-size:24px;line-height:1.05;font-weight:900}
.fcr-s,.fcr-f{margin:0;font-size:14px;font-weight:800;color:#3b4552}
.fcr-top{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px;counter-reset:fcr}
.fcr-top li{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:7px 10px;font-size:14px;counter-increment:fcr}
.fcr-top li::before{content:counter(fcr);font-weight:900;color:#7a5a00}
.fcr-top li b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcr-top li span,.fcr-eu span{font-weight:800}
.fcr-top li.eu{outline:3px solid var(--ink,#1e2430)}
.fcr-eu{display:flex;justify-content:space-between;gap:10px;margin:6px 0 2px;font-size:14px}

/* site-fun · FRENTE JOGO (02/11/2026): bandeira da casa, cartão da casa em uma tela, aba Jogar. 375 px primeiro.
   Regras do João: botão sempre claro, nunca palavra sublinhada, sem emoji, pouco texto. Entra no build sozinho (src/fun-*.css). */

/* ---------- bandeira (canvas 12×8 escalado, pixelado) ---------- */
canvas.fun-fl, .fb-big, .fj-cv, .fj-rc { image-rendering: pixelated; image-rendering: crisp-edges; display: block; background: #fff; }
canvas.fun-fl { display: inline-block; vertical-align: -3px; border: 1.5px solid var(--ink); border-radius: 3px; margin-right: 5px; }
.fb-mastro { position: relative; display: inline-block; padding: 0 0 0 7px; }
.fb-pole { position: absolute; left: 0; top: -6px; bottom: -14px; width: 5px; border-radius: 3px; background: var(--ink); }
.fb-pole::before { content: ""; position: absolute; left: -2px; top: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--y); border: 2.5px solid var(--ink); }
.fb-big { border: 3px solid var(--ink); border-radius: 4px; box-shadow: 0 4px 0 rgba(30, 36, 48, .25); transform-origin: left center; animation: fbOnda 3.2s ease-in-out infinite; }
@keyframes fbOnda { 0%, 100% { transform: skewY(0deg) scaleX(1); } 50% { transform: skewY(-1.2deg) scaleX(.985); } }
@media (prefers-reduced-motion: reduce) { .fb-big { animation: none; } }

/* ---------- folhas (editor) ---------- */
.fun-folha { position: absolute; inset: 0; z-index: 22; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; background: linear-gradient(#b3d1ee, #e6ebea 55%, #cfe3c4); color: var(--ink); -webkit-overflow-scrolling: touch; }
.fun-hd { position: sticky; top: 0; z-index: 4; display: flex; justify-content: center; align-items: center; padding: calc(12px + env(safe-area-inset-top)) 64px 10px; background: linear-gradient(#b3d1ee 75%, rgba(179, 209, 238, 0)); }
.fun-hd h1 { font-size: clamp(24px, 7.4vw, 32px); margin: 0; }
.fun-hd .fechar { position: absolute; right: 12px; top: calc(10px + env(safe-area-inset-top)); width: 44px; height: 44px; }
.fun-corpo { max-width: 520px; margin: 0 auto; padding: 6px 16px calc(28px + env(safe-area-inset-bottom)); display: grid; gap: 14px; align-content: start; }
.fun-sub { margin: 0; font-size: 14px; font-weight: 800; line-height: 1.3; color: var(--mudo, #4d5a6c); text-align: center; }
.fun-nota { margin: 0; font-size: 13px; font-weight: 800; line-height: 1.3; color: var(--mudo, #4d5a6c); text-align: center; }
.fun-lead { margin: 0 0 10px; font-size: 16px; line-height: 1.3; text-align: center; }
.fun-eu { display: grid; gap: 8px; background: #fff; border: 3.5px solid var(--ink); border-radius: 22px; padding: 14px; box-shadow: var(--card-sh); }
.fun-eu form { display: grid; gap: 10px; }
.fun-eu-campo { display: flex; align-items: center; gap: 6px; height: 50px; border: 3.5px solid var(--ink); border-radius: 999px; padding: 0 14px; background: #fff; }
.fun-eu-campo span { font-size: 18px; }
.fun-eu-campo input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 17px; color: var(--ink); }
.fun-eu-erro { margin: 0; font-size: 14px; color: #a3261c; text-align: center; }
.fun-convite { width: 100%; }

/* ---------- editor da bandeira ---------- */
.fb-prev { display: flex; align-items: center; justify-content: center; gap: 18px; background: #fff; border: 3.5px solid var(--ink); border-radius: 24px; padding: 16px 14px 16px 18px; box-shadow: var(--card-sh); }
.fb-lado { display: grid; gap: 3px; min-width: 0; }
.fb-r { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--mudo, #4d5a6c); }
.fb-hh { font-size: 19px; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-c { font-size: 13.5px; color: var(--mudo, #4d5a6c); }
.fb-chat { margin-top: 6px; display: flex; align-items: center; gap: 4px; font-size: 14px; background: #f4f7fa; border: 2.5px solid #d5dde6; border-radius: 12px; padding: 4px 8px; }
.fb-chat canvas.fun-fl { margin-right: 4px; }
.fb-grid { display: block; width: 100%; aspect-ratio: 3 / 2; touch-action: none; border: 3.5px solid var(--ink); border-radius: 14px; background: #fff; box-shadow: var(--card-sh); cursor: crosshair; user-select: none; -webkit-user-select: none; }
.fb-pal { display: grid; grid-template-columns: repeat(8, 1fr); gap: 7px; }
.fb-cor { aspect-ratio: 1; min-height: 38px; border-radius: 12px; border: 3px solid var(--ink); cursor: pointer; padding: 0; box-shadow: 0 3px 0 rgba(30, 36, 48, .3); }
.fb-cor.on { outline: 4px solid #fff; outline-offset: -1px; box-shadow: 0 0 0 3px var(--ink), 0 3px 0 3px rgba(30, 36, 48, .3); transform: translateY(-2px); }
.fb-cor:focus-visible { outline: 3px solid #1d6fd8; outline-offset: 2px; }
.fb-ferr { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.fb-f { display: grid; justify-items: center; gap: 2px; padding: 7px 2px 6px; min-height: 56px; border: 3.5px solid var(--ink); border-radius: 16px; background: #fff; font: inherit; font-size: 12.5px; color: var(--ink); cursor: pointer; box-shadow: 0 3px 0 rgba(30, 36, 48, .3); }
.fb-f svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.fb-f.on { background: var(--y); }
.fb-f:disabled { opacity: .45; box-shadow: none; cursor: default; }
.fb-f:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 1px 0 rgba(30, 36, 48, .3); }
.fb-acoes { display: grid; gap: 10px; }
.fb-ok { display: grid; justify-items: center; gap: 10px; background: #fff; border: 3.5px solid var(--ink); border-radius: 24px; padding: 20px 14px 18px; box-shadow: var(--card-sh); text-align: center; }
.fb-ok-t { margin: 0; font-size: 22px; }

/* ---------- cartão da casa em uma tela ---------- */
.fun-casa { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.fc-topo { display: flex; align-items: center; gap: 14px; min-width: 0; }
.fc-fl { flex: none; }
.fc-mastro { padding-left: 7px; }
.fc-vazia { width: 96px; height: 64px; border: 3px dashed #9fb0c2; border-radius: 6px; display: grid; place-items: center; font-size: 30px; color: #9fb0c2; background: #f4f7fa; }
.fc-fl.fc-sem { display: none; }
.fc-id { display: grid; gap: 4px; min-width: 0; justify-items: start; flex: 1 1 auto; }
.fc-nome { margin: 0; white-space: nowrap; max-width: calc(100% - 46px); overflow: hidden; text-overflow: ellipsis; }
.fc-onde { margin: 0; }
.fc-repintar { margin-top: 2px; }
.fc-conv-t { margin: 0; font-size: 14.5px; color: var(--mudo, #4d5a6c); }
.fc-frase { background: #fff8d6; border: 3px solid var(--ink); border-radius: 16px; padding: 9px 12px; }
.fc-frase q { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 16px; line-height: 1.25; quotes: "\201C" "\201D"; }
.fc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fc-chip { display: inline-flex; align-items: center; padding: 3px 11px; border: 2.5px solid var(--ink); border-radius: 999px; background: #fff; font-size: 13.5px; line-height: 1.25; }
.fc-chip.cg { background: var(--ink); color: var(--y); }
.fc-acoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fc-acoes .btn { width: 100%; }
.btn.fc-tudo { justify-self: center; background: #fff; box-shadow: none; border-width: 3px; height: 34px; }
.btn.fc-repintar { background: #fff; }

/* ---------- aba Jogar ---------- */
#jogar { bottom: var(--tabb); }
.fj-corpo { gap: 16px; }
.fj-hoje { background: #fff; border: 3.5px solid var(--ink); border-radius: 26px; padding: 14px 16px 16px; box-shadow: var(--card-sh); display: grid; gap: 10px; }
.fj-hoje.dourada { background: #fff8d6; box-shadow: 0 0 0 4px var(--y), var(--card-sh); }
.fj-hh { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.fj-hh b { font-size: 24px; line-height: 1; margin-right: auto; }
.fj-serie { font-size: 13.5px; padding: 3px 11px; border: 2.5px solid var(--ink); border-radius: 999px; background: #e8eef4; }
.fj-serie.on { background: #d7f2c8; }
.fj-dourada { font-size: 13.5px; padding: 3px 11px; border: 2.5px solid var(--ink); border-radius: 999px; background: var(--y); }
.fj-obj { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.fj-obj li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 16px; }
.fj-obj li em { font-style: normal; font-size: 14px; color: var(--mudo, #4d5a6c); }
.fj-obj li.ok .fj-ot { color: #1b7a3f; }
.fj-chk { width: 28px; height: 28px; border-radius: 50%; border: 3px solid var(--ink); background: #fff; display: grid; place-items: center; }
.fj-chk svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.fj-obj li.ok .fj-chk { background: #2a9d4b; }
.fj-obj li.ok .fj-chk svg { opacity: 1; }
.fj-bau { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--mudo, #4d5a6c); border-top: 2.5px dashed #c9d3de; padding-top: 10px; }
.fj-bau.aberto { color: #1b7a3f; }
.fj-bi { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.fj-bbtn { width: 100%; }
.fj-card { background: #fff; border: 3.5px solid var(--ink); border-radius: 26px; padding: 14px 14px 16px; box-shadow: var(--card-sh); display: grid; gap: 12px; align-content: start; }
.fj-ch { display: flex; align-items: center; gap: 12px; }
.fj-ic { flex: none; width: 46px; height: 46px; border-radius: 50%; border: 3.5px solid var(--ink); background: var(--y); display: grid; place-items: center; }
.fj-ic svg { width: 24px; height: 24px; fill: none; stroke: var(--ink); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.fj-ct { min-width: 0; }
.fj-ct h2 { margin: 0; font-size: 24px; line-height: 1.05; }
.fj-ct p { margin: 2px 0 0; font-size: 14px; line-height: 1.25; color: var(--mudo, #4d5a6c); }
.fj-card .btn { width: 100%; }
.fj-card .btn.mini { width: auto; flex: 1 1 auto; }
.fj-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fj-area { display: grid; grid-template-columns: 30px minmax(0, 1fr); grid-template-areas: "i n" "i e"; align-items: center; column-gap: 8px; padding: 6px 10px; border: 3px solid var(--ink); border-radius: 16px; background: #f4f7fa; }
.fj-area .mi-svg { grid-area: i; }
.fj-area .mi-svg svg { width: 26px; height: 26px; }
.fj-area b { grid-area: n; font-size: 14.5px; line-height: 1.1; }
.fj-area em { grid-area: e; font-style: normal; font-size: 12.5px; color: var(--mudo, #4d5a6c); }
.fj-area.livre { background: #fff; }
.fj-area.livre em { color: #1b7a3f; }
.fj-vitrine { display: grid; }
.fj-par { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fj-op { display: grid; gap: 4px; min-width: 0; align-content: start; transition: opacity .25s, transform .25s; }
.fj-fl { padding: 0; border: 4px solid var(--ink); border-radius: 10px; background: #fff; cursor: pointer; display: block; overflow: hidden; box-shadow: 0 4px 0 rgba(30, 36, 48, .3); }
.fj-fl:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(30, 36, 48, .3); }
.fj-fl:focus-visible { outline: 4px solid #1d6fd8; outline-offset: 2px; }
.fj-cv { width: 100% !important; height: auto !important; aspect-ratio: 3 / 2; border: 0; }
.fj-nm { font-size: 14px; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 6px; }
.fj-on { font-size: 12.5px; line-height: 1.1; color: var(--mudo, #4d5a6c); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.btn.fj-ver { width: 100% !important; margin-top: 3px; background: #fff; box-shadow: none; height: 34px; }
.fj-op.ganhou .fj-fl { border-color: #2a9d4b; box-shadow: 0 0 0 4px #bfe9c9; }
.fj-op.perdeu { opacity: .35; transform: scale(.96); }
.fj-linha { display: flex; gap: 8px; flex-wrap: wrap; }
.fj-linha .btn.mini { background: #fff; flex: 1 1 0; min-width: 0; }
.fj-dica { margin-top: -4px; }
.fj-rank { display: grid; gap: 10px; border-top: 2.5px dashed #c9d3de; padding-top: 12px; }
.fj-rk-top { display: grid; gap: 8px; }
.fj-seg { display: flex; gap: 6px; }
.fj-s { flex: 1 1 0; min-width: 0; height: 38px; padding: 0 8px; border: 3px solid var(--ink); border-radius: 999px; background: #fff; font: inherit; font-size: 14px; color: var(--ink); cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fj-s.on { background: var(--y); }
.fj-rk-l { display: grid; gap: 6px; }
.fj-rk { display: grid; grid-template-columns: 26px auto minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 6px 10px 6px 8px; border: 3px solid var(--ink); border-radius: 16px; background: #fff; font: inherit; color: var(--ink); text-align: left; cursor: pointer; }
.fj-rk.eu { background: #fff8d6; }
.fj-rk:focus-visible { outline: 3px solid #1d6fd8; outline-offset: 2px; }
.fj-rp { font-size: 17px; text-align: center; }
.fj-rc { width: 48px !important; height: 32px !important; border: 2px solid var(--ink); border-radius: 3px; }
.fj-rt { display: grid; min-width: 0; }
.fj-rt b { font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fj-rt i { font-style: normal; font-size: 12.5px; color: var(--mudo, #4d5a6c); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fj-rr { font-size: 14px; color: var(--mudo, #4d5a6c); }
.fj-pass { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.fj-st { display: grid; justify-items: center; gap: 0; padding: 8px 4px; border: 3px solid var(--ink); border-radius: 16px; background: #f4f7fa; }
.fj-st b { font-size: 24px; line-height: 1.1; }
.fj-st span { font-size: 12.5px; color: var(--mudo, #4d5a6c); }
.fj-fatos { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 14.5px; line-height: 1.3; }
.fj-carimbos { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 8px; }
.fj-carimbo { display: grid; justify-items: center; align-content: center; gap: 0; min-height: 62px; padding: 6px 4px; border: 3px solid var(--ink); border-radius: 14px; background: var(--cor, #FFD23F); transform: rotate(var(--rot, 0deg)); font: inherit; color: var(--ink); cursor: pointer; }
.fj-carimbo b { font-size: 20px; line-height: 1; }
.fj-carimbo i { font-style: normal; font-size: 11.5px; line-height: 1.1; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fj-carimbo.ouro { background: linear-gradient(#ffe27a, #f5b82a); cursor: default; }
.fj-carimbo:focus-visible { outline: 3px solid #1d6fd8; outline-offset: 2px; }

/* ---------- barra de baixo com a aba Jogar (6 abas em 375 px) ---------- */
#tabbar:has(#abrirJogar:not([hidden])) { padding-left: 2px; padding-right: 2px; gap: 0; }
#tabbar:has(#abrirJogar:not([hidden])) .tab { flex: 1 1 auto; max-width: none; padding: 0 2px; }
#tabbar:has(#abrirJogar:not([hidden])) .tab span { font-size: 10.5px; letter-spacing: -.025em; }

/* toque sem o retângulo azul do navegador */
.fb-f, .fb-cor, .fj-fl, .fj-s, .fj-rk, .fj-carimbo, #abrirJogar, .fun-casa .btn, .fj-card .btn { -webkit-tap-highlight-color: transparent; }

/* enxugada 03/11: bandeira no alto da aba Minha Casa; blocos do jogo real dentro da aba Jogar */
.mc-bandeira { background: #fff; border: 3.5px solid var(--ink, #1e2430); border-radius: 24px; padding: 14px; display: flex; align-items: center; gap: 14px; box-shadow: 0 5px 0 rgba(30, 36, 48, .2); }
.mc-bandeira > .fun-convite, .mc-bandeira > .btn { width: 100%; }
.mc-band-t { display: grid; gap: 8px; justify-items: start; }
.mc-band-t b { font-size: 15px; }
.fj-corpo .mi-hoje, .fj-corpo .gv-card, .fj-corpo .gv-obra { margin: 0; }

/* 03/11 · aba Minha Casa: lugar único da casa, tudo centrado */
#minha-casa .el-corpo.fca { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: stretch; }
#minha-casa .el-corpo.fca > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
.fca-ed > *, .fca-pn > * { min-width: 0; max-width: 100%; }
.fca-pn .fb-pal { max-width: 100%; }
.fca-cena { position: sticky; top: 62px; z-index: 3; height: 212px; border: 3.5px solid var(--ink, #1e2430); border-radius: 26px; background: linear-gradient(#cfeaff, #eef8e8 72%); box-shadow: 0 5px 0 rgba(30, 36, 48, .2); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.fca-gl { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; cursor: grab; }
.fca-bolha { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); z-index: 2; max-width: 88%; width: max-content; margin: 0; padding: 7px 13px; background: #fff; border: 3px solid var(--ink, #1e2430); border-radius: 16px; font-weight: 800; font-size: 14px; line-height: 1.2; text-align: center; pointer-events: none; overflow-wrap: anywhere; }
.fca-bolha[hidden] { display: none; }
.fca-2d { transform: scale(1); }
.fca-ficha { display: grid; justify-items: center; text-align: center; gap: 6px; }
.fca-nome { margin: 0; font-size: 24px; font-weight: 900; line-height: 1.1; overflow-wrap: anywhere; }
.fca-onde { margin: 0; font-weight: 800; color: #5d6b7e; font-size: 15px; }
.fca-ficha .fc-chips { justify-content: center; }
.fca-ficha > :last-child:not(.fc-chips) { width: 100%; text-align: left; }
.fca-ed { background: #fff; border: 3.5px solid var(--ink, #1e2430); border-radius: 24px; padding: 12px; display: grid; gap: 12px; box-shadow: 0 5px 0 rgba(30, 36, 48, .2); }
.fca-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border: 3px solid var(--ink, #1e2430); border-radius: 999px; }
.fca-sb { border: 0; background: none; border-radius: 999px; height: 40px; font: inherit; font-weight: 900; font-size: 15px; color: var(--ink, #1e2430); cursor: pointer; }
.fca-sb.on { background: var(--ink, #1e2430); color: var(--y, #FFD23F); }
.fca-pn { display: grid; gap: 12px; }
.fca-pn[hidden] { display: none; }
.fca-pn .fr-ver.ok span { display: none; }
.fca-pn .fb-grid { width: 100%; }
.fca-ac { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.fca-ac .btn { min-width: 0; padding-left: 4px; padding-right: 4px; }
.fca-ac .btn:nth-child(4) { grid-column: 1 / -1; }
.fca-det { background: #fff; border: 3.5px solid var(--ink, #1e2430); border-radius: 24px; padding: 12px 14px; }
.fca-det summary { font-weight: 900; text-align: center; cursor: pointer; list-style: none; }
.fca-det summary::-webkit-details-marker { display: none; }
.fca-det summary::after { content: ' +'; }
.fca-det[open] summary::after { content: ' −'; }
.fca-det-in { display: grid; gap: 12px; margin-top: 12px; }
.fca-pe { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; padding-bottom: 72px; }
.lj-sua { width: 100%; margin-top: 10px; }

.fca-ed-t { margin: 0; text-align: center; font-size: 17px; font-weight: 900; }
.fca-pn .fb-acoes, .fca-fr .fr-acoes, .fca-fr .fr-ed-t b, .fca-fr .fr-dica { display: none; }
.fca-fr .fr-bloco { display: flex; flex-direction: column; gap: 10px; }
.fca-fr .fr-ver { order: 3; }
.fca-fr .fr-ed { border: 0; padding: 0; box-shadow: none; background: none; }
.fca-salvar { width: 100%; }

.fca-bolha.pop { animation: fca-pop .22s cubic-bezier(.3,1.6,.5,1); }
@keyframes fca-pop { from { transform: translateX(-50%) scale(.9); } to { transform: translateX(-50%) scale(1); } }

/* vitrine dos modelos (?vitrine=1) */
.fca-pn .fb-pal { grid-template-columns: repeat(8, minmax(0, 1fr)); width: 100%; box-sizing: border-box; }
.fca-pn .fb-cor { min-width: 0; width: 100%; }
.fca-pn .fb-ferr { width: 100%; box-sizing: border-box; }
.fca-fr .fr-acoes, .fca-pn .fb-acoes { display: none !important; }
.fca-fr .fr-ed-t { justify-content: flex-end; min-height: 0; }
.fca-fr .fr-ed input { width: 100%; box-sizing: border-box; }

/* canvas da bandeira (03/11) */
.fb-pal32 { gap: 5px; }
.fb-pal32 .fb-cor { min-height: 30px; border-radius: 9px; border-width: 2.5px; box-shadow: none; }
.fb-ferr8, .fb-ac2 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.fb-ac2 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; }
.fb-ferr8 .fb-f { min-height: 50px; padding: 5px 1px 4px; font-size: 11.5px; border-width: 3px; border-radius: 13px; }
.fb-a { min-height: 44px !important; padding: 4px 0 !important; font-size: 10px !important; border-width: 2.5px !important; border-radius: 11px !important; box-shadow: none !important; }
.fb-a svg { width: 18px; height: 18px; }
.fb-op { display: grid; gap: 8px; }
.fb-op[hidden] { display: none; }
.fb-tams { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.fb-tam { height: 38px; display: flex; align-items: center; justify-content: center; border: 3px solid var(--ink); border-radius: 11px; background: #fff; cursor: pointer; }
.fb-tam i { display: block; background: var(--ink); }
.fb-tam.on { background: var(--y); }
.fb-carim { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.fb-cm { padding: 6px; border: 3px solid var(--ink); border-radius: 11px; background: #fff; cursor: pointer; display: flex; justify-content: center; }
.fb-cm canvas { width: 33px; height: 33px; image-rendering: pixelated; }
.fb-cm.on { background: var(--y); }
.fb-tx { width: 100%; box-sizing: border-box; height: 44px; padding: 0 14px; border: 3px solid var(--ink); border-radius: 13px; font: inherit; font-size: 16px; font-weight: 800; }
.fb-rot { margin: 2px 0 -4px; font-size: 13px; font-weight: 900; color: #5d6b7e; text-align: center; }
.fb-moldes { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: none; }
.fb-moldes::-webkit-scrollbar { display: none; }
.fb-ml { flex: 0 0 72px; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 11.5px; font-weight: 800; color: var(--ink); display: grid; gap: 3px; justify-items: center; }
.fb-ml canvas { width: 72px; height: 48px; border: 3px solid var(--ink); border-radius: 9px; image-rendering: pixelated; box-sizing: border-box; }
.fb-grid { image-rendering: pixelated; }
.fv { position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column; background: #f3f5f2; color: var(--ink, #1e2430); font-weight: 900; }
.fv-top { display: flex; align-items: center; gap: 10px; padding: calc(12px + env(safe-area-inset-top)) 14px 6px; }
.fv-tit { margin: 0; font-size: 22px; line-height: 1.1; }
.fv-n { margin: 0 auto 0 0; font-size: 13px; color: #5d6b7e; white-space: nowrap; }
.fv-chips { display: flex; gap: 6px; overflow-x: auto; padding: 6px 14px 10px; scrollbar-width: none; flex: none; }
.fv-chips::-webkit-scrollbar { display: none; }
.fv-chip { flex: none; border: 3px solid var(--ink, #1e2430); border-radius: 999px; background: #fff; padding: 6px 12px; font: inherit; font-size: 14px; color: inherit; }
.fv-chip.on { background: #ffd23f; }
.fv-grade { flex: 1; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; padding: 2px 14px calc(18px + env(safe-area-inset-bottom)); align-content: start; }
.fv-card { display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding: 8px; border: 3px solid var(--ink, #1e2430); border-radius: 16px; background: #fff; font: inherit; color: inherit; text-align: left; }
.fv-card img { width: 100%; height: auto; aspect-ratio: 1; display: block; background: linear-gradient(#dfeaf3, #eef1e6); border-radius: 10px; }
.fv-nm { font-size: 14px; line-height: 1.15; }
.fv-t { font-size: 11px; color: #7a8796; min-height: 13px; font-weight: 800; }
.fv-sem { opacity: 0.45; }
.fv-um { position: absolute; inset: 0; display: flex; flex-direction: column; background: linear-gradient(#a9c8e6, #eef1e6); }
.fv-um[hidden] { display: none; }
.fv-cena { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.fv-nome { margin: 4px 12px 0; text-align: center; font-size: 19px; }
.fv-pos { margin: 0 0 8px; text-align: center; font-size: 13px; color: #5d6b7e; }
.fv-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 8px 10px calc(14px + env(safe-area-inset-bottom)); }
.fv-b { min-width: 0; padding-left: 6px; padding-right: 6px; font-size: 14px; flex: none; }
#totais, #ctrl { transition: opacity .18s; }
body.fun-mexendo #totais { opacity: 0; pointer-events: none; }
.fb-curtir { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 62px; height: 40px; padding: 0 10px; border: 3px solid var(--ink, #1e2430); border-radius: 999px; background: #fff; color: var(--ink, #1e2430); font: inherit; font-weight: 900; font-size: 14px; cursor: pointer; flex: none; }
.fb-curtir svg { width: 18px; height: 18px; fill: #fff; stroke: var(--ink, #1e2430); stroke-width: 2.4; }
.fb-curtir.on { background: #ffe1e6; }
.fb-curtir.on svg { fill: #e8344e; stroke: #b81f37; }
.fb-curtir.pulo svg { animation: fb-pulo .32s ease-out; }
@keyframes fb-pulo { 0% { transform: scale(.7); } 55% { transform: scale(1.35); } 100% { transform: scale(1); } }
.fj-rk { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 8px; border: 3px solid var(--ink, #1e2430); border-radius: 14px; background: #fff; }
.fj-rk-ab { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: 26px auto minmax(0, 1fr); align-items: center; gap: 10px; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.fj-pod { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: end; }
.fj-pod-k { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; text-align: center; }
.fj-pod-k .fj-cv { width: 100%; height: auto; aspect-ratio: 3 / 2; border: 3px solid var(--ink, #1e2430); border-radius: 8px; }
.fj-pod-k.um .fj-cv { border-color: #d4a93a; box-shadow: 0 0 0 3px #ffd23f; }
.fj-pod-p { font-weight: 900; font-size: 15px; }
.fj-pod-k .fj-nm, .fj-pod-k .fj-on { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.fj-pod-k .fj-fl { width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.fj-rank .btn.mini { margin-top: 8px; width: 100%; }
.fc-curtir { display: flex; align-items: center; gap: 8px; }
.fc-band-cid{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}.fc-band-cid-t{width:72px;height:48px;image-rendering:pixelated;border:2px solid #1e2430;border-radius:4px}
#carrega{z-index:80}

/* ===== 04/11 · pintar como joguinho: tela cheia, poucos botões grandes, a tela de pintar sempre visível ===== */
#fun-bandeira .fun-hd{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 12px 8px}
#fun-bandeira .fun-hd h1{font-size:22px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#fun-bandeira .fun-hd .fechar{display:none}
.pin-voltar{display:flex;align-items:center;gap:2px;height:46px;padding:0 14px 0 8px;border:3.5px solid var(--ink,#1e2430);border-radius:999px;background:#fff;color:var(--ink,#1e2430);font:inherit;font-weight:900;font-size:15px;box-shadow:0 3px 0 rgba(30,36,48,.3);cursor:pointer}
.pin-voltar svg{width:22px;height:22px}
#fun-bandeira .fun-hd .fb-salvar{width:auto;min-width:92px;height:46px;min-height:0;padding:0 16px;font-size:16px}
.fun-corpo.pin{display:grid;gap:10px;padding:0 12px calc(16px + env(safe-area-inset-bottom));max-width:520px;margin:0 auto}
.pin .fb-grid{border-radius:12px;box-shadow:0 4px 0 rgba(30,36,48,.28)}
.pin-ferr{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.pin-ferr .fb-f{min-height:58px;padding:7px 0 5px;font-size:11.500px;font-weight:800;border-width:3px;border-radius:15px}
.pin-ferr .fb-f svg{width:24px;height:24px}
.pin-ferr .fb-a{background:#fff}
.pin .fb-op{display:flex;justify-content:center}
.pin .fb-op[hidden]{display:none}
.pin .fb-tams{display:flex;gap:8px;justify-content:center}
.pin-cores{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important}
.pin-cores .fb-cor{min-height:44px;aspect-ratio:auto;height:44px;border-radius:14px;border-width:3px;box-shadow:0 3px 0 rgba(30,36,48,.25)}
.pin-cores .fb-cor.on{transform:translateY(-3px) scale(1.06)}
.pin-cores:not(.todas) .fb-cor:nth-child(n+14){display:none}
.pin-corm{height:44px;border:3px dashed var(--ink,#1e2430);border-radius:14px;background:#fff;font:inherit;font-weight:900;font-size:22px;line-height:1;color:var(--ink,#1e2430);cursor:pointer}
.pin-mais{display:grid;gap:10px;padding:12px;background:#fff;border:3px solid var(--ink,#1e2430);border-radius:18px}
.pin-mais[hidden]{display:none}
.pin-mais .fb-rot{margin:0;font-weight:800;font-size:14px;text-align:left}
.pin-mais .fb-ac2{grid-template-columns:repeat(5,minmax(0,1fr))}

/* ===== 04/11 · aba Casa: a casa é o herói ===== */
.fca-cena{position:relative!important;top:auto!important;height:min(42vh,330px)!important}
.fca-nv{display:grid;grid-template-columns:52px 1fr 52px;gap:8px;align-items:center;margin-top:-4px}
.fca-seta{height:48px;border:3.5px solid var(--ink,#1e2430);border-radius:16px;background:#fff;box-shadow:0 3px 0 rgba(30,36,48,.3);cursor:pointer;display:grid;place-items:center}
.fca-seta svg{width:24px;height:24px;fill:none;stroke:var(--ink,#1e2430);stroke-width:3.400;stroke-linecap:round;stroke-linejoin:round}
.fca-seta:disabled{opacity:.35;box-shadow:none}
.fca-seta:active:not(:disabled),.pin-voltar:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(30,36,48,.3)}
.fca-nvrot{height:48px;border:0;background:none;font:inherit;font-weight:900;font-size:15px;color:var(--ink,#1e2430);cursor:pointer}
.fca-nvrot.outra{color:#a15c00}
.fca-ed{display:grid;gap:10px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.fca-pintar{display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;font-size:20px;font-weight:900}
.fca-th{width:48px;height:32px;border:2.500px solid var(--ink,#1e2430);border-radius:4px}
.fca-bfr{min-height:50px}
.fca-fr{padding:12px;background:#fff;border:3.500px solid var(--ink,#1e2430);border-radius:20px}
.fca-ac{grid-template-columns:1fr 1fr!important}
.fca-ac .btn{min-height:50px;font-size:15px}
#minha-casa .fc-chips{display:none}

/* ===== 04/11 · Governo: o chefe em destaque e o resto em lista que abre com um toque ===== */
#governo .gv-card:not(.chefe)>.gv-rot:first-child{position:relative;cursor:pointer;font-size:16px;color:var(--ink,#1e2430);padding:2px 30px 2px 0;font-weight:900}
#governo .gv-card:not(.chefe)>.gv-rot:first-child::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;margin-top:-8px;border-right:3.500px solid var(--ink,#1e2430);border-bottom:3.500px solid var(--ink,#1e2430);transform:rotate(45deg);transition:transform .15s}
#governo .gv-card.aberto>.gv-rot:first-child::after{transform:rotate(225deg);margin-top:-2px}
#governo .gv-card:not(.chefe):not(.aberto):has(>.gv-rot:first-child)>:not(.gv-rot:first-child){display:none}
#governo .gv-card{padding:13px 15px;gap:9px;border-radius:20px}
#governo .gv-card.chefe{gap:10px}
#governo .gv-btn{background:#fff;color:var(--ink,#1e2430);min-height:52px;border-radius:16px;box-shadow:0 3px 0 rgba(30,36,48,.3)}
#governo .gv-card.chefe .gv-btn{background:#fff}
#governo .gv-btn small,#governo .gv-btn .gv-bsub{font-weight:700;opacity:.7}

/* ===== 04/11 · Lojas: o botão da sua loja em destaque, menos texto ===== */
#lojas .lj-hero .lj-sua{min-height:58px;font-size:18px;font-weight:900}
#lojas-corpo>.fonte{display:none}

/* ===== 04/11 · cartão da cidade ===== */
.fc-band-cid .btn{min-height:44px;font-size:14px;padding:0 14px}

/* ===== 04/11 (João: fantasia de dono da cidade; nada descritivo, tudo se entende sozinho): número, imagem e uma palavra ===== */
#governo .gv-btn:not(:disabled) small,#governo .gv-btn2:not(:disabled) small{display:none}
#governo .gv-card>.gv-sub{display:none}
#lojas .lj-desc,#lojas .lj-fim,#lojas .lj-cont-s{display:none}
#lojas .lj-cont-t b{font-size:26px}
.fj-corpo .fj-dica{display:none}
.cp-hero2{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.cp-hero2 .cp-mor{font-size:44px;line-height:1}
.cp-hero2 b:not(.cp-mor){font-size:20px;margin-left:10px}
.fc-band-cid{margin:6px 0 2px}
#lojas .lj-hero{padding:14px}
.fj-corpo .gv-btn:not(:disabled) small{display:none}

/* ===== 04/11: compartilhar e pop do prefeito ===== */
.fca-comp{position:fixed;inset:0;z-index:90;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));background:rgba(24,30,42,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain}
.fca-comp-t{display:flex;justify-content:flex-start}
.fca-comp-p{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center}
.fca-comp-im{display:block;flex:none;max-width:100%;max-height:100%;border:3.5px solid #fff;border-radius:18px;box-shadow:0 8px 0 rgba(0,0,0,.28);background:#cfe3c4;animation:compPop .4s cubic-bezier(.3,1.5,.5,1) both}
.fca-comp-im.esp{animation:compEsp 1s ease-in-out infinite alternate}
@keyframes compEsp{from{opacity:.45}to{opacity:.8}}
.fca-comp-b{display:grid;grid-template-columns:1fr;max-width:520px;width:100%;justify-self:center}
.fca-comp-b .btn{min-height:58px;font-size:20px;font-weight:900}
.fca-comp .pin-voltar{height:50px}
@keyframes compPop{from{transform:scale(.7) rotate(-3deg);opacity:0}to{transform:none;opacity:1}}
.fr-pop{animation:frPop .42s cubic-bezier(.3,1.7,.5,1)}
@keyframes frPop{0%{scale:.3}70%{scale:1.12}100%{scale:1}}
.fr-bm{position:absolute;left:50%;top:50%;width:9px;height:9px;pointer-events:none;animation:frBm .62s ease-out both}
@keyframes frBm{from{transform:rotate(var(--a)) translateY(0) scale(1);opacity:1}to{transform:rotate(var(--a)) translateY(-62px) scale(.3);opacity:0}}
@media (prefers-reduced-motion: reduce){.fr-pop,.fr-bm,.fca-comp img{animation:none}}

/* ===== 04/11 · abertura: a casa sobe com o carregamento, em cima da ilha, e a barra enche junto ===== */
#carrega{gap:22px;background:linear-gradient(#8fc9f2,#c9e6f5 58%,#e8f3e4);overflow:hidden}
.pronto #carrega:not(.fim){opacity:1;pointer-events:auto}
#carrega.fim{opacity:0;transition:opacity .42s ease-out .08s;pointer-events:none}
#carrega.fim #carrega-casa{animation:cb-pula .5s cubic-bezier(.3,1.6,.5,1) both}
#carrega-casa{position:relative;filter:drop-shadow(0 10px 0 rgba(30,36,48,.12))}
#carrega-casa i.cb{position:absolute;box-shadow:inset -3px -3px 0 rgba(30,36,48,.16),inset 3px 3px 0 rgba(255,255,255,.3);animation:cb-cai .26s cubic-bezier(.55,0,.9,.5) both;will-change:transform}
#carrega-casa i.cb.ok{animation:cb-enc .2s ease-out both}
#carrega-casa i.cb.solto{animation:cb-solta 1.6s linear both}
@keyframes cb-cai{from{transform:translateY(-62vh)}to{transform:none}}
@keyframes cb-enc{0%{transform:scale(1.16,.78) translateY(3px)}60%{transform:scale(.96,1.05)}100%{transform:none}}
@keyframes cb-solta{0%{transform:translateY(-62vh);opacity:1}15%{transform:none;opacity:1}18%{transform:scale(1.2,.75)}24%,70%{transform:none;opacity:1}100%{transform:translateY(120px);opacity:0}}
@keyframes cb-pula{0%{transform:none}35%{transform:translateY(-34px) scale(.94,1.08)}70%{transform:scale(1.5);}100%{transform:scale(3.2)}}
#carrega-barra{display:grid;grid-template-columns:repeat(16,1fr);gap:3px;width:min(72vw,300px);padding:5px;background:#1e2430;border-radius:8px}
#carrega-barra i{display:block;height:14px;background:#39414f;border-radius:2px}
#carrega-barra i.on{background:#ffd23f;animation:cb-enc .18s ease-out}

/* 04/11: a mensagem da cidade em cima do chat */
.vivo-bolha{align-self:flex-start;max-width:calc(100vw - 96px);margin-left:2px;margin-bottom:6px;padding:7px 13px 8px;border:3px solid var(--ink,#1e2430);border-radius:16px 16px 16px 4px;background:#fff;color:var(--ink,#1e2430);font:inherit;font-size:13.5px;font-weight:800;line-height:1.2;text-align:left;box-shadow:0 3px 0 rgba(30,36,48,.3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;pointer-events:auto}
.vivo-bolha[hidden]{display:none}
.vivo-bolha b{color:#0f8a3c}

/* 04/11: acabamento para a conversa com o Chris */
@media (hover:none){#zmais,#zmenos{display:none!important}}
#cartao .cart.cidade,#cartao>.cart{max-height:58dvh}
.cp-hero2{flex-wrap:nowrap!important;align-items:baseline}
.cp-hero2 b:not(.cp-mor){font-size:20px!important;line-height:1;margin-left:12px}
.gv-card.chefe .gv-acoes{grid-template-columns:1fr 1fr}
.gv-card.chefe .gv-acoes>:not(.gv-btn){grid-column:1/-1}
.gv-card.chefe .gv-acoes>.gv-btn:last-child:nth-child(odd){grid-column:1/-1}
.gv-chip.vago{display:none}

.fca-bolha{top:auto;bottom:10px}
.fun-corpo.pin{display:flex;flex-direction:column;min-height:calc(100dvh - 74px)}
.fun-corpo.pin>:first-child{margin-top:auto;margin-bottom:auto}
/* 04/11: gerador de cidades na vitrine */
.fv-grade.fv-gerador{display:flex;flex-direction:column;gap:10px;padding:2px 14px calc(18px + env(safe-area-inset-bottom))}
.fg-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fg-n{font-size:38px;line-height:1;font-weight:900;color:var(--ink,#1e2430)}
.fg-r{margin-left:6px;font-weight:800;color:#5b6577}
.fg-play{min-width:112px}
.fg-sl{width:100%;height:32px;accent-color:#ffc21a}
.fg-cv{width:100%;flex:none;height:min(58dvh,560px);border:3.5px solid var(--ink,#1e2430);border-radius:22px;background:#8fce6b;image-rendering:pixelated}
.fg-ms,.fg-leg,.fg-tr{display:flex;flex-wrap:wrap;gap:6px}
.fg-m,.fg-b,.fg-t{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:3px solid var(--ink,#1e2430);border-radius:999px;background:#fff;color:var(--ink,#1e2430);font:inherit;font-weight:800;font-size:13px}
.fg-m{opacity:.45}.fg-m.on{opacity:1;background:#ffd23f}
.fg-b i{width:14px;height:14px;border-radius:4px;border:2px solid var(--ink,#1e2430)}
.fg-b.on,.fg-t.on{background:var(--ink,#1e2430);color:#ffd23f}
.fg-cv{height:auto;aspect-ratio:1/.72}
/* 04/11: a casa de outra pessoa */
#fun-perfil[hidden]{display:none}
.fpf{gap:12px}
.fpf-cena{position:relative;top:auto;height:min(50dvh,440px)}
.fpf-band{display:flex;align-items:center;justify-content:center;gap:12px}
.fpf-band canvas{width:150px;height:100px;border:3.5px solid var(--ink,#1e2430);border-radius:10px;image-rendering:pixelated;box-shadow:0 4px 0 rgba(30,36,48,.25)}
.fpf-id{display:flex;justify-content:center}
.fpf-onde{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;padding:2px 10px;font:inherit;color:var(--ink,#1e2430);cursor:pointer}
.fpf-onde b{font-size:18px;font-weight:900}
.fpf-onde span{font-size:14px;font-weight:800;color:#5b6577}
.fpf-g{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px}
.fpf-t{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:124px;padding:8px 4px;background:#fff;border:3.5px solid var(--ink,#1e2430);border-radius:20px;box-shadow:0 4px 0 rgba(30,36,48,.2);text-align:center}
.fpf-t b{font-size:30px;line-height:1.05;font-weight:900;color:var(--ink,#1e2430)}
.fpf-t b.lg{font-size:21px}
.fpf-t span{font-size:13px;font-weight:800;color:#47505f}
.fpf-t i{font-size:11.5px;font-style:normal;font-weight:800;color:#7a8494}
.fpf-t.nv{background:linear-gradient(#fff8d8,#ffe89a)}
.fpf-t.nv svg{width:96px;height:96px;overflow:visible}
.fpf-t.fogo svg{width:34px;height:34px;filter:grayscale(1);opacity:.55}
.fpf-t.fogo.on svg{filter:none;opacity:1}
.fpf-pc{margin:0;text-align:center;font-size:14px;font-weight:800;color:#47505f}

/* ===== 04/11: zoom da bandeira ===== */
.fb-area{display:grid;gap:8px;min-width:0}
.fb-zoom{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.fb-zb{min-width:48px;height:44px;padding:0 12px;border:3px solid var(--ink,#1e2430);border-radius:14px;background:#fff;color:var(--ink,#1e2430);font:inherit;font-weight:900;font-size:14px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 0 rgba(30,36,48,.28);cursor:pointer}
.fb-zb svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.fb-zb:disabled{opacity:.4;box-shadow:none;cursor:default}
.fb-zb:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 rgba(30,36,48,.3)}
.fb-ztudo{min-width:84px}

/* 05/11 (João: "tire todo movimento que é desnecessário"): nada se mexe sozinho sem motivo. Ficam: carregamento, retorno de toque e o que foi pago (lojas especiais) ou é prêmio (drones da cidade do futuro). */
.fb-big,#selring,#ajuda.novo::after,.alta-ic,.selo-pts::after,.abas .selo-pt,.avc-ponto,.fca-comp-im.esp,.rw-emo,.rw-dica,.rw-casa,.ofe .ofe-svg,.ofe .f1,.ofe .f2,.ofe .f3,.ofe .ofe-b,.ofe-pop-fogo .f1,.ofe-pop-fogo .f2,.ofe-pop-fogo .f3,.pf-q.pf-fogo.on .pf-v svg{animation:none!important}
.ofe-pop-fogo .ofe-svg{animation:ofePopFogo 1.1s cubic-bezier(.2,.9,.3,1.15) both!important}
