/* Angles: lectura editorial, controls clars i fonts al davant. */
:root { --bg:#141514; --surface:#1b1d1b; --surface-2:#242724; --border:#343832; --text:#efeee6; --muted:#a6aaa1; --accent:#f4f1e7; --blindspot:#e8ba62; }
body { -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button { touch-action:manipulation; }
[hidden],#modal-headlines-list.hidden { display:none!important; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.skip-link { position:fixed;top:8px;left:12px;z-index:500;background:var(--text);color:var(--bg);padding:12px 18px;transform:translateY(-150%); }
.skip-link:focus { transform:none; }
nav { background:var(--bg);backdrop-filter:none;gap:24px; }
.nav-links { background:transparent;border:0; }
.nav-links a { min-height:40px;border-radius:4px; }
.nav-links a.active { background:var(--surface-2);box-shadow:none; }
.nav-icon-btn,.refresh-btn { min-height:40px; }
.tag-bar { max-width:1440px;margin:auto;padding:12px 28px;gap:8px; }
.tag { min-height:36px; }
.tag.active { color:var(--bg);background:var(--text);border-color:var(--text); }
.layout { max-width:1440px;grid-template-columns:220px minmax(0,1fr) 250px; }
.sidebar-left,.sidebar-right { padding:30px 22px; }
.sidebar-left h3 { font-size:10px;letter-spacing:1.5px; }
.edition-header { display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 20px;padding:24px 32px 14px; }
.edition-header h1 { font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.2;letter-spacing:-.5px;font-weight:400; }
.edition-header p { font-size:13px;color:var(--muted); }
.news-tools { padding:0 32px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px; }
.news-search { display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:0 12px;min-height:40px; }
.news-search:focus-within { border-color:var(--blindspot); }
.news-search svg { width:18px;height:18px;flex:none;color:var(--muted); }
.news-search input { background:transparent;border:0;width:100%;min-width:0;color:var(--text);font-size:13px;outline:none;min-height:38px; }
.news-search input::placeholder { color:var(--muted); }
.news-sort select { -webkit-appearance:none;appearance:none;height:40px;padding:0 34px 0 12px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23a6aaa1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E") no-repeat right 12px center/12px 12px;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;line-height:38px;max-width:160px;cursor:pointer; }
.news-sort select:hover { border-color:var(--muted); }
.news-sort select:focus-visible { outline:none;border-color:var(--blindspot); }
.results-line { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);min-height:24px; }
#reset-filters { border:0;background:none;color:var(--blindspot);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:32px;font-size:12px; }
.status-bar { padding:12px 32px;background:var(--surface);font-size:11px;gap:8px; }
.status-dot { flex:none;width:6px;height:6px; }
.featured { padding:32px; }
.featured-title { font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,2.6vw,34px);font-weight:400;line-height:1.22;letter-spacing:-.5px;text-wrap:pretty; }
.featured-meta,.story-meta { text-transform:none;letter-spacing:.1px;font-size:12px; }
.story-item { padding:26px 32px; }
.story-title { font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.3;font-weight:400;text-wrap:pretty;letter-spacing:-.2px; }
.featured:hover,.story-item:hover { background:var(--surface); }
.story-item:focus-visible,.featured:focus-visible { outline-offset:-4px; }
.story-angles { margin:14px 0; }
.story-item .angle-row { font-size:13px; }
.bias-labels { gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums;font-size:11px; }
.source-count { margin-top:14px;font-size:11px;line-height:1.7; }
.bs-story { background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:18px 0;margin:0; }
.bs-story-title { font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.4;font-weight:400; }
.bs-story .bias-bar { display:none; }
.blindspot-desc { font-size:12px;line-height:1.7; }
.empty { padding:48px 28px;text-align:left; }
.empty strong { display:block;color:var(--text);font:26px Georgia,serif;margin-bottom:12px; }
.empty p { font-size:14px;line-height:1.7; }
.empty-reset { display:inline-flex;margin-top:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:12px 16px;border-radius:5px;cursor:pointer; }
.analysis-angle { grid-template-columns:85px 1fr;gap:16px;font-size:14px;line-height:1.7;padding:12px 0;border-top:1px solid var(--border); }
.analysis-angle-label { font-size:10px;justify-self:start; }
.analysis-notes { font-size:13px;line-height:1.8;padding:18px;background:var(--bg); }
.analysis-foot { opacity:1;font-size:11px;line-height:1.6; }
.sources-modal { max-width:1100px;padding:30px; }
.sources-modal-title { font:30px Georgia,serif; }
.sources-modal-close,.intro-close { min-width:44px;min-height:44px; }
.sources-filters { gap:18px;padding:18px 0; }
.source-filter-btn { min-height:36px; }
.source-card { padding:18px; }
.source-card-name { font-size:16px; }
.compare-view { max-width:1440px;padding:32px; }
.compare-title { font:32px Georgia,serif; }
.compare-help { color:var(--muted);font-size:14px;line-height:1.7;flex-basis:100%; }
#compare-count { font-size:12px;color:var(--blindspot); }
.compare-selector { flex-basis:100%;gap:8px; }
.compare-source-btn { min-height:40px; }
.compare-source-btn:disabled { opacity:.4;cursor:not-allowed; }
.compare-article { padding:20px; }
.compare-article-title { font-size:16px;line-height:1.55; }
.compare-column { min-width:0; }
.intro-title { font-family:Georgia,'Times New Roman',serif;font-weight:400; }
@media (max-width:1200px) and (min-width:1001px) { .layout { grid-template-columns:190px minmax(0,1fr); }.sidebar-right { grid-column:2;border-top:1px solid var(--border); }.sidebar-right #blindspot-list { display:grid;grid-template-columns:1fr 1fr;gap:20px; } }
@media (max-width:1000px) { .layout { grid-template-columns:1fr; }.main { max-width:820px;width:100%;margin:auto; }.sidebar-right { max-width:820px;width:100%;margin:auto; }.sidebar-left { border-top:0; }.compare-columns { grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); } }
@media (max-width:860px) { .tag-bar { padding:10px 16px; }.nav-links a { min-height:40px; }.sidebar-left { padding:24px; }.updated-badge { max-width:150px;overflow:hidden;text-overflow:ellipsis; } }
@media (max-width:600px) { .edition-header { padding:20px 20px 12px; }.edition-header h1 { font-size:24px; }.news-tools { padding:0 20px 10px; }.status-bar { padding:12px 20px;line-height:1.6;align-items:flex-start; }.status-dot { margin-top:5px; }.featured { padding:28px 20px; }.featured-title { font-size:29px; }.story-item { padding:24px 20px; }.story-title { font-size:23px; }.analysis-angle { grid-template-columns:1fr;gap:8px; }.sources-modal-overlay { padding:0; }.sources-modal { border-radius:0;padding:24px 20px;min-height:100dvh; }.sources-modal-title { font-size:27px; }.sources-filter-group { flex-wrap:wrap; }.compare-view { padding:24px 20px; }.compare-title { font-size:27px; }.compare-header>div:first-child { flex-wrap:wrap; }.intro { padding:28px 20px; }.bias-labels { font-size:10px; }.angle-row,.featured .angle-row { grid-template-columns:60px 1fr;gap:8px; } }
.source-visit { display:inline-flex;align-items:center;min-height:36px;margin-top:12px;font-size:12px;color:var(--text);text-underline-offset:4px; }
.edition-guide { display:inline;padding:0;background:none;border:0;color:var(--blindspot);font-size:13px;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px; }
.edition-guide:hover { text-decoration-color:currentColor; }
.topic-pending { display:inline-block;color:var(--muted);border:1px solid var(--border);padding:2px 6px;margin-left:8px;border-radius:3px;font-size:10px;letter-spacing:0;text-transform:none; }
.modal-overlay,.sources-modal-overlay { z-index:240; }


/* ── Càrrega: esquelets amb la forma del que hi arribarà ─────────── */
.sk { display:block;position:relative;overflow:hidden;background:var(--surface-2);border-radius:4px; }
.sk::after { content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent);animation:sk-sweep 1.4s ease-in-out infinite; }
@keyframes sk-sweep { to { transform:translateX(100%); } }
@media (prefers-reduced-motion:reduce) { .sk::after { animation:none; } }
.sk-meta { width:26%;height:10px;margin-bottom:16px; }
.sk-title { width:88%;height:24px;margin-bottom:10px; }
.sk-short { width:58%; }
.sk-bar { width:100%;height:4px;margin:16px 0 10px; }
.sk-labels { width:44%;height:9px; }
.sk-line { height:11px;width:100%; }
.sk-tag { flex:none;height:36px;border-radius:999px; }
.sk-tag-sm { width:46px;height:9px; }
.sk-pill { display:inline-block;width:14px;height:10px;vertical-align:middle; }
.sk-count { width:150px;height:30px;margin:4px 0 8px; }
.sk-fill { width:100%;height:100%; }
.sk-legend { width:70%;height:11px;margin:10px 0; }
.story-skel { padding:26px 32px;border-bottom:1px solid var(--border); }
.story-skel.is-featured { padding:32px; }
.story-skel.is-featured .sk-title { height:32px; }
.loading-more .story-skel { opacity:.55; }
.bs-skel { padding:18px 0;border-bottom:1px solid var(--border); }
.bs-skel .sk-meta { width:44%;margin-bottom:12px; }
.bs-skel .sk-line { height:15px;margin-bottom:8px; }
.bs-empty { color:var(--muted);font-size:13px;padding:18px 0; }
.angle-pending { display:grid;gap:9px;padding:2px 0; }
.angle-pending .angle-row { align-items:center; }
.status-bar.is-done { display:none; }

/* ── Lectura d'una història ──────────────────────────────────────── */
@keyframes fade-in { from { opacity:0; } }
@keyframes sheet-in { from { opacity:0;transform:translateY(10px); } }
.modal { max-width:860px;padding:0 56px 56px; }
.reading-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:3;margin:0 -56px;padding:10px 44px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0; }
.reading-toolbar button { display:inline-flex;align-items:center;gap:7px;background:transparent;color:var(--muted);border:0;border-radius:6px;min-height:40px;padding:0 10px;cursor:pointer;font-size:13px; }
.reading-toolbar button:hover { color:var(--text);background:var(--surface-2); }
.reading-actions { display:flex;align-items:center;gap:4px; }
.reading-toolbar .modal-share { position:static;border:1px solid var(--border);border-radius:6px;font-size:13px;padding:0 12px; }
.reading-toolbar .modal-share.done { color:var(--text);border-color:var(--text); }
.modal-share svg { width:14px;height:14px; }
.reading-toolbar .modal-close { position:static;width:40px;padding:0;justify-content:center;font-size:26px;line-height:1; }
.story-head { padding:40px 0 32px;border-bottom:1px solid var(--border); }
.modal-category { font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);margin:0 0 14px; }
.modal-title { font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1.16;letter-spacing:-.7px;margin:0 0 28px;text-wrap:balance; }
.story-coverage .bias-bar { height:6px;border-radius:3px;margin:0 0 12px; }
.coverage-legend { display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums; }
.coverage-legend span { display:inline-flex;align-items:center;gap:7px; }
.coverage-legend b { color:var(--text);font-weight:600; }
.coverage-legend .is-zero { opacity:.55; }
.coverage-legend i,.source-framing i,.hl-src i { display:inline-block;flex:none;width:7px;height:7px;border-radius:50%; }
.bias-coverage-indicator { display:flex;margin-top:16px; }
.bias-coverage-indicator:empty { display:none; }
.bias-coverage-badge { display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:1.4;padding:5px 10px;border-radius:999px;white-space:normal; }
.bias-coverage-badge.balanced { color:#9fd3a3;background:rgba(76,175,80,.1); }
.bias-coverage-badge.blindspot { color:var(--blindspot);background:rgba(232,186,98,.1); }
.shared-note { margin:24px 0 0; }
.analysis { border:0;background:transparent;border-radius:0;padding:32px 0;margin:0;border-bottom:1px solid var(--border); }
.analysis:empty { display:none; }
.analysis-head { display:flex;align-items:center;gap:8px;color:var(--blindspot);font-size:11px;font-weight:650;letter-spacing:.9px;text-transform:uppercase;margin-bottom:16px; }
.analysis-head .dot { width:6px;height:6px;border-radius:50%;background:currentColor; }
.analysis-summary { font-size:18px;line-height:1.7;max-width:68ch;margin-bottom:8px;text-wrap:pretty; }
.analysis-loading { font-size:14px;color:var(--muted); }
.analysis-skel-note { font-size:13px;color:var(--muted);margin-bottom:18px; }
.analysis-skel .sk-text { height:15px;margin-bottom:12px; }
.analysis-skel .sk-h3 { width:42%;height:22px;margin:30px 0 18px; }
.framing-skel { display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;padding:18px 0;border-top:1px solid var(--border); }
.source-framings { margin:28px 0 8px; }
.source-framings h3 { font:400 22px/1.3 Georgia,serif;margin-bottom:12px; }
.source-framing { display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;padding:16px 0;border-top:1px solid var(--border);font-size:15px;line-height:1.65; }
.source-framing strong { display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;align-self:start;color:var(--text);font-size:13px;font-weight:600;line-height:1.5; }
.framing-bias { flex-basis:100%;padding-left:15px;font-size:11px;font-weight:400;color:var(--muted); }
.analysis-foot { opacity:1;font-size:11px;line-height:1.6;color:var(--muted);margin-top:18px; }
.modal-headlines { border-top:0;padding-top:40px;scroll-margin-top:64px; }
.headlines-head { display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:24px; }
.modal-headlines h3 { font:400 26px/1.25 Georgia,serif;margin:0 0 6px; }
.sources-hint { color:var(--muted);font-size:13px;margin:0; }
.modal-view-toggle { display:inline-flex;gap:2px;margin:0;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--bg); }
.modal-view-btn { min-height:36px;padding:0 12px;border:0;border-radius:6px;font-size:12px;color:var(--muted);background:transparent; }
.modal-view-btn:hover { color:var(--text); }
.modal-view-btn.active { color:var(--text);background:var(--surface-2); }
.modal-headlines-columns { gap:28px; }
.modal-column-header { display:flex;justify-content:space-between;font-size:11px;letter-spacing:.9px;padding:0 0 10px;margin:0;border-bottom:2px solid; }
.modal-column-header span { color:var(--muted);font-variant-numeric:tabular-nums; }
.modal-column-empty { text-align:left;font-style:normal;padding:16px 0;color:var(--muted); }
.hl-item { display:block;padding:16px 0;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none; }
.hl-src { display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:6px; }
.hl-time { margin-left:auto;font-variant-numeric:tabular-nums; }
.hl-title { display:block;font-size:16px;line-height:1.5;text-wrap:pretty; }
a.hl-item .hl-title::after { content:" ↗";color:var(--muted);font-size:.8em; }
a.hl-item:hover .hl-title { text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:4px; }
a.hl-item:focus-visible { outline:2px solid var(--blindspot);outline-offset:2px;border-radius:4px; }
.modal-headlines-list .hl-title { font-size:17px; }
@media (max-width:860px) {
  .modal { padding:0 28px 40px; }
  .reading-toolbar { margin:0 -28px;padding:8px 16px; }
}
@media (max-width:720px) {
  .modal-headlines-columns { grid-template-columns:1fr;gap:28px; }
}
@media (max-width:600px) {
  .modal { padding:0 20px 40px; }
  .reading-toolbar { margin:0 -20px;padding:6px 8px;border-radius:0; }
  .reading-back-label,.reading-jump { display:none!important; }
  .reading-back::after { content:"Portada"; }
  .story-head { padding:28px 0 26px; }
  .modal-title { font-size:30px;margin-bottom:22px; }
  .analysis { padding:26px 0; }
  .analysis-summary { font-size:17px; }
  .source-framing,.framing-skel { grid-template-columns:1fr;gap:6px; }
  .framing-bias { flex-basis:auto;padding-left:0; }
  .framing-bias::before { content:"· "; }
  .modal-headlines { padding-top:32px; }
  .story-skel,.story-skel.is-featured { padding:24px 20px; }
}

/* ── Finestres: un requadre centrat sobre la pàgina desenfocada ───── */
.modal-overlay,.intro-overlay,.sources-modal-overlay { padding:32px;overflow:hidden;overscroll-behavior:contain;background:rgba(10,12,10,.5);backdrop-filter:blur(14px) saturate(.85);-webkit-backdrop-filter:blur(14px) saturate(.85); }
.modal-overlay.open,.intro-overlay.open,.sources-modal-overlay.open { display:flex;align-items:center;justify-content:center;animation:fade-in .16s ease-out both; }
.intro-overlay { z-index:300; }
.modal,.intro,.sources-modal { width:100%;max-height:calc(100dvh - 64px);min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 100px rgba(0,0,0,.5);scrollbar-width:thin;scrollbar-color:var(--border) transparent; }
.modal-overlay.open .modal,.intro-overlay.open .intro,.sources-modal-overlay.open .sources-modal { animation:sheet-in .22s cubic-bezier(.2,.8,.2,1) both; }
.reading-toolbar { border-radius:0; }
.sources-modal-header { position:sticky;top:-30px;z-index:2;margin:-30px -30px 20px;padding:20px 30px;background:var(--surface);border-bottom:1px solid var(--border); }
.sources-modal-close,.intro-close { display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:8px;font-size:26px;line-height:1;color:var(--muted);background:transparent;border:0;cursor:pointer; }
.sources-modal-close:hover,.intro-close:hover { color:var(--text);background:var(--surface-2); }
.intro-close { top:16px;right:16px; }
@media (prefers-reduced-motion:reduce) { .modal-overlay.open,.intro-overlay.open,.sources-modal-overlay.open,.modal-overlay.open .modal,.intro-overlay.open .intro,.sources-modal-overlay.open .sources-modal { animation:none; } }
@media (max-width:600px) {
  .modal-overlay,.sources-modal-overlay { padding:0; }
  .modal,.sources-modal { max-width:none;height:100dvh;max-height:none;min-height:0;border:0;border-radius:0;box-shadow:none; }
  .sources-modal-header { top:-24px;margin:-24px -20px 16px;padding:14px 20px; }
  .intro-overlay { padding:16px; }
  .intro { max-height:calc(100dvh - 32px); }
}
.modal:focus,.intro:focus,.sources-modal:focus { outline:none; }

/* ── Notícia a l'ordinador: un rectangle ample, sense desplaçar la finestra.
   A l'esquerra el fet i els enfocaments; a la dreta els titulars originals.
   Si una columna no hi cap, només es desplaça aquella. */
@media (min-width:1100px) and (min-height:620px) {
  .modal { max-width:1360px;height:min(calc(100dvh - 64px),900px);max-height:none;padding:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,1fr);grid-template-rows:auto minmax(0,1fr); }
  .reading-toolbar { grid-column:1/-1;margin:0;padding:8px 16px 8px 28px; }
  .reading-jump { display:none!important; }
  .story-main,.modal-headlines { min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent; }
  .story-main { padding:0 40px 28px; }
  .story-head { padding:28px 0 22px; }
  .modal-category { margin-bottom:10px; }
  .modal-title { font-size:clamp(28px,2.4vw,36px);margin-bottom:20px; }
  .bias-coverage-indicator { margin-top:12px; }
  .analysis { padding:22px 0 0;border-bottom:0; }
  .analysis-head { margin-bottom:12px; }
  .analysis-summary { font-size:16px;line-height:1.65; }
  .source-framings { margin:18px 0 0; }
  .source-framings h3 { font-size:18px;margin-bottom:6px; }
  .source-framing,.framing-skel { grid-template-columns:150px minmax(0,1fr);gap:16px;padding:11px 0;font-size:14px;line-height:1.55; }
  .analysis-notes { margin-top:14px;padding:14px 16px; }
  .analysis-foot { margin-top:12px; }
  .modal-headlines { padding:22px 28px 28px;border-left:1px solid var(--border);background:color-mix(in srgb,var(--bg) 55%,var(--surface)); }
  .headlines-head { flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px; }
  .modal-headlines h3 { font-size:20px;margin-bottom:2px; }
  .sources-hint { font-size:12px; }
  .modal-view-toggle { align-self:flex-start; }
  .modal-headlines-columns { grid-template-columns:1fr;gap:18px; }
  .modal-column-header { padding-bottom:8px; }
  .modal-column-empty { padding:10px 0; }
  .hl-item { padding:10px 0; }
  .hl-src { font-size:11px;margin-bottom:3px; }
  .hl-title,.modal-headlines-list .hl-title { font-size:14.5px;line-height:1.45; }
}

/* ── Comparació: els fets en comú primer, titular a titular ───────── */
.compare-columns { display:block; }
.cmp-section { margin-top:32px; }
.cmp-section-head { display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:14px; }
.cmp-section-head h2 { font:400 24px/1.2 Georgia,serif; }
.cmp-section-head span,.cmp-empty { color:var(--muted);font-size:13px; }
.cmp-empty { padding:18px 0; }
.compare-columns i { display:inline-block;flex:none;width:7px;height:7px;border-radius:50%; }
.cmp-sources,.cmp-cells,.cmp-only { display:grid;grid-template-columns:repeat(var(--n,1),minmax(0,1fr));gap:12px; }
.cmp-sources { padding:0 0 10px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600; }
.cmp-sources span,.cmp-only-head { display:flex;align-items:center;gap:8px;min-width:0; }
.cmp-row { padding:18px 0 20px;border-bottom:1px solid var(--border); }
.cmp-topic { display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:12px;padding:0;border:0;background:none;color:var(--text);font:400 19px/1.3 Georgia,serif;text-align:left;cursor:pointer; }
.cmp-topic small { font:12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--muted); }
.cmp-topic:hover small { color:var(--blindspot); }
.cmp-cell { display:block;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none; }
a.cmp-cell:hover { border-color:var(--muted); }
a.cmp-cell:focus-visible { outline:2px solid var(--blindspot);outline-offset:2px; }
.cmp-cell-src { display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-bottom:6px; }
.cmp-cell-src span { margin-left:auto;white-space:nowrap; }
.cmp-cell-title { display:block;font-size:14.5px;line-height:1.45;text-wrap:pretty; }
.cmp-cell.is-empty { display:flex;align-items:center;background:transparent;border-style:dashed;color:var(--muted);font-size:12px; }
.cmp-only-col { display:grid;gap:8px;align-content:start;min-width:0; }
.cmp-only-head { font-size:12px;font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--border); }
@media (max-width:760px) {
  .cmp-sources { display:none; }
  .cmp-cells,.cmp-only { grid-template-columns:1fr;gap:8px; }
  .cmp-cells .is-empty { display:none; }
  .cmp-only { gap:24px; }
}

/* El blindspot porta el color del costat que no en parla. */
.bs-story-tag.left { color:var(--left); }
.bs-story-tag.center { color:var(--center); }
.bs-story-tag.right { color:var(--right); }

/* ── Icones: un sol joc, traç d'1,75 i mida segons el botó ─────────── */
svg.ic { width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round; }
svg.ic-sm { width:14px;height:14px; }
.nav-icon-btn svg.ic,.refresh-btn svg.ic,.modal-share svg.ic { width:16px;height:16px; }
.nav-burger svg.ic { width:20px;height:20px; }
.news-search svg.ic { width:18px;height:18px;color:var(--muted); }
.reading-back svg.ic { width:18px;height:18px; }
.reading-jump svg.ic { width:15px;height:15px; }
.modal-close svg.ic,.sources-modal-close svg.ic,.intro-close svg.ic,.drawer-close svg.ic { width:20px;height:20px; }
.drawer-close { display:inline-flex;align-items:center;justify-content:center; }
.nav-icon-btn,.refresh-btn,.compare-back-btn,.source-visit { display:inline-flex;align-items:center;gap:8px; }
.source-visit { gap:5px; }
.refresh-btn.loading svg.ic { animation:spin 1s linear infinite; }
a.hl-item .hl-title::after { content:"";display:inline-block;width:.8em;height:.8em;margin-left:.3em;vertical-align:-.05em;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat; }

/* La nota de lectura crítica, sense filet de color al costat. */
.intro-note { border-left:0;border-radius:8px;padding:14px 16px; }

/* Una fila secundària compacta per al recompte i el model. */
.reading-controls { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px; }
.reading-controls .results-line { flex:1 1 180px;min-height:32px;gap:8px;font-size:11px; }
.model-control { display:grid;grid-template-columns:auto 140px minmax(0,auto);align-items:center;gap:8px;min-width:0;max-width:100%; }
.model-control label { font-size:11px;color:var(--muted);white-space:nowrap; }
.model-select-wrap { position:relative;min-width:0; }
.model-chevron { position:absolute;right:9px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--muted);pointer-events:none; }
.model-control select { -webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%;min-width:0;height:32px;padding:0 30px 0 10px;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text);font:inherit;font-size:11px;cursor:pointer;color-scheme:dark; }
.model-control select:hover { border-color:var(--muted);background:var(--surface); }
.model-control p { margin:0;max-width:190px;font-size:11px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums;text-align:left; }
@media (max-width:600px) {
  .reading-controls { gap:2px; }
  .reading-controls .results-line { order:2;flex-basis:100%;min-height:24px; }
  .model-control { width:100%;grid-template-columns:auto minmax(110px,140px) minmax(0,1fr);gap:8px; }
}
@media (pointer:coarse) { .model-control select { height:44px; } }
