/* Biblia del 2C + Historia HFA.
   Sin lenguaje visual nuevo: sólo composición sobre los tokens y componentes de
   Reference UI V2 (css/hfa-v1-pro.css). Verde esmeralda, blanco, off-white, gris y
   carbón; el oro aparece únicamente como acento puntual de campeón/premio. */

/* ---------------------------------------------------------------- composición común */
.bible-layout,
.history-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px}
/* width:100% rompe la circularidad de ancho en columna flex: sin esto, una tabla con
   min-width propio (css/styles.css .table{min-width:760px}) estira el contenedor en móvil
   en vez de desplazarse dentro de su .table-wrap. */
.bible-main,
.history-main{min-width:0;width:100%;max-width:100%}
.bible-rail,
.history-rail{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}
.bible-rail>section,
.history-rail>section{padding:14px;border-bottom:1px solid var(--line)}
.bible-rail>section:last-child,
.history-rail>section:last-child{border-bottom:0}
.bible-rail header,
.history-rail header,
.history-rail-head{padding-bottom:8px;border-bottom:1px solid var(--line)}
.history-rail-head{padding:14px 14px 8px}
.section-eyebrow{display:block;color:var(--green-700);font-size:8.5px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.bible-rail-list,
.history-rail-list{display:grid;gap:2px;margin-top:8px}
.bible-rail-list button,
.history-rail-list button,
.history-rail-season{display:grid;width:100%;padding:7px 8px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer}
.bible-rail-list button:hover,
.history-rail-list button:hover,
.history-rail-season:hover{background:var(--gray-50)}
.bible-rail-list strong,
.history-rail-list strong,
.history-rail-season strong{font-size:11.5px}
.bible-rail-list small,
.history-rail-list small,
.history-rail-season small{color:var(--text-soft);font-size:9px}
.bible-rail-date{margin:8px 0 0;color:var(--muted);font-size:11px;font-weight:700}
.bible-facts,
.history-facts{margin:8px 0 0}
.bible-facts>div,
.history-facts>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.bible-facts>div:last-child,
.history-facts>div:last-child{border-bottom:0}
.bible-facts dt,
.history-facts dt{color:var(--muted);font-size:10px}
.bible-facts dd,
.history-facts dd{margin:0;font-size:10px;font-weight:800}
.num,
.history-facts dd,
.history-honours td.num,
.history-honours th.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* ---------------------------------------------------------------- Biblia: portada */
.bible-pagehead{align-items:flex-start}
.bible-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.bible-main .article-actions{align-items:center}
.bible-search{position:relative;display:flex;align-items:center;margin:0 0 16px}
.bible-search input{width:100%;min-height:40px;padding:0 34px 0 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);font-size:13px}
.bible-search input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-soft-bg)}
.bible-search-clear{position:absolute;right:6px;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}
.bible-search-clear:hover{background:var(--gray-100);color:var(--text)}
.bible-results{display:grid;gap:14px}
.bible-search-count{margin:0 0 8px;color:var(--muted);font-size:11px;font-weight:700}
.bible-category-block{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}
.bible-category-block>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.bible-category-block h3{margin:2px 0 0;font-size:14px}
.bible-category-block header p{margin:3px 0 0;color:var(--muted);font-size:11px}
.bible-category-block header small{flex:0 0 auto;color:var(--text-soft);font-size:9.5px;font-weight:800;white-space:nowrap}
.bible-category-empty{margin:0;padding:13px 14px;font-size:11.5px}
.bible-article-rows{display:grid}
.bible-article-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 14px;border:0;border-top:1px solid var(--line-soft);background:transparent;color:inherit;text-align:left;cursor:pointer}
.bible-article-rows>.bible-article-row:first-child{border-top:0}
.bible-article-row:hover{background:var(--green-50)}
.bible-article-row-main{display:grid;gap:2px;min-width:0}
.bible-article-row-main strong{font-size:12.5px}
.bible-article-row-main small{overflow:hidden;color:var(--muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.bible-article-row-meta{display:flex;flex:0 0 auto;align-items:center;gap:8px}
.bible-article-row-meta em{color:var(--text-soft);font-size:9.5px;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.bible-article-row-meta b{color:var(--green-700)}
.bible-search-results{display:grid;gap:8px}
.bible-search-results .bible-article-rows{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}

/* ---------------------------------------------------------------- Biblia: artículo */
.bible-article{padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}
.bible-article>header{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.bible-article-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.bible-article h1{margin:0 0 6px;font-size:24px;line-height:1.15}
.bible-article-summary{margin:0 0 8px;color:var(--muted-2);font-size:13px}
.bible-article-updated{color:var(--text-soft);font-size:10.5px;font-weight:700}
.bible-body{font-size:13px;line-height:1.65}
.bible-body h2{margin:22px 0 8px;padding-top:4px;font-size:16px;scroll-margin-top:90px}
.bible-body h3{margin:18px 0 6px;font-size:13.5px;scroll-margin-top:90px}
.bible-body h1{margin:22px 0 8px;font-size:18px;scroll-margin-top:90px}
.bible-body p{margin:0 0 10px}
.bible-body ul,.bible-body ol{margin:0 0 12px;padding-left:20px}
.bible-body li{margin-bottom:4px}
.bible-body hr{margin:18px 0;border:0;border-top:1px solid var(--line)}
.bible-body blockquote{margin:0 0 12px;padding:8px 14px;border-left:3px solid var(--accent-soft-line);background:var(--panel-2)}
.bible-body blockquote p{margin:0}
.bible-body img{border-radius:var(--radius-sm)}
.bible-body a{color:var(--accent);font-weight:650}
.bible-body strong{font-weight:800}
.bible-body em{font-style:italic}
.bible-internal-link{color:var(--green-700);font-weight:650;text-decoration:underline;text-underline-offset:2px}
.bible-table{width:100%;font-variant-numeric:tabular-nums}
.bible-body .table-wrap{overflow-x:auto;margin:0 0 14px}

/* Bloques de alerta de reglamento: INFO / IMPORTANTE / SANCIÓN / NOTA */
.bible-alert{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-2)}
.bible-alert>div>:last-child{margin-bottom:0}
.bible-alert-label{display:block;margin-bottom:5px;font-size:8.5px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.bible-alert-info{border-left-color:var(--info);background:var(--gray-50)}
.bible-alert-info .bible-alert-label{color:var(--info)}
.bible-alert-important{border-left-color:var(--green-600);background:var(--accent-soft-bg)}
.bible-alert-important .bible-alert-label{color:var(--accent-ink)}
.bible-alert-sanction{border-left-color:var(--danger);background:var(--danger-bg)}
.bible-alert-sanction .bible-alert-label{color:var(--danger-ink)}
.bible-alert-note{border-left-color:var(--warning);background:var(--warn-bg)}
.bible-alert-note .bible-alert-label{color:var(--warn-ink)}

/* Tabla de contenidos */
.bible-toc{margin:8px 0 0;padding:0;list-style:none}
.bible-toc li{margin-bottom:2px}
.bible-toc a{display:block;padding:5px 8px;border-radius:6px;color:var(--muted-2);font-size:11px;text-decoration:none}
.bible-toc a:hover{background:var(--gray-50);color:var(--green-700)}
.bible-toc-l3 a{padding-left:20px;font-size:10.5px}
.bible-toc-rail{position:sticky;top:12px}
.bible-toc-mobile{display:none;margin:0 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}
.bible-toc-mobile>summary{color:var(--green-700);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.bible-editor .info-box code{padding:1px 4px;border-radius:4px;background:var(--gray-100);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}

/* ---------------------------------------------------------------- Historia HFA */
.history-pagehead{align-items:flex-start}
.history-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.history-tabs button{position:relative;min-height:32px;padding:0 12px;border:0;background:transparent;color:var(--muted-2);font-size:12px;font-weight:650;cursor:pointer}
.history-tabs button:hover,.history-tabs button.active{color:var(--green-700)}
.history-tabs button.active:after{content:"";position:absolute;right:12px;bottom:-9px;left:12px;height:2px;background:var(--green-600)}
.history-season-selector{margin:0 0 16px}
.history-season-chips{display:flex;gap:6px;flex-wrap:wrap}
.history-season-chips button{min-height:32px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted-2);font-size:11.5px;font-weight:700;cursor:pointer}
.history-season-chips button:hover{border-color:var(--accent-soft-line);color:var(--green-700)}
.history-season-chips button.active{border-color:var(--green-600);background:var(--green-50);color:var(--green-800)}
.history-season-select{display:none}
.history-season-select select{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);font-size:13px}

.history-season,
.history-block{margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel)}
.history-block>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.history-block>header h3{margin:2px 0 0;font-size:14px}
.history-season-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.history-season-head h3{margin:2px 0 4px;font-size:19px}
.history-season-summary{margin:0;max-width:70ch;color:var(--muted-2);font-size:12.5px;line-height:1.6}
.history-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}

.history-champion-rows{display:grid}
.history-champion-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line-soft)}
.history-champion-rows>.history-champion-row:first-child{border-top:0}
.history-champion-competition{display:grid;gap:2px;min-width:0}
.history-champion-competition a{color:var(--text);font-size:12.5px;font-weight:700;text-decoration:none}
.history-champion-competition a:hover{color:var(--green-700)}
.history-champion-competition small{color:var(--text-soft);font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.history-champion-team{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.history-champion-team.is-pending{display:grid;justify-items:flex-end;gap:1px;text-align:right}
.history-champion-team.is-pending small{color:var(--text-soft);font-size:9.5px}
.history-champion-flag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--gold);border-radius:var(--radius-pill);background:var(--gold-soft);color:var(--gold-ink);font-size:9.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

.history-distinction-grid{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.history-distinction{display:grid;grid-template-columns:minmax(125px,160px) minmax(0,1fr);align-items:center;gap:5px 14px;padding:10px 12px;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:var(--panel-2)}
.history-distinction:last-child{border-bottom:0}
.history-distinction>.section-eyebrow{grid-column:1;grid-row:1/-1}
.history-distinction>:not(.section-eyebrow){grid-column:2}
.history-distinction.is-empty{background:var(--panel)}
.history-distinction.is-empty p{margin:0;font-size:11.5px}
.history-source{color:var(--text-soft);font-size:9.5px;font-weight:700}
.history-recipient{display:flex;align-items:center;gap:9px;min-width:0}
.history-recipient>span{display:grid;gap:1px;min-width:0}
.history-recipient a{color:var(--text);font-size:12px;font-weight:700;text-decoration:none}
.history-recipient a:hover{color:var(--green-700)}
.history-recipient small{color:var(--text-soft);font-size:10px}
.history-recipient b{margin-left:auto;color:var(--green-700);font-size:12px;white-space:nowrap}
.history-record-match{display:grid;gap:2px}
.history-record-match b{margin:0}

.history-record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.history-record{display:grid;align-content:start;gap:8px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}
.history-record p{margin:0;font-size:11.5px}
.history-legend-list{display:grid;gap:2px}
.history-legend-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line-soft)}
.history-legend-list>.history-legend-row:first-child{border-top:0}
.history-legend-row>b{width:20px;color:var(--text-soft);font-size:11px;text-align:center}
.history-legend-row>.history-recipient{flex:1;min-width:0}
.history-honours{width:100%}
.history-block .table-wrap{max-width:100%;overflow-x:auto}
/* Avatar compacto propio de estas superficies: las iniciales de respaldo deben caber. */
.history-recipient .player-avatar{width:32px!important;height:32px!important;flex:0 0 32px;border-radius:9px;font-size:10px;letter-spacing:0}
.history-recipient .player-avatar-fallback{font-size:10px;letter-spacing:0}
.history-honours td:first-child{min-width:150px}

/* ---------------------------------------------------------------- responsive */
@media(max-width:1180px){
 .bible-layout,.history-layout{grid-template-columns:minmax(0,1fr) 270px}
}
@media(max-width:960px){
 .bible-layout,.history-layout{grid-template-columns:1fr}
 .bible-rail,.history-rail{order:2}
 .bible-toc-rail{position:static}
}
@media(max-width:760px){
 .bible-layout,.history-layout{display:flex;flex-direction:column;gap:14px}
 .bible-article{padding:15px}
 .bible-article h1{font-size:20px}
 .bible-toc-mobile{display:block}
 .bible-toc-rail{display:none}
 .bible-article-row{min-height:52px;padding:11px 12px}
 .bible-article-row-meta em{display:none}
 .bible-category-block>header{padding:12px}
 .history-season-chips{display:none}
 .history-season-select{display:block}
 .history-season,.history-block{padding:13px}
 .history-champion-row{align-items:flex-start;flex-direction:column;gap:8px}
 .history-champion-team{align-self:stretch;justify-content:space-between}
 .history-champion-team.is-pending{justify-items:flex-start;text-align:left}
 .history-distinction-grid,.history-record-grid{grid-template-columns:1fr}
 .history-distinction{grid-template-columns:1fr;gap:7px}
 .history-distinction>.section-eyebrow,.history-distinction>:not(.section-eyebrow){grid-column:1;grid-row:auto}
 .history-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
 .history-tabs button{white-space:nowrap}
 .history-block>header{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(max-width:430px){
 .bible-article-row-main small{white-space:normal}
 .history-season-head{flex-direction:column}
}
