/* Scans: hub dos reinos, pagina de cada reino, tag e painel admin. */
.scn { padding: 2rem 0 3rem; }
.scn__topo { text-align: center; max-width: 42rem; margin: 0 auto 1.8rem; }
.scn__ico { display: block; }
.scn__ico svg { display: inline-block; width: 2.2rem; height: 2.2rem; color: var(--gold); }
.scn__topo h1 { font-family: var(--font-heading, inherit); font-size: 2.1rem; font-weight: 800; color: var(--text); }
.scn__topo p { margin-top: .5rem; font-size: .92rem; line-height: 1.6; color: var(--text-muted); }
.scn__meu { max-width: 42rem; margin: 0 auto 1.2rem; padding: .7rem 1rem; text-align: center; border-radius: .7rem; border: 1px solid var(--cor-scan); background: color-mix(in srgb, var(--cor-scan) 10%, transparent); font-size: .88rem; color: var(--text); }
.scn__meu a { color: var(--cor-scan); font-weight: 800; }
.scn__grade { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; }
@media (min-width: 48rem) { .scn__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 72rem) { .scn__grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.scn__casa { position: relative; display: flex; flex-direction: column; align-items: center; gap: .5rem; height: 100%; padding: 1.2rem .9rem; text-align: center; text-decoration: none; color: var(--text); border-radius: 1rem; border: 1px solid color-mix(in srgb, var(--cor-scan) 45%, var(--border)); background: linear-gradient(180deg, color-mix(in srgb, var(--cor-scan) 12%, transparent), transparent 70%), var(--bg-card, rgba(255,255,255,.03)); box-shadow: var(--shadow-card); transition: transform .2s, box-shadow .2s; }
a.scn__casa:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--cor-scan), 0 10px 30px color-mix(in srgb, var(--cor-scan) 30%, transparent); }
.scn__casa--vaga { --cor-scan: var(--text-faint); border-style: dashed; color: var(--text-faint); background: transparent; box-shadow: none; }
.scn__brasao { width: 3.6rem; height: 4.2rem; flex: none; }
.scn__brasao--grande { width: 5.4rem; height: 6.3rem; }
.scn__nome { font-family: var(--font-heading, inherit); font-size: 1.05rem; font-weight: 800; overflow-wrap: anywhere; }
a.scn__casa .scn__nome { color: var(--cor-scan); }
.scn__desc { font-size: .78rem; line-height: 1.45; color: var(--text-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.scn__nums { margin-top: auto; padding-top: .4rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .2rem .7rem; font-size: .7rem; color: var(--text-muted); }
.scn__nums b { color: var(--text); }
.scn__nota { margin-top: 1.5rem; text-align: center; font-size: .78rem; color: var(--text-faint); }

.scn__voltar a { font-size: .85rem; color: var(--text-muted); text-decoration: none; }
.scn--reino { position: relative; }
.scn--reino::before { content: ""; position: absolute; inset: 0 0 auto; height: 22rem; z-index: -1; pointer-events: none; background: radial-gradient(60% 100% at 50% 0, color-mix(in srgb, var(--cor-scan) 28%, transparent), transparent 70%); }
.scn__realm { display: flex; align-items: center; gap: 1.2rem; margin: 1rem 0 1.4rem; }
.scn__realm > div { min-width: 0; }
.scn__realm h1 { font-family: var(--font-heading, inherit); font-size: 2rem; font-weight: 800; color: var(--cor-scan); overflow-wrap: anywhere; text-shadow: 0 0 24px color-mix(in srgb, var(--cor-scan) 45%, transparent); }
.scn__realm .scn__desc { display: block; -webkit-line-clamp: unset; margin-top: .4rem; font-size: .92rem; }
.scn__lider { margin-top: .4rem; font-size: .8rem; color: var(--text-muted); }
.scn__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin-bottom: 1.2rem; }
.scn__stats div { padding: .8rem .5rem; text-align: center; border-radius: .8rem; border: 1px solid color-mix(in srgb, var(--cor-scan) 35%, var(--border)); background: var(--bg-card, rgba(255,255,255,.03)); }
.scn__stats b { display: block; font-size: 1.5rem; font-weight: 800; color: var(--cor-scan); }
.scn__stats span { font-size: .7rem; color: var(--text-muted); }
.scn__aviso { margin-bottom: 1rem; padding: .7rem 1rem; border-radius: .6rem; font-size: .85rem; border: 1px solid var(--cor-scan); background: color-mix(in srgb, var(--cor-scan) 10%, transparent); color: var(--text); }
.scn__aviso--erro { border-color: var(--sakura); background: rgba(255,42,109,.1); }
.scn__acao { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; margin-bottom: 1.8rem; font-size: .88rem; color: var(--text); }
.scn__acao a { color: var(--cor-scan); font-weight: 700; }
.scn__acao small { color: var(--text-faint); font-size: .75rem; }
.scn__botao { display: inline-block; padding: .7rem 1.4rem; border: 0; border-radius: .7rem; background: var(--cor-scan); color: #0b0b0f; font-weight: 800; font-size: .9rem; cursor: pointer; text-decoration: none; }
.scn__acao a.scn__botao { color: #0b0b0f; }
.scn__botao:hover { filter: brightness(1.1); }
.scn__botao--sair { background: transparent; color: var(--text-muted); border: 1px solid var(--border); }
.scn__tag { margin-left: .3rem; padding: .1rem .6rem; border-radius: 99px; font-size: .7rem; font-weight: 800; color: var(--cor-scan); border: 1px solid var(--cor-scan); }
.scn__h2 { margin-bottom: .8rem; font-family: var(--font-heading, inherit); font-size: 1.2rem; font-weight: 800; color: var(--text); }
.scn__vazio { font-size: .88rem; color: var(--text-muted); }
.scn__obras { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 40rem) { .scn__obras { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .scn__obras { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.scn__breve { display: grid; gap: .8rem; margin-top: 2rem; grid-template-columns: 1fr; }
@media (min-width: 40rem) { .scn__breve { grid-template-columns: 1fr 1fr; } }
.scn__breve > div { display: flex; align-items: center; gap: .6rem; padding: 1rem; border-radius: .8rem; border: 1px dashed var(--border); color: var(--text-muted); font-size: .88rem; }
.scn__breve svg { width: 1.2rem; height: 1.2rem; color: var(--cor-scan); flex: none; }
.scn__breve span { margin-left: auto; font-size: .65rem; padding: .1rem .5rem; border-radius: 99px; border: 1px solid var(--border); }


/* admin */
.scadm__det > summary { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; cursor: pointer; }
.scadm__det small { color: var(--text-muted); }
.scadm__bola { width: .9rem; height: .9rem; border-radius: 50%; flex: none; }
.scadm__form { display: grid; gap: .8rem; margin-top: .9rem; max-width: 36rem; }
.scadm__form label { font-size: .85rem; color: var(--text); }
.scadm__check { display: flex; gap: .5rem; align-items: center; }
.scadm__cor { width: 4rem; height: 2.4rem; padding: 0; border: 1px solid var(--border); background: none; }
.scadm__obras { display: grid; gap: .3rem; max-height: 14rem; overflow: auto; padding: .6rem; border: 1px solid var(--border); border-radius: .6rem; }
.scadm__obras label { display: flex; gap: .5rem; font-size: .82rem; }
.scadm__excluir { padding: .4rem .9rem; border-radius: .5rem; border: 1px solid var(--sakura); background: transparent; color: var(--sakura); cursor: pointer; font-size: .8rem; }
