/* Recreativas: estilos de las páginas envoltorio y de la portada (sobre /common.css) */
.arc-main { max-width: 1120px; margin: 0 auto; padding: 16px 16px 60px; }
.topbar .nav { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.arc-title { display: flex; align-items: center; gap: 12px; margin: 4px 0 14px; }
.arc-title .emo { font-size: 34px; line-height: 1; }
.arc-title h1 { margin: 0; font-size: 28px; }
.arc-title p { margin: 2px 0 0; }

.arc { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
@media (max-width: 880px) { .arc { grid-template-columns: minmax(0, 1fr); } }

.stage-card { padding: 10px; margin-bottom: 0; }
#stage { position: relative; width: 100%; overflow: hidden; border-radius: 12px; background: #000; }
#stage iframe { position: absolute; left: 0; top: 0; border: 0; transform-origin: 0 0; background: #000; display: block; }
.stage-tools { display: flex; gap: 8px; justify-content: space-between; align-items: center; margin-top: 10px; flex-wrap: wrap; }

.side .card { margin-bottom: 14px; }
.side h2 { font-size: 19px; margin-bottom: 8px; }
.last { margin-top: 10px; font-weight: 700; min-height: 22px; }
.last .rec { color: var(--yellow); font-weight: 800; }

table.top { width: 100%; border-collapse: collapse; font-size: 15px; }
table.top th { text-align: left; font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; padding: 0 6px 6px; }
table.top th:last-child, table.top td:last-child { text-align: right; }
table.top td { padding: 7px 6px; border-top: 1px solid var(--border); font-weight: 700; }
table.top td.pos { width: 34px; font-family: var(--display); font-size: 18px; color: var(--muted); }
table.top td.n { overflow-wrap: anywhere; }
table.top td.sc { font-family: var(--display); color: var(--cyan); font-size: 17px; }
table.top tr.me td.n { color: var(--yellow); }
table.top tr:nth-child(2) td.pos { color: var(--yellow); }
.empty { color: var(--muted); font-size: 14px; padding: 6px 0; }

.credits { margin-top: 16px; font-size: 13px; color: var(--muted); text-align: center; }
.credits a { color: var(--soft); }
.mark-doc { font-size: 13px; color: var(--muted); margin: 8px 0 0; }

/* portada */
.arc-hero { text-align: center; padding: 14px 8px 8px; }
.arc-hero .big { font-family: var(--display); font-size: 48px; font-weight: 700; line-height: 1; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.arc-hero p { color: var(--soft); margin: 10px 0 0; }
.gcard .best { margin-top: 10px; font-size: 13px; font-weight: 800; color: var(--yellow); min-height: 18px; }
.gcard .best.none { color: var(--muted); font-weight: 600; }
.gcard .icon.emo { display: block; }
