/* Império do Contrabando · v0.3.0 · estilos (art déco, temas claro e escuro) */
:root, :root[data-tema="escuro"] {
  --bg: #0a1416; --bg2: #0e1c1f; --painel: #12232780; --painel-solido: #13262a; --painel2: #183035; --linha: #2c464c; --linha2: #3d5a60;
  --tinta: #f0e7d3; --tinta2: #b8ad97; --tinta3: #8a8270;
  --ambar: #e6a84a; --ambar2: #f6cd7c; --cobre: #c97c47; --ok: #7cc28c; --perigo: #e66a5c; --alerta: #ebb64c; --azul: #69b2c2;
  --sombra: 0 10px 30px rgba(0,0,0,.45); --raio: 14px;
  --ouro: linear-gradient(180deg, #ffe3a3 0%, #e6a84a 45%, #a8661f 100%);
  color-scheme: dark;
}
:root[data-tema="claro"] {
  --bg: #ede2ca; --bg2: #e4d6b8; --painel: #fbf5e7e8; --painel-solido: #fbf5e7; --painel2: #f3e8cf; --linha: #cdb993; --linha2: #b9a273;
  --tinta: #1e1914; --tinta2: #574b3b; --tinta3: #7a6d58;
  --ambar: #8f540a; --ambar2: #6e3f05; --cobre: #8c4524; --ok: #2c7640; --perigo: #a5301f; --alerta: #7d5800; --azul: #23697a;
  --sombra: 0 8px 24px rgba(80,50,10,.18);
  --ouro: linear-gradient(180deg, #f8d58a 0%, #d0902f 50%, #8f540a 100%);
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg); color: var(--tinta);
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-size: 16px; line-height: 1.45;
  -webkit-font-smoothing: antialiased; overflow-x: hidden; min-height: 100vh;
}
body::before { /* textura de papel/grão */
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 1000; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
:root[data-tema="claro"] body::before { opacity: .12; mix-blend-mode: multiply; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; }
.titulo-deco { font-family: 'Limelight', 'Playfair Display', Georgia, serif; letter-spacing: .04em; }
.serif { font-family: 'Playfair Display', Georgia, serif; }
button { font: inherit; color: inherit; }
a { color: var(--ambar); }
.ico { width: 1.25em; height: 1.25em; flex: none; }
:focus-visible { outline: 3px solid var(--ambar); outline-offset: 2px; border-radius: 6px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 46px; padding: .6em 1.15em;
  border-radius: 10px; border: 1px solid var(--linha2); background: var(--painel2); color: var(--tinta); cursor: pointer;
  font-weight: 600; letter-spacing: .01em; transition: transform .12s, background .2s, border-color .2s, box-shadow .2s; text-align: center;
}
.btn:hover:not(:disabled) { border-color: var(--ambar); transform: translateY(-1px); }
.btn:active:not(:disabled) { transform: translateY(1px) scale(.99); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn-ouro { background: var(--ouro); color: #1c1206; border-color: #7a4a14; box-shadow: 0 4px 0 #6a3e10, 0 10px 24px rgba(230,168,74,.25); text-shadow: 0 1px 0 rgba(255,255,255,.35); }
.btn-ouro:hover:not(:disabled) { box-shadow: 0 5px 0 #6a3e10, 0 14px 30px rgba(230,168,74,.4); }
.btn-perigo { background: linear-gradient(180deg, #c8574a, #8a2a20); color: #fff4ea; border-color: #5a1a12; }
.btn-fantasma { background: transparent; }
.btn-sm { min-height: 38px; padding: .35em .8em; font-size: .9rem; }
.btn-bloco { width: 100%; }
.icone-btn { width: 44px; height: 44px; padding: 0; min-height: 0; border-radius: 50%; }

/* ---------- painéis ---------- */
.painel {
  position: relative; background: var(--painel); border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px;
  box-shadow: var(--sombra); backdrop-filter: blur(6px);
}
.painel::before, .painel::after { /* cantos art déco */
  content: ''; position: absolute; width: 18px; height: 18px; border: 2px solid var(--ambar); opacity: .55; pointer-events: none;
}
.painel::before { top: 6px; left: 6px; border-right: 0; border-bottom: 0; border-top-left-radius: 6px; }
.painel::after { bottom: 6px; right: 6px; border-left: 0; border-top: 0; border-bottom-right-radius: 6px; }
.secao-titulo { display: flex; align-items: center; gap: 12px; margin: 26px 0 12px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; color: var(--ambar2); }
.secao-titulo::before, .secao-titulo::after { content: ''; height: 1px; flex: 1; background: linear-gradient(90deg, transparent, var(--linha2)); }
.secao-titulo::after { background: linear-gradient(270deg, transparent, var(--linha2)); }
.secao-titulo span { display: inline-flex; align-items: center; gap: 10px; }
.secao-titulo span::before, .secao-titulo span::after { content: '◆'; font-size: .55em; color: var(--cobre); }
.sub { color: var(--tinta2); font-size: .95rem; }
.mini { color: var(--tinta3); font-size: .85rem; }
.grade { display: grid; gap: 14px; }
.g2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.g3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.linha { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.entre { justify-content: space-between; }
.tag { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: .8rem; font-weight: 600; border: 1px solid var(--linha2); background: var(--painel2); color: var(--tinta2); }
.tag.ok { color: var(--ok); border-color: color-mix(in srgb, var(--ok) 50%, transparent); }
.tag.perigo { color: var(--perigo); border-color: color-mix(in srgb, var(--perigo) 50%, transparent); }
.tag.alerta { color: var(--alerta); border-color: color-mix(in srgb, var(--alerta) 50%, transparent); }
.tag.ambar { color: var(--ambar); border-color: color-mix(in srgb, var(--ambar) 50%, transparent); }
.tag.demo { color: var(--azul); border-color: color-mix(in srgb, var(--azul) 50%, transparent); }
.num { font-variant-numeric: tabular-nums; font-weight: 700; }
.dinheiro { color: var(--ambar2); }
.pos { color: var(--ok); } .neg { color: var(--perigo); }
.barra { height: 10px; border-radius: 99px; background: color-mix(in srgb, var(--tinta) 12%, transparent); overflow: hidden; position: relative; }
.barra > i { display: block; height: 100%; border-radius: 99px; background: var(--ambar); transition: width .3s linear; }
.barra.saude > i { background: linear-gradient(90deg, #c8463a, #e66a5c); }
.barra.energia > i { background: linear-gradient(90deg, #3d8aa0, #69b2c2); }
.barra.calor > i { background: linear-gradient(90deg, #b8862a, #e66a5c); }
.barra.ok > i { background: var(--ok); }
.barra.prog > i { background: linear-gradient(90deg, var(--cobre), var(--ambar2)); position: relative; }
.barra.prog > i::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); animation: brilho 1.6s linear infinite; }
@keyframes brilho { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.aviso { border-left: 3px solid var(--alerta); padding: 10px 14px; background: color-mix(in srgb, var(--alerta) 10%, transparent); border-radius: 8px; font-size: .93rem; }
.aviso.perigo { border-color: var(--perigo); background: color-mix(in srgb, var(--perigo) 10%, transparent); }
.aviso.info { border-color: var(--azul); background: color-mix(in srgb, var(--azul) 10%, transparent); }
.kv { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; font-size: .93rem; }
.kv dt { color: var(--tinta3); } .kv dd { margin: 0; font-weight: 600; }

/* ---------- cenas ---------- */
.cena { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--raio); background: #05080a; border: 1px solid var(--linha); box-shadow: var(--sombra); isolation: isolate; }
.cena.larga { aspect-ratio: 2 / 1; }
.cena > .slot, .cena .slot > svg, .cena .cena-img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
.cena-svg { width: 100%; height: 100%; display: block; }
.cena canvas.chuva { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 2; }
.cena .sobre { position: absolute; z-index: 3; }
.cena .rotulo-cena { left: 16px; top: 14px; display: flex; flex-direction: column; gap: 2px; text-shadow: 0 2px 10px #000; color: #f6ecd6; }
.cena .rotulo-cena .titulo-deco { font-size: clamp(1.2rem, 3vw, 2.1rem); }
.ponto { position: absolute; z-index: 4; transform: translate(-50%, -100%); display: flex; flex-direction: column; align-items: center; gap: 4px; background: none; border: 0; cursor: pointer; padding: 0; color: #f8eed8; }
.ponto .etq { font-weight: 700; font-size: .85rem; padding: 5px 11px; border-radius: 999px; background: rgba(10,14,16,.78); border: 1px solid rgba(230,168,74,.7); white-space: nowrap; display: flex; gap: 6px; align-items: center; box-shadow: 0 4px 14px rgba(0,0,0,.5); transition: transform .15s, background .2s; }
.ponto .pino { width: 14px; height: 14px; border-radius: 50%; background: #f6cd7c; box-shadow: 0 0 0 0 rgba(246,205,124,.7); animation: pulso 2s infinite; }
.ponto:hover .etq, .ponto:focus-visible .etq { transform: scale(1.08); background: rgba(40,24,8,.92); }
.ponto.tem-algo .pino { background: #7cc28c; }
.ponto .badge { background: #e66a5c; color: #fff; border-radius: 99px; font-size: .72rem; padding: 0 6px; }
@keyframes pulso { 0% { box-shadow: 0 0 0 0 rgba(246,205,124,.7); } 70% { box-shadow: 0 0 0 16px rgba(246,205,124,0); } 100% { box-shadow: 0 0 0 0 rgba(246,205,124,0); } }
.evento-faixa { position: absolute; z-index: 3; right: 14px; top: 14px; max-width: 46%; background: rgba(240,228,200,.95); color: #1e1610; border-radius: 6px; padding: 8px 12px; font-family: 'Playfair Display', Georgia, serif; box-shadow: 0 6px 20px rgba(0,0,0,.5); transform: rotate(1.5deg); }
.evento-faixa b { display: block; font-size: .95rem; text-transform: uppercase; letter-spacing: .06em; }
.evento-faixa small { font-family: 'Inter', sans-serif; font-size: .8rem; }
.sem-animacao .cena-svg * { animation: none !important; }

/* ---------- abertura ---------- */
.abertura { position: relative; min-height: 100vh; min-height: 100svh; display: grid; place-items: center; overflow: hidden; }
.abertura .fundo { position: absolute; inset: 0; }
.abertura .fundo .slot, .abertura .fundo svg, .abertura .fundo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.abertura .fundo::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 45%, rgba(5,8,10,.25) 0%, rgba(5,8,10,.82) 75%); }
.abertura canvas.chuva { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.abertura .conteudo { position: relative; z-index: 2; text-align: center; padding: 24px; max-width: 760px; color: #f4ead4; }
.logo { font-family: 'Limelight', Georgia, serif; line-height: .95; font-size: clamp(2.3rem, 8.4vw, 5.2rem); padding: 0 .1em; background: linear-gradient(180deg, #fff1c8 0%, #f2c46e 40%, #b06a22 70%, #f2c46e 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 4px 0 #3a2008) drop-shadow(0 18px 30px rgba(0,0,0,.6)); animation: surge 1.4s cubic-bezier(.2,.8,.2,1) both; }
.logo small { display: block; font-size: .42em; letter-spacing: .32em; margin-bottom: .2em; }
.ornamento { display: flex; align-items: center; justify-content: center; gap: 14px; color: #e6a84a; margin: 18px 0; letter-spacing: .4em; font-size: .85rem; text-transform: uppercase; animation: surge 1.4s .3s both; }
.ornamento::before, .ornamento::after { content: ''; width: 70px; height: 1px; background: currentColor; }
.abertura p.lead { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.05rem, 2.4vw, 1.3rem); color: #e8dcc2; animation: surge 1.4s .5s both; }
.abertura .acoes { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 26px; animation: surge 1.4s .7s both; }
.abertura .rodape { margin-top: 26px; font-size: .82rem; color: #d8ccb4; background: rgba(5,8,10,.72); padding: 8px 14px; border-radius: 10px; display: inline-block; animation: surge 1.4s .9s both; }
@keyframes surge { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* ---------- criação ---------- */
.criar { max-width: 1240px; margin: 0 auto; padding: 22px 16px 60px; }
.passos { display: flex; gap: 8px; align-items: center; justify-content: center; margin: 6px 0 18px; color: var(--tinta3); font-size: .9rem; }
.passos b { color: var(--ambar); }
.criar h1 { text-align: center; font-size: clamp(1.8rem, 5vw, 3rem); color: var(--ambar2); }
.criar .intro { text-align: center; max-width: 680px; margin: 8px auto 22px; color: var(--tinta2); }
.cartas { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.carta { position: relative; border-radius: 14px; overflow: hidden; border: 1px solid var(--linha); background: #0b1012; cursor: pointer; padding: 0; text-align: left; transition: transform .2s, border-color .2s, box-shadow .2s; color: #f2e8d2; }
.carta:hover { transform: translateY(-4px); border-color: var(--ambar); box-shadow: 0 16px 30px rgba(0,0,0,.5); }
.carta.sel { border-color: var(--ambar); box-shadow: 0 0 0 3px var(--ambar), 0 18px 40px rgba(230,168,74,.25); transform: translateY(-4px); }
.carta .arte { display: block; aspect-ratio: 300 / 380; }
.carta .arte svg { width: 100%; height: 100%; display: block; }
.carta .info { position: absolute; inset: auto 0 0 0; padding: 40px 12px 12px; background: linear-gradient(transparent, rgba(5,7,8,.95) 45%); }
.carta .info b { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 1.08rem; }
.carta .info span { font-size: .8rem; color: #e6a84a; letter-spacing: .08em; text-transform: uppercase; }
.carta-cidade .arte { aspect-ratio: 16 / 10; }
.carta-cidade .arte .slot, .carta-cidade .arte svg { width: 100%; height: 100%; display: block; }
.detalhe { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 300px) 1fr; gap: 22px; align-items: start; }
.detalhe .retrato-grande { border-radius: 14px; overflow: hidden; border: 1px solid var(--linha2); box-shadow: var(--sombra); }
.detalhe .retrato-grande svg { display: block; width: 100%; height: auto; }
.detalhe h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; color: var(--ambar2); }
.citacao { font-family: 'Playfair Display', Georgia, serif; font-style: italic; color: var(--tinta2); border-left: 3px solid var(--cobre); padding-left: 12px; margin: 12px 0; }
.attrs { display: grid; gap: 8px; margin: 14px 0; }
.attr { display: grid; grid-template-columns: 110px 1fr 28px; align-items: center; gap: 10px; font-size: .92rem; }
.attr .pontos { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; }
.attr .pontos i { height: 12px; border-radius: 3px; background: color-mix(in srgb, var(--tinta) 12%, transparent); }
.attr .pontos i.on { background: linear-gradient(180deg, var(--ambar2), var(--cobre)); animation: acende .4s both; }
@keyframes acende { from { transform: scaleY(.2); opacity: 0; } to { transform: none; opacity: 1; } }
.vd { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.vd > div { padding: 10px 12px; border-radius: 10px; font-size: .92rem; }
.vd .v { background: color-mix(in srgb, var(--ok) 12%, transparent); border: 1px solid color-mix(in srgb, var(--ok) 40%, transparent); }
.vd .d { background: color-mix(in srgb, var(--perigo) 10%, transparent); border: 1px solid color-mix(in srgb, var(--perigo) 40%, transparent); }
.vd b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 2px; }
.barra-acao { position: sticky; bottom: 0; z-index: 20; display: flex; gap: 10px; justify-content: center; padding: 14px; margin-top: 20px; background: linear-gradient(transparent, var(--bg) 35%); }

/* ---------- jogo: estrutura ---------- */
.jogo { display: grid; grid-template-columns: 230px 1fr; grid-template-rows: auto 1fr; min-height: 100vh; }
.hud { grid-column: 1 / -1; position: sticky; top: 0; z-index: 50; display: flex; align-items: center; gap: 14px; padding: 8px 16px; background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha); }
.hud .quem { display: flex; align-items: center; gap: 10px; min-width: 0; }
.hud .avatar { width: 46px; height: 46px; border-radius: 50%; overflow: hidden; border: 2px solid var(--ambar); flex: none; background: #000; }
.hud .avatar svg { width: 100%; height: 100%; display: block; transform: scale(1.7) translateY(9%); }
.hud .nome { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; line-height: 1.1; white-space: nowrap; }
.hud .data { font-size: .78rem; color: var(--tinta3); white-space: nowrap; }
.hud .grana { display: flex; gap: 8px; margin-left: auto; }
.chip-din { display: flex; flex-direction: column; padding: 4px 12px; border-radius: 10px; border: 1px solid var(--linha); background: var(--painel2); min-width: 86px; cursor: pointer; text-align: left; }
.chip-din small { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--tinta3); }
.chip-din b { font-variant-numeric: tabular-nums; color: var(--ambar2); font-size: 1.02rem; }
.chip-din.bolso { border-color: color-mix(in srgb, var(--ambar) 60%, transparent); }
.hud .barras { display: grid; grid-template-columns: repeat(4, minmax(122px, 140px)); gap: 4px 16px; }
.hud .medidor small { letter-spacing: .03em; }
.hud .medidor small b { margin-left: 6px; }
.hud .medidor small { display: flex; justify-content: space-between; font-size: .68rem; color: var(--tinta3); text-transform: uppercase; letter-spacing: .06em; }
.hud .medidor small b { color: var(--tinta); font-variant-numeric: tabular-nums; }
.hud .barra { height: 7px; }
.status { display: flex; gap: 6px; flex-wrap: wrap; }
.nav-lateral { position: sticky; top: 64px; align-self: start; height: calc(100vh - 64px); padding: 16px 12px; display: flex; flex-direction: column; gap: 4px; border-right: 1px solid var(--linha); overflow-y: auto; }
.nav-lateral button, .nav-baixo button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 46px; padding: 8px 14px; border-radius: 10px; border: 1px solid transparent; background: none; cursor: pointer; color: var(--tinta2); font-weight: 600; text-align: left; }
.nav-lateral button:hover { background: var(--painel2); color: var(--tinta); }
.nav-lateral button.ativo { background: linear-gradient(90deg, color-mix(in srgb, var(--ambar) 22%, transparent), transparent); border-color: color-mix(in srgb, var(--ambar) 40%, transparent); color: var(--ambar2); }
.nav-lateral .marca { font-family: 'Limelight', Georgia, serif; color: var(--ambar); font-size: 1.15rem; line-height: 1.1; padding: 6px 14px 14px; }
.nav-lateral .rodape { margin-top: auto; font-size: .75rem; color: var(--tinta3); padding: 10px 14px; }
.nav-baixo { display: none; }
main#vista { padding: 18px 22px 60px; min-width: 0; max-width: 1280px; width: 100%; overflow-x: clip; }
.vista-entra { animation: entra .35s ease both; }
@keyframes entra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.cabeca-vista { display: flex; align-items: end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.cabeca-vista h1 { font-family: 'Limelight', Georgia, serif; font-size: clamp(1.7rem, 4vw, 2.5rem); color: var(--ambar2); }

/* ---------- cartões de ação ---------- */
.acao-card { display: flex; flex-direction: column; gap: 10px; }
.acao-card h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.12rem; }
.numeros { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .88rem; color: var(--tinta2); }
.numeros b { color: var(--tinta); }
.bloqueio { font-size: .85rem; color: var(--alerta); }
.prox-passo { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; background: linear-gradient(110deg, color-mix(in srgb, var(--ambar) 18%, var(--painel-solido)), var(--painel-solido)); }
.prox-passo .selo { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--ouro); color: #1c1206; font-family: 'Limelight', Georgia, serif; font-size: 1.4rem; box-shadow: 0 0 0 4px color-mix(in srgb, var(--ambar) 30%, transparent); }
.rota { display: grid; gap: 6px; }
.rota li { list-style: none; display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 8px; font-size: .92rem; }
.rota li.feito { color: var(--tinta3); text-decoration: line-through; text-decoration-color: var(--linha2); }
.rota li.atual { background: color-mix(in srgb, var(--ambar) 14%, transparent); border: 1px solid color-mix(in srgb, var(--ambar) 40%, transparent); font-weight: 600; }
.rota .marca { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--linha2); display: grid; place-items: center; font-size: .75rem; flex: none; }
.rota li.feito .marca { background: var(--ok); border-color: var(--ok); color: #fff; }
ol.rota { padding: 0; margin: 0; }
.andamento { display: grid; gap: 10px; }
.andamento .item { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; }
.andamento .item .ic { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--painel2); color: var(--ambar); }

/* ---------- gazeta ---------- */
.gazeta { background: #efe4c8; color: #1d1610; border-radius: 6px; padding: 16px 18px; box-shadow: var(--sombra); font-family: 'Playfair Display', Georgia, serif; position: relative; }
.gazeta::before { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: 6px; background: radial-gradient(ellipse at 30% 20%, transparent 60%, rgba(120,80,20,.18)); }
.gazeta .cab { text-align: center; border-bottom: 3px double #1d1610; padding-bottom: 8px; margin-bottom: 10px; }
.gazeta .cab b { font-family: 'Limelight', Georgia, serif; font-size: 1.7rem; letter-spacing: .05em; display: block; }
.gazeta .cab small { font-family: 'Inter', sans-serif; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.gazeta article { padding: 8px 0; border-bottom: 1px solid rgba(29,22,16,.25); }
.gazeta article:last-child { border: 0; }
.gazeta article h4 { font-size: 1.02rem; font-weight: 700; }
.gazeta article p { margin: 2px 0 0; font-family: 'Inter', sans-serif; font-size: .87rem; color: #3a2e22; }
.gazeta article.perda h4 { color: #8a1e14; } .gazeta article.ok h4 { color: #1e5a2e; } .gazeta article.alerta h4 { color: #7a4a00; }
.gazeta .data { font-family: 'Inter', sans-serif; font-size: .72rem; color: #6a5a46; }
.gazeta-lista { max-height: 460px; overflow-y: auto; }

/* ---------- negócios e distribuição ---------- */
.cena-info { position: absolute; z-index: 3; left: 14px; bottom: 14px; right: 14px; display: flex; gap: 10px; align-items: end; justify-content: space-between; flex-wrap: wrap; }
.cena-info .placa { background: rgba(8,10,12,.8); border: 1px solid rgba(230,168,74,.55); border-radius: 10px; padding: 10px 14px; color: #f2e8d2; min-width: 220px; max-width: 420px; }
.cena-info .placa .titulo-deco { color: #f6cd7c; font-size: 1.2rem; }
.alambique-cena:not(.rodando) .producao { opacity: .12; }
.estagios { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.estagio { border-radius: 10px; overflow: hidden; border: 1px solid var(--linha); position: relative; }
.estagio .slot, .estagio svg { display: block; width: 100%; aspect-ratio: 2/1; height: auto; }
.estagio span { position: absolute; left: 8px; bottom: 6px; font-size: .78rem; font-weight: 700; color: #f2e8d2; text-shadow: 0 1px 4px #000; }
.estagio.bloq { filter: grayscale(1) brightness(.45); }
.estagio.atual { border-color: var(--ambar); box-shadow: 0 0 0 2px var(--ambar); }
.estoque { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.estoque .prod { display: flex; gap: 10px; align-items: center; padding: 10px; border-radius: 12px; background: var(--painel2); border: 1px solid var(--linha); }
.estoque .prod svg { width: 52px; height: auto; flex: none; }
.estoque .prod b { font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.veiculo-card .arte { background: radial-gradient(ellipse at 50% 70%, color-mix(in srgb, var(--ambar) 18%, transparent), transparent 70%); border-radius: 10px; }
.veiculo-card .arte svg { width: 100%; height: auto; display: block; max-height: 150px; }
.contrato { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; }
.contrato svg { width: 64px; height: auto; }
.contrato .valor { text-align: right; }
.contrato .valor b { display: block; font-size: 1.25rem; color: var(--ambar2); font-variant-numeric: tabular-nums; }
.estrada { position: relative; height: 120px; border-radius: 12px; overflow: hidden; background: linear-gradient(180deg, #0e1a20 0%, #142228 50%, #0b0f12 50%, #0b0f12 100%); border: 1px solid var(--linha); }
.estrada::before { content: ''; position: absolute; left: 0; right: 0; top: 86px; height: 3px; background: repeating-linear-gradient(90deg, #e6c26a 0 30px, transparent 30px 60px); opacity: .6; animation: faixa 1.2s linear infinite; }
@keyframes faixa { to { background-position: 60px 0; } }
.estrada .ponta { position: absolute; top: 12px; font-size: .75rem; color: #b8ad97; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.estrada .ponta.a { left: 12px; } .estrada .ponta.b { right: 12px; }
.estrada .caminhao { position: absolute; top: 50px; width: 80px; transform: translateX(-50%); transition: left .3s linear; }
.estrada .caminhao svg { width: 100%; display: block; animation: sacode .35s infinite alternate; }
.estrada .caminhao small { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); font-size: .7rem; white-space: nowrap; color: #f2e8d2; background: rgba(0,0,0,.6); padding: 1px 6px; border-radius: 6px; }
@keyframes sacode { to { transform: translateY(-1.5px); } }
.estrada .vazia { position: absolute; inset: 0; display: grid; place-items: center; color: #8a8270; font-size: .9rem; }

/* ---------- encontros e bar ---------- */
.assento { position: absolute; z-index: 4; transform: translate(-50%, -100%); width: 12%; max-width: 130px; background: none; border: 0; padding: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; animation: senta .5s both; }
.assento svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 6px 10px rgba(0,0,0,.6)); transition: transform .2s; }
.assento:hover svg, .assento:focus-visible svg { transform: translateY(-6px) scale(1.05); }
.assento .etq { font-size: .72rem; font-weight: 700; background: rgba(8,10,12,.85); color: #f2e8d2; border: 1px solid rgba(230,168,74,.6); padding: 2px 8px; border-radius: 99px; white-space: nowrap; max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.assento.investigado .etq { border-color: #7cc28c; }
.assento.agente .etq { border-color: #e66a5c; color: #ffb0a6; }
@keyframes senta { from { opacity: 0; transform: translate(-50%, -80%); } to { opacity: 1; transform: translate(-50%, -100%); } }
.encontro { display: grid; grid-template-columns: 70px 1fr; gap: 12px; align-items: start; }
.encontro .sil { width: 70px; border-radius: 10px; background: radial-gradient(ellipse at 50% 30%, #3a2616, #0c0806); overflow: hidden; }
.encontro .sil svg { display: block; width: 100%; }
.intel { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 6px; margin-top: 6px; }
.intel div { background: var(--painel2); border-radius: 8px; padding: 6px 10px; font-size: .85rem; }
.intel div small { display: block; color: var(--tinta3); font-size: .72rem; text-transform: uppercase; }

/* ---------- operação: escolha e cinemática ---------- */
.seletor { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 6px; }
.seletor button { min-height: 46px; border-radius: 10px; border: 1px solid var(--linha2); background: var(--painel2); cursor: pointer; font-weight: 600; padding: 6px; }
.seletor button.sel { background: var(--ouro); color: #1c1206; border-color: #7a4a14; }
.medidor-chance { position: relative; height: 26px; border-radius: 8px; overflow: hidden; background: linear-gradient(90deg, #7a2a20, #c8463a); border: 1px solid var(--linha2); }
.medidor-chance > i { position: absolute; left: 0; top: 0; bottom: 0; background: linear-gradient(90deg, #2c7640, #7cc28c); transition: width .4s; }
.medidor-chance > b { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-weight: 800; text-shadow: 0 1px 3px #000; }
.cinema { position: fixed; inset: 0; z-index: 400; background: radial-gradient(ellipse at 50% 40%, #1d1410 0%, #050304 80%); display: grid; place-items: center; padding: 20px; animation: fade .4s both; color: #f2e8d2; }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
.cinema .quadro { width: min(620px, 100%); text-align: center; }
.cinema .alvo { width: 160px; margin: 0 auto 10px; filter: drop-shadow(0 0 30px rgba(230,168,74,.35)); animation: respira 2s ease-in-out infinite; }
@keyframes respira { 50% { transform: scale(1.03); } }
.cinema .narr { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; min-height: 3em; }
.cinema .trilho { position: relative; height: 34px; border-radius: 8px; margin: 22px 0 6px; overflow: hidden; border: 1px solid #5a4a36; background: #7a2a20; }
.cinema .trilho .zona { position: absolute; left: 0; top: 0; bottom: 0; background: #2c7640; }
.cinema .trilho .agulha { position: absolute; top: -4px; bottom: -4px; width: 4px; background: #fff; box-shadow: 0 0 12px #fff; left: 0; }
.cinema .legenda { display: flex; justify-content: space-between; font-size: .8rem; color: #b8ad97; }
.cinema .carimbo { font-family: 'Limelight', Georgia, serif; font-size: clamp(2.4rem, 9vw, 4.4rem); margin: 16px 0 22px; transform: rotate(-6deg); display: inline-block; padding: 4px 20px; border: 5px solid currentColor; border-radius: 10px; animation: carimbo .5s cubic-bezier(.2,1.6,.4,1) both; }
.cinema .carimbo.ok { color: #7cc28c; } .cinema .carimbo.falha { color: #e66a5c; }
@keyframes carimbo { from { transform: rotate(-6deg) scale(2.4); opacity: 0; } to { transform: rotate(-6deg) scale(1); opacity: 1; } }
.cinema ul { text-align: left; max-width: 480px; margin: 10px auto 18px; padding-left: 20px; }

/* ---------- modal ---------- */
.modal-fundo { position: fixed; inset: 0; z-index: 300; background: rgba(4,6,8,.7); backdrop-filter: blur(4px); display: grid; place-items: center; padding: 16px; animation: fade .2s both; }
.modal { width: min(760px, 100%); max-height: calc(100vh - 32px); max-height: calc(100svh - 32px); overflow-y: auto; background: var(--painel-solido); border: 1px solid var(--linha2); border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.6); animation: sobe .3s cubic-bezier(.2,.8,.2,1) both; }
.modal.largo { width: min(1100px, 100%); }
@keyframes sobe { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
.modal .topo { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: var(--painel-solido); border-bottom: 1px solid var(--linha); }
.modal .topo h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; color: var(--ambar2); }
.modal .corpo { padding: 16px; }
.modal .cena { border-radius: 12px; }

/* ---------- toasts ---------- */
#toasts { position: fixed; z-index: 500; bottom: 18px; right: 14px; display: flex; flex-direction: column; gap: 8px; width: min(360px, calc(100vw - 28px)); pointer-events: none; }
.toast { pointer-events: auto; background: var(--painel-solido); border: 1px solid var(--linha2); border-left: 4px solid var(--azul); border-radius: 10px; padding: 10px 14px; box-shadow: var(--sombra); animation: toastIn .35s cubic-bezier(.2,.8,.2,1) both; font-size: .9rem; }
.toast b { display: block; font-family: 'Playfair Display', Georgia, serif; }
.toast.ok { border-left-color: var(--ok); } .toast.perda { border-left-color: var(--perigo); } .toast.alerta, .toast.evento { border-left-color: var(--alerta); }
.toast.objetivo { border-left-color: var(--ambar); background: linear-gradient(110deg, color-mix(in srgb, var(--ambar) 22%, var(--painel-solido)), var(--painel-solido)); }
.toast.sai { animation: toastOut .3s both; }
@keyframes toastIn { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes toastOut { to { transform: translateX(40px); opacity: 0; } }
.flutua { position: fixed; z-index: 600; pointer-events: none; font-weight: 800; font-size: 1.3rem; color: var(--ok); text-shadow: 0 2px 6px rgba(0,0,0,.6); animation: flutua 1.4s ease-out both; font-variant-numeric: tabular-nums; }
.flutua.neg { color: var(--perigo); }
@keyframes flutua { from { transform: translateY(0) scale(.8); opacity: 0; } 15% { opacity: 1; transform: translateY(-8px) scale(1.15); } to { transform: translateY(-60px) scale(1); opacity: 0; } }
.pulsa { animation: pulsaChip .6s; }
@keyframes pulsaChip { 40% { transform: scale(1.12); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok) 40%, transparent); } }

/* ---------- tabelas ---------- */
.tabela { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabela th, .tabela td { padding: 9px 10px; border-bottom: 1px solid var(--linha); text-align: left; }
.tabela th { color: var(--tinta3); font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.tabela td.n { text-align: right; font-variant-numeric: tabular-nums; }
.tabela tr.voce td { background: color-mix(in srgb, var(--ambar) 14%, transparent); font-weight: 700; }
.tabela-rolagem { overflow-x: auto; }
.trancado { opacity: .7; border-style: dashed; }
.campo { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; }
.campo input, .campo select { min-height: 46px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--linha2); background: var(--bg2); color: var(--tinta); font: inherit; font-size: 1rem; }
.qtd { display: grid; grid-template-columns: 46px 1fr 46px; gap: 6px; align-items: center; }
.qtd output { text-align: center; font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums; }

/* ---------- responsivo ---------- */
@media (max-width: 1100px) { .hud .barras { grid-template-columns: repeat(2, minmax(122px, 140px)); } }
@media (max-width: 960px) {
  .jogo { grid-template-columns: 1fr; }
  .nav-lateral { display: none; }
  .nav-baixo { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; z-index: 60; bottom: 0; left: 0; right: 0; background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: blur(10px); border-top: 1px solid var(--linha); padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); }
  .nav-baixo button { flex-direction: column; gap: 2px; padding: 6px 2px; font-size: .72rem; justify-content: center; text-align: center; min-height: 56px; }
  .nav-baixo button .ico { width: 1.45em; height: 1.45em; }
  .nav-baixo button.ativo { color: var(--ambar2); background: color-mix(in srgb, var(--ambar) 14%, transparent); }
  main#vista { padding: 14px 12px 96px; }
  .hud { flex-wrap: wrap; gap: 8px 10px; padding: 8px 10px; }
  .hud .grana { margin-left: auto; }
  .hud .barras { order: 3; width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 10px; }
  .hud .medidor small { font-size: .62rem; letter-spacing: .02em; }
  .status { order: 4; width: 100%; }
  .status:empty { display: none; }
  .detalhe { grid-template-columns: 1fr; }
  .detalhe .retrato-grande { max-width: 260px; margin: 0 auto; }
  #toasts { top: auto; bottom: 76px; }
  .toast { padding: 8px 12px; font-size: .84rem; }
  .modal-fundo { align-items: end; padding: 0; }
  .modal { width: 100%; border-radius: 18px 18px 0 0; max-height: 92vh; max-height: 92svh; }
}
@media (max-width: 640px) {
  .hud .quem .txt { display: none; }
  .hud .barras { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 14px; }
  .hud .medidor small { font-size: .7rem; }
  .hud .avatar { width: 40px; height: 40px; }
  .cena.hero { aspect-ratio: 16 / 10 !important; }
  main#vista { padding-top: 10px; }
  .chip-din { min-width: 0; padding: 3px 8px; }
  .chip-din b { font-size: .95rem; }
  .hud .grana { gap: 5px; }
  .ponto .etq .txt { display: none; }
  .ponto .etq { padding: 6px; }
  .cena .rotulo-cena .sub { display: none; }
  .evento-faixa { display: none; }
  .prox-passo { grid-template-columns: auto 1fr; }
  .prox-passo .btn { grid-column: 1 / -1; }
  .vd { grid-template-columns: 1fr; }
  .contrato { grid-template-columns: 48px 1fr; }
  .contrato svg { width: 48px; }
  .contrato .valor { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; text-align: left; }
  .cartas { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .attr { grid-template-columns: 92px 1fr 22px; font-size: .85rem; }
  .assento { width: 12.5%; }
  .assento .etq { display: none; }
  .assento .etq { font-size: .62rem; max-width: 90px; }
  .cena-info .placa { min-width: 0; width: 100%; }
  .estagios { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .estagio span { font-size: .65rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition: none !important; } }

/* ===================== v0.2 · pinturas, tom editorial e cidade viva ===================== */
.eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .22em; font-size: .72rem; font-weight: 700; color: var(--ambar); }
.cabeca-vista .eyebrow { margin-bottom: 4px; }
.cena-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.carta .arte img, .detalhe .retrato-grande img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; display: block; }
.detalhe .retrato-grande img { aspect-ratio: 300 / 380; height: auto; }
.hud .avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 6%; transform: scale(1.6); transform-origin: 50% 12%; display: block; }
.carta .arte img { filter: saturate(1.05) contrast(1.03); transition: transform .5s; }
.carta:hover .arte img { transform: scale(1.04); }

/* abertura com pintura e movimento lento de câmera */
.abertura .fundo .cena-img { object-position: 30% 50%; }
.kenburns .slot { animation: kenburns 40s ease-in-out infinite alternate; }
@keyframes kenburns { from { transform: scale(1.02) translate(0, 0); } to { transform: scale(1.14) translate(-3%, -1%); } }
.abertura .eyebrow { color: #efc27e; margin-bottom: 10px; animation: surge 1.2s both; }

/* herói da visão geral */
.cena.heroi::after { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(6,12,14,.88) 0%, rgba(6,12,14,.45) 45%, rgba(6,12,14,0) 75%); pointer-events: none; }
.heroi-texto { left: clamp(16px, 3vw, 40px); top: 50%; transform: translateY(-50%); z-index: 4 !important; max-width: 560px; color: #f6ecd6; display: flex; flex-direction: column; gap: 8px; }
.heroi-texto h2 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.5rem, 3.6vw, 2.9rem); line-height: 1.08; }
.heroi-texto h2 em { color: #f2c46e; font-style: italic; }
.heroi-texto .eyebrow { color: #efc27e; }
.heroi-texto .sub { color: #d8ccb4; }

/* relógio da noite */
.relogio-cidade { display: flex; flex-direction: column; align-items: flex-end; padding: 8px 14px; border: 1px solid var(--linha2); border-radius: 12px; background: var(--painel2); }
.relogio-cidade b { font-family: 'Playfair Display', Georgia, serif; font-size: 1.9rem; color: var(--ambar2); font-variant-numeric: tabular-nums; line-height: 1; }
.relogio-cidade span { font-size: .78rem; text-transform: uppercase; letter-spacing: .14em; color: var(--tinta3); }

/* tinta das fases da noite sobre a cena */
.fase-tinta { position: absolute; inset: 0; z-index: 1; pointer-events: none; transition: background 4s, opacity 4s; mix-blend-mode: multiply; }
.cidade-viva[data-fase="entardecer"] .fase-tinta { background: linear-gradient(180deg, rgba(255,150,80,.25), rgba(255,120,60,.12)); mix-blend-mode: soft-light; }
.cidade-viva[data-fase="noite"] .fase-tinta { background: transparent; }
.cidade-viva[data-fase="madrugada"] .fase-tinta { background: linear-gradient(180deg, rgba(10,20,60,.55), rgba(5,10,30,.35)); }
.cidade-viva[data-fase="alvorada"] .fase-tinta { background: linear-gradient(180deg, rgba(255,170,190,.35), rgba(150,120,200,.15) 60%, transparent); mix-blend-mode: soft-light; }

/* oportunidades na rua: marcador com anel de tempo */
.marcador-rua { --p: 360deg; position: absolute; z-index: 6; transform: translate(-50%, -50%); width: 44px; height: 44px; border-radius: 50%; border: 0; padding: 0; cursor: pointer; background: transparent; display: grid; place-items: center; animation: quica 1.4s ease-in-out infinite; }
.marcador-rua .anel { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(#ff6a5a var(--p), rgba(255,255,255,.15) 0); box-shadow: 0 0 0 0 rgba(255,106,90,.7); animation: pulsoRua 1.6s infinite; }
.marcador-rua .anel::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: #2a0c08; }
.marcador-rua b { position: relative; color: #ffd2c8; font-size: 1.3rem; font-weight: 900; font-family: Georgia, serif; }
.marcador-rua .dica { position: absolute; bottom: 120%; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: .75rem; font-weight: 700; background: rgba(40,10,6,.92); color: #ffe0d6; padding: 4px 10px; border-radius: 99px; border: 1px solid #ff6a5a; pointer-events: none; }
@keyframes quica { 50% { transform: translate(-50%, -62%); } }
@keyframes pulsoRua { 0% { box-shadow: 0 0 0 0 rgba(255,106,90,.7); } 70% { box-shadow: 0 0 0 18px rgba(255,106,90,0); } 100% { box-shadow: 0 0 0 0 rgba(255,106,90,0); } }

/* seus veículos e a viatura circulando na rua da cena */
.veiculo-rua { position: absolute; z-index: 5; bottom: 1.5%; width: 7%; min-width: 46px; transform: translateX(-50%); transition: left .3s linear; }
.veiculo-rua svg { width: 100%; display: block; animation: sacode .35s infinite alternate; filter: drop-shadow(0 0 6px rgba(255,200,120,.5)); }
.veiculo-rua small { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); font-size: .65rem; font-weight: 700; color: #f2e8d2; background: rgba(0,0,0,.65); padding: 0 6px; border-radius: 6px; white-space: nowrap; }
.veiculo-rua .pedestre { font-size: 1.6rem; display: block; text-align: center; }
.viatura { position: absolute; z-index: 5; bottom: 1%; width: 7%; min-width: 46px; animation: patrulha 15s linear infinite; }
.viatura svg { width: 100%; display: block; transform: scaleX(-1); }
.viatura .sirene { position: absolute; top: 4px; left: 40%; width: 18%; height: 14%; border-radius: 3px; animation: sirene .5s steps(2) infinite; box-shadow: 0 0 14px 6px rgba(255,40,40,.5); }
@keyframes patrulha { from { left: 104%; } to { left: -12%; } }
@keyframes sirene { 0% { background: #ff3030; box-shadow: 0 0 16px 8px rgba(255,40,40,.55); } 100% { background: #3a6bff; box-shadow: 0 0 16px 8px rgba(60,110,255,.55); } }

/* fogos na noite de festa */
.fogos { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.fogos i { position: absolute; top: 14%; width: 6px; height: 6px; border-radius: 50%; animation: fogo 3.9s ease-out infinite; box-shadow: 0 -40px 0 #ffd27a, 28px -28px 0 #ff8a6a, 40px 0 0 #ffd27a, 28px 28px 0 #9cc7ff, 0 40px 0 #ffd27a, -28px 28px 0 #ff8a6a, -40px 0 0 #9cc7ff, -28px -28px 0 #ffd27a; }
@keyframes fogo { 0% { transform: scale(.1); opacity: 0; } 15% { opacity: 1; } 60% { transform: scale(1.4); opacity: .8; } 100% { transform: scale(1.7); opacity: 0; } }

/* faixa de rumores */
.rumores { position: relative; margin: -1px 0 14px; border-radius: 0 0 var(--raio) var(--raio); height: 28px; overflow: hidden; background: linear-gradient(90deg, rgba(240,228,200,.78), rgba(240,228,200,.95) 8%, rgba(240,228,200,.95) 92%, rgba(240,228,200,.78)); color: #1d1610; font-family: 'Playfair Display', Georgia, serif; font-size: .82rem; display: flex; align-items: center; }
.cena.cidade-viva { border-radius: var(--raio) var(--raio) 0 0; }
.rumores .rumores-trilha { display: flex; gap: 40px; white-space: nowrap; animation: rumor 60s linear infinite; padding-left: 20px; }
.rumores span { flex: none; }
@keyframes rumor { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.cidade-viva .ponto { margin-top: -1.5%; }

/* painel "na rua agora", lugares e bairros */
.na-rua { margin-top: 14px; }
.rua-card { display: flex; flex-direction: column; gap: 6px; text-align: left; cursor: pointer; padding: 14px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--perigo) 50%, transparent); background: color-mix(in srgb, var(--perigo) 8%, var(--painel-solido)); color: var(--tinta); transition: transform .15s; }
.rua-card:hover { transform: translateY(-2px); border-color: var(--perigo); }
.rua-card b { font-size: 1.1rem; }
.lugar { text-align: left; cursor: pointer; }
.lugar:hover { border-color: var(--ambar); }
.bairro.seu { border-color: var(--ambar); background: linear-gradient(140deg, color-mix(in srgb, var(--ambar) 14%, var(--painel-solido)), var(--painel-solido)); }
.bairro h3 { font-size: 1.15rem; margin-top: 2px; }

@media (max-width: 640px) {
  .marcador-rua { width: 34px; height: 34px; }
  .marcador-rua .dica { display: none; }
  .rumores { height: 24px; font-size: .74rem; }
  .heroi-texto h2 { font-size: 1.35rem; }
  .heroi-texto .sub { display: none; }
  .cena.heroi { aspect-ratio: 4 / 3 !important; }
  .relogio-cidade b { font-size: 1.4rem; }
  .veiculo-rua small { display: none; }
}
.carta .arte, .detalhe .retrato-grande, .hud .avatar { position: relative; overflow: hidden; }
.carta .arte img, .detalhe .retrato-grande img, .hud .avatar img { position: static; }

/* ===================== v0.3 · loteria e assinatura ===================== */
.ponto .badge.ouro { background: linear-gradient(180deg, #f8d58a, #c8862a); color: #1c1206; font-weight: 800; }
.bilhete-grande { display: grid; grid-template-columns: 1fr auto; gap: 0; border-radius: 12px; overflow: hidden; background: #f1e4c4; color: #1d1610; box-shadow: var(--sombra); position: relative; border: 2px solid #b8862a; }
.bilhete-grande::before { content: ''; position: absolute; inset: 6px; border: 1px dashed rgba(120,80,20,.5); border-radius: 8px; pointer-events: none; }
.bilhete-grande .bg-esq { padding: 18px 20px; background: repeating-linear-gradient(45deg, transparent 0 14px, rgba(184,134,42,.06) 14px 28px); }
.bilhete-grande .eyebrow { color: #8a5208; }
.bilhete-grande .premio { font-family: 'Limelight', 'Playfair Display', Georgia, serif; font-size: clamp(2.2rem, 7vw, 3.6rem); line-height: 1.05; color: #7a3a10; text-shadow: 0 2px 0 #f8d58a; animation: brilhoPremio 3s ease-in-out infinite; }
@keyframes brilhoPremio { 50% { color: #a8561a; } }
.bilhete-grande .bg-dir { padding: 18px; border-left: 2px dashed #b8862a; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2px; min-width: 120px; text-align: center; }
.bilhete-grande .bg-dir b { font-size: 1.8rem; font-variant-numeric: tabular-nums; }
.bilhete-grande .bg-dir span:last-child { font-size: .85rem; color: #5a4a36; }
.num-loto { width: 110px; min-height: 46px; font-size: 1.3rem; text-align: center; letter-spacing: .2em; border-radius: 10px; border: 1px solid var(--linha2); background: var(--bg2); color: var(--tinta); font-variant-numeric: tabular-nums; }
.numeros-loto { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.numeros-loto span { font-variant-numeric: tabular-nums; font-weight: 700; padding: 4px 9px; border-radius: 6px; background: #f1e4c4; color: #1d1610; border: 1px solid #b8862a; font-size: .9rem; }
.numeros-loto span.acerto { background: #7cc28c; border-color: #2c7640; transform: scale(1.15); }
.cinema .rolos { display: flex; gap: 12px; justify-content: center; margin: 22px 0 6px; }
.cinema .rolos span { width: clamp(64px, 18vw, 96px); height: clamp(84px, 24vw, 124px); display: grid; place-items: center; font-family: 'Limelight', Georgia, serif; font-size: clamp(3rem, 12vw, 4.8rem); color: #1d1610; background: linear-gradient(180deg, #d8c8a2, #f6ecd2 40%, #f6ecd2 60%, #c8b892); border-radius: 10px; border: 3px solid #b8862a; box-shadow: inset 0 8px 14px rgba(0,0,0,.35), 0 10px 30px rgba(0,0,0,.5); }
.cinema .rolos span.fixo { animation: trava .35s cubic-bezier(.2,1.6,.4,1); color: #7a3a10; }
@keyframes trava { from { transform: translateY(-14px); } to { transform: none; } }
.assinatura { margin-top: 40px; padding: 18px 0 6px; border-top: 1px solid var(--linha); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; font-size: .8rem; color: var(--tinta3); }
.assinatura .autor, .assina { font-family: 'Playfair Display', Georgia, serif; font-style: italic; color: var(--ambar); font-size: .95rem; }
.abertura .assina-capa { display: block; margin-top: 18px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 1.05rem; color: #f2c46e; letter-spacing: .04em; text-shadow: 0 2px 8px #000; animation: surge 1.4s 1.1s both; }
.abertura .assina-capa::before, .abertura .assina-capa::after { content: '◆'; margin: 0 12px; opacity: .6; font-size: .6em; vertical-align: middle; font-style: normal; }
.carta.em-breve { cursor: default; }
.carta.em-breve:hover { transform: none; border-color: var(--linha); box-shadow: none; }
.carta.em-breve .arte img { filter: saturate(.8); }
.selo-breve { position: absolute; top: 38%; left: 50%; transform: translate(-50%, -50%) rotate(-8deg); font-family: 'Limelight', Georgia, serif; font-size: 1.25rem; letter-spacing: .08em; color: #f2c46e; border: 2px solid #f2c46e; padding: 4px 14px; border-radius: 6px; background: rgba(10,8,6,.55); white-space: nowrap; }
.cinema { z-index: 560; }
.cinema .carimbo.longo { font-size: clamp(1.5rem, 6.5vw, 3rem); }
@media (max-width: 640px) { .ponto .badge.ouro { display: none; } }

/* v0.3.1 · arte sazonal, legível também no celular */
.estacoes-opcoes { flex-wrap:wrap; gap:6px; }
.estacoes-opcoes button { flex:1 1 95px; }
.floco { animation:nevar var(--dur,12s) linear infinite; animation-delay:var(--delay,0s); }
.folha { animation:folhas var(--dur,15s) linear infinite; animation-delay:var(--delay,0s); }
@keyframes nevar { from { transform:translate(0,-80px); } to { transform:translate(60px,180px); } }
@keyframes folhas { from { transform:translate(-40px,-50px) rotate(0deg); } to { transform:translate(100px,180px) rotate(14deg); } }
@media(prefers-reduced-motion:reduce) { .floco,.folha { animation:none!important; } }
.carta .arte img,.retrato-grande img { object-position:50% 22%; }
.cena-pintada { background:#102127; }

/* 0.3.2 · clima em canvas: nenhum efeito captura clique ou toque. */
.cena canvas.chuva,.abertura canvas.chuva { position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2; }

.arte-expansao{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:10px;margin-bottom:12px}.retrato-companhia{width:110px;max-height:165px;object-fit:cover;float:left;margin:0 14px 10px 0;border-radius:8px}.casino-mesa{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:20px;align-items:center}.roleta-roda{width:100%;max-width:280px;filter:drop-shadow(0 8px 10px #0006)}.casino-resultado{padding:18px;background:var(--painel);font-size:1.15rem;border:1px solid var(--ambar)}.estagios{overflow-x:auto}.estagios .estagio{min-width:130px}input[data-campo^="cassino"]{max-width:130px;padding:10px;margin:8px;border-radius:6px}@media(max-width:600px){.casino-mesa{grid-template-columns:1fr}.roleta-roda{margin:auto;max-width:230px}}
.dezenas-loteria{display:grid;grid-template-columns:repeat(10,minmax(26px,1fr));gap:5px;margin:14px 0}.dezenas-loteria .btn{padding:8px 2px;min-width:0}.bilhete-jornal{padding:10px;border:1px dashed var(--cobre);font-variant-numeric:tabular-nums;letter-spacing:.08em}@media(max-width:420px){.dezenas-loteria{grid-template-columns:repeat(8,minmax(26px,1fr))}}
/* Seis atributos, dez blocos de dez pontos. */
.stat-linha{margin:16px 0}.stat-linha .mini{margin:5px 0 0;line-height:1.55}.stat-grupos{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin-top:7px}.stat-grupo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:3px;border:1px solid var(--borda,#456065);border-radius:4px;background:rgba(0,0,0,.1)}.stat-grupo.completo{border-color:#bd914e}.stat-mini{height:7px;background:rgba(135,155,155,.23);border-radius:1px}.stat-mini.preenchido{background:linear-gradient(#f1d187,#c68c43)}.attrs-novos{margin:16px 0}.requisitos span{display:inline-block}
@media(max-width:480px){.stat-grupos{gap:2px}.stat-grupo{padding:2px;gap:1px}.stat-mini{height:6px}}

/* ===================== 0.6.0 · telas mais limpas, guia do iniciante, capa ===================== */
/* capa: pintura da 0.3.0, chuva fixa, assinatura no rodapé à direita */
.abertura canvas.chuva-capa { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.abertura .assina-capa, .abertura .rodape { display: none; }
.abertura .lead { line-height: 1.5; }
.som-capa { position: absolute; top: 14px; right: 14px; z-index: 3; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(230,168,74,.55); background: rgba(10,20,22,.72); color: #f6cd7c; font-weight: 600; font-size: .85rem; cursor: pointer; }
.som-capa[aria-pressed="true"] { background: rgba(230,168,74,.18); }
.dica-capa { margin: 12px 0 0; font-size: .82rem; color: #b8ad97; animation: surge 1.4s .9s both; }
.rodape-capa { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); font-size: .72rem; line-height: 1.45; color: #9a9080; text-shadow: 0 1px 4px #000; }
.rodape-capa em { font-family: "Playfair Display", Georgia, serif; color: #f2c46e; font-size: .95rem; text-align: right; white-space: nowrap; flex: none; }
.rodape-capa span { min-width: 0; }
@media (max-width: 400px) { .rodape-capa { font-size: .66rem; padding-left: 12px; padding-right: 12px; } .rodape-capa em { font-size: .85rem; } }

/* HUD: no celular só o essencial */
.hud-dia { display: none; font-size: .8rem; color: var(--tinta2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.hud-ajuda { flex: none; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--linha2); background: var(--painel2); color: var(--ambar); font-weight: 800; font-size: 1rem; cursor: pointer; }
@media (max-width: 640px) {
  .hud { gap: 6px 8px; }
  .hud .chip-din:not(.bolso) { display: none; }
  .hud .grana { margin-left: 0; }
  .hud .medidor.sec { display: none; }
  .hud .barras { order: 0; width: auto; flex: 1; min-width: 110px; grid-template-columns: 1fr; gap: 2px; }
  .hud .medidor small { font-size: .62rem; }
  .hud-dia { display: block; margin-left: auto; }
  .status .tag.sec { display: none; }
}

/* navegação: abas trancadas e selo de novidade */
.nav-lateral button, .nav-baixo button { position: relative; }
.nav-lateral button.trancada, .nav-baixo button.trancada { opacity: .42; }
.nav-lateral button.trancada span::after { content: ' 🔒'; font-size: .8em; }
.selo-novo { display: none; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--perigo); box-shadow: 0 0 0 2px var(--bg); top: 8px; right: 10px; }
.nav-baixo .selo-novo { top: 6px; right: calc(50% - 18px); }
button.novo .selo-novo { display: block; }

/* menu Mais com assinatura no fim */
.lista-mais { display: grid; }
.item-mais { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 12px; padding: 14px 4px; border: 0; border-bottom: 1px solid var(--linha); background: none; color: var(--tinta); text-align: left; cursor: pointer; font: inherit; }
.item-mais b { font-weight: 600; }
.item-mais span { font-size: .82rem; color: var(--tinta3); }
.assina-mais { margin: 16px 0 4px; text-align: center; font-size: .75rem; color: var(--tinta3); line-height: 1.5; }
.assina-mais em { display: block; margin-top: 4px; font-family: 'Playfair Display', Georgia, serif; color: var(--ambar); font-size: .92rem; }

/* blocos recolhíveis */
.det { border: 1px solid var(--linha); border-radius: 12px; background: var(--painel-solido); margin-top: 12px; }
.det > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; cursor: pointer; min-height: 46px; }
.det > summary::-webkit-details-marker { display: none; }
.det > summary b { font-weight: 600; color: var(--tinta); }
.det > summary span { font-size: .8rem; color: var(--tinta3); text-align: right; }
.det > summary span::after { content: ' ▸'; }
.det[open] > summary span::after { content: ' ▾'; }
.det-corpo { padding: 0 14px 14px; }
.painel .det { background: transparent; }
.det .secao-titulo { margin-top: 4px; }

/* chips de requisito */
.chip { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--linha2); border-radius: 999px; padding: 3px 10px; font-size: .8rem; color: var(--tinta2); background: var(--painel2); }
.chip.ok { color: var(--ok); border-color: color-mix(in srgb, var(--ok) 55%, transparent); }
.chip.falta { color: var(--perigo); border-color: color-mix(in srgb, var(--perigo) 55%, transparent); }
.requisitos, .faltas { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }

/* visão geral */
.geral-duas { display: grid; grid-template-columns: 1fr; gap: 14px; }
.geral-duas .coluna { display: grid; gap: 14px; align-content: start; }
.geral-duas .coluna > .det { margin-top: 0; }
@media (min-width: 961px) { .geral-duas { grid-template-columns: 1.2fr 1fr; } }
.passo-card { border: 1px solid color-mix(in srgb, var(--ambar) 55%, transparent); background: linear-gradient(135deg, color-mix(in srgb, var(--ambar) 14%, var(--painel-solido)), var(--painel-solido)); border-radius: 16px; padding: 18px; box-shadow: var(--sombra); }
.passo-card h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.45rem; margin: 6px 0 4px; }
.passo-card p { color: var(--tinta2); margin: 0 0 12px; }
.trilha { list-style: none; margin: 8px 0 0; padding: 0; }
.trilha li { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px dashed var(--linha); font-size: .93rem; color: var(--tinta2); }
.trilha li:last-child { border-bottom: 0; }
.trilha .n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 800; border: 1px solid var(--linha2); color: var(--tinta3); }
.trilha li.feito span:first-of-type { color: var(--tinta3); text-decoration: line-through; }
.trilha li.feito .n { background: var(--ok); border-color: var(--ok); color: #0a1416; }
.trilha li.agora { color: var(--tinta); font-weight: 700; }
.trilha li.agora .n { background: var(--ambar); border-color: var(--ambar); color: #1c1206; }
.attr-curto { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 10px; }
.attr-curto div { background: var(--painel2); border: 1px solid var(--linha); border-radius: 10px; padding: 6px 0; text-align: center; }
.attr-curto b { display: block; font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.attr-curto small { font-size: .64rem; color: var(--tinta3); letter-spacing: .06em; }
.lista-curta { margin: 0; padding-left: 18px; }
.lista-curta li { margin: 4px 0; }

/* sub-abas */
.subabas { display: flex; gap: 6px; overflow-x: auto; padding: 2px 0 10px; margin-bottom: 4px; scrollbar-width: none; }
.subabas::-webkit-scrollbar { display: none; }
.subabas button { flex: none; min-height: 38px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--linha2); background: var(--painel2); color: var(--tinta2); font: inherit; font-size: .88rem; cursor: pointer; }
.subabas button.sel { background: var(--ambar); border-color: var(--ambar); color: #1c1206; font-weight: 700; }
:root[data-tema="claro"] .subabas button.sel { color: #fff8ea; }
.fabrica.sem .arte-expansao { filter: saturate(.6) brightness(.85); }

/* listas compactas: polícia e serviços */
.lista-policia, .lista-servicos { display: grid; }
.item-pol, .item-servico { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--linha); }
.item-pol:last-child, .item-servico:last-child { border-bottom: 0; }
.item-pol.fechado { opacity: .55; }
.item-servico .bloqueio { margin-top: 4px; }

/* guia: véu, anel e balão */
.guia-veu { position: fixed; inset: 0; z-index: 900; background: rgba(5,10,12,.55); }
.guia-anel { position: fixed; z-index: 901; border-radius: 14px; box-shadow: 0 0 0 3px var(--ambar), 0 0 22px color-mix(in srgb, var(--ambar) 60%, transparent); pointer-events: none; animation: guiaPulso 1.6s ease-in-out infinite; }
@keyframes guiaPulso { 50% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--ambar) 55%, transparent), 0 0 30px color-mix(in srgb, var(--ambar) 40%, transparent); } }
.guia-balao { position: fixed; z-index: 902; max-width: 320px; background: var(--painel-solido); border: 2px solid var(--ambar); border-radius: 14px; padding: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.6); color: var(--tinta); }
.guia-balao::before { content: ''; position: absolute; left: var(--seta, 30px); top: -11px; width: 18px; height: 18px; background: var(--painel-solido); border-left: 2px solid var(--ambar); border-top: 2px solid var(--ambar); transform: rotate(45deg); }
.guia-balao.acima::before { top: auto; bottom: -11px; transform: rotate(225deg); }
.guia-balao.sem-seta::before { display: none; }
.guia-balao h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; margin: 4px 0 6px; }
.guia-balao p { margin: 0 0 12px; font-size: .95rem; }
.guia-n { font-size: .72rem; color: var(--tinta3); }
.guia-botoes { display: flex; gap: 8px; flex-wrap: wrap; }
@media (prefers-reduced-motion: reduce) { .guia-anel { animation: none; } }
.item-mais.fechado { opacity: .5; }

/* ===================== 0.7.0 · menos texto, mais desenho ===================== */
/* linguagem de ícones: número com ícone */
.nums { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.num { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--linha); border-radius: 999px; padding: 3px 10px 3px 7px; background: var(--painel2); color: var(--tinta); font-size: .9rem; line-height: 1.2; white-space: nowrap; }
.num b { font-weight: 800; font-variant-numeric: tabular-nums; }
.num .ico { width: 1.15em; height: 1.15em; color: var(--tinta2); }
.num.ouro { border-color: color-mix(in srgb, var(--ambar) 55%, transparent); color: var(--ambar2); }
.num.ok { border-color: color-mix(in srgb, var(--ok) 55%, transparent); color: var(--ok); }
.num.ok .ico, .num.perigo .ico { color: currentColor; }
.num.perigo { border-color: color-mix(in srgb, var(--perigo) 55%, transparent); color: var(--perigo); }
.ico.moeda { width: 1.15em; height: 1.15em; }
.requisitos.nums { margin: 8px 0 0; }
.btn-treino { display: inline-flex; gap: 4px; align-items: center; }
.btn-treino .ico { width: 1.05em; height: 1.05em; }
.legenda-icones { margin-top: 14px; padding-top: 10px; border-top: 1px dashed var(--linha); display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .8rem; color: var(--tinta3); }
.legenda-icones span { display: inline-flex; align-items: center; gap: 5px; }
.legenda-icones .ico { width: 1.1em; height: 1.1em; }

/* cais em blocos */
.grade-trab { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 900px) { .modal .grade-trab { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.det .grade-trab { margin-top: 8px; }
.trab { position: relative; display: flex; flex-direction: column; border: 1px solid var(--linha2); border-radius: 14px; overflow: hidden; background: var(--painel2); }
.trab-cena { position: relative; aspect-ratio: 4 / 3; background: #070b0c; }
.trab-cena svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.trab-nome { font-family: 'Playfair Display', Georgia, serif; font-size: 1rem; line-height: 1.15; padding: 8px 10px 4px; color: var(--tinta); }
.trab .nums { padding: 2px 10px 10px; gap: 5px; }
.trab .num { font-size: .82rem; padding: 2px 8px 2px 6px; }
.trab > .btn { margin: auto 10px 10px; }
.trab-bloq { font-size: .72rem; color: var(--tinta3); padding: 0 10px 10px; margin-top: -4px; line-height: 1.25; }
.trab.parado .trab-cena { filter: saturate(.4) brightness(.75); }
.trab.andando { border-color: var(--ambar); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ambar) 35%, transparent), 0 10px 30px rgba(230,168,74,.15); }
.trab-barra { margin: auto 10px 6px; height: 8px; }
.trab-falta { display: flex; align-items: center; gap: 5px; padding: 0 10px 10px; font-weight: 700; color: var(--ambar2); font-variant-numeric: tabular-nums; }
.trab-falta .ico { width: 1.05em; height: 1.05em; }
.trab-selo { position: absolute; left: 8px; top: 8px; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; color: #f2c46e; background: rgba(0,0,0,.6); padding: 2px 8px; border-radius: 99px; }
/* silhuetas trabalhando (só no bloco em andamento) */
.trab.andando .srv-carga { animation: srv-carga 1.1s ease-in-out infinite; }
.trab.andando .srv-sacode { animation: srv-sacode .28s linear infinite alternate; }
.trab.andando .srv-anda { animation: srv-anda 3.2s ease-in-out infinite alternate; }
.trab.andando .srv-folha { animation: srv-folha 1.4s ease-in-out infinite; transform-origin: 93px 66px; }
.trab.andando .srv-perna-a { animation: srv-perna .5s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: top; }
.trab.andando .srv-perna-b { animation: srv-perna .5s ease-in-out infinite alternate-reverse; transform-box: fill-box; transform-origin: top; }
@keyframes srv-carga { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes srv-sacode { from { transform: translate(0, 0); } to { transform: translate(1px, -1px); } }
@keyframes srv-anda { from { transform: translateX(-14px); } to { transform: translateX(14px); } }
@keyframes srv-folha { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.6); } }
@keyframes srv-perna { from { transform: rotate(-10deg); } to { transform: rotate(10deg); } }

/* obra mostrada pela pintura do próximo nível */
.obra-visual { padding: 0; overflow: hidden; }
.obra-quadro { position: relative; aspect-ratio: 2 / 1; background: #070b0c; overflow: hidden; }
.obra-quadro > .slot, .obra-quadro > .slot svg, .obra-quadro .cena-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.obra-hoje { position: absolute; left: 10px; top: 10px; width: 30%; aspect-ratio: 2 / 1; border-radius: 9px; overflow: hidden; border: 2px solid rgba(255,255,255,.55); box-shadow: 0 6px 20px rgba(0,0,0,.6); z-index: 2; }
.obra-hoje .slot, .obra-hoje .slot svg, .obra-hoje .cena-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) brightness(.85); }
.obra-hoje small { position: absolute; left: 6px; bottom: 3px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 4px #000; font-weight: 800; z-index: 1; }
.obra-seta { position: absolute; z-index: 2; left: calc(10px + 30% + 4px); top: calc(10px + 6%); color: #f2c46e; filter: drop-shadow(0 2px 4px #000); }
.obra-seta .ico { width: 1.6em; height: 1.6em; }
.obra-rot { position: absolute; z-index: 2; left: 10px; right: 10px; bottom: 10px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 8px; }
.obra-rot b { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.15rem, 3vw, 1.7rem); color: #fff3d6; text-shadow: 0 2px 12px #000, 0 0 2px #000; line-height: 1.1; }
.obra-rot .num { background: rgba(0,0,0,.62); color: #f3e6c8; border-color: rgba(255,255,255,.25); }
.obra-rot .num .ico { color: #f3e6c8; }
.obra-corpo { padding: 12px 14px 14px; display: grid; gap: 10px; }
.obra-corpo .requisitos.nums { margin: 0; }
.obra-botoes { gap: 8px; }
.obra-botoes .btn { flex: 1 1 140px; }
.cofre-barra { position: relative; height: 32px; border-radius: 10px; background: var(--painel2); border: 1px solid var(--linha2); overflow: hidden; }
.cofre-barra > i { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #8a5a1a, #f2c46e); transition: width .6s ease; }
.cofre-barra.cheia > i { background: linear-gradient(90deg, #3f7c4e, #7cc28c); }
.cofre-barra .txt { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 10px; font-weight: 800; font-size: .88rem; color: var(--tinta); text-shadow: 0 1px 3px var(--bg); }
.cofre-barra .txt span { display: inline-flex; align-items: center; gap: 5px; }

/* recompensas */
.moeda-voa { position: fixed; z-index: 650; pointer-events: none; width: 22px; height: 22px; margin: -11px 0 0 -11px; filter: drop-shadow(0 3px 6px rgba(0,0,0,.6)); }
.moeda-voa .ico { width: 22px; height: 22px; }
.celebra { position: fixed; z-index: 660; left: 50%; top: 22%; transform: translateX(-50%); pointer-events: none; display: flex; align-items: center; gap: 10px; padding: 10px 18px 10px 12px; border-radius: 999px; background: color-mix(in srgb, var(--painel-solido) 92%, transparent); border: 1px solid var(--ambar); box-shadow: 0 10px 40px rgba(0,0,0,.5), 0 0 30px rgba(230,168,74,.35); animation: celebra 2.6s ease both; }
.celebra b { font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; color: var(--ambar2); white-space: nowrap; }
.celebra-ic { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ouro); color: #2a1806; }
.celebra-ic .ico { width: 24px; height: 24px; }
.celebra.parado { animation: none; }
@keyframes celebra { 0% { opacity: 0; transform: translate(-50%, 14px) scale(.8); } 12% { opacity: 1; transform: translate(-50%, 0) scale(1.06); } 20% { transform: translate(-50%, 0) scale(1); } 80% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, -18px); } }
.sirene-voa { display: inline-flex; align-items: center; gap: 4px; font-size: 1.05rem; }
.sirene-voa .ico { width: 1.1em; height: 1.1em; }
.sem-animacao .trab .srv-carga, .sem-animacao .trab .srv-sacode, .sem-animacao .trab .srv-anda, .sem-animacao .trab .srv-folha, .sem-animacao .trab [class^="srv-perna"] { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .trab * { animation: none !important; } .celebra { animation: none; } }
@media (max-width: 380px) { .trab .num { font-size: .76rem; padding: 2px 6px 2px 5px; } .trab-nome { font-size: .92rem; } }
.painel.fabrica .requisitos.nums { margin: 8px 0; } .painel.fabrica > .btn { margin-top: 6px; }
.obra-visual { max-width: 780px; }

/* 0.8.0 · a cidade acontece em imagens e ações. */
.local-ilustrado{height:190px;width:100%;background:#14282b;border-radius:12px;overflow:hidden;margin-bottom:18px;border:1px solid var(--linha)}
.acoes-agora,.lugares-visuais{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:24px}
.lugares-visuais{grid-template-columns:repeat(5,minmax(0,1fr))}
.acao-visual{position:relative;min-width:0;min-height:168px;padding:0;border:1px solid var(--linha);border-radius:12px;background:var(--painel);overflow:hidden;color:#fff2d9;cursor:pointer;text-align:left;transition:transform .18s,border-color .18s}
.acao-visual>img,.acao-visual>.local-ilustrado{display:block;height:168px;width:100%;object-fit:cover;border:0;margin:0;border-radius:0}
.acao-visual>span{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 12px;background:linear-gradient(transparent 20%,rgba(5,13,16,.95))}
.acao-visual b{font-size:1rem;font-family:'Playfair Display',Georgia,serif}.acao-visual small{font-size:.73rem;color:#e6d0a6;line-height:1.35;margin-top:5px}.acao-visual:hover{transform:translateY(-3px);border-color:var(--ambar)}
.npc-retrato{aspect-ratio:1;overflow:hidden;border-radius:12px;display:block;width:100%;height:auto;background:#332b22}
.assento .npc-retrato{border:2px solid #d5b47d;border-radius:50%;box-shadow:0 5px 20px #000b}.assento{max-width:94px;width:11%}
.pessoas-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:9px;margin:14px 0}
.pessoa-bar{background:var(--painel2);padding:5px;border:1px solid var(--linha);color:var(--tinta);border-radius:12px;cursor:pointer;min-width:0;text-align:center}.pessoa-bar .npc-retrato{border-radius:8px}.pessoa-bar span{display:block;font-size:.72rem;line-height:1.3;padding:7px 2px;overflow-wrap:anywhere}.pessoa-bar.sel,.pessoa-bar:hover{border-color:var(--ambar)}
.encontro{grid-template-columns:94px minmax(0,1fr)}.encontro .sil{width:94px;background:none}.fala-npc{border-left:3px solid var(--ambar);background:var(--painel2);margin:12px 0;padding:12px 14px;font-family:Georgia,serif;line-height:1.6}.bar-pedir{margin:14px 0;gap:12px}.comerciante-visual{overflow:hidden}.rosto-comerciante{float:right;width:90px;margin:0 0 12px 12px}
.carga-interativa{border:1px solid #94713b;background:var(--painel2);padding:14px;border-radius:12px;margin:12px 0;color:var(--tinta)}.carga-interativa>small{display:block;font-size:.72rem;line-height:1.5;color:var(--tinta2);margin-top:8px}.ritmo-carga{height:30px;position:relative;border:1px solid var(--linha);border-radius:8px;margin:12px 4px 16px;background:#14282b;overflow:hidden}.ritmo-zona{position:absolute;left:34%;width:38%;height:100%;background:repeating-linear-gradient(110deg,#ad8841 0 7px,#c6a862 7px 14px)}.ritmo-carga i{position:absolute;top:0;bottom:0;width:5px;border-radius:2px;background:#fff4cb;box-shadow:0 0 9px #fff;transform:translateX(-50%)}.trab .carga-interativa{grid-column:1/-1}.carga-interativa .btn{width:100%;white-space:normal}
.modalidades-loto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.loteria-cartao{min-width:0;background:linear-gradient(155deg,var(--painel2),var(--painel));padding:20px}.loteria-cartao.especial{border-color:#9a7a45}.loto-premio{font-size:clamp(2rem,5vw,3.3rem);font-family:'Playfair Display',Georgia,serif;color:var(--ambar);line-height:1.3;margin:16px 0 8px}.loto-resumo{display:flex;gap:10px;flex-wrap:wrap;border-block:1px solid var(--linha);padding:10px 0;font-size:.74rem}.loto-resumo b{display:block;font-size:.92rem;color:var(--tinta)}.loto-resumo>span{flex:1;min-width:72px}.dezenas-loteria{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.dezenas-loteria .btn{font-size:.8rem;padding:9px 0;min-width:0;min-height:36px;touch-action:manipulation;border-radius:7px}.dezenas-loteria .comprado{background:#285241;color:#d5efdc;border-color:#519671;opacity:.85}.loto-comprar{display:grid;gap:8px;margin:12px 0}.loto-comprar .btn{white-space:normal;width:100%}.seus-bilhetes{display:flex;gap:9px;align-items:center;min-height:52px;flex-wrap:wrap;margin:14px 0}.bilhete-numero{display:inline-grid;place-items:center;width:42px;height:42px;border:1px dashed var(--ambar);border-radius:7px;background:var(--painel2);font-weight:800;color:var(--ambar)}.premio-pendente{border:1px solid var(--ambar);border-radius:12px;padding:18px;margin-bottom:18px;background:var(--painel2)}.premio-pendente .linha{margin-top:12px}
.chamada-jornal{width:100%;display:flex;align-items:center;gap:18px;padding:20px;border:1px solid #ab8e61;border-radius:12px;background:#dfcfad;color:#262016;cursor:pointer;text-align:left}.chamada-jornal>span:nth-child(2){flex:1}.chamada-jornal b{display:block;font:700 1.3rem Georgia,serif;margin:5px 0}.chamada-jornal em{font-size:.8rem}.chamada-jornal small{font-size:.62rem;letter-spacing:.1em}.jornal-simbolo{font-size:3.3rem}.banca-jornal{text-align:center;padding:12px 16px 28px}.banca-jornal h2{font:700 clamp(1.5rem,4vw,2.4rem) Georgia,serif}.arquivo-jornal{display:block;max-width:350px;margin:18px auto 0;text-align:left;font-size:.8rem}.arquivo-jornal select{display:block;width:100%;margin-top:6px}.jornal-fechado{text-align:center;padding:40px 20px;background:#dfcfad;color:#30271d;border:1px solid #a58a59;border-radius:8px}.jornal-fechado>span{font-size:5rem}.jornal-fechado p{max-width:360px;margin:12px auto;line-height:1.6}.jornal-aberto{color:#2d261c;background:#e9dbbd;padding:24px;border-radius:5px}.jornal-aberto h2,.jornal-aberto h3,.jornal-aberto h4{color:#2d261c}.jornal-aberto .gazeta-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.jornal-aberto article{padding:18px 0;border-bottom:1px solid #958466;line-height:1.65}.jornal-aberto .manchete{grid-column:1/-1}.foto-manchete{width:100%;max-height:260px;object-fit:cover;margin:16px 0;filter:sepia(.7) saturate(.45)}.jornal-aberto small{color:#65533b}.bola-sorteio{display:grid;place-items:center;width:130px;height:130px;background:radial-gradient(circle at 30% 20%,#fff8da,#d2ad61 70%,#8d6326);border:5px solid #92713c;box-shadow:0 12px 45px #0007;border-radius:50%;color:#2a2318;font-size:4rem;font-weight:800;margin:24px auto;animation:revela-bola .55s both}.sorteio-novo .linha{justify-content:center}
@keyframes revela-bola{from{transform:translateY(-20px) scale(.75);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1100px){.acoes-agora{grid-template-columns:repeat(3,minmax(0,1fr))}.lugares-visuais{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.modalidades-loto{grid-template-columns:1fr}.local-ilustrado{height:145px}.acoes-agora,.lugares-visuais{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.acao-visual,.acao-visual>img,.acao-visual>.local-ilustrado{min-height:132px;height:132px}.acao-visual b{font-size:.98rem}.acao-visual small{font-size:.7rem}.acao-visual>span{padding:10px}.pessoas-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.encontro{grid-template-columns:64px minmax(0,1fr)}.encontro .sil{width:64px}.encontro .linha .btn{width:100%;justify-content:center}.encontro .intel{grid-template-columns:repeat(2,minmax(0,1fr))}.jornal-aberto .gazeta-lista{grid-template-columns:1fr}.loteria-cartao{padding:14px}.dezenas-loteria{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}.dezenas-loteria .btn{min-height:34px;font-size:.74rem}.chamada-jornal{padding:15px;gap:12px}.chamada-jornal b{font-size:1.12rem}.jornal-aberto{padding:15px}.bar-pedir .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.acao-visual{transition:none}.bola-sorteio{animation:none}.ritmo-carga i{box-shadow:none}}
.bebidas-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;margin:14px 0}.bebida-item{display:flex;align-items:center;gap:10px;text-align:left;background:var(--painel2);color:var(--tinta);padding:12px;border:1px solid var(--linha);border-radius:10px;cursor:pointer}.bebida-item:disabled{opacity:.5;cursor:default}.bebida-item:not(:disabled):hover{border-color:var(--ambar)}.bebida-item>span:nth-child(2){flex:1}.bebida-item b,.bebida-item small{display:block}.bebida-item small{font-size:.73rem;color:var(--tinta2);margin-top:5px}.copo-bebida{font-size:1.9rem}.bebida-item strong{color:var(--ambar)}

.local-ilustrado>svg{display:block;width:100%;height:100%}

/* 0.9.0 · cada porta leva a um ambiente. */
.modal.estabelecimento{--tinta:#f2e3c4;--tinta2:#cbb999;--tinta3:#bca887;--painel:#172c2bee;--painel-solido:#132927;--painel2:#1b3431;--linha:#806743;--linha2:#ae8a4e;border:6px solid #4e3421;outline:1px solid #bc9858;outline-offset:-9px;border-radius:7px;background-color:#201a14;background-image:repeating-linear-gradient(2deg,#60442a22 0 1px,transparent 1px 6px),linear-gradient(100deg,#221c16,#433323 48%,#1e1914);box-shadow:0 25px 100px #000d,inset 0 0 70px #0009}
.modal.estabelecimento>.topo{background:linear-gradient(90deg,#0b2424f5,#1d3631fa,#0b2424f5);border-bottom:3px double #b38b4c;padding:17px 22px;color:#f3dfb6;display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px}
.estabelecimento>.topo .endereco-local{display:block;flex-basis:100%;font-size:.6rem;text-transform:uppercase;letter-spacing:.24em;color:#c5a576;padding-right:45px}.estabelecimento>.topo h2{font-family:'Limelight',Georgia,serif;letter-spacing:.035em;color:#efd5a0}.estabelecimento>.topo>.icone-btn{position:absolute;right:17px;top:15px;border:1px solid #b28a4b;border-radius:50%;background:#18322e;color:#f0d8a7}.estabelecimento>.corpo{padding:22px}.estabelecimento>.corpo>p{line-height:1.65}.estabelecimento>.corpo>.painel{box-shadow:0 8px 24px #0003}
.ambiente-bar{border-color:#523422!important;background-color:#2d1f17!important}.modal.ambiente-bar>.topo{background:linear-gradient(90deg,#2a1710,#4a3020,#2a1710)}.modal.ambiente-cassino{border-color:#5e3427;background-image:radial-gradient(ellipse at 50% 20%,#264b3b,#132b23)}.modal.ambiente-hospital{border-color:#e0d5b8;--painel-solido:#183f39;--painel2:#245047}.modal.ambiente-hotel{border-color:#71572f}.modal.ambiente-bordel{border-color:#642c33;background-image:repeating-linear-gradient(90deg,#2c141a 0 28px,#4c202c 50px,#2c141a 72px)}.modal.ambiente-delegacia{border-color:#3e3430}.modal.ambiente-jornal{border-color:#65512f}.modal.ambiente-loteria{border-color:#70522b}
.portico-local{position:relative;min-height:310px;border:1px solid #ad8854;box-shadow:0 12px 32px #0006;overflow:hidden;border-radius:4px;margin-bottom:0;isolation:isolate}.portico-arte,.portico-arte>img,.portico-arte>.local-ilustrado{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;border:0;object-fit:cover}.portico-arte:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071513cf,transparent 80%)}.portico-legenda{position:absolute;bottom:85px;left:28px;right:22px;text-shadow:0 2px 8px #000}.portico-legenda small{color:#efd6a6;letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.portico-legenda h3{font:700 clamp(1.4rem,3.4vw,2.2rem) 'Playfair Display',Georgia,serif;color:#fff0d3;margin-top:6px;max-width:580px}.objeto-local{position:absolute;left:24px;bottom:20px;display:flex;align-items:center;gap:12px;color:#362919;background:#e2c99a;border:1px solid #9a753d;outline:1px dashed #8b6a3d;outline-offset:-6px;border-radius:3px;padding:12px 20px;box-shadow:0 5px 20px #0008;cursor:pointer;max-width:calc(100% - 48px)}.objeto-selo{width:30px;height:30px;display:grid;place-items:center;color:#775128}.objeto-local:hover,.objeto-local:focus-visible{background:#f5dfb2;transform:translateY(-2px)}.objeto-local b{font-family:Georgia,serif}.fala-atendente{padding:13px 18px;border-left:3px solid #c59b52;background:#172a27;border-bottom:1px solid #866c42;font:italic .95rem/1.6 Georgia,serif;margin:0 0 22px;color:#e6d5b5}
.ambiente-cais .grade-trab{padding:15px;background:repeating-linear-gradient(0deg,#715236 0 3px,#5a402b 3px 112px,#231a14 112px 116px);border:9px solid #412c1e;box-shadow:inset 0 3px 18px #0007}.ambiente-cais .trab{border:1px solid #ae8e58;box-shadow:2px 4px 10px #0005}.ambiente-fornecedor .qtd{background:#b99458;border:3px solid #382617;padding:8px;border-radius:3px;box-shadow:0 6px 14px #0004}.ambiente-fornecedor .qtd output{color:#241d15;background:#ebd7b0;border:1px solid #765733;padding:5px 10px}.ambiente-banco .grade.g3>.painel{border:2px solid #a3834c;border-radius:3px;background:linear-gradient(135deg,#253e34,#152a25)}
.vitrine-cena{position:relative;height:440px;overflow:hidden;isolation:isolate;border:2px solid #a77b3a;box-shadow:0 10px 25px #0007;margin-bottom:24px;background:#1e2c26}.vitrine-arte{position:absolute;inset:0;z-index:-2}.vitrine-arte>img,.vitrine-arte>.local-ilustrado{width:100%;height:100%;object-fit:cover;margin:0;border:0;border-radius:0}.vitrine-arte>.local-ilustrado svg{height:100%}.vitrine-cena:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#03151499,transparent 68%),linear-gradient(0deg,#100c08a0,transparent 30%)}.vitrine-loteria .vitrine-arte>img{object-position:65% 45%}.vitrine-jornal .vitrine-arte .local-ilustrado{background:none}.vitrine-jornal .vitrine-arte .local-ilustrado>svg{width:100%;height:100%}.letreiro-loja{position:absolute;left:22px;top:22px;padding:12px 20px;border:3px double #b28e50;background:#0d2625e8;color:#efd7a9;text-align:center;box-shadow:0 6px 15px #0009}.letreiro-loja small{display:block;letter-spacing:.14em;font-size:.59rem}.letreiro-loja h3{font-family:'Limelight',Georgia,serif;font-size:clamp(1.4rem,3.2vw,2rem);margin-top:5px}.vitrine-jornal .letreiro-loja h3{font-family:Georgia,serif}.fala-vendedor{position:absolute;right:18px;top:22px;max-width:235px;padding:12px 15px;border-radius:10px 10px 0 10px;background:#f1e2bfe8;color:#322718;box-shadow:0 5px 20px #0004}.fala-vendedor:after{content:'';position:absolute;right:12px;bottom:-13px;border:7px solid transparent;border-top-color:#f1e2bfe8}.fala-vendedor b,.fala-vendedor span{display:block}.fala-vendedor b{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:#876036}.fala-vendedor span{font:italic .9rem/1.4 Georgia,serif;margin-top:4px}.balcao-objetos{position:absolute;bottom:24px;left:30px;display:flex;gap:18px;align-items:flex-end;max-width:66%}
.exemplar-jornal{position:relative;width:235px;max-width:100%;border:1px solid #8b794f;background:#e6d4ac;color:#2b241b;padding:15px 16px 12px;box-shadow:7px 8px 0 #b4a07b,9px 9px 0 #51402b,0 16px 25px #000b;transform:rotate(-5deg);cursor:pointer;text-align:center;font-family:Georgia,serif;transition:transform .2s}.exemplar-jornal:hover:not(:disabled),.exemplar-jornal:focus-visible{transform:rotate(-1deg) translateY(-8px)}.exemplar-jornal:disabled{filter:grayscale(.7);opacity:.75;cursor:default}.exemplar-titulo{display:block;font-size:1.1rem;font-weight:700;padding-bottom:5px;border-bottom:3px double #4a3b27}.exemplar-filete{display:block;border-bottom:1px solid #4a3b27;margin-top:3px}.exemplar-gravura{display:block;height:55px;margin:8px 0 6px;background:linear-gradient(0deg,#4f4d3ca0,#c6b58d55),url('../assets/pinturas/heroi-ac.webp') 50% 50%/cover;filter:sepia(1)}.exemplar-colunas{display:block;height:28px;margin:0 0 8px;background:repeating-linear-gradient(0deg,transparent 0 3px,#77664c 3px 4px);column-count:3;opacity:.6}.exemplar-jornal strong{display:block;font-size:1rem;border-block:1px solid #8e7956;padding:5px 0}.exemplar-jornal small{display:block;margin-top:5px;text-transform:uppercase;letter-spacing:.1em;font-size:.57rem;color:#695139}
.talao-balcao{position:relative;width:215px;min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:18px 14px;background:#e8d8b6;color:#342d21;border:1px solid #a2824c;box-shadow:3px 5px 0 #9e8660,5px 7px 0 #41321e,0 10px 24px #000b;outline:1px dashed #ad8a53;outline-offset:-7px;transform:rotate(-4deg);cursor:pointer;text-align:center}.talao-balcao.especial{transform:rotate(3deg);background:#d9be77}.talao-balcao:hover,.talao-balcao:focus-visible{transform:translateY(-7px) rotate(0)}.talao-balcao small{font-size:.58rem;letter-spacing:.1em;font-weight:800}.talao-balcao b{font:700 1.9rem 'Playfair Display',Georgia,serif}.talao-balcao span{font-size:.72rem}.talao-balcao em{font:italic .8rem Georgia,serif;border-top:1px solid #a38d60;padding-top:8px}
.ambiente-loteria .loteria-cartao{background:#eddfbd;color:#32291d;border:1px solid #aa8b51;border-radius:2px;outline:1px solid #c0a677;outline-offset:-7px;box-shadow:3px 5px 0 #b6a27f,0 7px 16px #0004;--tinta:#352b1d;--tinta2:#65543a;--tinta3:#766249;--painel2:#dfcca4;--linha:#b59a69;--linha2:#b59a69;--ambar:#725122}.ambiente-loteria .loteria-cartao .loto-premio{color:#416048}.ambiente-loteria .loteria-cartao.especial .loto-premio{color:#826023}.ambiente-loteria .dezenas-loteria .btn{background:#f9eed6;color:#433823;border-color:#b8a37d;box-shadow:inset 0 -2px 0 #ddcdaa}.ambiente-loteria .dezenas-loteria .btn-ouro{background:#856535;color:#fff1cf;border-color:#5d482b}.ambiente-loteria .dezenas-loteria .comprado{background:#d1dfbd;color:#335439;box-shadow:none}.ambiente-loteria .loteria-cartao .tag{color:#655030;background:#e3d3aa}.ambiente-loteria .loto-comprar .btn-ouro{background:#38513b;color:#fff2d4;border-color:#203b29}.ambiente-loteria .loto-comprar .btn:not(.btn-ouro){background:#d9c49a;color:#352b1e}.recibo-banca{position:relative;width:270px;max-width:100%;margin:22px auto 28px;padding:19px 16px;background:#f1e5c7;color:#352b1e;box-shadow:0 7px 20px #0005;transform:rotate(-2deg);text-align:center;border-block:2px dashed #a58b57}.recibo-banca>small,.recibo-banca>b{display:block}.recibo-banca>small{font-size:.58rem;letter-spacing:.09em}.recibo-banca>b{font-family:Georgia,serif;margin:9px 0}.recibo-numeros{display:flex;justify-content:center;gap:8px;margin:14px 0}.recibo-numeros i{display:grid;place-items:center;width:42px;height:42px;border:2px solid #78603c;border-radius:50%;font:700 1.25rem Georgia,serif}
.cardapio-bar{position:relative;color:#3b2a1c;background:#e8d5af;background-image:linear-gradient(90deg,#a3814c25 0 1px,transparent 1px),radial-gradient(ellipse at 20% 0%,#fbebc8,#dfc49c);padding:30px;border:9px solid #523521;outline:1px solid #bb955d;outline-offset:-6px;box-shadow:0 10px 35px #0009;transform:rotate(-.3deg);margin:28px 3px 20px}.cardapio-bar:before,.cardapio-bar:after{content:'';position:absolute;width:14px;height:14px;border:2px solid #9a773e;pointer-events:none}.cardapio-bar:before{top:12px;left:12px;border-right:0;border-bottom:0}.cardapio-bar:after{bottom:12px;right:12px;border-top:0;border-left:0}.cardapio-bar header{text-align:center;border-bottom:3px double #94703e;padding-bottom:16px}.cardapio-bar header small{font-size:.57rem;letter-spacing:.18em;color:#7d5b37}.cardapio-bar h3{font:700 clamp(1.5rem,3.5vw,2.2rem) 'Playfair Display',Georgia,serif;margin:9px 0;color:#50351e}.cardapio-bar header p{font:italic .88rem Georgia,serif;color:#81613d}.cardapio-ornamento{display:block;margin-top:12px;font-size:.75rem;color:#a27d42}.cardapio-pedidos{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.cardapio-pedidos .bebida-no-cardapio{position:relative;display:flex;gap:10px;align-items:center;padding:16px 0;border:0;border-bottom:1px dotted #aa895d;border-radius:0;background:none;color:#3a291b;box-shadow:none;min-width:0}.cardapio-pedidos .bebida-no-cardapio:hover:not(:disabled){background:#fff2d155}.cardapio-pedidos .bebida-no-cardapio>span{flex:1;min-width:0}.cardapio-pedidos .bebida-no-cardapio b{font:700 1rem 'Playfair Display',Georgia,serif}.cardapio-pedidos .bebida-no-cardapio small{color:#725633;font-size:.69rem;line-height:1.5}.cardapio-pedidos .bebida-no-cardapio em{display:block;font:italic .72rem Georgia,serif;margin-top:7px;color:#4e643e}.cardapio-pedidos .bebida-no-cardapio:disabled{opacity:.65}.cardapio-pedidos .bebida-no-cardapio:disabled em{color:#7a4431}.cardapio-pedidos .bebida-no-cardapio strong{font:700 1.3rem Georgia,serif;color:#6c4827}.bebida-desenho{width:65px;height:82px;flex-shrink:0;filter:drop-shadow(2px 4px 3px #5c3c2130)}.cardapio-bar footer{padding-top:18px;text-align:center;font:italic .74rem/1.6 Georgia,serif;color:#7f603c}.pedido-servido{display:flex;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse,#75502a,#2b1b11);border:5px ridge #9e733d;padding:14px;margin:22px 0;box-shadow:0 10px 20px #0005;color:#f5e0ba}.pedido-servido .bebida-desenho{width:80px;height:100px}.pedido-servido small,.pedido-servido b,.pedido-servido em{display:block}.pedido-servido small{font-size:.57rem;letter-spacing:.16em;color:#d2ad72}.pedido-servido b{font:700 1.25rem Georgia,serif;margin:8px 0}.pedido-servido em{font-size:.72rem;color:#d9c09a}
.quartos-hotel .quarto-chave{position:relative;background:#e3d1ad;color:#3d2c1c;border:2px solid #9f7b41;border-radius:3px;--tinta2:#6b5030;--tinta3:#80603f}.chave-quarto{position:absolute;right:26px;top:24px;z-index:1;display:flex;flex-direction:column;align-items:center;font-size:2rem;line-height:1;color:#68461e;filter:drop-shadow(0 3px 3px #0006);background:linear-gradient(135deg,#e1c471,#a77c36);padding:8px 10px;border-radius:5px 5px 25px 25px;border:1px solid #724e22;box-shadow:inset 0 0 0 3px #ba934e}.chave-quarto b{font-size:1rem;padding:6px 0 3px}.quarto-chave h3{font-family:Georgia,serif}.quarto-chave .btn{background:#32554a;color:#f8e8c6}.ficha-atendimento{background:#eaddbd;color:#382d20;padding:26px;border:1px solid #a98d59;border-top:9px solid #817145;border-radius:3px;box-shadow:3px 6px 0 #8b795b,0 10px 25px #0006;--tinta:#392d1d;--tinta2:#69583d;--tinta3:#776346;--painel2:#cfbc97;--linha:#aa946d;--linha2:#a78c5d}.ficha-hospital{border-top-color:#407163}.carimbo-papel{display:inline-block;letter-spacing:.1em;padding:6px 10px;border:2px solid #906c40;color:#906c40;font-size:.64rem;font-weight:800;transform:rotate(-3deg)}.ficha-hospital>.carimbo-papel{color:#376b59;border-color:#376b59}.ficha-atendimento .btn{margin:6px;background:#3c5c4b;color:#f9eccd;border-color:#344a3a}.ficha-atendimento .btn-perigo{background:#754535;border-color:#6a3d2f}.livro-reservas{background:#e1c5aa;border:8px solid #653d35;padding:16px;box-shadow:0 12px 30px #0006;--tinta:#38231f;--tinta2:#5f3b31;--tinta3:#7b5144;--painel:#ead9c0;--linha:#b08b71}.livro-reservas .painel{border-radius:2px}.ambiente-cassino .casino-mesa{padding:22px;background:radial-gradient(ellipse at 40% 30%,#315f4b,#102d24);border:10px solid #70482b;outline:2px solid #ba9552;outline-offset:-5px;border-radius:60px 60px 18px 18px;box-shadow:inset 0 0 30px #001a0e,0 10px 30px #0007}.ambiente-cassino .casino-mesa .btn{border-radius:50%;min-width:65px;min-height:50px;border:3px dashed #e7d4a0}
.jornal-aberto{position:relative;transform-origin:50% 0;scroll-margin-top:88px;box-shadow:0 15px 45px #0009;background-image:linear-gradient(90deg,transparent 49.6%,#5e4a2e22 50%,transparent 50.4%)}.jornal-aberto .dobrar-jornal{float:right;font-size:.7rem;padding:7px 10px;margin:0 0 12px 12px;background:#e1d0aa;color:#493721;border:1px solid #9c8256}.jornal-aberto .cab{clear:both}.jornal-desdobrando:before{content:'The Evening Ledger';position:absolute;inset:0 50% 0 0;padding:60px 20px;text-align:center;background:repeating-linear-gradient(0deg,#dbc9a2 0 12px,#beaa8233 12px 13px);box-shadow:5px 0 20px #0007;font:700 1.6rem Georgia,serif;color:#42311f;z-index:2;transform-origin:100% 50%;animation:desdobra-jornal 950ms ease-out forwards;pointer-events:none}.jornal-desdobrando:after{content:'';position:absolute;inset:0 0 0 50%;background:linear-gradient(90deg,#99856855,transparent 20%);z-index:2;pointer-events:none;animation:some-dobra 950ms forwards}.jornal-fechado{margin-top:20px;padding:20px;background:#e4d3af}.arquivo-jornal{color:#e1cfaa;margin-bottom:24px}.arquivo-jornal select{color:#332a1e;background:#e5d5b0}.estabelecimento .jornal-aberto button{white-space:normal}.estabelecimento .jornal-aberto .btn{color:#3f301e;background:#ddc89f;border-color:#9f8257}
@keyframes desdobra-jornal{0%{transform:rotateY(0);opacity:1}60%{opacity:1}100%{transform:perspective(900px) rotateY(-170deg);opacity:0}}@keyframes some-dobra{0%{opacity:1}100%{opacity:0}}
@media(max-width:740px){.modal.estabelecimento>.corpo{padding:12px}.modal.estabelecimento{border-width:4px}.portico-local{min-height:260px}.portico-legenda{left:18px;bottom:85px}.objeto-local{left:14px;bottom:17px;max-width:calc(100% - 28px);padding:10px 13px;font-size:.85rem}.vitrine-cena{height:430px}.letreiro-loja{top:15px;left:12px;right:12px;padding:10px 12px}.letreiro-loja h3{font-size:1.5rem}.fala-vendedor{right:12px;top:105px;max-width:180px;padding:10px}.fala-vendedor span{font-size:.78rem}.vitrine-jornal .vitrine-arte .local-ilustrado>svg{width:100%;height:100%}.balcao-objetos{left:20px;bottom:25px;max-width:63%;gap:8px}.exemplar-jornal{width:180px;padding:10px}.exemplar-titulo{font-size:.86rem}.exemplar-gravura{height:40px}.exemplar-colunas{height:16px}.exemplar-jornal strong{font-size:.85rem}.taloes-balcao{left:14px;right:14px;max-width:none;gap:12px}.talao-balcao{width:50%;min-height:134px;padding:16px 8px}.talao-balcao b{font-size:1.45rem}.talao-balcao span{font-size:.65rem}.talao-balcao small{font-size:.51rem}.cardapio-bar{padding:23px 15px;border-width:6px;margin-inline:0}.cardapio-pedidos{grid-template-columns:1fr}.cardapio-pedidos .bebida-no-cardapio{gap:10px}.bebida-desenho{width:56px;height:74px}.cardapio-pedidos .bebida-no-cardapio b{font-size:1rem}.ficha-atendimento{padding:19px 15px}.ambiente-cassino .casino-mesa{padding:17px 12px;border-width:6px}.pedido-servido{gap:10px;padding:12px}.pedido-servido b{font-size:1.1rem}.estabelecimento>.topo{padding:14px}.estabelecimento>.topo .endereco-local{letter-spacing:.13em}.estabelecimento>.topo h2{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.jornal-desdobrando:before,.jornal-desdobrando:after{display:none}.exemplar-jornal,.talao-balcao,.objeto-local{transition:none}.modal.estabelecimento{animation:none}}
.sem-animacao .jornal-desdobrando:before,.sem-animacao .jornal-desdobrando:after{display:none}
.bar-balcao{aspect-ratio:16/9;overflow:hidden;border:3px solid #a78148!important;border-radius:2px!important;box-shadow:0 10px 25px #0009!important}.bar-balcao .assento{width:14%;max-width:none;transform:translate(-50%,-100%);padding:0;border:0;background:none;z-index:3}.bar-balcao .assento .pessoa-sentada{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 5px 5px #0009);border:0;border-radius:0;background:none;transition:filter .18s,transform .18s}.bar-balcao .assento:hover .pessoa-sentada,.bar-balcao .assento:focus-visible .pessoa-sentada{transform:translateY(-4px);filter:drop-shadow(0 0 4px #eac377)}.bar-balcao .assento .etq{position:absolute;bottom:0;transform:translateY(100%);background:#17251ff2;border-color:#c3a064;font-size:.62rem;max-width:120px;z-index:4}.bar-balcao .rotulo-cena{top:12px;left:18px;max-width:72%;text-shadow:0 2px 6px #000;pointer-events:none}.bar-balcao .rotulo-cena .titulo-deco{font-size:clamp(1rem,2.6vw,1.6rem);color:#f2d5a4}.bar-balcao .rotulo-cena .sub{font-size:.7rem}.cardapio-no-balcao{position:absolute;left:16px;top:17%;padding:10px 18px;color:#47321e;background:#e5cf9eea;border:2px solid #95713d;box-shadow:3px 5px 10px #0007;transform:rotate(-5deg);text-align:center;z-index:4;cursor:pointer}.cardapio-no-balcao small,.cardapio-no-balcao b,.cardapio-no-balcao span{display:block}.cardapio-no-balcao small{font-size:.48rem;letter-spacing:.2em}.cardapio-no-balcao b{font:700 1.1rem Georgia,serif;margin:4px 0}.cardapio-no-balcao span{font-size:.59rem}.cardapio-no-balcao:hover{transform:rotate(-1deg) translateY(-3px)}.chave-quarto{cursor:pointer}.chave-quarto:disabled{cursor:default;filter:grayscale(.5)}.chave-quarto:hover:not(:disabled){transform:rotate(-5deg)}
@media(max-width:740px){.bar-balcao{aspect-ratio:16/10}.bar-balcao .rotulo-cena{left:8px;top:7px}.bar-balcao .rotulo-cena .sub{display:none}.cardapio-no-balcao{left:9px;top:20%;padding:6px 10px}.cardapio-no-balcao b{font-size:.75rem}.cardapio-no-balcao span{font-size:.47rem}.bar-balcao .assento .etq{display:none}.bar-balcao .assento{width:14.5%}}
@media(prefers-reduced-motion:reduce){.bar-balcao .assento .pessoa-sentada{transition:none}}

/* 0.9.0 · leitura padronizada, escolhas curtas e indicadores estáveis. */
.texto-narrativo{font-family:Inter,Arial,sans-serif;font-size:.94rem;line-height:1.5;text-align:justify;text-indent:1.25em;hyphens:auto;max-width:72ch}.det-corpo p{line-height:1.5}.criar-compacta{max-width:1160px;padding:16px 20px 30px}.criar-compacta .passos{font-size:.75rem;margin:0 0 14px;gap:14px}.selecao-topo{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.criar-compacta .selecao-topo h1{font-size:clamp(1.5rem,3vw,2.2rem);text-align:left;line-height:1.2}.criar-compacta .intro{text-align:left;max-width:680px;font-size:.88rem;line-height:1.5;margin:7px 0 0}.escolha-personagens{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.escolha-personagens .carta{min-width:0}.criar-compacta .carta .info{padding:20px 10px 9px;background:linear-gradient(transparent,#07110ee0 60%)}.criar-compacta .carta .info b{font-size:.95rem;line-height:1.2}.criar-compacta .carta .info span{font-size:.6rem;letter-spacing:.02em;line-height:1.4}.criar-compacta .barra-acao{margin-top:18px;position:static;padding:12px 0 0;border-top:1px solid var(--linha);background:none}.perfil-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;max-width:880px;margin:0 auto}.perfil-retrato .retrato-grande{height:255px;overflow:hidden;border:1px solid var(--linha2);border-radius:8px}.perfil-retrato .retrato-grande .slot{height:100%;width:100%}.perfil-retrato .retrato-grande img,.perfil-retrato .retrato-grande svg{width:100%;height:100%;object-fit:cover;object-position:50% 14%}.perfil-retrato .vd{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.perfil-retrato .vd>div{font-size:.73rem;padding:10px;line-height:1.4}.perfil-retrato .vd b{font-size:.65rem;margin-bottom:5px}.perfil-conteudo h2{font:700 1.9rem 'Playfair Display',Georgia,serif;margin:9px 0 3px}.perfil-inicio{font-size:.79rem;color:var(--tinta2);margin:0 0 10px}.perfil-conteudo .citacao{font-size:.87rem;line-height:1.5;margin:10px 0 16px}.perfil-conteudo .det{margin-top:12px}.perfil-conteudo .det summary{padding:12px}.attrs-novos{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px;margin:12px 0}.attrs-novos .stat-linha{margin:0}.attrs-novos .stat-linha .linha{font-size:.76rem;gap:5px}.attrs-novos .stat-linha .linha>b:last-child{font-variant-numeric:tabular-nums;color:var(--tinta2);font-size:.7rem}.stat-grupos{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin-top:7px;height:17px}.stat-grupos>.stat-mini{height:17px;display:block;border-radius:2px;border:1px solid #63736666;background:linear-gradient(to top,#cca05b var(--preenchimento,0%),#77897a30 var(--preenchimento,0%));box-shadow:inset 0 1px 2px #0003}.legenda-atributos{font-size:.68rem;margin:9px 0 0;line-height:1.45}.escolha-cidades{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.criar-compacta .carta-cidade .arte{aspect-ratio:4/3}.criar-compacta .carta-cidade .info{padding:14px 9px 8px;background:linear-gradient(transparent,#07110ee8 62%)}.criar-compacta .carta-cidade .info b{font-size:.96rem}.criar-compacta .carta-cidade .info span{font-size:.57rem}.cidade-ficha{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.cidade-retrato{position:relative;height:330px;border-radius:8px;overflow:hidden;border:1px solid var(--linha2)}.cidade-retrato img{width:100%;height:100%;object-fit:cover}.cidade-retrato>span{position:absolute;inset:auto 0 0;padding:17px 16px 13px;font:700 1.3rem Georgia,serif;color:#f9e7c2;background:linear-gradient(transparent,#07110ed9)}.cidade-ficha h2{font:700 1.8rem 'Playfair Display',Georgia,serif;margin-bottom:10px}.cidade-ficha .vd{margin:14px 0;gap:10px}.cidade-ficha .vd>div{padding:12px;font-size:.8rem;line-height:1.5}.primeiro-contato{padding:13px;border:1px solid var(--linha);border-radius:8px;background:var(--painel2)}.primeiro-contato label{font-weight:700;font-size:.85rem;display:block}.primeiro-contato label small{font-weight:400;color:var(--tinta2);margin-left:7px}.primeiro-contato select{display:block;width:100%;min-width:0;margin-top:8px;padding:9px;font-size:.78rem}.primeiro-contato .mini{font-size:.68rem;line-height:1.4;margin-top:8px}
.hud{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(280px,1.6fr) 132px 34px;grid-template-rows:48px 25px;gap:4px 14px;padding:7px 15px;align-items:center;min-height:88px;box-sizing:border-box}.hud .quem{min-width:0;max-width:240px;overflow:hidden}.hud .quem .txt{display:block;min-width:0;overflow:hidden}.hud .nome{font-size:.86rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.hud .data{font-size:.63rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis}.hud .avatar{width:37px;height:37px}.hud .grana{margin:0;gap:5px;flex:none}.hud .chip-din{min-width:76px;padding:6px 9px}.hud .chip-din b{min-width:56px;font-size:.88rem;font-variant-numeric:tabular-nums;white-space:nowrap}.hud .chip-din small{font-size:.57rem}.hud .barras{order:0;width:auto;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hud .medidor.sec{display:block}.hud .medidor small{font-size:.56rem;letter-spacing:0;gap:4px;min-height:14px}.hud .medidor small b{font-size:.66rem;margin:0;font-variant-numeric:tabular-nums}.hud .barra{height:5px}.hud-dia{display:block;font-size:.71rem;width:132px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:0;min-width:132px;margin:0}.hud-ajuda{width:30px;height:30px;font-size:.85rem}.hud .status{grid-column:1/-1;display:flex;align-items:center;gap:7px;min-width:0;width:100%;height:25px;min-height:25px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;flex-wrap:nowrap;scrollbar-width:none;line-height:1}.hud .status .tag{flex:0 0 auto;font-size:.6rem;padding:4px 8px;white-space:nowrap;height:22px;box-sizing:border-box;font-variant-numeric:tabular-nums}.hud .status .tag .ico{width:13px;height:13px}.hud .status .sec{display:inline-flex}.cabeca-vista{margin-bottom:14px}.cabeca-vista h1{font-size:clamp(1.45rem,2.8vw,2.1rem)}.cabeca-vista .eyebrow{font-size:.63rem}.cabeca-vista .sub{font-size:.83rem}.acoes-agora{gap:10px;margin-bottom:16px}.acoes-agora .acao-visual,.acoes-agora .acao-visual>img,.acoes-agora .acao-visual>.local-ilustrado{height:115px;min-height:115px}.acoes-agora .acao-visual>span{padding:10px}.acoes-agora .acao-visual b{font-size:.92rem}.acoes-agora .acao-visual small{font-size:.64rem}.passo-card{padding:18px}.passo-card h2{font-size:1.5rem}.passo-card p{font-size:.87rem;line-height:1.5}.geral-duas{gap:16px}.ficha-curta{padding:14px}.geral-duas .det>summary{padding:12px 14px;font-size:.78rem}.geral-duas .det summary>span{font-size:.68rem}.cidade-painel{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.6fr);gap:18px;align-items:stretch}.cidade-panorama{height:100%;min-height:340px;aspect-ratio:auto}.cidade-panorama .sobre.rotulo-cena{left:12px;bottom:12px;top:auto;padding:12px;background:linear-gradient(transparent,#05110dc9);max-width:calc(100% - 24px);border-radius:5px}.cidade-panorama .titulo-deco{font-size:1.3rem}.cidade-panorama .sub{font-size:.66rem}.cidade-portas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cidade-lugar{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--linha2);border-radius:7px;background:var(--painel2);padding:0;cursor:pointer;color:var(--tinta);text-align:left;box-shadow:0 3px 12px #0002}.cidade-lugar>img,.cidade-lugar>.local-ilustrado{width:100%;height:64px;min-height:64px;object-fit:cover;margin:0;border:0;border-radius:0;display:block}.cidade-lugar>span{padding:8px 9px;min-width:0;display:block}.cidade-lugar b{font-size:.78rem;font-family:Georgia,serif;display:block;line-height:1.3}.cidade-lugar small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font-size:.59rem;line-height:1.4;color:var(--tinta2);margin-top:4px}.cidade-lugar:hover,.cidade-lugar:focus-visible{border-color:var(--ambar);box-shadow:0 0 0 1px var(--ambar)}.oportunidades-compactas{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;margin-top:10px;font-size:.8rem}.cidade-painel+.det,.oportunidades-compactas+.det{margin-top:14px}.mapa-detalhado{margin-bottom:18px}.cidade-painel~.det .det-corpo>.grade .bairro{margin-top:0}.nav-lateral>button .ico{width:23px;height:23px;stroke-width:1.7}.nav-lateral>button{gap:11px;padding-block:11px}
.toast{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 21px;gap:10px;align-items:start;border:1px solid var(--linha2);border-left-width:3px;border-radius:7px;padding:13px;box-shadow:0 10px 35px #0006;background:linear-gradient(110deg,var(--painel2),var(--painel-solido));font-size:.78rem}.toast b{font:700 .9rem Inter,Arial,sans-serif;line-height:1.35}.toast p{font-size:.75rem;line-height:1.5;margin:5px 0 0;color:var(--tinta2)}.aviso-icone{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--ambar);background:color-mix(in srgb,var(--ambar) 12%,transparent)}.toast.ok .aviso-icone{color:var(--ok)}.toast.alerta .aviso-icone,.toast.perda .aviso-icone{color:var(--perigo)}.aviso-icone>.ico{width:17px;height:17px}.aviso-fechar{border:0;background:none;color:var(--tinta2);padding:2px;cursor:pointer}.aviso-fechar>.ico{width:16px;height:16px}#toasts{width:min(345px,calc(100vw - 28px));gap:9px}.livro-reservas{grid-template-columns:repeat(5,minmax(0,1fr))}.livro-reservas .painel{padding:10px;min-width:0}.livro-reservas .retrato-companhia{height:155px;object-fit:cover;object-position:50% 15%;width:100%}.livro-reservas h3{font-size:1rem}.livro-reservas p{font-size:.7rem;line-height:1.4}.livro-reservas .btn{font-size:.69rem;width:100%;white-space:normal;padding:9px 5px}
@media(max-width:1150px){.hud{grid-template-columns:minmax(140px,1fr) auto minmax(200px,1.3fr) 116px 28px;gap:4px 9px}.hud-dia{width:116px;min-width:116px;font-size:.65rem}.hud .chip-din:not(.bolso){display:none}.hud .barras{grid-template-columns:repeat(4,minmax(0,1fr))}.cidade-painel{grid-template-columns:1fr}.cidade-panorama{height:180px;min-height:180px}.cidade-portas{grid-template-columns:repeat(6,minmax(0,1fr))}.cidade-lugar>img,.cidade-lugar>.local-ilustrado{height:55px;min-height:55px}.cidade-lugar small{display:none}.livro-reservas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.criar-compacta{padding:13px 13px 24px}.selecao-topo{gap:10px;align-items:start}.selecao-topo>.btn{font-size:.65rem;white-space:normal;max-width:100px;min-width:85px;padding:8px}.criar-compacta .intro{font-size:.78rem;margin-top:6px}.escolha-personagens{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.escolha-personagens .carta .info{padding:17px 7px 8px}.escolha-personagens .carta .info b{font-size:.7rem}.escolha-personagens .carta .info span{font-size:.48rem}.perfil-layout{grid-template-columns:1fr;gap:15px}.perfil-retrato{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}.perfil-retrato .retrato-grande{height:148px}.perfil-retrato .vd{margin:0;gap:6px}.perfil-retrato .vd>div{font-size:.68rem;line-height:1.4;padding:8px}.perfil-conteudo h2{font-size:1.45rem}.perfil-conteudo .citacao{font-size:.79rem;margin:8px 0 11px}.attrs-novos{gap:11px 15px;margin:10px 0}.attrs-novos .stat-linha .linha{font-size:.69rem}.stat-grupos{height:15px;gap:3px}.stat-grupos>.stat-mini{height:15px}.perfil-inicio{font-size:.7rem}.perfil-conteudo .tag{font-size:.66rem}.escolha-cidades{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.criar-compacta .carta-cidade .arte{aspect-ratio:16/9}.criar-compacta .carta-cidade .info b{font-size:.88rem}.criar-compacta .carta-cidade .info span{font-size:.51rem}.cidade-ficha{grid-template-columns:1fr;gap:14px}.cidade-retrato{height:160px}.cidade-ficha h2{font-size:1.45rem}.cidade-ficha .texto-narrativo{font-size:.8rem}.cidade-ficha .vd>div{padding:10px;font-size:.73rem}.cidade-ficha .vd{gap:8px}.primeiro-contato{padding:11px}.texto-narrativo{font-size:.84rem;line-height:1.5}.hud{grid-template-columns:minmax(110px,1fr) 82px 110px;grid-template-rows:41px 26px 22px;min-height:108px;gap:3px 8px;padding:6px 10px}.hud .quem{grid-column:1;grid-row:1;gap:7px}.hud .quem .txt{display:block}.hud .avatar{width:30px;height:30px;border-width:1px}.hud .nome{font-size:.7rem}.hud .data{font-size:.52rem}.hud .grana{grid-column:2;grid-row:1;margin:0}.hud .chip-din{min-width:0;width:82px;padding:5px 7px}.hud .chip-din:not(.bolso){display:none}.hud .chip-din b{font-size:.8rem;min-width:0}.hud .chip-din small{font-size:.49rem}.hud-dia{grid-column:3;grid-row:1;width:110px;min-width:110px;display:block;font-size:.61rem}.hud-ajuda{display:none}.hud .barras{grid-column:1/-1;grid-row:2;width:100%;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));order:0;gap:9px}.hud .medidor.sec{display:block}.hud .medidor small{font-size:.51rem;min-height:13px}.hud .medidor small b{font-size:.58rem}.hud .status{grid-row:3;height:22px;min-height:22px}.hud .status .tag{font-size:.53rem;height:20px;padding:3px 6px}.hud .status .tag.sec{display:inline-flex}.acoes-agora{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.acoes-agora .acao-visual,.acoes-agora .acao-visual>img,.acoes-agora .acao-visual>.local-ilustrado{height:92px;min-height:92px}.acoes-agora .acao-visual>span{padding:7px}.acoes-agora .acao-visual b{font-size:.78rem}.acoes-agora .acao-visual small{font-size:.51rem;line-height:1.3}.cabeca-vista{margin-bottom:12px}.cabeca-vista .sub{font-size:.75rem}.cidade-panorama{height:135px;min-height:135px}.cidade-portas{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cidade-lugar>img,.cidade-lugar>.local-ilustrado{height:43px;min-height:43px}.cidade-lugar>span{padding:7px 6px;min-height:30px}.cidade-lugar b{font-size:.68rem;line-height:1.2}.cidade-painel{gap:11px}.cidade-panorama .titulo-deco{font-size:1.15rem}.cidade-panorama .sub{font-size:.57rem}.cidade-panorama .sobre.rotulo-cena{bottom:5px;left:7px;padding:8px}.livro-reservas{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:10px}.livro-reservas .retrato-companhia{height:130px}.toast{padding:11px;gap:8px;grid-template-columns:23px minmax(0,1fr) 18px}.toast b{font-size:.78rem}.toast p{font-size:.68rem}.aviso-icone{width:23px;height:23px}#toasts{bottom:75px;width:min(320px,calc(100vw - 24px));right:12px}.nav-baixo .ico{width:22px;height:22px}}

.trabalho-escolha{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.trabalho-escolha>button{display:grid;grid-template-columns:25px 1fr;gap:5px 9px;align-items:center;text-align:left;color:var(--tinta);background:#192b27;border:1px solid #8e754a;padding:14px;border-radius:4px;cursor:pointer;font-weight:700}.trabalho-escolha small{grid-column:2;font-weight:400;font-size:.64rem;color:#cbb89a}.trabalho-escolha .sel{border-color:#e7bf72;box-shadow:inset 0 0 0 1px #d0a75e;background:#314338}.trabalho-escolha>button[data-id=sujo].sel{background:#4e3029}.filtro-trabalho{margin-bottom:14px;gap:12px}.filtro-trabalho label{font-size:.72rem;display:flex;align-items:center;gap:9px}.filtro-trabalho select{font-size:.75rem;max-width:230px;padding:7px}.ambiente-cais .grade-trab{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:14px}.ambiente-cais .trab{display:flex;flex-direction:column;gap:9px;background:#192c28;min-width:0;padding:10px}.ambiente-cais .trab-cena{height:112px;padding:0;overflow:hidden;position:relative;border:1px solid #8e754c;background:#162822}.trabalho-pintado{width:100%;height:100%;display:block}.trab .trab-selo{top:7px;right:5px;font-size:.5rem;padding:3px 6px}.trab .trab-selo.limpo{background:#315540}.trab .trab-selo.sujo{background:#813b2c}.ambiente-cais .trab .trab-nome{font:700 1rem/1.3 Georgia,serif;min-height:2.6em}.ambiente-cais .trab .nums{gap:5px}.ambiente-cais .trab .num{font-size:.68rem;padding:3px 5px}.ambiente-cais .trab .num .ico{width:14px;height:14px}.ambiente-cais .trab>.btn{margin-top:auto;font-size:.77rem}.trabalho-seguro{font-size:.58rem!important;color:#9cbea6;line-height:1.4;min-height:2.8em}.riscos-trabalho{display:flex;flex-wrap:wrap;gap:5px;font-size:.57rem;color:#e2a794;line-height:1.5}.riscos-trabalho>span{display:flex;align-items:center;gap:3px}.riscos-trabalho .ico{width:13px;height:13px}.paginacao-trabalhos{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.paginacao-trabalhos>span{font-size:.75rem}.trabalho-em-foco{max-width:740px;margin:0 auto 15px}.trabalho-em-foco .trab{display:grid;grid-template-columns:1fr 1fr;align-items:start;padding:18px;gap:12px 18px}.trabalho-em-foco .trab .trab-cena{grid-column:1;grid-row:1/5;height:240px}.trabalho-em-foco .trab .carga-interativa{grid-column:1/-1;margin:4px 0}.trabalho-em-foco .trab .trab-nome{min-height:0;font-size:1.4rem}.trabalho-em-foco .trab .barra,.trabalho-em-foco .tempo-trabalho{grid-column:2}.caixas-desafio{display:flex;gap:12px;max-width:320px;margin:12px auto}.caixas-desafio>button{position:relative;flex:1;min-width:0;background:#41321f;border:2px solid #9f8047;border-radius:4px;padding:8px;cursor:pointer;color:#f0dab0}.caixas-desafio svg{width:100%;display:block}.caixas-desafio b{position:absolute;inset:25% 0 0;font:700 1.4rem Georgia,serif;text-shadow:0 1px 3px #000}.etiqueta-alvo{display:inline-grid;place-items:center;background:#eedbad;color:#382c1b;width:28px;height:28px;border:1px solid #a28853;margin-left:5px}.carga-interativa p{font-size:.84rem;line-height:1.4;margin:10px 0}
.quadro-contratos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cartao-contrato{display:flex;min-width:0;text-align:left;padding:0;border:1px solid #ad8b53;background:#e8d8b5;color:#352b1f;box-shadow:2px 5px 0 #b9a47d;cursor:pointer;overflow:hidden;border-radius:2px}.cartao-contrato>img,.cartao-contrato>.local-ilustrado{width:35%;height:165px;object-fit:cover;margin:0;border:0;border-radius:0}.cartao-contrato>span{padding:13px 11px;display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.cartao-contrato small{font-size:.48rem;letter-spacing:.07em;color:#7d5830}.cartao-contrato b{font:700 1.05rem/1.3 Georgia,serif}.cartao-contrato strong{font-size:1.05rem;color:#3e5b3d}.cartao-contrato em{font-size:.64rem;margin-top:auto;color:#715a3b}.cartao-contrato:hover,.cartao-contrato:focus-visible{outline:2px solid var(--ambar);outline-offset:2px}.cartao-contrato.concluido{filter:grayscale(.65);opacity:.7}.contrato-ficha{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:25px;margin-top:18px;padding:22px;background:#e9daba;color:#382c1d;border:8px solid #5e442a;--tinta:#382c1d;--tinta2:#6b583c;--tinta3:#7e6848;--painel2:#d8c7a2;--linha:#b49c6a;--linha2:#9e8253;--ambar:#8c672b}.contrato-ilustracao{height:320px;position:relative}.contrato-ilustracao>img,.contrato-ilustracao>.local-ilustrado{width:100%;height:100%;object-fit:cover;margin:0;border-radius:3px;border:1px solid #8e764c}.contrato-ficha h2{font:700 1.65rem/1.3 Georgia,serif;margin:12px 0}.contrato-ficha .texto-narrativo{font-size:.83rem;line-height:1.5}.contrato-ficha .nums{margin:14px 0}.contrato-ficha .kv{font-size:.78rem;line-height:1.5;gap:7px 15px}.contrato-ficha .medidor-chance{margin:15px 0}.contrato-ficha .campo{font-size:.8rem}.contrato-ficha .bloqueio{font-size:.75rem;line-height:1.5}.contrato-ficha .btn-ouro{background:#3b5b42;color:#ffedce}.contrato-em-curso{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:24px;background:var(--painel2);border:1px solid var(--linha2);border-radius:8px}.contrato-em-curso>img,.contrato-em-curso>.local-ilustrado{width:100%;height:300px;object-fit:cover;margin:0}.contrato-em-curso h2{font:700 1.7rem Georgia,serif;margin:14px 0}.contrato-em-curso p{line-height:1.5;font-size:.88rem}.contrato-em-curso .barra{margin:15px 0}.contrato-resultado{display:flex;justify-content:space-between;gap:20px;padding:13px 16px;border:1px solid var(--linha2);border-left:4px solid var(--ok);font-size:.78rem;margin-bottom:15px;background:var(--painel2)}.contrato-resultado.perda{border-left-color:var(--perigo)}.trilha-politica{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.trilha-politica>div{border:1px solid var(--linha2);background:var(--painel2);padding:18px;display:flex;flex-direction:column;gap:8px;text-align:center;align-items:center;min-width:0}.trilha-politica .ico{width:30px;height:30px;color:var(--ambar)}.trilha-politica b{font:700 1.1rem Georgia,serif}.trilha-politica small{font-size:.7rem;color:var(--tinta2)}.trilha-politica .conquistado{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--painel2))}.campanha-politica{background:#e7d7b3;color:#382b1c;border:8px solid #5d4529;padding:24px;box-shadow:0 8px 24px #0003;--tinta:#382b1c;--tinta2:#6c583b;--painel2:#d9c399;--linha:#a18759;--linha2:#a18759}.campanha-politica h2{font:700 1.8rem Georgia,serif;margin:20px 0}.campanha-politica h3{margin:15px 0}.campanha-politica p{font-size:.87rem;line-height:1.5;margin:13px 0}.campanha-politica .mini{font-size:.74rem}.campanha-politica .nums{margin:15px 0}.campanha-politica .btn{background:#315745;color:#fff0d1}.campanha-politica .grade .btn{display:flex;flex-direction:column;gap:9px;padding:16px}.campanha-politica .btn small{font-size:.65rem;line-height:1.5;font-weight:400}.requisitos-politica{display:flex;gap:18px;margin:14px 0}.requisitos-politica span{display:flex;flex-direction:column;gap:5px;font-size:1rem;font-weight:700}.requisitos-politica b{font-size:.7rem;font-weight:400}.campanha-politica>.barra{margin:15px 0}.nav-baixo{grid-template-columns:repeat(6,minmax(0,1fr))}.nav-baixo>button span{font-size:.57rem}
.hud .quem{background:none;color:var(--tinta);border:0;padding:0;text-align:left;cursor:pointer;max-width:100%}.hud .quem:hover .avatar,.hud .quem:focus-visible .avatar{box-shadow:0 0 0 2px var(--ambar)}.hud .medidor small>.ico{width:12px;height:12px;flex:none}.hud-capacidades{position:relative;min-width:0}.hud-capacidades>summary{list-style:none;cursor:pointer;padding:0}.hud-capacidades>summary::-webkit-details-marker{display:none}.hud-capacidades>summary>small{display:flex;align-items:center;font-size:.55rem;color:var(--tinta2);gap:3px;white-space:nowrap}.hud-capacidades>summary .ico{width:12px;height:12px}.hud-capacidades>summary>b{font-variant-numeric:tabular-nums;font-size:.68rem;display:block;margin-top:4px;min-height:14px}.reservas-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:290px;max-width:calc(100vw - 24px);padding:17px;background:var(--painel-solido);color:var(--tinta);border:1px solid var(--ambar);border-radius:8px;box-shadow:0 12px 40px #0009;z-index:100}.reservas-menu>b{font:700 1rem Georgia,serif;display:block;margin-bottom:12px}.reserva-item{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-bottom:11px;align-items:center;font-size:.72rem}.reserva-item>span{display:flex;align-items:center;gap:6px}.reserva-item .ico{width:16px;height:16px;color:var(--ambar)}.reserva-item>b{font-variant-numeric:tabular-nums}.reserva-item .barra{grid-column:1/-1;height:5px}.reservas-menu>p{font-size:.65rem;line-height:1.5;color:var(--tinta2);margin-bottom:13px}.custos-atributos{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0}.custos-atributos>span{display:inline-flex;gap:4px;align-items:center;padding:4px 6px;border:1px solid var(--linha2);border-radius:4px;background:var(--painel2);font-size:.7rem;color:var(--tinta)}.custos-atributos .ico{width:15px;height:15px;color:var(--ambar)}.custos-atributos small{font-size:.58rem}.ficha-jogador{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px}.ficha-jogador>aside>img{width:100%;max-height:290px;object-fit:cover;object-position:50% 15%;border-radius:8px;border:1px solid var(--linha2)}.ficha-jogador .citacao{font-size:.8rem;line-height:1.5}.ficha-jogador aside .btn{font-size:.73rem}.ficha-jogador h2{font:700 1.6rem Georgia,serif;margin-bottom:10px}.ficha-jogador section>.mini{font-size:.78rem;line-height:1.5}.xp-jogador{margin:15px 0}.xp-jogador>span{font-size:.72rem;color:var(--tinta2)}.xp-jogador .barra{height:7px;margin-top:8px}.atributos-ficha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.atributos-ficha article{padding:15px;background:var(--painel2);border:1px solid var(--linha2);border-radius:6px;min-width:0}.atributos-ficha article .linha>b{display:flex;align-items:center;gap:7px;font-size:.85rem}.atributos-ficha article .ico{width:18px;height:18px;color:var(--ambar)}.atributos-ficha article small{display:block;margin-top:8px;font-size:.67rem;color:var(--tinta2)}.atributos-ficha article p{font-size:.67rem;line-height:1.5;margin:7px 0 10px;color:var(--tinta2)}.atributos-ficha article>.btn{font-size:.65rem}.encontro-em-foco{margin-top:20px}.lista-balcao .pessoa-bar{display:flex;align-items:center;gap:6px}.lista-balcao .npc-retrato{width:35px;height:35px;flex:none}
@media(max-width:900px){.ambiente-cais .grade-trab{grid-template-columns:repeat(2,minmax(0,1fr))}.quadro-contratos{grid-template-columns:repeat(3,minmax(0,1fr))}.cartao-contrato{flex-direction:column}.cartao-contrato>img,.cartao-contrato>.local-ilustrado{width:100%;height:75px}.cartao-contrato b{font-size:.86rem}.cartao-contrato>span{padding:10px}.contrato-ficha{grid-template-columns:1fr;gap:15px}.contrato-ilustracao{height:160px}.contrato-em-curso{grid-template-columns:1fr}.contrato-em-curso>img,.contrato-em-curso>.local-ilustrado{height:160px}.ficha-jogador{grid-template-columns:1fr;gap:18px}.ficha-jogador>aside{display:grid;grid-template-columns:100px 1fr;gap:12px}.ficha-jogador aside>img{height:140px;grid-row:1/3}.ficha-jogador aside>.linha{align-content:start}.trilha-politica{gap:8px}.trilha-politica>div{padding:12px 8px}.trilha-politica b{font-size:.9rem}}
@media(max-width:740px){.trabalho-escolha{gap:8px}.trabalho-escolha>button{padding:10px;grid-template-columns:19px 1fr;font-size:.78rem;gap:4px 7px}.trabalho-escolha small{font-size:.53rem;line-height:1.4}.ambiente-cais .grade-trab{padding:9px;border-width:5px;gap:10px}.ambiente-cais .trab{padding:8px;gap:7px}.ambiente-cais .trab .trab-cena{height:88px}.ambiente-cais .trab .trab-nome{font-size:.87rem}.ambiente-cais .trab .num{font-size:.6rem}.ambiente-cais .trab>.btn{font-size:.66rem;padding:8px 5px;white-space:normal}.paginacao-trabalhos .btn{font-size:.63rem;padding:8px}.trabalho-em-foco .trab{grid-template-columns:1fr 1fr;padding:12px}.trabalho-em-foco .trab .trab-cena{height:155px}.trabalho-em-foco .trab .trab-nome{font-size:1rem}.trabalho-em-foco .trab .nums .num{font-size:.59rem}.custos-atributos{gap:4px}.custos-atributos>span{font-size:.62rem;gap:3px;padding:3px 4px}.custos-atributos small{font-size:.51rem}.quadro-contratos{gap:8px}.cartao-contrato>span{padding:8px;gap:5px}.cartao-contrato b{font-size:.72rem}.cartao-contrato strong{font-size:.88rem}.cartao-contrato small{font-size:.41rem}.cartao-contrato em{font-size:.51rem;line-height:1.4}.cartao-contrato>img,.cartao-contrato>.local-ilustrado{height:55px}.contrato-ficha{padding:14px;border-width:5px}.contrato-ficha h2{font-size:1.4rem}.contrato-ficha .kv{font-size:.69rem}.contrato-ficha .btn-bloco{font-size:.76rem;padding:12px}.contrato-resultado{flex-direction:column;gap:6px;font-size:.72rem}.campanha-politica{padding:17px;border-width:5px}.campanha-politica h2{font-size:1.45rem}.campanha-politica p{font-size:.77rem}.trilha-politica b{font-size:.74rem}.trilha-politica small{font-size:.54rem}.trilha-politica .ico{width:24px;height:24px}.requisitos-politica{gap:14px}.campanha-politica .grade{grid-template-columns:1fr}.campanha-politica .grade .btn{padding:12px;gap:5px}.reservas-menu{left:50%;transform:translateX(-35%);width:285px}.hud-capacidades>summary>small{font-size:.48rem}.hud-capacidades>summary>b{font-size:.6rem}.hud .medidor small>.ico{width:10px;height:10px}.atributos-ficha{gap:9px}.atributos-ficha article{padding:11px}.atributos-ficha article .linha>b{font-size:.73rem;gap:4px}.atributos-ficha article .ico{width:15px;height:15px}.atributos-ficha article .btn{padding:5px 7px}.ficha-jogador h2{font-size:1.4rem}.ficha-jogador .citacao{font-size:.71rem}}
/* O atlas de personagens sentados deve ficar recortado à célula de cada pessoa. */
.bar-balcao .assento .pessoa-sentada{overflow:hidden}

/* ===================== 0.10.0 · layout (mockups 18 a 26, aprovados em 09/11/2026) ===================== */
/* 18 · ficha do personagem: o retrato fica dentro do quadro (na 0.9 cobria a tela e travava a criação) */
.perfil-retrato .retrato-grande{position:relative}

/* 19 e 20 · cabeçalho */
.hud-sino{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--linha2);background:var(--painel2);color:var(--ambar);display:grid;place-items:center;cursor:pointer;padding:0}
.hud-sino .ico{width:18px;height:18px}
.hud-sino i{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 3px;border-radius:9px;background:var(--ambar);color:#1a1206;font:800 .6rem/17px Inter,Arial,sans-serif;text-align:center;font-style:normal}
.hud-sino.vazio i{display:none}
.hud .quem{position:relative}
.hud .quem.tem-ponto::after{content:'';position:absolute;top:0;left:34px;width:10px;height:10px;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 2px var(--bg),0 0 8px var(--ambar)}
.hud-capacidades>summary{display:flex;align-items:baseline;gap:6px;flex-wrap:nowrap}
.hud-capacidades>summary>b{margin-top:0;display:inline}
.hud-status-menu{display:none;flex-wrap:wrap;gap:5px;margin:8px 0}
.hud-status-menu .tag{font-size:.66rem}
@media (min-width:741px){
  body .hud{grid-template-columns:minmax(190px,1.1fr) auto minmax(330px,1.7fr) 150px 36px 40px;grid-template-rows:54px 30px;min-height:96px;padding:8px 18px;gap:4px 16px}
  body .hud .avatar{width:48px;height:48px}
  body .hud .nome{font-size:1.02rem}
  body .hud .data{font-size:.74rem}
  body .hud .chip-din b{font-size:1.05rem}
  body .hud .chip-din small{font-size:.62rem}
  body .hud .medidor small,body .hud-capacidades>summary>small{font-size:.74rem}
  body .hud-capacidades>summary>b{font-size:.78rem}
  body .hud .barra{height:8px}
  body .hud-dia{font-size:.92rem}
  body .hud .status .tag{font-size:.7rem;height:24px}
  body .hud .status{grid-column:1/-1}
}
@media (max-width:740px){
  body .hud{grid-template-columns:minmax(0,1fr) auto auto 34px;grid-template-rows:40px 30px auto;min-height:0;gap:4px 8px;padding:6px 10px 7px}
  body .hud .quem{grid-column:1;grid-row:1}
  body .hud .grana{grid-column:2;grid-row:1}
  body .hud .hud-dia{grid-column:3;grid-row:1;width:auto;min-width:0;text-align:right}
  body .hud .hud-sino{grid-column:4;grid-row:1;width:32px;height:32px}
  body .hud .barras{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  body .hud .medidor small{font-size:.6rem;text-transform:none;letter-spacing:0}
  body .hud-capacidades>summary>small{font-size:.6rem}
  body .hud-capacidades>summary>b{font-size:.62rem}
  body .hud .barra{height:5px}
  body .hud .chip-din{width:auto;min-width:70px}
  /* só o que é urgente fica no cabeçalho; o resto vai para o menu Capacidades */
  body .hud .status{grid-column:1/-1;grid-row:3;height:auto;min-height:0}
  body .hud .status .tag.sec,body .hud .status .tag.ok{display:none}
  body .hud .status:not(:has(.tag:not(.sec):not(.ok))){display:none}
  .hud-status-menu{display:flex}
}

/* 21 · avisos: um por vez, no topo, sem tapar botões; os outros ficam no sino */
#toasts .toast:not(:last-child){display:none}
.lista-avisos{display:grid;gap:8px}
.aviso-linha{display:grid;gap:2px;padding:9px 12px;border-radius:8px;background:var(--painel2);border-left:4px solid var(--azul)}
.aviso-linha.ok{border-left-color:var(--ok)}.aviso-linha.perda{border-left-color:var(--perigo)}.aviso-linha.alerta,.aviso-linha.evento{border-left-color:var(--alerta)}.aviso-linha.objetivo{border-left-color:var(--ambar)}
.aviso-linha span{font-size:.8rem;color:var(--tinta2)}.aviso-linha small{font-size:.66rem;color:var(--tinta3)}
@media (max-width:740px){
  body #toasts{top:84px;bottom:auto;left:8px;right:8px;width:auto}
  body .toast{padding:7px 10px;grid-template-columns:20px minmax(0,1fr) 18px;box-shadow:0 6px 18px #0008}
  body .toast b{font-size:.74rem} body .toast p{font-size:.64rem;margin:0}
}
@media (min-width:741px){ body #toasts{top:108px;bottom:auto;right:18px} }

/* 22 · organizações em cartões curtos */
.org-curto{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;margin-top:12px}
.org-curto>article.painel{padding:12px 14px}
.org-curto h3{font-size:1.05rem!important;margin:6px 0 2px!important}
.org-curto .mini{margin:0}
.org-curto .org-cargo{font-size:.78rem;margin:4px 0}
.org-curto .linha{flex-wrap:wrap;gap:6px}
.org-curto .btn{padding:7px 12px;font-size:.78rem}
.chips-vd{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 2px}
.chips-vd span{font-size:.68rem;padding:4px 9px;border-radius:12px;border:1px solid var(--linha2);line-height:1.3}
.chips-vd .v{color:var(--ok)} .chips-vd .d{color:var(--perigo)}

/* 23 · loteria */
.loto-banner{position:relative;height:96px;border-radius:10px;overflow:hidden;margin-bottom:10px;border:1px solid var(--linha2)}
.loto-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.loto-banner span{position:absolute;left:12px;bottom:8px;font:700 .62rem Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f6e3b6;text-shadow:0 1px 3px #000}
.loto-vitrine{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.loto-vitrine .premio{text-align:left;cursor:pointer;border:1px solid #b89a5a;border-radius:10px;padding:12px;background:linear-gradient(160deg,#f3e3bf,#e6cf9c);color:#2b1d0b;font:inherit}
.loto-vitrine .premio small{display:block;font:700 .6rem Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.loto-vitrine .premio b{display:block;font:700 1.5rem 'Playfair Display',Georgia,serif;margin:4px 0}
.loto-vitrine .premio span{font-size:.68rem;display:block;line-height:1.4}
.loto-vitrine .premio.mega{background:linear-gradient(160deg,#e9c97a,#c99a3e)}
.loto-vitrine .premio.sel{outline:3px solid var(--ambar);outline-offset:2px}
.loto-nova .numeros{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}
.loto-nova .numeros button{padding:7px 0;font-size:.72rem;border-radius:6px;border:1px solid var(--linha2);background:var(--painel2);color:var(--tinta);cursor:pointer;min-height:32px}
.loto-nova .numeros button.sel{background:var(--ambar);color:#1a1206;font-weight:800}
.loto-nova .numeros button.comprado{outline:2px solid var(--ok);opacity:.75}
.loto-nova .numeros button:disabled{cursor:default}
.loto-nova .meus{display:flex;gap:6px;align-items:center;margin:10px 0;font-size:.78rem;flex-wrap:wrap}
.loto-nova .meus i{font-style:normal;background:var(--painel2);border:1px solid var(--ok);border-radius:14px;padding:3px 10px;font-weight:700}
.loto-nova .comprar{display:flex;gap:8px;flex-wrap:wrap}
.loto-nova .loto-regra{margin:0 0 8px}
@media (max-width:380px){.loto-nova .numeros{gap:3px}.loto-nova .numeros button{font-size:.66rem;min-height:30px}.loto-vitrine .premio b{font-size:1.25rem}}

/* 24 · ajustes em grupos curtos */
.ajustes-curto .acao-card:not(.manter)>.sub,.ajustes-curto .acao-card:not(.manter)>p.sub,.ajustes-curto .acao-card:not(.manter)>p.mini{display:none}
.ajustes-curto .acao-card h3{margin-bottom:8px}
@media (max-width:740px){.ajustes-curto .grade.g2{grid-template-columns:1fr 1fr;gap:10px}.ajustes-curto .acao-card{padding:12px}.ajustes-curto .acao-card.manter{grid-column:1/-1}.ajustes-curto .seletor{flex-wrap:wrap}.ajustes-curto .seletor button{font-size:.7rem;padding:8px 6px;flex:1 1 45%}}

/* 25 · ponto dourado na aba com algo pronto */
.pronto-ponto{position:absolute;top:6px;right:calc(50% - 18px);width:10px;height:10px;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 2px var(--bg),0 0 10px var(--ambar);pointer-events:none}
.nav-lateral button,.nav-baixo button{position:relative}
.nav-lateral .pronto-ponto{top:50%;right:14px;transform:translateY(-50%)}

/* 26 · Como funciona */
.guia-mec .indice{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 14px}
.guia-mec .indice button{font:inherit;font-size:.76rem;padding:7px 12px;border-radius:16px;border:1px solid var(--linha2);color:var(--tinta);background:var(--painel2);cursor:pointer}
.guia-mec .indice button.sel{background:var(--ambar);color:#1a1206;border-color:var(--ambar);font-weight:700}
.guia-mec .grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.guia-mec article{padding:14px 16px}
.guia-mec h3{font:700 1.1rem 'Playfair Display',Georgia,serif;margin:0 0 6px;display:flex;gap:8px;align-items:center}
.guia-mec h3 .ico{width:20px;height:20px;color:var(--ambar)}
.guia-mec p{font-size:.82rem;line-height:1.45;margin:0 0 8px;color:var(--tinta2)}
.guia-mec ul{margin:0;padding:0;list-style:none;font-size:.8rem;line-height:1.5}
.guia-mec ul li{padding:5px 0;border-top:1px dashed var(--linha)}
.guia-mec .precisa{margin-top:10px;padding:9px 11px;border-radius:8px;background:color-mix(in srgb,var(--ambar) 14%,transparent);border:1px solid color-mix(in srgb,var(--ambar) 45%,transparent);font-size:.78rem;line-height:1.45}
.guia-mec .precisa b{color:var(--ambar);display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
@media (max-width:740px){.guia-mec .grade{grid-template-columns:1fr}}

/* Propinas (aba Política) */
.propinas .painel{padding:12px 14px}.propinas h3{font-size:1.02rem;margin:6px 0 4px}
.proposta-propina{border-color:var(--ambar)}
@media (min-width:741px){.loto-nova .numeros{grid-template-columns:repeat(17,minmax(0,1fr))}}

/* ===================== 0.11.0 · imagens inteiras (pedido do Leandro, 09/11/2026) =====================
   Nenhuma pintura cortada: a moldura acompanha a proporção da própria imagem (largura e altura reais no <img>).
   Tarjas e legendas ficam fora da pintura. */
img.pintura-inteira{display:block;width:100%;height:auto!important;max-width:100%;object-fit:contain!important;object-position:50% 50%!important;aspect-ratio:auto;background:var(--painel2,#0d1517)}
.local-ilustrado{height:auto!important;aspect-ratio:3/2;overflow:hidden}
.local-ilustrado>svg{width:100%;height:100%}
/* cartões da Visão geral, da cidade e de "Explore a cidade" */
.acao-visual,.acoes-agora .acao-visual,.lugares-visuais .acao-visual{height:auto!important;min-height:0!important;display:flex;flex-direction:column;align-items:stretch}
.acao-visual>img,.acoes-agora .acao-visual>img,.acao-visual>.local-ilustrado,.acoes-agora .acao-visual>.local-ilustrado{height:auto!important;min-height:0!important;flex:none}
.acao-visual>span{position:static!important;background:none!important;padding:8px 10px 10px!important}
/* trabalhos: pintura quadrada inteira; tipo do trabalho fora da imagem */
.trab-cena{aspect-ratio:1/1!important;height:auto!important;padding:0!important;filter:none!important;background:#0d1517}
.trab-cena>img{position:static!important;width:100%;height:auto}
.trab-selo{display:none!important}
.trab-tipo{display:inline-block;align-self:flex-start;margin:8px 0 0;font:600 .62rem/1 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:99px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 10%,transparent);backdrop-filter:blur(6px)}
.trab-tipo.limpo{color:#8fc7a2}.trab-tipo.sujo{color:#e39a82}
@media(max-width:740px){.trab-cena{grid-row:auto!important}}
/* contratos */
.cartao-contrato{align-items:flex-start}
.cartao-contrato>img,.cartao-contrato>img.pintura-inteira{width:42%!important;height:auto!important;flex:none}
.contrato-ilustracao{height:auto!important}
.contrato-ilustracao>img{height:auto!important;border-radius:3px}
.contrato-em-curso>img{height:auto!important;max-width:320px}
@media(max-width:740px){.cartao-contrato{flex-direction:column}.cartao-contrato>img,.cartao-contrato>img.pintura-inteira{width:100%!important}}
/* pórtico dos lugares: pintura inteira em cima, legenda e botão embaixo */
.portico-local{min-height:0!important;display:flex;flex-direction:column;background:#101a1c}
.portico-arte{position:relative!important;inset:auto!important;width:100%;height:auto!important}
.portico-arte>img,.portico-arte>.local-ilustrado{position:static!important;width:100%!important;height:auto!important}
.portico-legenda{position:static!important;padding:12px 16px 4px;background:none!important}
.objeto-local{position:static!important;margin:6px 14px 14px;align-self:flex-start;max-width:calc(100% - 28px)}
.portico-local::before,.portico-local::after{display:none!important}
/* vitrines (loteria e jornal): pintura inteira, objetos do balcão embaixo */
.vitrine-cena{height:auto!important;display:flex;flex-direction:column;overflow:visible!important}
.vitrine-arte{position:relative!important;inset:auto!important;z-index:0!important}
.vitrine-arte>img,.vitrine-arte>.local-ilustrado{position:static!important;width:100%!important;height:auto!important}
.vitrine-cena>*:not(.vitrine-arte){position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:10px 14px 0;max-width:none}
.vitrine-cena>*:last-child{margin-bottom:14px}
.loto-banner{height:auto!important}
.loto-banner img{height:auto!important}
.loto-banner span{position:static!important;display:block;padding:8px 2px 0;color:var(--texto2,#c9bfa8);text-shadow:none}
/* retratos: companhias, autoridades, líderes */
.retrato-companhia{float:none!important;width:100%!important;max-width:220px;height:auto!important;margin:0 auto 10px!important;border-radius:8px}
.retrato-autoridade{margin:0;flex:none;width:64px}
.retrato-autoridade img{border-radius:6px;border:1px solid var(--linha2,#3a4a48)}
.item-pol{display:flex;gap:12px;align-items:center}
.item-pol>div:first-of-type{flex:1;min-width:0}
.propina-cartao .retrato-autoridade{float:right;margin:0 0 8px 12px;width:72px}
/* organizações: sede inteira e líder ao lado */
.org-arte{display:grid;grid-template-columns:1fr 112px;gap:10px;align-items:start;margin:-2px 0 12px}
.org-arte figure{margin:0}
.org-sede img,.org-lider img{border-radius:6px;border:1px solid var(--linha2,#3a4a48)}
.org-lider figcaption{margin-top:6px;line-height:1.25}
.org-lider figcaption small{display:block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--texto3,#9a917d)}
.org-lider figcaption b{font-size:.78rem}
@media(max-width:520px){.org-arte{grid-template-columns:1fr 84px}}
/* política: cena do cargo */
.cena-cargo{margin:0 0 14px}
.cena-cargo img{border-radius:6px;border:1px solid var(--linha2,#3a4a48)}
.cena-cargo figcaption{font-size:.78rem;margin-top:6px;color:var(--texto2,#c9bfa8)}
/* cenas pintadas em slot (alambique, bar, veículos): o quadro segue a pintura */
.obra-quadro{aspect-ratio:auto!important;height:auto!important}
.obra-quadro>.slot,.obra-quadro>.slot svg,.obra-quadro .cena-img{position:static!important;width:100%!important;height:auto!important}
.veiculo-card .arte img{width:100%;height:auto!important;max-height:none!important}
.bebida-pintada{width:100%;height:100%;object-fit:contain;display:block}
.arte-expansao{height:auto!important}
/* 0.11.0 · mapa da cidade sempre aberto (2:1, a proporção da pintura: nada cortado) */
.mapa-cidade{position:relative;aspect-ratio:2/1;height:auto!important;min-height:0!important;max-height:none!important;width:100%;overflow:hidden;border:1px solid #8e754c;border-radius:6px;background:#0b1416;box-shadow:0 14px 34px #0007;margin:4px 0 14px}
.mapa-cidade>.mapa-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.mapa-cidade>.fase-tinta,.mapa-cidade>canvas.chuva{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mapa-legenda{position:absolute;left:14px;top:12px;z-index:3;display:flex;flex-direction:column;gap:2px;pointer-events:none;text-shadow:0 2px 8px #000c}
.mapa-legenda .titulo-deco{font-size:clamp(1.1rem,3vw,2.1rem)}
.mapa-legenda .sub{font-size:.72rem;color:#e9dcc0}
.porta-mapa{position:absolute;z-index:4;transform:translate(-50%,-100%);background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;min-width:34px;min-height:34px;justify-content:flex-end}
.porta-pino{width:12px;height:12px;border-radius:50%;background:#f3c46a;border:2px solid #20160a;box-shadow:0 0 0 3px #f3c46a40,0 2px 6px #000a;transition:transform .15s}
.porta-rotulo{position:absolute;bottom:calc(100% - 6px);left:50%;transform:translate(-50%,4px);display:flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 10px;border-radius:99px;background:#0e1a1cdd;border:1px solid #c79b55;color:#f5ead2;font:600 .74rem Inter,Arial,sans-serif;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;backdrop-filter:blur(6px)}
.porta-rotulo small{font-weight:500;color:#cdbf9f;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.porta-rotulo .ico{width:15px;height:15px}
.porta-mapa:hover .porta-rotulo,.porta-mapa:focus-visible .porta-rotulo{opacity:1;transform:translate(-50%,0)}
.porta-mapa:hover .porta-pino,.porta-mapa:focus-visible .porta-pino{transform:scale(1.35)}
.porta-mapa:focus-visible{outline:none}
.porta-mapa:focus-visible .porta-pino{box-shadow:0 0 0 4px #fff}
@media(max-width:740px){.porta-pino{width:9px;height:9px;border-width:1.5px}.porta-rotulo{display:none}.mapa-legenda{left:9px;top:7px}.mapa-legenda .sub{display:none}}
.cidade-portas{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;align-items:start}
.cidade-lugar{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;overflow:hidden;height:auto!important;min-height:0!important}
.cidade-lugar>img,.cidade-lugar>.local-ilustrado{position:static!important;width:100%!important;height:auto!important;flex:none}
.cidade-lugar>span{position:static!important;padding:8px 10px 10px;background:none!important}
@media(max-width:740px){.cidade-portas{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
/* 0.11.0 · criação: retratos e cidade inteiros, nome fora da pintura */
.escolha-personagens .carta{display:flex!important;flex-direction:column;height:auto!important;min-height:0!important;padding:0!important;overflow:hidden}
.escolha-personagens .carta .arte{position:relative!important;inset:auto!important;height:auto!important;aspect-ratio:auto!important;display:block}
.escolha-personagens .carta .arte .slot,.escolha-personagens .carta .arte img{position:static!important;width:100%!important;height:auto!important;display:block}
.escolha-personagens .carta .info{position:static!important;background:none!important;padding:8px 9px 10px!important}
.cidade-retrato{height:auto!important;aspect-ratio:auto!important}
.cidade-retrato img{position:static!important;width:100%!important;height:auto!important;object-fit:contain!important}
.cidade-retrato>span{position:static!important;display:block;padding:8px 2px 0;background:none!important}
.perfil-retrato .retrato-grande,.perfil-retrato .retrato-grande .slot{height:auto!important;aspect-ratio:auto!important}
.perfil-retrato .retrato-grande img{position:static!important;width:100%!important;height:auto!important}
/* ===================== 0.11.0 · Bloco A (mockups 36, 27 e 31) ===================== */
.acoes-possiveis{display:grid;gap:7px;margin:10px 0 8px}
.acao-linha{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--linha2);background:var(--painel2);color:var(--tinta);cursor:pointer}
.acao-linha:hover{border-color:var(--ambar)}
.acao-linha .ico{width:18px;height:18px;color:var(--ambar)}
.acao-linha b{display:block;font-size:.86rem}.acao-linha small{font-size:.7rem;color:var(--tinta2)}
.acao-linha em{font-style:normal;font-size:.74rem;color:var(--tinta2);white-space:nowrap}
.decisao-contrato,.escolha-rapida{border:1px solid var(--ambar);border-radius:12px;background:var(--painel);padding:14px 15px;margin:14px 0;box-shadow:0 0 0 3px color-mix(in srgb,var(--ambar) 12%,transparent)}
.decisao-contrato .eyebrow,.escolha-rapida .eyebrow{display:block;font:700 .62rem Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ambar)}
.decisao-quem{display:flex;gap:10px;align-items:center;margin:10px 0 4px}
.decisao-quem>.ico{width:40px;height:40px;padding:9px;border-radius:10px;border:1px solid var(--linha2);color:var(--ambar);flex:none}
.decisao-quem b{display:block;font-size:.92rem}.decisao-quem small{font-size:.7rem;color:var(--tinta2)}
.decisao-contrato blockquote{margin:8px 0;background:#f2e3c0;color:#2b1d0b;border-radius:12px;padding:10px 12px;font:italic .88rem Georgia,serif}
.decisao-chance{display:flex;align-items:center;gap:8px;font-size:.8rem;margin:8px 0}
.decisao-chance .barra{flex:1;height:8px}
.decisao-opcoes,.escolha-ops{display:grid;gap:8px;margin:8px 0}
.decisao-op{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:start;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--linha2);background:var(--painel2);color:var(--tinta);font:inherit;cursor:pointer}
.decisao-op:hover:not([disabled]){border-color:var(--ambar)}
.decisao-op b{display:block;font-size:.86rem}.decisao-op small{display:block;font-size:.7rem;color:var(--tinta2);margin-top:2px}
.decisao-op em{font-style:normal;font-size:.74rem;font-weight:700;white-space:nowrap;color:var(--tinta2)}
.decisao-op em.sobe{color:var(--ok)}
.decisao-op[disabled]{opacity:.55;cursor:not-allowed}
.escolha-rapida h3{font:700 1.05rem 'Playfair Display',Georgia,serif;margin:6px 0 8px}
.escolha-op{display:flex;justify-content:space-between;gap:8px;text-align:left;font:inherit;font-size:.86rem;padding:10px 12px;border-radius:10px;border:1px solid var(--linha2);background:var(--painel2);color:var(--tinta);cursor:pointer}
.escolha-op:hover:not([disabled]){border-color:var(--ambar)}
.escolha-op.certa{border-color:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 35%,transparent)}
.escolha-op.errada{border-color:var(--perigo);opacity:.8}
.escolha-op em{font-style:normal;font-size:.7rem;color:var(--ok);font-weight:700}
.escolha-resultado{display:inline-flex;font-size:.74rem;padding:4px 10px;border-radius:12px;background:color-mix(in srgb,var(--alerta,#d9a24a) 16%,transparent);color:var(--alerta,#d9a24a);font-weight:700;margin:4px 0 0}
.escolha-resultado.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.escolha-regra{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0}.escolha-regra .ico{width:13px;height:13px;flex:none;margin-top:2px;color:var(--ambar)}
.ritmo{position:relative;height:16px;border-radius:99px;background:var(--painel2);border:1px solid var(--linha2);margin:10px 0;overflow:hidden}
.ritmo-faixa{position:absolute;left:40%;width:20%;top:0;bottom:0;background:color-mix(in srgb,var(--ambar) 55%,transparent)}
.ritmo-ponteiro{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;background:var(--tinta);border-radius:2px;animation:ritmo-vai calc(var(--periodo) / 2) linear infinite alternate;animation-delay:var(--atraso)}
@keyframes ritmo-vai{from{left:0}to{left:100%}}
@media(prefers-reduced-motion:reduce){.ritmo-ponteiro{animation-duration:calc(var(--periodo) / 2)}}
.trab .trab-tipo{justify-self:start;width:auto!important;max-width:max-content}
/* ===================== 0.11.0 · Bloco B (mockups 29, 30 e 35) ===================== */
.memoria-bar{border:1px solid var(--ambar);border-radius:12px;background:var(--painel);padding:14px 15px;margin:12px 0}
.memoria-bar .eyebrow{display:block;font:700 .62rem Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ambar)}
.memoria-quem{display:flex;gap:10px;align-items:center;margin:10px 0 4px}
.memoria-quem>svg,.memoria-quem>.npc-svg{width:52px;height:52px;border-radius:10px;border:1px solid var(--linha2);flex:none}
.memoria-quem b{display:block;font-size:.92rem}.memoria-quem small{font-size:.7rem;color:var(--tinta2)}
.memoria-bar blockquote{margin:8px 0;background:#f2e3c0;color:#2b1d0b;border-radius:12px;padding:10px 12px;font:italic .88rem Georgia,serif}
.memoria-respostas{display:grid;gap:8px}
.memoria-respostas .decisao-op em{color:var(--ambar)}
.marca-proposta{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--ambar);color:#1a1206;font:900 .85rem/22px Inter,sans-serif;text-align:center;box-shadow:0 0 0 3px #0008,0 0 14px var(--ambar);z-index:5;animation:pulsa-marca 1.6s ease-in-out infinite}
.pessoa-bar,.assento{position:relative}
@keyframes pulsa-marca{50%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.marca-proposta{animation:none}}
.clientes-explica{margin:-4px 0 10px}
.clientes-casa{display:grid;gap:8px;margin-bottom:6px}
.cliente-casa{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:11px 12px;border-radius:10px;background:var(--painel2);border:1px solid var(--linha)}
.cliente-casa b{display:block;font-size:.95rem}.cliente-casa small{display:block;font-size:.7rem;color:var(--tinta2)}
.cliente-casa .pref{display:block;font-size:.72rem;color:var(--tinta2);margin-top:2px}
.cliente-casa .estrelas{color:var(--ambar);font-size:.82rem;letter-spacing:1px}
.cliente-casa.fechado{opacity:.7}
.cliente-acao{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}
.cliente-acao strong{font-size:.95rem}
.bloqueio-curto{max-width:170px;font-size:.66rem;color:var(--tinta2)}
.na-cidade{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0 2px;font-size:.78rem}
.efeito-cidade,.efeito-noticia{display:inline-flex;font-size:.72rem;padding:4px 10px;border-radius:12px;font-weight:700;background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.efeito-cidade.ruim,.efeito-noticia.ruim{background:color-mix(in srgb,var(--alerta,#d9a24a) 18%,transparent);color:var(--alerta,#c98a2c)}
.gazeta .efeito-noticia{background:#2f5a3b1f;color:#2f5a3b;border:1px solid #2f5a3b55}
.gazeta .efeito-noticia.ruim{background:#8a5a1a1f;color:#8a5a1a;border-color:#8a5a1a55}
.gazeta .botao-noticia{margin-top:6px;background:#efe3c6;color:#2b1d0b;border:1px solid #a88a55}
/* ===================== 0.11.0 · Bloco C (mockups 28 e 34) ===================== */
.equipe-missao{border:1px solid var(--linha2);border-radius:12px;background:var(--painel2);padding:12px;margin:10px 0}
.equipe-missao .eyebrow,.pauta .eyebrow,.apoio-bairro .eyebrow{display:block;font:700 .62rem Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ambar);margin-bottom:8px}
.vagas{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.vaga{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;border:1px dashed var(--linha2);border-radius:10px;padding:8px 6px;font:inherit;color:var(--tinta);background:none}
.vaga.cheia{border-style:solid;border-color:var(--ambar);cursor:pointer}
.vaga b{font-size:.78rem}.vaga small{font-size:.66rem;color:var(--tinta2)}
.chip-mini{font-size:.62rem;padding:2px 7px;border-radius:9px;border:1px solid var(--linha2)}
.rosto-simbolo,.rosto-vazio{width:52px;height:52px;border-radius:10px;border:1px solid var(--linha2);display:grid;place-items:center;color:var(--ambar);background:var(--painel)}
.rosto-simbolo .ico{width:24px;height:24px}
.rosto-vazio{border-style:dashed;background:none}
img.rosto-equipe{width:52px!important;border-radius:10px}
.gente-escolher{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.sua-gente{display:grid;gap:8px}
.pessoa-gente{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:10px;background:var(--painel2);border:1px solid var(--linha)}
.pessoa-gente.contratada{border-color:var(--ambar)}
.pessoa-gente b{display:block;font-size:.9rem}.pessoa-gente small{font-size:.7rem;color:var(--tinta2)}
.pessoa-acao{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.pessoa-acao strong{font-size:.78rem}
@media(max-width:520px){.pessoa-gente{grid-template-columns:auto 1fr}.pessoa-acao{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}}
.pauta h3{margin:0 0 4px}
.decisao-op em.lado{color:var(--ok)}
.apoio-bairro{margin-top:10px}
.apoio-linha{display:grid;grid-template-columns:110px 1fr 34px;gap:8px;align-items:center;font-size:.8rem;margin:6px 0}
.apoio-linha .barra{height:8px}
.apoio-linha b{text-align:right}
/* ===================== 0.11.0 · Bloco D (mockups 32 e 33) ===================== */
.bar-proprio .eyebrow,.bar-proprio-fechado .eyebrow,.bairro-infl .eyebrow{display:block;font:700 .62rem Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ambar)}
.bar-proprio h2{margin:2px 0 10px}
.bar-proprio-cena{position:relative;border-radius:10px;overflow:hidden;border:1px solid #8e754c;margin:6px 0}
.bar-proprio-cena>img{position:absolute;inset:0;width:100%!important;height:100%!important}
.bar-proprio-cena>svg{position:absolute;inset:0;width:100%;height:100%}
.bar-nivel{position:absolute;left:10px;top:10px;font:700 .62rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:#000a;color:#f3e2b8;padding:5px 9px;border-radius:8px}
.bar-proprio-fechado img{border-radius:8px;margin:10px 0}
.subtitulo{font:700 .95rem 'Playfair Display',Georgia,serif;margin:14px 0 8px}
.publico-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.publico-bar button{display:flex;flex-direction:column;gap:3px;font:inherit;padding:10px 8px;border-radius:10px;border:1px solid var(--linha2);background:var(--painel2);color:var(--tinta);text-align:center;cursor:pointer}
.publico-bar button b{font-size:.86rem}.publico-bar button small{font-size:.66rem;color:var(--tinta2)}
.publico-bar button.sel{border-color:var(--ambar);background:color-mix(in srgb,var(--ambar) 16%,var(--painel2))}
@media(max-width:520px){.publico-bar{grid-template-columns:1fr}}
.bar-proprio .nums{margin:12px 0 4px}
.melhorias-bar{display:grid;gap:6px}
.melhorias-bar>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.8rem;padding:8px 10px;border-radius:8px;background:var(--painel2)}
.melhorias-bar b{display:block}.melhorias-bar small{font-size:.68rem;color:var(--tinta2)}
.melhorias-bar .feito{opacity:.65}.melhorias-bar .feito b{text-decoration:line-through}
.melhorias-bar em{font-style:normal;font-size:.72rem;color:var(--ok);font-weight:700}
.bairros-influencia{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bairro-infl>img{border-radius:8px;margin:-2px 0 10px}
.bairro-infl h3{margin:2px 0 6px}
.infl{display:grid;grid-template-columns:minmax(70px,auto) 1fr 30px;gap:6px 8px;align-items:center;font-size:.76rem;margin:6px 0}
.infl .barra{height:8px}.infl b{text-align:right}
.acoes-bairro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.acoes-bairro .btn{display:flex;gap:6px;align-items:center;justify-content:center;font-size:.72rem;padding:8px}
.acoes-bairro .ico{width:15px;height:15px}
.det-mini{margin-top:8px;font-size:.78rem}
.painel.bairro>img{border-radius:6px;margin-bottom:8px}
/* 0.11.0 · ficha do jogador: retrato inteiro */
.ficha-jogador>aside>img{max-height:none!important;height:auto!important;object-fit:contain!important;aspect-ratio:733/1100}

/* ===================== 0.12.0 · faixa de notícias, ajustes, atributos ===================== */
.letreiro{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-width:0;height:30px;margin:2px -15px -7px;padding:0 15px;border-top:1px solid var(--linha);background:color-mix(in srgb,var(--painel) 80%,transparent);font:500 .78rem Inter,Arial,sans-serif;overflow:hidden}
.letreiro-rotulo{display:inline-flex;align-items:center;gap:6px;flex:none;font:700 .62rem Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ambar);background:none;border:0;padding:0;cursor:pointer}
.letreiro-rotulo .ico{width:14px;height:14px}
.letreiro-trilho{position:relative;flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.letreiro-faixa{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;animation:letreiro-corre linear infinite}
.letreiro-trilho:hover .letreiro-faixa,.letreiro-trilho:focus-within .letreiro-faixa{animation-play-state:paused}
@keyframes letreiro-corre{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.letreiro-item{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px 2px;color:var(--tinta);font:inherit;cursor:pointer;white-space:nowrap}
.letreiro-item:hover{color:var(--ambar);text-decoration:underline}
.letreiro-item.urgente{color:var(--ambar);font-weight:700}
.letreiro-item.ruim{color:var(--alerta,#d9a24a)}
.letreiro-item.bom{color:var(--ok)}
.letreiro-sep{color:var(--linha2);font-size:.6rem}
.letreiro-calmo{color:var(--tinta2)}
.pisca{width:8px;height:8px;border-radius:50%;background:var(--ambar);box-shadow:0 0 8px var(--ambar);animation:pulsa-marca 1.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.letreiro-faixa{animation:none}.letreiro-trilho{overflow-x:auto}.pisca{animation:none}}
@media(max-width:740px){.letreiro{margin:2px -10px -7px;padding:0 10px;font-size:.74rem}}
.porta-mapa.tem-evento .porta-pino{background:#ff9d4a;box-shadow:0 0 0 4px #ff9d4a66,0 0 16px #ff9d4a;animation:pulsa-marca 1.1s ease-in-out infinite}
.porta-mapa.tem-evento .porta-rotulo{opacity:1;transform:translate(-50%,0)}
@media(max-width:740px){.porta-mapa.tem-evento .porta-rotulo{display:flex;font-size:.62rem;padding:3px 7px}.porta-mapa.tem-evento .porta-rotulo small,.porta-mapa.tem-evento .porta-rotulo .ico{display:none}}
.ajustes-012 .ajustes-grupo{margin-bottom:12px}
.ajustes-012 .ajustes-grupo h3{font:700 .95rem 'Playfair Display',Georgia,serif;margin:0 0 6px}
.ajuste-linha{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:10px 0;border-top:1px solid var(--linha)}
.ajuste-linha:first-of-type{border-top:0}
.ajuste-linha b{display:block;font-size:.9rem}.ajuste-linha small{display:block;font-size:.72rem;color:var(--tinta2);margin-top:2px}
.ajuste-linha .seletor{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.ajuste-linha .seletor button{padding:7px 12px;font-size:.78rem;min-height:0}
@media(max-width:620px){.ajuste-linha{grid-template-columns:1fr}.ajuste-linha .seletor{justify-content:flex-start}}
.barra-atributo{position:relative;height:10px;border-radius:99px;background:var(--painel2);border:1px solid var(--linha2);overflow:hidden;margin-top:6px}
.barra-atributo>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#b98a3e,#e5bb6c);border-radius:99px}
.barra-atributo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),color-mix(in srgb,var(--bg) 60%,transparent) calc(10% - 1px) 10%);pointer-events:none}
/* 0.12.0 · menu lateral em grupos, fonte temática e assinatura discreta */
.nav-lateral .marca{font:400 1.12rem/1.15 'Limelight','Playfair Display',Georgia,serif;letter-spacing:.02em;color:var(--ambar);margin:2px 8px 10px}
.nav-grupo{font:700 .58rem Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta2);margin:12px 10px 4px;opacity:.75}
.nav-lateral>button{font:500 .98rem 'Playfair Display',Georgia,serif;letter-spacing:.01em;padding:9px 12px;gap:12px;border-radius:10px}
.nav-lateral>button .ico{width:19px;height:19px;opacity:.8}
.nav-lateral>button.ativo{background:linear-gradient(90deg,color-mix(in srgb,var(--ambar) 22%,transparent),transparent);border:0;box-shadow:inset 3px 0 0 var(--ambar);color:var(--tinta)}
.nav-lateral>button.ativo .ico{opacity:1;color:var(--ambar)}
.nav-lateral>button:hover:not(.ativo){background:color-mix(in srgb,var(--painel2) 70%,transparent)}
.nav-lateral .rodape{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--linha);display:flex;flex-direction:column;gap:4px}
.nav-lateral .rodape .assina{font:italic 500 .78rem 'Playfair Display',Georgia,serif;color:var(--ambar);white-space:nowrap;opacity:.9}
.nav-lateral .rodape small{font-size:.6rem;line-height:1.35;color:var(--tinta2);opacity:.75}
.cidade-descricao{font-size:.86rem;line-height:1.5;color:var(--tinta2);margin:6px 0 10px}
.perfil-quem{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0;font-size:.82rem}
.perfil-quem dt{font:700 .62rem Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ambar);padding-top:3px}
.perfil-quem dd{margin:0;line-height:1.4}
/* cabeçalho: rótulos legíveis */
.hud .medidor small{font-size:.66rem;letter-spacing:.04em;text-transform:none}
.hud .medidor small b{font-size:.78rem}
/* 0.12.0 · Loja */
.loja-saldo{display:flex;gap:16px;align-items:center}
.loja-moeda,.loja-icone{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#f7d58c,#b9802d);color:#2b1a05;box-shadow:0 6px 18px #0006;flex:none}
.loja-moeda .ico,.loja-icone .ico{width:28px;height:28px}
.loja-saldo>div:last-child{flex:1}
.loja-num{display:inline-block;font:700 2rem 'Playfair Display',Georgia,serif;margin-right:8px}
.loja-saldo .barra{margin-top:6px;height:8px}
.loja-vitrine{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:14px 0}
.loja-item{position:relative;border:1px solid var(--linha2);border-radius:14px;padding:22px 18px 18px;background:linear-gradient(160deg,color-mix(in srgb,var(--ambar) 10%,var(--painel)),var(--painel));text-align:center;box-shadow:0 10px 26px #0005}
.loja-item.destaque{border-color:var(--ambar)}
.loja-item .loja-icone{margin:0 auto 10px}
.loja-item h3{font:700 1.15rem 'Playfair Display',Georgia,serif;margin:0}
.loja-preco{font:700 1.5rem 'Playfair Display',Georgia,serif;color:var(--ambar);margin:6px 0 10px}
.loja-item ul{list-style:none;padding:0;margin:0 0 10px;font-size:.84rem;line-height:1.7}
.loja-item ul li::before{content:"✓ ";color:var(--ok)}
.selo-breve{position:absolute;top:12px;right:12px;font:700 .58rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:var(--painel2);border:1px solid var(--linha2);color:var(--tinta2)}
/* ===================== 0.13.0 · organizações, lealdade, território ===================== */
.lealdade h3{margin:14px 0 4px;font:700 1rem 'Playfair Display',Georgia,serif}.lealdade h3 small{font:400 .72rem Inter,sans-serif;color:var(--tinta2)}
.lealdade-cartas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:430px;overflow-y:auto;padding:2px}
.lealdade-carta{position:relative;display:flex;flex-direction:column;gap:3px;padding:8px;border:1px solid var(--linha2);border-radius:10px;background:var(--painel2);cursor:pointer;font-size:.72rem}
.lealdade-carta input{position:absolute;opacity:0;pointer-events:none}
.lealdade-carta.sel,.lealdade-carta:has(input:checked){border-color:var(--ambar);box-shadow:0 0 0 2px color-mix(in srgb,var(--ambar) 40%,transparent)}
.lealdade-carta img{border-radius:6px}
.lealdade-carta b{font-size:.82rem;margin-top:3px}.lealdade-carta small{color:var(--tinta2)}
.lealdade-carta .v{color:var(--ok)}.lealdade-carta .d{color:var(--perigo,#d26b55)}
.lealdade-solo{display:grid;place-items:center;aspect-ratio:2/1;border-radius:6px;background:var(--painel);color:var(--ambar)}
.minhas-lista{display:grid;gap:10px;margin:10px 0}
.minha-org{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:12px;border:1px solid var(--linha2);border-radius:12px;background:var(--painel)}
.minha-org.cacado{border-color:var(--perigo,#d26b55);box-shadow:0 0 0 2px #d26b5533}
.minha-org-rosto{border-radius:8px}
.minha-org-info b{display:block;font-size:.95rem}.minha-org-info small{font-size:.72rem;color:var(--tinta2)}
.minha-org-barras{display:grid;grid-template-columns:70px 1fr 34px;gap:4px 8px;align-items:center;font-size:.7rem;margin-top:6px}.minha-org-barras .barra{height:7px}.minha-org-barras b{text-align:right;font-size:.74rem}
.minha-org-acoes{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.entrar-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.entrar-org{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--linha2);border-radius:10px;background:var(--painel2);font-size:.74rem}
.entrar-org img{border-radius:6px;margin-bottom:4px}.entrar-org b{font-size:.88rem}.entrar-org .v{color:var(--ok)}.entrar-org .d{color:var(--perigo,#d26b55)}
.rosto-comerciante.simbolo{width:56px;height:56px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--linha2);color:var(--ambar)}
.quem-manda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.78rem;padding:10px 12px;border:1px solid var(--linha);border-radius:10px;background:var(--painel);margin:8px 0 12px}
.quem-manda b{width:100%;font:700 .62rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ambar)}
.quem-manda em{font-style:normal;color:var(--tinta2)}.quem-manda .disputa em{color:var(--ambar)}
/* 0.14.0 · bebidas com efeito, companhias, efeitos ativos */
.cardapio-pedidos .bebida14>img.bebida-pintada{flex:0 0 64px;width:64px!important;height:64px!important;object-fit:contain;border-radius:8px;background:#21413b}
.pedido-servido>img.bebida-pintada{flex:0 0 56px;width:56px!important;height:56px!important;object-fit:contain;border-radius:8px}
.cardapio-pedidos .bebida14 small{display:block}
.cardapio-pedidos .bebida14 .bebida-classe{text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:700}
.cardapio-pedidos .bebida-ruim .bebida-classe,.cardapio-pedidos .bebida14 .custa{color:#8a3a26}
.cardapio-pedidos .bebida-especial .bebida-classe{color:#6b4f12}
.cardapio-pedidos .bebida14>strong{flex:0 0 auto}
.efeitos14{list-style:none;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.efeitos14 li{font-size:.74rem;line-height:1.35;padding:5px 9px;border-radius:7px;border:1px solid var(--linha2,#5556);background:var(--painel2,#0002)}
.efeitos14 .efeito-bom b{color:var(--ok,#4f9a62)}.efeitos14 .efeito-ruim{border-color:#b5523a}.efeitos14 .efeito-ruim b{color:#d0664b}
.cardapio-bar .efeitos14 li{background:#fff4db;color:#3a291b;border-color:#aa895d}
.livro14{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.companhia14{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:start}
.companhia14 .retrato-companhia{width:92px!important;max-width:92px;height:138px!important;object-fit:contain;margin:0!important;background:#0003}
.companhia14 h3{margin:0 0 4px;font-size:1rem}.companhia14 .preco{margin:0 0 6px;font-weight:700}
.companhia14 ul{margin:0 0 8px;padding-left:16px}.companhia14 .risco-alto{color:#d0664b;font-weight:700}
.doenca14{border-color:#b5523a!important}
.hud-capacidades .efeitos14{margin:8px 0 0}
@media(max-width:740px){.cardapio-pedidos{grid-template-columns:1fr}.cardapio-pedidos .bebida14>img.bebida-pintada{flex-basis:52px;width:52px!important;height:52px!important}.companhia14{grid-template-columns:76px minmax(0,1fr)}.companhia14 .retrato-companhia{width:76px!important;max-width:76px;height:114px!important}}
.livro14 .companhia14,.livro14 .companhia14 h3,.livro14 .companhia14 .preco,.livro14 .companhia14 li{color:#38231f}
.livro14 .companhia14 .risco-alto{color:#9a2f1c}
.livro14 .companhia14 .btn{background:#653d35;color:#fbead0;border-color:#4b2b25;font-weight:700}
.livro14 .companhia14 .btn:disabled{background:#b49783;color:#4b3329;opacity:1}
.livro14 .companhia14 p,.livro14 .companhia14 li{font-size:.76rem;line-height:1.4}
/* 0.15.0 · lei e poder, abordagem policial, contratos legais e ilegais */
.lei15 .faixa15{width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:10px;display:block;margin:6px 0 10px;background:#0003}
.grade15{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:10px 0}
.pessoa15{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid var(--linha2,#5556);border-radius:10px;background:var(--painel2,#0002)}
.pessoa15 .retrato15{width:84px!important;height:126px!important;object-fit:contain;border-radius:6px;background:#0003}
.pessoa15 h4{margin:0 0 4px;font-size:1rem}.pessoa15 ul{margin:4px 0 8px;padding-left:16px}
.processo15{border-color:#b5523a!important;margin:10px 0}
.acoes15{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.aviso-policia15{font-size:.8rem;margin:6px 0;padding:6px 10px;border-radius:8px;border:1px solid var(--linha2,#5556)}
.aviso-policia15.ilegal{border-color:#b5523a;color:#d98b72}
#abordagem15{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9000;width:min(560px,calc(100vw - 20px))}
.abordagem15{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border-radius:12px;background:#1d1714;color:#f4e6cf;border:2px solid #b5523a;box-shadow:0 12px 40px #000a}
.abordagem15 .retrato15{width:72px!important;height:108px!important;object-fit:contain;border-radius:6px}
.abordagem15 small{letter-spacing:.08em;color:#e0a07f;font-weight:700}.abordagem15 b{display:block;margin:4px 0;font-size:1rem}
.abordagem15 .mini{color:#cdbba3;margin:4px 0 0}
@media(max-width:420px){.abordagem15{grid-template-columns:1fr}.abordagem15 .retrato15{display:none}.acoes15 .btn{flex:1 1 100%}}
/* 0.16.0 · arena de boxe */
.faixa16{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;border-radius:10px;display:block;background:#0003}
.cartao-arena16{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;align-items:center;width:100%;text-align:left;padding:10px;margin:0 0 14px;border-radius:12px;border:1px solid var(--linha2,#5556);background:var(--painel2,#0002);color:inherit;cursor:pointer;font:inherit}
.cartao-arena16 .mini16{width:160px;aspect-ratio:2/1}.cartao-arena16 small{letter-spacing:.1em;font-weight:700;opacity:.8}.cartao-arena16 b{display:block;font-size:1.05rem;margin:2px 0}.cartao-arena16 em{font-style:normal;opacity:.85;font-size:.85rem}
.arena16 .sub{margin:10px 0}
.duelo16{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:stretch;margin:10px 0}
.vs16{align-self:center;font-size:1.6rem;font-weight:700;opacity:.7}
.lutador16{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:10px;border-radius:10px;border:1px solid var(--linha2,#5556);background:var(--painel2,#0002)}
.lutador16.apostado{border-color:var(--ouro,#c9a24a);box-shadow:0 0 0 1px var(--ouro,#c9a24a) inset}
.lutador16 .retrato16{width:96px!important;height:144px!important;object-fit:contain;border-radius:6px;background:#0003}
.lutador16 h3{margin:0 0 4px;font-size:1rem}.lutador16 h3 small{display:block;font-weight:400;opacity:.8;font-size:.75rem}
.lutador16 ul{margin:4px 0;padding-left:16px}.chance16{margin:6px 0;font-size:.9rem}
.apostas16{display:flex;flex-wrap:wrap;gap:6px}.apostas16 .btn{min-width:48px}
.hist16{padding-left:18px}
@media(max-width:740px){.duelo16{grid-template-columns:1fr}.vs16{text-align:center}.cartao-arena16{grid-template-columns:110px minmax(0,1fr)}.cartao-arena16 .mini16{width:110px}}
@media(max-width:380px){.lutador16{grid-template-columns:72px minmax(0,1fr)}.lutador16 .retrato16{width:72px!important;height:108px!important}}
/* 0.17.0 · menu lateral com fonte da época, cidade com vantagem e dificuldade, reservas */
.nav-lateral .marca{font-family:Limelight,'Playfair Display',serif;letter-spacing:.02em}
.nav-lateral .nav-grupo{font-family:Limelight,'Playfair Display',serif;font-weight:400;font-size:.74rem;letter-spacing:.12em;opacity:.85}
.nav-lateral button span{font-family:'Playfair Display',Georgia,serif;font-size:1.02rem}
.cidade-vd17{margin:0 0 14px}
.doca17{margin:10px 0}.aviso17{margin:8px 0}
.embriaguez17{font-size:.78rem;margin:8px 0;padding:6px 10px;border-radius:8px;background:#fff4db;color:#3a291b;border:1px solid #aa895d}
.embriaguez17.bebado{border-color:#b5523a;color:#8a2a16;font-weight:700}
/* 0.18.0 · Como funciona com tabelas, botão em cada lugar, rosto dos clientes */
.regra18 .frase18{font-size:.95rem;margin:4px 0 10px}
.tabela18{overflow-x:auto;margin:8px 0 12px;-webkit-overflow-scrolling:touch}
.tabela18 table{border-collapse:collapse;width:100%;font-size:.8rem;min-width:420px}
.tabela18 th,.tabela18 td{padding:6px 8px;border-bottom:1px solid var(--linha2,#5556);text-align:left;vertical-align:top}
.tabela18 th{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.dce18{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}
.dce18>div{padding:8px 10px;border-radius:8px;border:1px solid var(--linha2,#5556);font-size:.8rem}
.dce18 ul{margin:4px 0 0;padding-left:16px}.dce18 .da{border-color:#4f9a62}.dce18 .custa{border-color:#c9a24a}.dce18 .errado{border-color:#b5523a}
.onde18{font-size:.78rem;opacity:.85;margin:4px 0 0}
.como18{margin:0 0 10px}
.hospital18{margin:0 0 12px}
.cliente-casa.com-rosto18{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start}
.rosto-cliente18{width:72px!important;height:108px!important;object-fit:contain;border-radius:6px;background:#0003}
@media(max-width:740px){.dce18{grid-template-columns:1fr}}
@media(max-width:740px){.tabela18 table{min-width:0}.tabela18 thead{display:none}.tabela18 tr{display:block;padding:8px 0;border-bottom:1px solid var(--linha2,#5556)}.tabela18 td{display:flex;justify-content:space-between;gap:12px;border:0;padding:2px 4px}.tabela18 td::before{content:attr(data-rotulo);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;flex:0 0 auto}.tabela18 td:first-child{font-weight:700}.tabela18 td:first-child::before{content:none}}
/* 0.19.0 · depósito da doca com pintura */
.doca17 .faixa-doca19{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:8px;display:block;margin:0 0 8px;background:#0003}
/* 0.19.0: no computador, cada assunto do Como funciona ocupa a largura toda, para as tabelas não ficarem cortadas */
.guia-mec .grade>.regra18{grid-column:1/-1}
.regra18 .sub18{margin:12px 0 2px;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ambar)}
/* 0.20.0 · cabeçalho A (mockup 37, aprovado em 10/11/2026): medidores com nome, número e barra; bolso em destaque; relógio com anel do dia */
body .hud.hud20{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 16px 0;min-height:0;grid-template-columns:none;grid-template-rows:none}
body .hud.hud20 .quem{flex:0 1 210px;min-width:0}
.hud20 .dinheiro20{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:5px 12px;border:1px solid var(--ambar);border-radius:10px;background:var(--painel2);color:var(--tinta);cursor:pointer;font:inherit;text-align:left;flex:none}
.hud20 .dinheiro20 small{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta2)}
.hud20 .dinheiro20 b{font-size:1.15rem;color:var(--ambar2);font-variant-numeric:tabular-nums;line-height:1.15}
.hud20 .dinheiro20 i{font-style:normal;font-size:.66rem;color:var(--tinta2);white-space:nowrap}
body .hud.hud20 .barras.medidores20{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;flex:1 1 520px;min-width:0;order:0;width:auto}
.hud20 .m20,.hud20 .hud-capacidades{position:relative;padding:5px 9px 4px;border:1px solid var(--linha2);border-radius:10px;background:var(--painel);min-width:0}
.hud20 .m20>small,.hud20 .hud-capacidades>summary>small{display:flex!important;align-items:center;gap:5px;font-size:.64rem!important;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta2)!important;justify-content:flex-start!important}
.hud20 .m20>small .ico,.hud20 .hud-capacidades>summary>small .ico{width:13px;height:13px}
.hud20 .m20>b,.hud20 .hud-capacidades>summary>b{display:block!important;font-size:1.02rem!important;font-weight:700;color:var(--tinta);font-variant-numeric:tabular-nums;line-height:1.2;margin:0!important}
.hud20 .m20>b em{font-style:normal;font-size:.7rem;font-weight:400;color:var(--tinta3)}
.hud20 .hud-capacidades>summary{display:block!important;cursor:pointer;list-style:none}
.hud20 .hud-capacidades>summary::-webkit-details-marker{display:none}
.hud20 .m20 .barra,.hud20 .hud-capacidades .barra.reservas20{position:relative;height:5px!important;border-radius:3px;margin-top:3px;overflow:visible}
.hud20 .barra.reservas20 i{background:var(--ambar)}
.hud20 .barra.rep20 i{background:var(--ambar2)}
.hud20 .m-policia .barra u{position:absolute;left:80%;top:-2px;bottom:-2px;width:2px;background:var(--perigo);border-radius:1px}
.hud20 .dica20{display:block;font-size:.62rem;color:var(--tinta3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.hud20 .hud-capacidades[open]>summary~*{position:absolute;z-index:60}
body .hud.hud20 .relogio20{display:flex!important;align-items:center;gap:8px;width:auto!important;min-width:0!important;margin-left:0;flex:none}
.hud20 .anel20{--p:0%;width:40px;height:40px;border-radius:50%;background:conic-gradient(var(--ambar) 0 var(--p),var(--linha2) 0);display:grid;place-items:center;flex:none}
.hud20 .anel20>span{width:30px;height:30px;border-radius:50%;background:var(--painel2);display:grid;place-items:center;font-size:.66rem;font-weight:700;color:var(--tinta)}
.hud20 .txt20 b{display:block;font-size:.95rem;color:var(--tinta)}
.hud20 .txt20 small{display:block;font-size:.68rem;color:var(--tinta2);white-space:nowrap}
body .hud.hud20 .status{flex:0 0 100%;order:9;display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 6px;margin:0}
body .hud.hud20 .letreiro{flex:0 0 calc(100% + 32px);order:10;margin:0 -16px}
.hud20 .tag.mais20{display:none}
@media(max-width:740px){
 body .hud.hud20{gap:6px 8px;padding:7px 10px 0}
 body .hud.hud20 .quem{flex:1 1 auto}
 body .hud.hud20 .quem .txt{display:block}
 body .hud.hud20 .quem .data{display:none}
 .hud20 .avatar{width:38px!important;height:38px!important}
 .hud20 .dinheiro20{padding:3px 9px}.hud20 .dinheiro20 b{font-size:1.02rem}.hud20 .dinheiro20 i{display:none}
 .hud20 .txt20 small{display:none}.hud20 .anel20{width:34px;height:34px}.hud20 .anel20>span{width:26px;height:26px}
 body .hud.hud20 .hud-ajuda{display:none}
 body .hud.hud20 .barras.medidores20{order:5;flex:0 0 100%;gap:5px!important}
 .hud20 .m20,.hud20 .hud-capacidades{padding:4px 6px}
 .hud20 .m20>small,.hud20 .hud-capacidades>summary>small{font-size:.54rem!important;letter-spacing:.02em;gap:3px}
 .hud20 .m20>small .ico,.hud20 .hud-capacidades>summary>small .ico{width:11px;height:11px}
 .hud20 .m20>b,.hud20 .hud-capacidades>summary>b{font-size:.9rem!important}
 .hud20 .dica20{display:none}
 body .hud.hud20 .letreiro{flex-basis:calc(100% + 20px);margin:0 -10px}
 .hud20 .status .tag.sec,.hud20 .status .tag.ok{display:none}
 .hud20 .status .tag.mais20{display:inline-flex}
}
/* 0.20.0 · tema claro: título dos cartões de foto (Visão geral e Explore a cidade) com a cor do texto do tema; antes ficava claro sobre cartão claro */
.acao-visual>span b{color:var(--tinta)}.acao-visual>span small{color:var(--tinta2)}
.hud20 .barras.medidores20>*{min-width:0}
.hud20 .hud-capacidades{overflow:visible}.hud20 .hud-capacidades:not([open])>.reservas-menu{display:none!important}
.hud20 .hud-capacidades[open]>.reservas-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:260px}
body .hud.hud20{min-width:0;max-width:100vw;box-sizing:border-box}body .hud.hud20>*{min-width:0}body .hud.hud20 .letreiro,body .hud.hud20 .status{overflow:hidden}
@media(min-width:741px){body .hud.hud20 .barras.medidores20{flex-basis:360px}}
.hud20 .m20>small,.hud20 .hud-capacidades>summary>small{text-transform:uppercase!important}
@media(max-width:1200px) and (min-width:741px){body .hud.hud20 .quem{flex-basis:170px}.hud20 .dinheiro20 i{display:none}.hud20 .txt20 small{font-size:.62rem}}
@media(max-width:1000px) and (min-width:741px){.hud20 .txt20{display:none}body .hud.hud20 .hud-ajuda{display:none}.hud20 .dica20{display:none}}
@media(max-width:400px){.hud20 .m20>small .ico,.hud20 .hud-capacidades>summary>small .ico{display:none}.hud20 .m20>small,.hud20 .hud-capacidades>summary>small{letter-spacing:0!important}}
/* 0.21.0 · as 8 ideias: oportunidades, caminho, rival, acontecimento, tarefa delegada, ambição, missões visuais, abordagens, modos */
.modos21{margin:14px 0}.modos21 h3{font-size:.9rem;margin:0 0 6px}.modos21-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.modo21{padding:10px 12px;border:1px solid var(--linha2);border-radius:12px;background:var(--painel);display:flex;flex-direction:column;gap:4px}
.modo21 b{display:flex;align-items:center;gap:6px}.modo21 small{color:var(--tinta2);font-size:.74rem}.modo21.sel{border-color:var(--ambar)}.modo21.trancado{opacity:.62}
.modo21 .tag{align-self:flex-start}
.oport21{margin:4px 0 12px}.oport21-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.oport21-card{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--linha2);border-radius:12px;background:var(--painel);min-width:0}
.oport21-arte .oport21-img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:8px;display:block;background:var(--painel2)}
.oport21-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.oport21-txt b{font-size:.92rem}.oport21-txt small{font-size:.74rem;color:var(--tinta2)}
.valor21{color:var(--ambar2)!important;font-weight:600}
.oport21-card .btn{margin-top:auto}
.geral21{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
.geral21>.painel{margin:0;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.geral21 small{font-size:.76rem;color:var(--tinta2)}
.rota21-topo{display:flex;gap:10px;align-items:center}.rota21-ret{width:46px;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:50% 12%;border-radius:8px;flex:none}
.rota21-topo>div{display:flex;flex-direction:column;gap:2px}
.trilha21{display:flex;gap:6px;list-style:none;padding:0;margin:4px 0}.trilha21 li{flex:1;height:6px;border-radius:3px;background:var(--linha2)}.trilha21 li.feita{background:var(--ok)}.trilha21 li.agora{background:var(--ambar)}
.rotas21,.ambs21{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}
.rotas21 button,.ambs21 button{font:inherit;text-align:left;padding:7px 9px;border:1px solid var(--linha2);border-radius:9px;background:var(--painel2);color:var(--tinta);cursor:pointer;display:flex;flex-direction:column;gap:2px}
.rotas21 button.sel,.ambs21 button.sugerida{border-color:var(--ambar)}.rotas21 small,.ambs21 small{font-size:.68rem;color:var(--tinta2)}
.rival21{flex-direction:row!important;gap:10px!important;align-items:flex-start}.rival21-ret{position:relative;flex:none;width:64px}
.rival21-img{width:64px;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:50% 15%;border-radius:8px;display:block}
.placar21{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font-size:.66rem;font-weight:700;padding:1px 6px;border-radius:8px;background:var(--ambar);color:#1a1206;white-space:nowrap}
.rival21>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.botoes21{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.evento21-img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:8px;background:var(--painel2)}
.nota21{font-size:.76rem;margin:4px 0 0;color:var(--tinta2)}
.anel21{--p:0%;position:relative;width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--ambar) 0 var(--p),var(--linha2) 0);display:grid;place-items:center;flex:none}
.anel21>*{width:44px!important;height:44px!important;border-radius:50%;overflow:hidden;object-fit:cover;object-position:50% 12%}
.anel21 img{width:44px;height:44px;object-fit:cover;object-position:50% 12%}
.deleg21-mini{flex-direction:row!important;align-items:center;gap:10px!important}.deleg21-mini>div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.medalhas21{list-style:none;padding:0;margin:6px 0;display:flex;flex-direction:column;gap:6px}
.medalhas21 li{display:flex;gap:8px;align-items:center}.medalhas21 li>span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.78rem;border:2px solid var(--linha2);color:var(--tinta3)}
.medalhas21 li.ganha>span{background:var(--ambar);border-color:var(--ambar);color:#1a1206;box-shadow:0 0 0 3px color-mix(in srgb,var(--ambar) 30%,transparent)}
.medalhas21 li small{font-size:.74rem}
.missao21-faixa{display:flex;gap:10px;align-items:center;width:100%;padding:8px;margin:0 0 10px;border:1px solid var(--ambar);border-radius:12px;background:var(--painel2);color:var(--tinta);font:inherit;text-align:left;cursor:pointer}
.missao21-faixa.decidir{animation:pisca21 1s ease-in-out infinite alternate}.missao21-faixa>span{display:flex;flex-direction:column;gap:2px}
@keyframes pisca21{from{box-shadow:0 0 0 0 transparent}to{box-shadow:0 0 0 4px color-mix(in srgb,var(--ambar) 45%,transparent)}}
.missao21-mini{width:84px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;flex:none}
.missoes21{margin-bottom:14px}.grade-missoes21{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.missao21-card{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--linha2);border-radius:12px;background:var(--painel);color:var(--tinta);font:inherit;text-align:left;cursor:pointer}
.missao21-card .missao21-mini{width:100%}.missao21-card.sujo{border-color:color-mix(in srgb,var(--perigo) 55%,var(--linha2))}
.missao21-card span{display:flex;flex-direction:column;gap:2px}.missao21-card small{font-size:.72rem;color:var(--tinta2)}
.missao21{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px}
.missao21-img{width:100%;height:auto;object-fit:contain;border-radius:10px;display:block}
.missao21-painel{display:flex;flex-direction:column;gap:8px;min-width:0}
.sinopse21{margin:0;font-size:.84rem}.fala21{margin:0;font-style:italic;color:var(--tinta2);font-size:.84rem}
.etapas21{display:flex;gap:6px;list-style:none;padding:0;margin:0;counter-reset:e21}
.etapas21 li{flex:1;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;padding:4px 6px;border-radius:6px;border:1px solid var(--linha2);color:var(--tinta3);text-align:center}
.etapas21 li.feita{border-color:var(--ok);color:var(--ok)}.etapas21 li.agora{border-color:var(--ambar);color:var(--ambar);font-weight:700}
.opcoes21{display:flex;flex-direction:column;gap:6px}
.opcoes21 button{font:inherit;text-align:left;padding:8px 10px;border:1px solid var(--linha2);border-radius:10px;background:var(--painel2);color:var(--tinta);cursor:pointer;display:flex;flex-direction:column;gap:3px}
.opcoes21 button.sel{border-color:var(--ambar);box-shadow:0 0 0 1px var(--ambar)}.opcoes21 small{font-size:.74rem;color:var(--tinta2)}
.chance21{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--linha2)}.chance21 i{display:block;height:100%}
.chance21 .ok{background:var(--ok)}.chance21 .meio{background:var(--alerta)}.chance21 .mal{background:var(--perigo)}
.chance21-leg{display:flex;gap:10px;font-size:.7rem;flex-wrap:wrap}.chance21-leg .ok{color:var(--ok)}.chance21-leg .meio{color:var(--alerta)}.chance21-leg .mal{color:var(--perigo)}
.nums21{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;margin:0}.nums21 span{display:inline-flex;align-items:center;gap:4px}.nums21 .ico{width:14px;height:14px}
.guiada21{margin:0;padding:6px 9px;border-radius:8px;border:1px solid var(--ok);color:var(--ok);font-size:.8rem}
.faixa21{display:flex;gap:8px;flex-wrap:wrap}.faixa21 figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;width:52px}
.faixa21 figure>*:first-child{width:44px;height:44px;border-radius:50%;overflow:hidden;object-fit:cover;object-position:50% 12%}.faixa21 figcaption{font-size:.64rem}
.res21{margin:0}.res21.integro{color:var(--ok)}.res21.parcial{color:var(--alerta)}.res21.fracasso,.res21.interrompida{color:var(--perigo)}
.deleg21{margin-bottom:14px}.deleg21-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.deleg21-lista article{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--linha2);border-radius:10px;background:var(--painel)}
.deleg21-lista small{font-size:.72rem;color:var(--tinta2)}.deleg21-lista .btn{align-self:flex-start;margin-top:4px}
.deleg21-ativa{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--ambar);border-radius:12px;background:var(--painel)}.deleg21-ativa>div{flex:1;display:flex;flex-direction:column;gap:2px}
.abord21{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:6px 0 2px}
.abord21 button{font:inherit;padding:5px 4px;border:1px solid var(--linha2);border-radius:8px;background:var(--painel2);color:var(--tinta);cursor:pointer;display:flex;flex-direction:column;gap:1px;text-align:center}
.abord21 button b{font-size:.68rem}.abord21 button small{font-size:.6rem;color:var(--tinta2)}.abord21 button.sel{border-color:var(--ambar);box-shadow:0 0 0 1px var(--ambar)}
.vinculo21{margin:2px 0 4px;font-size:.66rem!important}
.porta-ev21{--p:100%;position:absolute;top:-34px;left:50%;transform:translateX(-50%);width:26px;height:26px;border-radius:50%;background:conic-gradient(var(--ambar) 0 var(--p),rgba(0,0,0,.5) 0);display:grid;place-items:center;color:#1a1206;animation:pisca21 1.2s ease-in-out infinite alternate;pointer-events:none}
.porta-ev21 .ico{width:14px;height:14px}
.porta-rival21{position:absolute;top:-46px;left:50%;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;overflow:hidden;border:2px solid var(--perigo);background:#000;pointer-events:none}
.porta-rival21 img{width:100%;height:auto;object-fit:cover;object-position:50% 10%}
@media(max-width:740px){.oport21-lista{grid-template-columns:1fr}.oport21-card{flex-direction:row;align-items:center}.oport21-arte{flex:0 0 84px}.oport21-card .btn{margin-top:0;flex:none}
 .geral21{grid-template-columns:1fr}.missao21{grid-template-columns:1fr}.missao21-img{max-height:38vh;width:auto;max-width:100%;margin:0 auto}
 .grade-missoes21{grid-template-columns:repeat(2,minmax(0,1fr))}.deleg21-lista{grid-template-columns:1fr}.modos21-lista{grid-template-columns:1fr}.rotas21,.ambs21{grid-template-columns:1fr}}
/* 0.21.0 · miniaturas pequenas e inteiras nos cartões (sem corte) */
.oport21-card{display:grid!important;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 10px!important;align-items:start}
.oport21-card .oport21-arte{grid-row:1}.oport21-card .oport21-txt{grid-row:1}.oport21-card>.btn{grid-column:1/-1;grid-row:2;margin-top:2px!important}
.oport21-card img.pintura-inteira.oport21-img{width:88px!important;height:66px!important;aspect-ratio:auto;object-fit:contain!important;background:var(--painel2);border-radius:8px}
.rota21-topo img.pintura-inteira.rota21-ret{width:44px!important;height:66px!important;object-fit:contain!important;background:var(--painel2)}
.rival21-ret img.pintura-inteira.rival21-img{width:64px!important;height:96px!important;object-fit:contain!important;background:var(--painel2)}
.evento21 img.pintura-inteira.evento21-img{width:100%!important;height:auto!important;max-height:180px;object-fit:contain!important}
img.pintura-inteira.missao21-mini{width:84px!important;height:56px!important;object-fit:contain!important;background:var(--painel2)}
.missao21-card img.pintura-inteira.missao21-mini{width:100%!important;height:auto!important;aspect-ratio:3/2}
.porta-rival21 img{width:100%!important;height:auto!important}
