/* Bayān 10.48 — onglets Analyses + mesure d'écart entre deux mots */
.analytics-tabs{
  display:flex; gap:8px; overflow-x:auto; margin:18px 0 22px; padding:6px;
  border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.62);
  scrollbar-width:thin;
}
.analytics-tabs button{
  flex:0 0 auto; border:0; border-radius:13px; padding:11px 16px; background:transparent;
  color:var(--muted); font-weight:750; white-space:nowrap;
}
.analytics-tabs button.active{background:var(--forest);color:#fff;box-shadow:0 8px 20px rgba(16,58,50,.16)}
.analytics-tab-panel[hidden]{display:none!important}
.analytics-tab-panel{animation:bayaanAnalyticsIn .16s ease-out}
@keyframes bayaanAnalyticsIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

.definite-article-toggle{align-items:flex-start!important}
.definite-article-toggle>span:last-child{display:grid;gap:2px}
.definite-article-toggle small{display:block;color:var(--muted);font-weight:500;line-height:1.35}
.word-gap-card{display:grid;gap:18px}
.word-gap-options{display:grid;grid-template-columns:minmax(280px,1fr) repeat(2,minmax(150px,220px));gap:14px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.48)}
.word-gap-pickers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.word-gap-picker{min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.word-gap-picker>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.term-chip{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;font-weight:900;color:#263027}
.term-a{background:#ffe06a}.term-b{background:#7db7ff}
.word-gap-ref-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.word-gap-verse{min-height:58px;margin:14px 0 10px;padding:12px;border-radius:13px;background:rgba(244,239,229,.72);font:700 25px/1.9 "Amiri","Noto Naskh Arabic",serif}
.word-gap-word-list{display:flex;flex-wrap:wrap;gap:7px;align-items:center;max-height:260px;overflow:auto;padding:10px;border:1px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.48)}
.word-gap-token{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:7px 10px;background:#fff;color:var(--ink)}
.word-gap-token small{font:700 11px/1 Inter,sans-serif;color:var(--muted)}
.word-gap-token span{font:700 21px/1.45 "Amiri","Noto Naskh Arabic",serif}
.word-gap-token.particle{border-style:dashed}
.word-gap-token.selected{outline:3px solid rgba(197,154,73,.35);border-color:var(--forest);background:rgba(234,217,183,.42)}
.word-gap-selected{min-height:24px;margin:10px 0 0;color:var(--forest);font-weight:700}
.same-verse-toggle{margin:2px 0 10px}
.word-gap-actions{display:flex;justify-content:flex-end}
.word-gap-result{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.58)}
.word-gap-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.word-gap-metrics article{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.word-gap-metrics span{color:var(--muted);font-size:12px;font-weight:700}
.word-gap-metrics strong{font-size:23px;color:var(--forest)}
.word-gap-between{padding:13px;border-radius:14px;background:rgba(244,239,229,.78)}
.word-gap-between p{margin:8px 0 0;font:700 24px/1.7 "Amiri","Noto Naskh Arabic",serif}

@media(max-width:900px){
  .word-gap-options{grid-template-columns:1fr 1fr}
  .word-gap-options .definite-article-toggle{grid-column:1/-1}
  .word-gap-pickers{grid-template-columns:1fr}
  .word-gap-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .analytics-tabs{margin-inline:-4px}
  .analytics-tabs button{padding:10px 13px}
  .word-gap-options{grid-template-columns:1fr}
  .word-gap-options .definite-article-toggle{grid-column:auto}
  .word-gap-ref-row{grid-template-columns:1fr}
  .word-gap-ref-row button{width:100%}
  .word-gap-metrics{grid-template-columns:1fr}
  .word-gap-verse{font-size:22px}
}

/* Bayān 10.50 — noms, personnages, fréquence des lettres */
.catalog-analysis-card,.letter-analysis-card{display:grid;gap:16px}
.catalog-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,230px) auto;gap:12px;align-items:end}
.catalog-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.catalog-selector{display:grid;gap:12px;max-height:360px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.45)}
.catalog-group{display:grid;gap:8px}.catalog-group h3{margin:0;font-size:14px;color:var(--forest)}
.catalog-checks{display:flex;flex-wrap:wrap;gap:7px}
.catalog-choice{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer}
.catalog-choice input{margin:0}.catalog-choice .ar{font:700 19px/1.2 "Amiri","Noto Naskh Arabic",serif}.catalog-choice small{color:var(--muted)}
.catalog-choice.hidden-choice{display:none}
.catalog-results{display:grid;gap:14px}
.catalog-result{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.catalog-result-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.catalog-result-title{display:grid;gap:2px}.catalog-result-title .ar{font:800 29px/1.3 "Amiri","Noto Naskh Arabic",serif}.catalog-result-title small{color:var(--muted)}
.catalog-statline{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.catalog-statline span{padding:7px 10px;border-radius:999px;background:rgba(244,239,229,.9);font-weight:750;font-size:13px}
.catalog-pills{display:flex;flex-wrap:wrap;gap:7px}.catalog-pill{border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:#fff;font-size:12px}.catalog-pill strong{color:var(--forest)}
.catalog-associations{display:grid;gap:7px;margin-top:12px}.catalog-association{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.65)}
.catalog-verses{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.catalog-verse-button{border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:#fff;color:var(--forest);font-weight:750}
.letter-controls{display:grid;grid-template-columns:180px minmax(240px,1fr) 150px minmax(220px,1fr);gap:12px;align-items:end}
.letter-options{display:flex;flex-wrap:wrap;gap:8px}.letter-options .check-row{padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.5)}
.letter-frequency-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:18px;align-items:start}.letter-metrics{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-actions{grid-column:1/-1;justify-content:flex-start}.letter-controls{grid-template-columns:1fr 1fr}.letter-frequency-layout{grid-template-columns:1fr}.letter-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.catalog-toolbar,.letter-controls{grid-template-columns:1fr}.catalog-actions{grid-column:auto}.catalog-result-head{display:grid}.letter-metrics{grid-template-columns:1fr}}

/* Bayān 10.52 — laboratoire d'apparition et origine 0 */
.origin-zero-button{margin-inline-start:auto;padding:7px 10px!important;font-size:12px!important}
.word-gap-picker.origin-selected{box-shadow:inset 0 0 0 2px #ffe06a}
.appearance-lab-card{display:grid;gap:16px}
.appearance-origin-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,224,106,.55);font-weight:850;color:#493a00}
.appearance-quick-add{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,220px) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.5)}
.appearance-options{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(150px,220px));gap:12px;align-items:end}
.appearance-study-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr) minmax(300px,auto);gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(244,239,229,.58)}
.appearance-study-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.appearance-study-actions .danger{color:#9b2e2e}
.appearance-term-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.appearance-term-card{position:relative;display:grid;gap:9px;text-align:left;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--paper);box-shadow:inset 5px 0 var(--term-color,#ffe06a);cursor:pointer;color:var(--ink)}
.appearance-term-card.active{outline:3px solid color-mix(in srgb,var(--term-color,#ffe06a) 35%,transparent)}
.appearance-term-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.appearance-term-card .appearance-term-name{display:grid;gap:2px}.appearance-term-card .appearance-term-name strong{font:800 26px/1.25 "Amiri","Noto Naskh Arabic",serif}.appearance-term-card small{color:var(--muted)}
.appearance-term-counts{display:flex;flex-wrap:wrap;gap:6px}.appearance-term-counts span{padding:5px 8px;border-radius:999px;background:rgba(244,239,229,.9);font-size:11px;font-weight:800}
.appearance-term-actions{display:flex;flex-wrap:wrap;gap:6px}.appearance-term-actions button{padding:6px 8px!important;font-size:11px!important}
.appearance-summary-metrics{grid-template-columns:repeat(6,1fr)}
.appearance-chart-shell,.appearance-occurrence-inspector{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.54)}
#appearanceChart{width:100%;min-height:310px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(244,239,229,.55));border:1px solid var(--line)}
.appearance-legend{display:flex;flex-wrap:wrap;gap:8px}.appearance-legend span{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:750}.appearance-legend i{width:13px;height:13px;border-radius:4px;background:var(--legend-color)}.appearance-legend span.comparison{border-style:dashed;opacity:.8}
.appearance-occurrence-actions{display:flex;flex-wrap:wrap;gap:7px}.appearance-table-wrap{max-height:620px;overflow:auto}.appearance-table{min-width:1080px}.appearance-table tbody tr.is-muted{opacity:.42;background:rgba(130,130,130,.08)}.appearance-table td[dir="rtl"]{font:700 18px/1.45 "Amiri","Noto Naskh Arabic",serif}.appearance-table .appearance-state-toggle{width:34px;height:22px}.appearance-table .appearance-remove{border:0;background:transparent;color:#a13a32;font-weight:800;cursor:pointer}.appearance-table .appearance-origin-value{font-weight:850;color:var(--forest)}
.bulk-result-panel #addSearchToAppearance{border-color:#7db7ff;background:color-mix(in srgb,#7db7ff 20%,white)}
@media(max-width:1100px){.appearance-study-toolbar{grid-template-columns:1fr auto 1fr}.appearance-study-actions{grid-column:1/-1}.appearance-summary-metrics{grid-template-columns:repeat(3,1fr)}.appearance-term-cards{grid-template-columns:1fr 1fr}.appearance-options{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.appearance-quick-add,.appearance-study-toolbar,.appearance-options{grid-template-columns:1fr}.appearance-study-actions{grid-column:auto}.appearance-term-cards{grid-template-columns:1fr}.appearance-summary-metrics{grid-template-columns:1fr 1fr}.appearance-chart-shell{padding:10px}#appearanceChart{min-height:260px}.appearance-occurrence-inspector{padding:10px}.appearance-occurrence-actions{justify-content:flex-start}}
@media(max-width:480px){.appearance-summary-metrics{grid-template-columns:1fr}.appearance-origin-badge{font-size:11px}}
.appearance-occurrence-filter{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:12px;align-items:end}.appearance-occurrence-filter>span{padding:10px 0;color:var(--muted);font-size:12px;font-weight:700}@media(max-width:760px){.appearance-occurrence-filter{grid-template-columns:1fr}}
/* Bayān 10.52 — filtres avancés + statistiques de distribution */
.advanced-occurrence-filters{display:grid!important;grid-template-columns:minmax(220px,2fr) repeat(7,minmax(105px,1fr));gap:10px;align-items:end}.advanced-occurrence-filters #appearanceOccurrencePageInfo{grid-column:1/-1}.appearance-math-panel{margin:18px 0;padding:18px;border:1px solid var(--border-color,rgba(70,90,82,.2));border-radius:22px;background:rgba(255,255,255,.22)}.appearance-math-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.appearance-math-grid article{padding:14px;border-radius:16px;background:rgba(255,255,255,.32)}.appearance-mini-bars{display:grid;gap:7px}.appearance-mini-bar{display:grid;grid-template-columns:70px 1fr 70px;gap:8px;align-items:center;font-size:.82rem}.appearance-mini-bar i{display:block;height:9px;border-radius:999px;background:currentColor;opacity:.55}.appearance-mini-bar b{text-align:right}.appearance-math-metrics article strong{font-size:1.15rem}@media(max-width:900px){.advanced-occurrence-filters{grid-template-columns:1fr 1fr}.advanced-occurrence-filters>label:first-child{grid-column:1/-1}.appearance-math-grid{grid-template-columns:1fr}}@media(max-width:560px){.advanced-occurrence-filters{grid-template-columns:1fr}.advanced-occurrence-filters>label:first-child{grid-column:auto}}

/* Bayān 11.3 — toute sélection textuelle reste visuellement identifiable. */
.catalog-selected-name{display:inline-block;background:#ffe06a;color:#17211e!important;border-radius:.32em;padding:.04em .2em}
.appearance-selected-form{font-weight:800!important}
.appearance-selected-form::selection{background:var(--appearance-hit-color,#ffe06a)}
.appearance-selected-form{background:color-mix(in srgb,var(--appearance-hit-color,#ffe06a) 72%,transparent)!important;color:#17211e!important;border-radius:6px}
.catalog-choice:has(input:checked) .ar{background:#ffe06a;color:#17211e!important;border-radius:.3em;padding:.03em .16em;font-weight:850}
.appearance-term-card .appearance-term-name strong{display:inline-block;background:var(--term-color,#ffe06a);color:#17211e!important;border-radius:.3em;padding:.03em .16em}

.appearance-selected-form mark{display:inline-block;border-radius:.3em;padding:.03em .16em;font-weight:850}

.word-gap-token.gap-a.selected{background:#ffe06a!important;color:#17211e!important;border-color:#b78c00!important}
.word-gap-token.gap-b.selected{background:#7db7ff!important;color:#17211e!important;border-color:#3979c4!important}
