/* A central compartilha o palco da cidade. A ficha só aparece ao entrar. */
#jogo-oportunidades[hidden] { display:none !important; }
#central-aviso:empty { display:none; }
.central-aberta .maquete-legenda { display:none; }
#cidade.central-aberta { grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr); }
#jogo-oportunidades { min-width:0; padding:22px; max-height:640px; overflow:auto; border-left:1px solid var(--borda); background:linear-gradient(155deg,#fffdf7,#fff2e4); }
#jogo-oportunidades h2 { margin:12px 0; font-size:25px; line-height:1.2; }
.go-cabeca { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.go-local { font:700 10px var(--mono); letter-spacing:.16em; color:#875a43; }
.go-fechar { border:1px solid var(--borda-2); background:white; width:32px; height:32px; border-radius:50%; color:var(--tinta); font:20px var(--sans); cursor:pointer; }
.go-ferramentas, .go-caminhos, .go-paginas { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.go-ferramentas { justify-content:space-between; margin:12px 0; }
.go-caminho { border:0; padding:6px 8px; background:transparent; color:#74494b; cursor:pointer; border-radius:5px; font:600 12px var(--sans); }
.go-caminho[aria-pressed="true"] { background:#f0dfcf; color:#3d2f38; }
.go-caminho:hover { background:#f0dfcf; }
.go-sinal { font:12px/1.5 var(--sans); color:#805026; text-align:left; border:0; border-left:3px solid #d6ad74; padding:6px 10px; background:#f6e8d4; cursor:pointer; width:100%; }
.go-recado { font:12px/1.5 var(--sans); color:#6338a3; overflow-wrap:anywhere; }
.go-recado:empty { display:none; }
.go-procurar { font-size:12px; border-bottom:1px solid var(--borda); padding-bottom:12px; margin-bottom:15px; }
.go-procurar summary { color:var(--tinta-2); cursor:pointer; }
.go-procurar label, .go-ato label { display:flex; flex-direction:column; gap:6px; margin:12px 0; font-size:12px; }
.go-procurar input[type="search"], .go-ato textarea { width:100%; min-width:0; border:1px solid var(--borda-2); background:#fffefa; border-radius:6px; padding:9px; color:var(--tinta); font:14px var(--sans); }
.go-procurar .go-check { flex-direction:row; align-items:center; }
.go-nota { font-size:12px; line-height:1.6; color:var(--tinta-2); overflow-wrap:anywhere; }
.go-missoes { display:flex; flex-direction:column; }
.go-missao { display:flex; gap:10px; align-items:flex-start; text-align:left; border:0; border-bottom:1px dashed #d4bfa9; padding:16px 0; background:transparent; color:var(--tinta); font:14px/1.4 var(--sans); cursor:pointer; width:100%; }
.go-missao > span:nth-child(2) { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; overflow-wrap:anywhere; }
.go-missao small, .go-etapa { color:#a35930; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.go-losango { color:#ab65c6; padding-top:15px; font-size:17px; }
.go-revisao .go-losango { color:#dca342; }
.go-seta { padding-top:19px; color:#815042; }
.go-missao:hover strong { text-decoration:underline; text-decoration-color:#c7a482; text-underline-offset:4px; }
.go-link { display:inline-block; margin:12px 0 4px; color:#6e439f; font-size:12px; text-decoration-thickness:1px; text-underline-offset:3px; }
.go-vazio { font-size:13px; color:var(--tinta-2); padding:12px 0; }
.go-paginas { justify-content:center; font-size:12px; margin:12px 0; }
.go-antenas { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.go-antena { text-align:left; padding:9px 10px; border:1px solid #dbcaba; border-top:3px solid #9894a6; background:#fffaf1; border-radius:6px; color:var(--tinta); cursor:pointer; }
.go-antena b, .go-antena small { display:block; } .go-antena small { margin-top:5px; font-size:10px; }
.go-antena.go-verde { border-top-color:#2c9675; } .go-antena.go-ambar { border-top-color:#ce9b43; } .go-antena.go-vermelho { border-top-color:#d4576a; }
.go-fonte { overflow-wrap:anywhere; font-size:13px; }
.go-alerta { color:#92501b; background:#fff0ce; padding:9px 11px; border-left:2px solid #ca9647; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.go-ficha h3 { font-size:19px; line-height:1.35; margin:8px 0 14px; overflow-wrap:anywhere; }
.go-valor { font-size:23px; display:block; margin:14px 0; }
.go-trecho { font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.go-confirmada { color:#257452; font-size:12px; }
.go-acoes { display:flex; flex-direction:column; gap:10px; margin:12px 0; }
.go-principal { border:1px solid #7955ad; border-radius:7px; color:#fff; background:#7955ad; padding:10px 14px; font:600 12px/1.4 var(--sans); cursor:pointer; max-width:100%; }
.go-principal:disabled { opacity:.55; cursor:default; }
.go-ato { width:100%; border-top:1px solid var(--borda); padding-top:8px; }
.go-pendente { border:1px solid #c19c50; border-radius:6px; padding:10px; margin:8px 0; color:#77521b; background:#fff0cb; cursor:pointer; font:12px/1.4 var(--sans); text-align:left; }
.central-local.rotulo3d { pointer-events:auto; border:0; background:transparent; padding:0; backdrop-filter:none; }
.central-placa { padding:7px 11px; color:#352343; background:#fff5e3f5; border:1px solid #cdae88; box-shadow:0 3px 0 #ba9170,0 6px 12px #3c29452b; border-radius:7px; font:700 11px/1.4 var(--sans); cursor:pointer; max-width:210px; }
.central-placa[data-central-local="entrada"] { background:#7754aa; color:white; border-color:#684a91; box-shadow:0 3px 0 #533976,0 6px 12px #3c29452b; }
.central-atalho { padding:12px 14px; border:1px solid #c2a7d9; background:#f5edff; color:#623989; border-radius:8px; cursor:pointer; font:600 13px var(--sans); }
#jogo-oportunidades :is(a,button,input,textarea,summary):focus-visible, .central-placa:focus-visible { outline:3px solid #674194; outline-offset:3px; }
@media(max-width:900px) { #cidade.central-aberta { grid-template-columns:minmax(0,1fr); } #cidade.central-aberta .maquete-palco.cidade { min-height:440px; } #jogo-oportunidades { border-left:0; border-top:1px solid var(--borda); max-height:none; } }
@media(max-width:500px) { #cidade.central-aberta .maquete-palco.cidade { min-height:350px; } #jogo-oportunidades { padding:18px; } .central-placa { font-size:10px; max-width:165px; padding:5px 8px; } }
