.cwbbl-library {
  --cwbbl-spectrum: linear-gradient(96deg, #13e6ee 0%, #58b7ef 46%, #00ee98 100%);
  --cwbbl-nav-gradient: linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 42%), linear-gradient(135deg, #061a2d 0%, #123a80 22%, #4833ff 50%, #4080fd 75%, #1bd79c 100%);
  --cwbbl-premier-gradient: linear-gradient(105deg, #15255f 0%, #3158dd 34%, #8058f1 63%, #24d1c5 100%);
  --cwbbl-hover-navy: radial-gradient(ellipse at 50% -75%, rgba(103,255,239,.35) 0%, rgba(50,190,217,.12) 35%, transparent 64%), linear-gradient(135deg, #010611 0%, #06193d 54%, #062e4b 100%);
  --cwbbl-ui: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --cwbbl-ink: #071937;
  --cwbbl-line: rgba(7, 25, 55, .12);
  color: var(--cwbbl-ink);
  font-family:var(--cwbbl-ui);
}
.cwbbl-library *, .cwbbl-library *::before, .cwbbl-library *::after { box-sizing: border-box; }
.cwbbl-library__top { display:flex; justify-content:space-between; gap:20px; align-items:end; margin:0 0 14px; }
.cwbbl-library__top h2 { color:var(--cwbbl-ink); font-size:clamp(1.5rem,3vw,2rem); line-height:1.1; margin:3px 0 0; }
.cwbbl-library__eyebrow { align-items:center; background:var(--cwbbl-premier-gradient); border:1px solid rgba(190,255,249,.56); border-radius:999px; box-shadow:0 6px 15px rgba(48,76,185,.18),inset 0 1px 0 rgba(255,255,255,.28); color:#f3ffff; display:inline-flex; font-family:var(--cwbbl-ui); font-size:.66rem; font-weight:850; letter-spacing:.075em; line-height:1; margin-bottom:7px; padding:7px 10px; text-shadow:0 1px 5px rgba(3,13,38,.38); text-transform:uppercase; }
.cwbbl-library__top p { color:#526177; font-size:.875rem; margin:0; white-space:nowrap; }
.cwbbl-library__top-actions { align-items:flex-end; display:flex; flex-direction:column; gap:7px; }
.cwbbl-theme { align-items:center; background:rgba(255,255,255,.92); border:1px solid var(--cwbbl-line); border-radius:999px; box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 3px 10px rgba(7,25,55,.06); display:flex; gap:2px; padding:3px; }
.cwbbl-theme > span { color:#526177; font-family:var(--cwbbl-ui); font-size:.72rem; font-weight:750; letter-spacing:.01em; margin:0 2px 0 5px; text-transform:none; }
.cwbbl-library__top p { transition:opacity .35s ease,visibility .35s ease; }
.cwbbl-library__top p.cwbbl-status--hidden { opacity:0; visibility:hidden; }
.cwbbl-theme button { background:transparent; border:0; border-radius:999px; color:#31425d; cursor:pointer; font:750 .68rem/1 var(--cwbbl-ui); min-height:28px; padding:6px 8px; }
.cwbbl-theme button:hover, .cwbbl-theme button:focus-visible { background:var(--cwbbl-hover-navy); border-color:#62fff0; box-shadow:0 0 0 1px rgba(98,255,240,.32),0 0 10px rgba(75,237,224,.20),0 0 24px rgba(29,166,255,.15),inset 0 1px 0 rgba(235,255,255,.28); color:#efffff; outline:none; }
.cwbbl-theme button.is-active { background:var(--cwbbl-nav-gradient); border-color:rgba(217,255,255,.58); color:#fff; }
body.cwbbl-library-dark .cwbbl-theme { background:rgba(4,14,32,.72); border-color:rgba(190,255,249,.22); box-shadow:inset 0 1px 0 rgba(255,255,255,.10); }
body.cwbbl-library-dark .cwbbl-theme > span, body.cwbbl-library-dark .cwbbl-theme button { color:#eaffff; }
.cwbbl-filter-row { display:flex; gap:8px; margin:10px 0; overflow-x:auto; padding:3px 1px 7px; scrollbar-width:thin; }
.cwbbl-filter-row--controls { align-items:center; gap:15px; margin-top:12px; }
.cwbbl-filter-cluster { align-items:center; display:flex; flex:0 0 auto; gap:8px; }
.cwbbl-filter-cluster--sort { border-left:1px solid rgba(7,25,55,.14); padding-left:15px; }
.cwbbl-filter-row__label { color:#4d5e76; flex:0 0 auto; font-family:var(--cwbbl-ui); font-size:.78rem; font-weight:650; letter-spacing:.01em; text-transform:none; }
.cwbbl-filter-row button { align-items:center; background:#fff; border:1px solid var(--cwbbl-line); border-radius:999px; color:var(--cwbbl-ink); cursor:pointer; display:inline-flex; flex:0 0 auto; font:750 .84rem/1 var(--cwbbl-ui); gap:5px; min-height:37px; padding:8px 12px; transition:background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.cwbbl-filter-row button:hover, .cwbbl-filter-row button:focus-visible { background:var(--cwbbl-hover-navy); border-color:#62fff0; box-shadow:0 0 0 1px rgba(98,255,240,.32),0 0 10px rgba(75,237,224,.20),0 0 24px rgba(29,166,255,.15),inset 0 1px 0 rgba(235,255,255,.28); color:#efffff; outline:none; text-shadow:0 0 10px rgba(112,255,243,.32); transform:translateY(-1px); }
.cwbbl-filter-row button.is-active { background:var(--cwbbl-nav-gradient); border-color:rgba(217,255,255,.58); box-shadow:none; color:#fff; }
.cwbbl-filter-row--town-hall button[data-cwb-value="9"] { --cwbbl-th-rgb:35,40,47; --cwbbl-th-ink:#17202a; }
.cwbbl-filter-row--town-hall button[data-cwb-value="10"] { --cwbbl-th-rgb:225,45,42; --cwbbl-th-ink:#771416; }
.cwbbl-filter-row--town-hall button[data-cwb-value="11"] { --cwbbl-th-rgb:248,248,244; --cwbbl-th-ink:#4c4650; }
.cwbbl-filter-row--town-hall button[data-cwb-value="12"] { --cwbbl-th-rgb:34,181,229; --cwbbl-th-ink:#075875; }
.cwbbl-filter-row--town-hall button[data-cwb-value="13"] { --cwbbl-th-rgb:44,209,238; --cwbbl-th-ink:#07556a; }
.cwbbl-filter-row--town-hall button[data-cwb-value="14"] { --cwbbl-th-rgb:42,220,94; --cwbbl-th-ink:#075621; }
.cwbbl-filter-row--town-hall button[data-cwb-value="15"] { --cwbbl-th-rgb:117,53,191; --cwbbl-th-ink:#43136f; }
.cwbbl-filter-row--town-hall button[data-cwb-value="16"] { --cwbbl-th-rgb:194,111,37; --cwbbl-th-ink:#673511; }
.cwbbl-filter-row--town-hall button[data-cwb-value="17"] { --cwbbl-th-rgb:114,151,67; --cwbbl-th-ink:#3d5d16; }
.cwbbl-filter-row--town-hall button[data-cwb-value="18"] { --cwbbl-th-rgb:93,91,202; --cwbbl-th-ink:#29296d; }
.cwbbl-filter-row--town-hall button[data-cwb-value]:not([data-cwb-value="0"]) { background:linear-gradient(145deg,rgba(255,255,255,.27),rgba(255,255,255,.04)),rgba(var(--cwbbl-th-rgb),.25); backdrop-filter:blur(7px) saturate(135%); border-color:rgba(var(--cwbbl-th-rgb),.68); box-shadow:inset 0 1px 0 rgba(255,255,255,.32); color:var(--cwbbl-th-ink); }
body.cwbbl-library-dark .cwbbl-filter-row--town-hall button[data-cwb-value]:not([data-cwb-value="0"]) { background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.03)),rgba(var(--cwbbl-th-rgb),.36); color:#f7ffff; text-shadow:0 1px 2px rgba(0,0,0,.44); }
.cwbbl-filter-row--town-hall button[data-cwb-value]:not([data-cwb-value="0"]):hover, .cwbbl-filter-row--town-hall button[data-cwb-value]:not([data-cwb-value="0"]):focus-visible { background:var(--cwbbl-hover-navy); border-color:#62fff0; box-shadow:0 0 0 1px rgba(98,255,240,.32),0 0 10px rgba(75,237,224,.20),0 0 24px rgba(29,166,255,.15),inset 0 1px 0 rgba(235,255,255,.28); color:#efffff; }
.cwbbl-filter-row--town-hall button[data-cwb-value]:not([data-cwb-value="0"]).is-active { background:var(--cwbbl-nav-gradient) !important; border-color:rgba(217,255,255,.78) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 12px rgba(83,167,255,.26) !important; color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.42); }
.cwbbl-filter-row img { border-radius:6px; height:28px; object-fit:contain; width:28px; }
.cwbbl-grid { display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; transition:opacity .15s ease; }
.cwbbl-library.is-loading .cwbbl-grid { opacity:.48; pointer-events:none; }
.cwbbl-card { background:#fff; container-type:inline-size; border:1px solid rgba(9,45,93,.14); border-radius:20px; box-shadow:0 12px 30px rgba(7,25,55,.08),inset 0 1px 0 rgba(255,255,255,.72); min-width:0; overflow:hidden; position:relative; transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease; }
.cwbbl-card__head { align-items:center; background:var(--cwbbl-nav-gradient); color:#fff; display:flex; font-family:var(--cwbbl-ui); font-size:.73rem; font-weight:850; gap:7px; letter-spacing:.06em; min-height:44px; padding:9px 14px; text-transform:uppercase; }
.cwbbl-card__town-hall { flex:0 0 auto; }
.cwbbl-card__types { align-items:center; display:flex; flex:1 1 auto; flex-wrap:nowrap; gap:5px; justify-content:flex-end; margin-left:auto; min-width:0; }
.cwbbl-card__type { align-items:center; border:1px solid transparent; border-radius:999px; display:inline-flex; flex:0 1 auto; font-family:var(--cwbbl-ui); font-size:.60rem; font-weight:900; letter-spacing:.05em; line-height:1; margin-left:1px; min-width:0; padding:5px 8px; white-space:nowrap; }
.cwbbl-card__type::before { border-radius:50%; content:""; flex:0 0 5px; height:5px; margin-right:5px; width:5px; }
.cwbbl-card__type--secondary { font-size:.53rem; letter-spacing:.04em; opacity:.96; padding:4px 7px; }
.cwbbl-card__type--secondary::before { flex-basis:4px; height:4px; margin-right:4px; width:4px; }
.cwbbl-card__type--tertiary { font-size:.47rem; letter-spacing:.03em; opacity:.92; padding:4px 6px; }
.cwbbl-card__type--tertiary::before { flex-basis:3px; height:3px; margin-right:3px; width:3px; }
/* Keep P3 > P2 > P1 on a single header row. Scale all three priorities proportionately to the actual card width, not the browser width, so three-column desktop cards and narrow phones behave consistently. */
@supports (container-type:inline-size) {
  .cwbbl-card__head { gap:clamp(4px,1.55cqw,7px); padding-left:clamp(8px,3.4cqw,14px); padding-right:clamp(8px,3.4cqw,14px); }
  .cwbbl-card__town-hall { font-size:clamp(.61rem,2.85cqw,.73rem); }
  .cwbbl-card__types { gap:clamp(2px,1.05cqw,5px); }
  .cwbbl-card__type { font-size:clamp(.46rem,2.45cqw,.60rem); letter-spacing:clamp(.018em,.12cqw,.05em); padding:clamp(3px,1.15cqw,5px) clamp(4px,1.85cqw,8px); }
  .cwbbl-card__type::before { flex-basis:clamp(3px,1.25cqw,5px); height:clamp(3px,1.25cqw,5px); margin-right:clamp(3px,1.15cqw,5px); width:clamp(3px,1.25cqw,5px); }
  .cwbbl-card__type--secondary { font-size:clamp(.42rem,2.16cqw,.53rem); letter-spacing:clamp(.014em,.10cqw,.04em); padding:clamp(3px,1.0cqw,4px) clamp(4px,1.6cqw,7px); }
  .cwbbl-card__type--secondary::before { flex-basis:clamp(3px,1.0cqw,4px); height:clamp(3px,1.0cqw,4px); margin-right:clamp(3px,1.0cqw,4px); width:clamp(3px,1.0cqw,4px); }
  .cwbbl-card__type--tertiary { font-size:clamp(.38rem,1.92cqw,.47rem); letter-spacing:clamp(.01em,.08cqw,.03em); padding:3px clamp(3px,1.45cqw,6px); }
  .cwbbl-card__type--tertiary::before { flex-basis:clamp(2px,.85cqw,3px); height:clamp(2px,.85cqw,3px); margin-right:clamp(2px,.85cqw,3px); width:clamp(2px,.85cqw,3px); }
  .cwbbl-card__trophy { flex-basis:clamp(22px,6.75cqw,27px); height:clamp(22px,6.75cqw,27px); margin-left:clamp(0px,.5cqw,2px); width:clamp(22px,6.75cqw,27px); }
  .cwbbl-card__trophy svg { height:clamp(16px,5cqw,20px); width:clamp(16px,5cqw,20px); }
}

.cwbbl-card__type--secondary.cwbbl-card__type--war, .cwbbl-card__type--tertiary.cwbbl-card__type--war { animation:none; }
.cwbbl-card__type--war { animation:none; background:#fff; border-color:#ef9a9a; box-shadow:0 0 0 1px rgba(198,40,40,.08),0 0 13px rgba(239,83,80,.16); color:#c62828; }
.cwbbl-card__type--war::before { animation:none; background:#e53935; box-shadow:0 0 7px rgba(229,57,53,.75); }
.cwbbl-card__type[data-cwbbl-card-priority="1"]::before { animation:cwbblWarBaseDot 1.1s ease-in-out infinite; }
.cwbbl-card__type[data-cwbbl-card-priority="2"]::before, .cwbbl-card__type[data-cwbbl-card-priority="3"]::before { animation:none !important; }
.cwbbl-card__type--cwl { background:linear-gradient(135deg,#020817 0%,#082456 68%,#063d61 100%); border-color:rgba(123,255,242,.56); box-shadow:inset 0 1px 0 rgba(227,255,255,.18),0 0 13px rgba(48,238,217,.16); color:#bafff5; }
.cwbbl-card__type--cwl::before { background:#63ffeb; box-shadow:0 0 8px #48f8e6; }
.cwbbl-card__type--farming { background:linear-gradient(135deg,#057a48,#15bf76); border-color:rgba(187,255,220,.62); box-shadow:inset 0 1px 0 rgba(235,255,246,.22),0 0 12px rgba(20,190,118,.22); color:#f3fff9; }
.cwbbl-card__type--farming::before { background:#b9ffce; box-shadow:0 0 8px rgba(185,255,206,.78); }
.cwbbl-card__type--progress { background:linear-gradient(135deg,#007f9f,#23d8e9); border-color:rgba(198,255,255,.65); box-shadow:inset 0 1px 0 rgba(239,255,255,.28),0 0 12px rgba(34,215,235,.25); color:#efffff; }
.cwbbl-card__type--progress::before { background:#efffff; box-shadow:0 0 8px rgba(210,255,255,.88); }
.cwbbl-card__type--trophy { background:linear-gradient(135deg,#160837 0%,#39207e 28%,#6d3bcc 56%,#4d218f 76%,#1b0a42 100%); border-color:rgba(202,164,255,.72); box-shadow:inset 0 1px 0 rgba(245,232,255,.38),0 0 13px rgba(129,70,235,.28); color:#fcf8ff; }
.cwbbl-card__type--trophy::before { background:#d7b8ff; box-shadow:0 0 8px rgba(209,168,255,.88); }
.cwbbl-card__trophy { align-items:center; animation:none; background:radial-gradient(circle at 50% 18%,rgba(234,211,255,.48),transparent 29%),linear-gradient(145deg,#1d0b4a,#6c36c2 58%,#321064); border:1px solid rgba(221,193,255,.84); border-radius:8px; box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 2px 8px rgba(20,4,60,.45); display:inline-flex; flex:0 0 27px; height:27px; justify-content:center; margin-left:2px; overflow:hidden; width:27px; }
.cwbbl-card__trophy.is-cwbbl-trophy-live { animation:cwbblTrophyFlip 12s ease-in-out infinite; }
.cwbbl-card__trophy svg { fill:none; filter:drop-shadow(0 1px 1px rgba(0,0,0,.48)); height:20px; stroke:#f4e8ff; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.65; width:20px; }
@keyframes cwbblTrophyFlip { 0%,84%,100% { transform:perspective(120px) rotateY(0deg); } 89% { transform:perspective(120px) rotateY(180deg); } 94% { transform:perspective(120px) rotateY(360deg); } }
@keyframes cwbblWarBaseDot { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.46; transform:scale(.62); } }
@keyframes cwbblWarBasePill { 0%,100% { box-shadow:0 0 0 1px rgba(198,40,40,.08),0 0 13px rgba(239,83,80,.16); } 50% { box-shadow:0 0 0 2px rgba(239,83,80,.20),0 0 20px rgba(239,83,80,.29); } }
.cwbbl-card__cwl { align-items:center; background:linear-gradient(135deg,#020817 0%,#082456 68%,#063d61 100%); border:1px solid rgba(123,255,242,.56); border-radius:999px; box-shadow:inset 0 1px 0 rgba(227,255,255,.18),0 0 13px rgba(48,238,217,.16); display:inline-flex; font-family:var(--cwbbl-ui); font-size:.64rem; font-weight:900; letter-spacing:.07em; margin-left:auto; padding:5px 8px; position:relative; text-transform:uppercase; }
.cwbbl-card__cwl::before { background:#63ffeb; border-radius:50%; box-shadow:0 0 8px #48f8e6; content:""; height:5px; margin-right:5px; width:5px; }
.cwbbl-card__cwl > span { background:linear-gradient(90deg,#eaffff 0%,#7bfff0 48%,#baf8ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cwbbl-card__media { align-items:center; aspect-ratio:16/9; background:#071937; display:flex; justify-content:center; overflow:hidden; position:relative; }
.cwbbl-card__media img { height:100%; object-fit:cover; position:relative; width:100%; z-index:0; }
.cwbbl-library img[data-cwb-protected-image] { -webkit-user-drag:none; user-select:none; }
.cwbbl-card__media-insight { align-items:center; animation:cwbblInsightCompact .28s cubic-bezier(.22,1,.36,1) 3.2s forwards; background:linear-gradient(180deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,0) 42%),linear-gradient(135deg,#061a2d 0%,#123a80 22%,#4833ff 50%,#4080fd 75%,#1bd79c 100%); border:1px solid rgba(217,255,255,.58); border-radius:999px; bottom:10px; color:#fff; display:inline-flex; font-family:"Segoe Script","Bradley Hand",cursive; font-size:.77rem; font-weight:700; gap:4px; left:10px; letter-spacing:.01em; line-height:1; max-width:120px; overflow:hidden; padding:6px 8px; pointer-events:none; position:absolute; text-transform:none; white-space:nowrap; z-index:2; }
.cwbbl-card__media-insight svg { fill:none; flex:0 0 14px; height:14px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:14px; }
.cwbbl-card__media-insight-label { animation:cwbblInsightLabelHide .18s ease 3.12s forwards; display:inline-block; overflow:hidden; }
.cwbbl-card__media-insight-mini { align-items:center; animation:cwbblInsightMiniShow .18s ease 3.12s forwards; background:#30363d; border:1px solid rgba(255,255,255,.10); border-radius:5px; box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 1px 4px rgba(0,0,0,.38); color:transparent; display:inline-flex; font-size:0; height:19px; justify-content:center; line-height:1; opacity:0; overflow:visible; position:relative; width:0; }
.cwbbl-card__media-insight-mini::before { color:#edf5f7; content:"♡"; font-family:Arial,sans-serif; font-size:7px; font-style:normal; font-weight:700; left:50%; line-height:1; position:absolute; text-shadow:none; top:2px; transform:translateX(-50%); }
.cwbbl-card__media-insight-mini::after { background:#edf5f7; border-radius:1px; content:""; height:8px; left:50%; position:absolute; top:8px; transform:translateX(-50%); width:2px; }
@keyframes cwbblInsightCompact { 0% { bottom:10px; gap:4px; max-width:120px; padding:6px 8px; } 100% { bottom:10px; gap:3px; max-width:54px; padding:5px 6px; } }
@keyframes cwbblInsightLabelHide { to { opacity:0; width:0; } }
@keyframes cwbblInsightMiniShow { to { opacity:1; width:18px; } }
.cwbbl-card__media:hover .cwbbl-card__media-insight, .cwbbl-card__media:focus-visible .cwbbl-card__media-insight { animation:none; bottom:10px; gap:4px; max-width:120px; padding:6px 8px; transition:max-width .42s cubic-bezier(.22,1,.36,1),padding .42s cubic-bezier(.22,1,.36,1),gap .42s ease; }
.cwbbl-card__media:hover .cwbbl-card__media-insight-label, .cwbbl-card__media:focus-visible .cwbbl-card__media-insight-label { animation:none; opacity:1; transition:opacity .24s ease .11s,width .01s linear .11s; width:auto; }
.cwbbl-card__media:hover .cwbbl-card__media-insight-mini, .cwbbl-card__media:focus-visible .cwbbl-card__media-insight-mini { animation:none; opacity:0; transition:opacity .16s ease,width .16s ease; width:0; }
.cwbbl-library[data-cwb-editor-preview="1"] .cwbbl-card__media-insight { animation:none; bottom:10px; gap:4px; max-width:120px; padding:6px 8px; }
.cwbbl-library[data-cwb-editor-preview="1"] .cwbbl-card__media-insight-label { animation:none; opacity:1; width:auto; }
.cwbbl-library[data-cwb-editor-preview="1"] .cwbbl-card__media-insight-mini { display:none; }
.cwbbl-library[data-cwb-editor-preview="1"] .cwbbl-card__media-matters-phrase { animation:none; clip-path:none; opacity:0; }
.cwbbl-library[data-cwb-editor-preview="1"] .cwbbl-card__media-matters:not(.cwbbl-card__media-matters--anti-de) .cwbbl-card__media-matters-phrase--matters,
.cwbbl-library[data-cwb-editor-preview="1"] .cwbbl-card__media-matters--anti-de .cwbbl-card__media-matters-phrase--anti-first { opacity:1; }
.cwbbl-card__media-matters { bottom:8px; color:#fff; font-family:"Segoe Script","Bradley Hand",cursive; font-size:1.05rem; font-weight:700; line-height:.82; max-width:calc(100% - 24px); min-width:142px; pointer-events:none; position:absolute; right:13px; text-align:right; text-shadow:0 1px 3px rgba(0,0,0,.78),0 0 11px rgba(7,22,53,.65); white-space:nowrap; z-index:2; }
.cwbbl-card__media-matters-phrase { align-items:flex-end; animation:cwbblMattersFirst 40s ease-in-out infinite; bottom:0; clip-path:inset(0 100% 0 0); display:flex; flex-direction:column; opacity:0; position:absolute; right:0; width:100%; will-change:opacity,clip-path; }
.cwbbl-card__media-matters-phrase--difference { animation-name:cwbblMattersSecond; }
/* Keep adjacent standard Premier signatures in opposite phases: card 1 shows Base That Matters while card 2 shows Base With The Difference, then the pattern repeats. The negative half-cycle delay preserves the alternation for the full animation loop and automatically follows the visible grid order after filters/sorts/AJAX loads. */
.cwbbl-grid > .cwbbl-card:nth-child(even) .cwbbl-card__media-matters:not(.cwbbl-card__media-matters--anti-de) .cwbbl-card__media-matters-phrase { animation-delay:-20s; }
.cwbbl-card__media-matters--anti-de .cwbbl-card__media-matters-phrase { animation-duration:64s; }
.cwbbl-card__media-matters--anti-de .cwbbl-card__media-matters-phrase--anti-first { animation-name:cwbblAntiDarkFirst; }
.cwbbl-card__media-matters--anti-de .cwbbl-card__media-matters-phrase--matters { animation-name:cwbblAntiDarkMatters; }
.cwbbl-card__media-matters--anti-de .cwbbl-card__media-matters-phrase--anti-second { animation-name:cwbblAntiDarkSecond; }
.cwbbl-card__media-matters--anti-de .cwbbl-card__media-matters-phrase--difference { animation-name:cwbblAntiDarkDifference; }
.cwbbl-card__media-matters-phrase--difference > span:first-child { font-size:.88em; }
.cwbbl-card__media-matters-phrase--anti-first > span:first-child, .cwbbl-card__media-matters-phrase--anti-second > span:first-child { font-size:.92em; letter-spacing:.01em; }
.cwbbl-card__media-matters-phrase > span { display:block; max-width:100%; white-space:nowrap; }
.cwbbl-card__media-matters-phrase > span:last-child { font-size:1.2em; margin-right:1px; }
@keyframes cwbblMattersFirst { 0% { clip-path:inset(0 100% 0 0); opacity:0; } 10% { clip-path:inset(0 0 0 0); opacity:1; } 40% { clip-path:inset(0 0 0 0); opacity:1; } 50%,100% { clip-path:inset(0 0 0 100%); opacity:0; } }
@keyframes cwbblMattersSecond { 0%,50% { clip-path:inset(0 100% 0 0); opacity:0; } 60% { clip-path:inset(0 0 0 0); opacity:1; } 90% { clip-path:inset(0 0 0 0); opacity:1; } 100% { clip-path:inset(0 0 0 100%); opacity:0; } }
@keyframes cwbblAntiDarkFirst { 0% { clip-path:inset(0 100% 0 0); opacity:0; } 6.25% { clip-path:inset(0 0 0 0); opacity:1; } 18.75% { clip-path:inset(0 0 0 0); opacity:1; } 25%,100% { clip-path:inset(0 0 0 100%); opacity:0; } }
@keyframes cwbblAntiDarkMatters { 0%,25% { clip-path:inset(0 100% 0 0); opacity:0; } 31.25% { clip-path:inset(0 0 0 0); opacity:1; } 43.75% { clip-path:inset(0 0 0 0); opacity:1; } 50%,100% { clip-path:inset(0 0 0 100%); opacity:0; } }
@keyframes cwbblAntiDarkSecond { 0%,50% { clip-path:inset(0 100% 0 0); opacity:0; } 56.25% { clip-path:inset(0 0 0 0); opacity:1; } 68.75% { clip-path:inset(0 0 0 0); opacity:1; } 75%,100% { clip-path:inset(0 0 0 100%); opacity:0; } }
@keyframes cwbblAntiDarkDifference { 0%,75% { clip-path:inset(0 100% 0 0); opacity:0; } 81.25% { clip-path:inset(0 0 0 0); opacity:1; } 93.75% { clip-path:inset(0 0 0 0); opacity:1; } 100% { clip-path:inset(0 0 0 100%); opacity:0; } }
.cwbbl-card__image-missing { color:#526177; font-size:.85rem; font-weight:700; }
.cwbbl-card__body { padding:15px; }
.cwbbl-card__below-image { position:relative; }
.cwbbl-card h3 { font-size:1.05rem; line-height:1.25; margin:0 0 10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cwbbl-card h3 a { color:var(--cwbbl-ink); display:block; overflow:hidden; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.cwbbl-card__tags { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0 0 12px; padding:0; }
.cwbbl-card__tags li { background:#edf7f9; border-radius:999px; color:#176776; font-size:.72rem; font-weight:700; padding:5px 8px; }
.cwbbl-card__metrics { align-items:center; border-top:1px solid rgba(7,25,55,.08); display:flex; gap:11px; justify-content:space-between; margin-top:11px; padding-top:11px;  flex-wrap:wrap;}
.cwbbl-card__metric-group { align-items:center; display:flex; gap:11px; min-width:0; }
.cwbbl-card__metric-group--score { flex:1 1 100%;  min-width:100%;}
.cwbbl-card__metric-group--actions { flex:0 0 100%;  min-width:100%;}
.cwbbl-card__metric { align-items:center; color:#4d5e76; display:inline-flex; font-size:.74rem; font-weight:780; gap:4px; white-space:nowrap; }
.cwbbl-card__metric--button { background:transparent; border:0; cursor:pointer; font:inherit; padding:0; }
.cwbbl-card__metric--button:hover, .cwbbl-card__metric--button:focus-visible { color:#167a85; outline:2px solid #5dffe5; outline-offset:2px; }
.cwbbl-card__metric svg { fill:none; height:15px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.9; width:15px; }
.cwbbl-rating { align-items:center; display:flex; gap:5px; justify-content:space-between; min-width:0; }
.cwbbl-rating strong { color:#4d5e76; font-size:.72rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cwbbl-rating__stars { --cwbbl-rating-fill:0%; border:1px solid transparent; border-radius:999px; display:block; flex:0 0 89px; height:24px; position:relative; transition:background .2s ease,border-color .2s ease,box-shadow .2s ease; width:89px; }
.cwbbl-rating:hover .cwbbl-rating__stars, .cwbbl-rating:focus-within .cwbbl-rating__stars { background:var(--cwbbl-hover-navy); border-color:#62fff0; box-shadow:0 0 0 1px rgba(98,255,240,.28),0 0 10px rgba(75,237,224,.20),0 0 22px rgba(29,166,255,.15),inset 0 1px 0 rgba(235,255,255,.28); }
.cwbbl-rating__visual { display:grid; grid-template-columns:repeat(5,17px); inset:0 2px; position:absolute; }
.cwbbl-rating:hover .cwbbl-rating__visual, .cwbbl-rating:focus-within .cwbbl-rating__visual { color:#a9fff6; }
.cwbbl-rating__star { display:block; height:22px; position:relative; width:17px; }
.cwbbl-rating__star-base, .cwbbl-rating__star-fill { color:#d6dee8; display:block; font-size:1.06rem; height:22px; line-height:22px; text-align:center; white-space:nowrap; }
.cwbbl-rating:hover .cwbbl-rating__star-base, .cwbbl-rating:focus-within .cwbbl-rating__star-base { color:#a9fff6; }
.cwbbl-rating__star-fill { background:var(--cwbbl-nav-gradient); background-clip:text; color:transparent; overflow:hidden; position:absolute; inset:0 auto 0 0; text-shadow:none; width:var(--cwbbl-star-fill); }
.cwbbl-rating__choices { display:grid; grid-template-columns:repeat(5,17px); inset:0 2px; position:absolute; }
.cwbbl-rating__choices button, .cwbbl-rating__choices button:hover, .cwbbl-rating__choices button:focus, .cwbbl-rating__choices button:focus-visible, .cwbbl-rating__choices button:active { -webkit-appearance:none !important; appearance:none !important; background:transparent !important; border:0 !important; box-shadow:none !important; cursor:pointer; min-width:0; outline:0 !important; padding:0; }
.cwbbl-share { align-items:center; display:flex; gap:5px; margin-top:10px; min-height:29px; }
.cwbbl-share__label { color:#68788e; font-size:.69rem; font-weight:800; margin-right:2px; text-transform:uppercase; }
.cwbbl-share__button { align-items:center; border:1px solid rgba(7,25,55,.1); border-radius:999px; box-shadow:0 2px 7px rgba(7,25,55,.12); color:#fff; cursor:pointer; display:inline-flex; height:25px; justify-content:center; min-width:25px; padding:0; text-decoration:none; transition:transform .16s ease,filter .16s ease; width:25px; }
.cwbbl-share__button svg { fill:none; height:13px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; width:13px; }
.cwbbl-share__button:hover, .cwbbl-share__button:focus-visible { color:#fff; filter:brightness(1.1); outline:2px solid #54c8ef; outline-offset:1px; transform:translateY(-1px); }
.cwbbl-share__button--x { background:#101010; }
.cwbbl-share__button--whatsapp { background:#128c41; }
.cwbbl-share__button--facebook { background:#1877f2; }
.cwbbl-share__button--reddit { background:#ff4500; }
.cwbbl-share__button--instagram { background:radial-gradient(circle at 30% 108%,#ffdc80 0 14%,#fcaf45 14% 27%,#f77737 27% 41%,#e1306c 41% 61%,#c13584 61% 78%,#833ab4 78%); }
.cwbbl-share__button--native { background:#071937; }
.cwbbl-share__feedback { color:#167a85; font-size:.68rem; font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cwbbl-card__copy { align-items:center; background:linear-gradient(180deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,0) 42%),linear-gradient(135deg,#061a2d 0%,#123a80 22%,#4833ff 50%,#4080fd 75%,#1bd79c 100%); border:1px solid rgba(217,255,255,.58); border-radius:999px; color:#eaffff; display:flex; font-family:var(--cwbbl-ui); font-size:.86rem; font-weight:900; gap:7px; justify-content:center; margin-top:13px; min-height:41px; text-decoration:none; }
.cwbbl-card__copy-icon, .cwbbl-card__battle-icon { align-items:center; display:inline-flex; justify-content:center; }
.cwbbl-card__copy-icon svg, .cwbbl-card__battle-icon svg { fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
.cwbbl-card__copy-icon svg { height:16px; stroke-width:1.9; width:16px; }
.cwbbl-card__battle-icon svg { height:20px; stroke-width:1.85; width:20px; }
.cwbbl-card__copy:hover, .cwbbl-card__copy:focus-visible { color:#fff; outline:2px solid #54c8ef; outline-offset:2px; }
@media (hover:hover) and (pointer:fine) { .cwbbl-card:hover { border-color:rgba(64,128,253,.35); box-shadow:0 16px 34px rgba(7,25,55,.13),0 0 0 1px rgba(71,224,231,.12),inset 0 1px 0 rgba(255,255,255,.82); transform:translateY(-2px); } }
.cwbbl-latest-bases { color:#dbe8f7; font-family:var(--cwbbl-ui); min-width:0; }
.cwbbl-latest-bases *, .cwbbl-latest-bases *::before, .cwbbl-latest-bases *::after { box-sizing:border-box; }
.cwbbl-latest-bases__list { display:grid; gap:10px; }
.cwbbl-latest-bases__item { align-items:stretch; background:linear-gradient(145deg,rgba(23,57,91,.95),rgba(8,25,47,.98)); border:1px solid rgba(139,213,255,.22); border-radius:14px; display:grid; gap:0; grid-template-columns:126px minmax(0,1fr); min-width:0; overflow:hidden; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.cwbbl-latest-bases__item:hover { border-color:rgba(105,241,230,.7); box-shadow:0 10px 24px rgba(0,0,0,.18),0 0 18px rgba(73,225,221,.10); transform:translateY(-1px); }
.cwbbl-latest-bases__media { background:#071937; display:block; min-height:92px; overflow:hidden; }
.cwbbl-latest-bases__media img { display:block; height:100%; object-fit:cover; transition:transform .32s ease; width:100%; }
.cwbbl-latest-bases__item:hover .cwbbl-latest-bases__media img { transform:scale(1.045); }
.cwbbl-latest-bases__media > span { align-items:center; color:#89f7ed; display:flex; font-size:1rem; font-weight:900; height:100%; justify-content:center; letter-spacing:.08em; }
.cwbbl-latest-bases__body { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:10px 12px; }
.cwbbl-latest-bases__body p { color:#8ef5eb; display:flex; font-size:.63rem; font-weight:850; gap:7px; letter-spacing:.06em; line-height:1.2; margin:0 0 5px; text-transform:uppercase; }
.cwbbl-latest-bases__body p span + span { border-left:1px solid rgba(171,235,255,.35); padding-left:7px; }
.cwbbl-latest-bases__body h3 { font-size:.91rem; line-height:1.28; margin:0; min-width:0; overflow-wrap:anywhere; }
.cwbbl-latest-bases__body h3 a { color:#f6fbff; text-decoration:none; }
.cwbbl-latest-bases__body h3 a:hover, .cwbbl-latest-bases__body h3 a:focus-visible { color:#a5fff5; outline:0; }
.cwbbl-latest-bases__link { color:#8ef5eb; font-size:.72rem; font-weight:850; margin-top:7px; text-decoration:none; }
.cwbbl-latest-bases__link:hover, .cwbbl-latest-bases__link:focus-visible { color:#fff; outline:0; }
.cwbbl-latest-bases__link span { font-size:1em; margin-left:4px; }
.cwbbl-latest-bases__empty { align-items:center; background:linear-gradient(145deg,rgba(23,57,91,.95),rgba(8,25,47,.98)); border:1px dashed rgba(139,213,255,.34); border-radius:14px; color:#eaf7ff; display:flex; font-size:.88rem; font-weight:800; justify-content:space-between; min-height:92px; padding:16px; text-decoration:none; }
.cwbbl-latest-bases__empty b { color:#8ef5eb; font-size:1.15rem; }
.cwbbl-comments-panel { background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(239,251,252,.99)); display:flex; flex-direction:column; inset:0; overflow:auto; padding:14px; position:absolute; z-index:5; }
.cwbbl-comments-panel[hidden] { display:none !important; }
.cwbbl-comments-panel__top { align-items:center; border-bottom:1px solid rgba(7,25,55,.1); color:#071937; display:flex; font-size:.93rem; justify-content:space-between; padding:0 0 9px; }
.cwbbl-comments-panel__top button { align-items:center; background:#071937; border:0; border-radius:50%; color:#fff; cursor:pointer; display:flex; font-size:1.25rem; height:28px; justify-content:center; line-height:1; padding:0; width:28px; }
.cwbbl-comments-panel__top button:hover, .cwbbl-comments-panel__top button:focus-visible { background:#176776; outline:2px solid #54c8ef; outline-offset:2px; }
.cwbbl-comments-list { display:flex; flex:1 1 auto; flex-direction:column; gap:8px; min-height:76px; padding:11px 0; }
.cwbbl-comments-list > p { color:#5a6c83; font-size:.78rem; margin:auto 0; }
.cwbbl-comment { background:#fff; border:1px solid rgba(7,25,55,.09); border-radius:10px; box-shadow:0 3px 10px rgba(7,25,55,.05); padding:8px 9px; }
.cwbbl-comment p { color:#182c4a; font-size:.8rem; line-height:1.38; margin:0; overflow-wrap:anywhere; }
.cwbbl-comment__name { color:#173e78; display:block; font-size:.72rem; margin-bottom:4px; overflow-wrap:anywhere; }
.cwbbl-comment time { color:#68788e; display:block; font-size:.67rem; font-weight:700; margin-top:4px; }
.cwbbl-comment-form { border-top:1px solid rgba(7,25,55,.1); margin-top:auto; padding-top:10px; }
.cwbbl-comment-form > label { color:#39506f; display:flex; font-size:.73rem; font-weight:800; justify-content:space-between; }
.cwbbl-comment-form input, .cwbbl-comment-form textarea { border:1px solid #aec3d7; border-radius:9px; font:inherit; font-size:.8rem; margin:5px 0 9px; padding:8px; width:100%; }
.cwbbl-comment-form textarea { min-height:50px; resize:vertical; }
.cwbbl-comment-form input:focus, .cwbbl-comment-form textarea:focus { border-color:#23a8d3; box-shadow:0 0 0 2px rgba(35,168,211,.17); outline:0; }
.cwbbl-comment-trap { height:0; overflow:hidden; position:absolute; width:0; }
.cwbbl-comment-form__footer { align-items:center; display:flex; gap:8px; justify-content:space-between; margin-top:7px; }
.cwbbl-comment-form__footer small { color:#5b6d82; font-size:.65rem; line-height:1.25; }
.cwbbl-comment-form__footer button { background:#071937; border:0; border-radius:999px; color:#fff; cursor:pointer; flex:0 0 auto; font:800 .69rem/1 inherit; min-height:29px; padding:7px 10px; }
.cwbbl-comment-form__footer button:hover, .cwbbl-comment-form__footer button:focus-visible { background:#176776; outline:2px solid #54c8ef; outline-offset:2px; }
.cwbbl-comment-form__footer button:disabled { cursor:wait; opacity:.6; }
.cwbbl-empty { align-items:center; background:linear-gradient(135deg,#f8fcfd,#edf7f8); border:1px dashed #8dc8d4; border-radius:18px; display:flex; flex-direction:column; gap:6px; grid-column:1/-1; min-height:180px; justify-content:center; padding:24px; text-align:center; }
.cwbbl-empty strong { color:var(--cwbbl-ink); font-size:1.08rem; }
.cwbbl-empty span { color:#526177; font-size:.9rem; }
.cwbbl-library__footer { display:flex; justify-content:center; padding:23px 0 4px; }
.cwbbl-load-more { background:#071937; border:0; border-radius:999px; color:#fff; cursor:pointer; font:800 .9rem/1 inherit; min-height:42px; padding:12px 20px; }
.cwbbl-load-more[hidden], .cwbbl-modal[hidden] { display:none !important; }
.cwbbl-load-more:hover, .cwbbl-load-more:focus-visible { background:#12335e; outline:2px solid #54c8ef; outline-offset:2px; }
body.cwbbl-library-dark, body.cwbbl-library-dark .site-main, body.cwbbl-library-dark #content, body.cwbbl-library-dark .site-content { background-color:#252934; }
body.cwbbl-library-dark .cwbbl-library__top h2 { color:#fff; }
body.cwbbl-library-dark .cwbbl-library__top p, body.cwbbl-library-dark .cwbbl-filter-row__label, body.cwbbl-library-dark .cwbbl-theme > span { color:#dbe5f3; }
body.cwbbl-library-dark .cwbbl-library__eyebrow { color:#75e7dc; }
.cwbbl-modal { align-items:center; display:flex; inset:0; justify-content:center; padding:20px; position:fixed; z-index:99999; }
.cwbbl-modal__backdrop { background:rgba(4,13,31,.82); inset:0; position:absolute; }
.cwbbl-modal__dialog { background:#fff; border-radius:20px; box-shadow:0 22px 70px rgba(0,0,0,.35); max-height:min(92vh,1000px); max-width:min(1080px,100%); overflow:auto; position:relative; width:100%; z-index:1; }
.cwbbl-modal__image-wrap { align-items:center; background:#071937; display:flex; justify-content:center; min-height:220px; }
.cwbbl-modal__image-wrap img { display:block; height:auto; max-height:68vh; object-fit:contain; width:auto; max-width:100%; }
.cwbbl-modal__content { padding:18px clamp(18px,4vw,36px) 28px; }
.cwbbl-modal__content h3 { color:#071937; font-size:clamp(1.2rem,2.5vw,1.7rem); line-height:1.2; margin:5px 0 6px; }
.cwbbl-modal__content div { color:#354864; font-size:1rem; line-height:1.65; }
.cwbbl-modal__content div > :last-child { margin-bottom:0; }
.cwbbl-modal__topline { align-items:center; display:flex; flex-wrap:wrap; gap:6px 9px; margin:0 0 3px; min-height:25px; }
.cwbbl-modal__meta { color:#167a85; flex:0 0 auto; font-size:.76rem; font-weight:850; letter-spacing:.08em; margin:0; text-transform:uppercase; }
.cwbbl-modal__views { color:#67778d; font-size:.83rem; font-weight:700; margin:0 0 10px; }
.cwbbl-modal__insight-defense { align-items:center; display:flex; flex:1 1 auto; flex-wrap:wrap; gap:5px; margin:0; }
.cwbbl-modal__insight-defense[hidden] { display:none !important; }
.cwbbl-modal__insight-defense-pill { background:linear-gradient(135deg,#071937,#2439b9 58%,#159f9d); border:1px solid rgba(255,255,255,.22); border-radius:999px; box-shadow:0 2px 7px rgba(16,38,92,.14); color:#fff; display:inline-flex; font-size:.66rem; font-weight:850; letter-spacing:.01em; line-height:1; padding:5px 8px; white-space:nowrap; }
.cwbbl-modal__close { align-items:center; background:#fff; border:0; border-radius:50%; box-shadow:0 4px 14px rgba(0,0,0,.22); color:#071937; cursor:pointer; display:flex; font-size:1.7rem; height:38px; justify-content:center; line-height:1; position:absolute; right:13px; top:13px; width:38px; z-index:2; }
.cwbbl-modal__close:hover, .cwbbl-modal__close:focus-visible { background:#e9faff; outline:2px solid #21cddd; }
@media (max-width:1100px) { .cwbbl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .cwbbl-library__top { display:block; position:relative; } .cwbbl-library__top > div:first-child { min-width:0; padding-right:142px; } .cwbbl-library__top h2 { font-size:1.42rem; } .cwbbl-library__top-actions { align-items:flex-end; bottom:0; gap:0; position:absolute; right:0; width:auto; } .cwbbl-library__top p { display:block; font-size:.65rem; line-height:1; margin:0 0 4px; white-space:nowrap; } .cwbbl-theme { flex-wrap:nowrap; gap:1px; padding:2px; } .cwbbl-theme > span { display:none; } .cwbbl-theme button { font-size:.61rem; min-height:27px; padding:5px 6px; } .cwbbl-grid { grid-template-columns:1fr; } .cwbbl-filter-row { -webkit-overflow-scrolling:touch; } .cwbbl-filter-row--controls { gap:12px; } .cwbbl-filter-cluster { gap:7px; } .cwbbl-filter-cluster--sort { padding-left:12px; } .cwbbl-filter-row button { min-height:35px; padding:7px 10px; } .cwbbl-card__metrics { align-items:stretch; flex-direction:column; gap:8px; } .cwbbl-card__metric-group { justify-content:space-between; width:100%; } .cwbbl-card__metric-group--score { align-items:flex-start; flex-wrap:wrap; row-gap:6px; } .cwbbl-rating { flex:1 1 auto; justify-content:flex-end; } .cwbbl-card__metric-group--actions { border-top:1px solid rgba(7,25,55,.07); padding-top:8px; } .cwbbl-card__media-insight { font-size:.73rem; } .cwbbl-card__media-matters { font-size:.98rem; right:11px; } .cwbbl-latest-bases__item { grid-template-columns:108px minmax(0,1fr); } .cwbbl-latest-bases__body { padding:9px 10px; } .cwbbl-latest-bases__body h3 { font-size:.86rem; } .cwbbl-modal { padding:8px; } .cwbbl-modal__image-wrap img { max-height:57vh; } }
@media (prefers-reduced-motion:reduce) { .cwbbl-card__media-insight, .cwbbl-card__media-insight-label, .cwbbl-card__media-insight-mini, .cwbbl-card__media-matters-phrase, .cwbbl-card__trophy, .cwbbl-card__type::before { animation:none !important; } .cwbbl-card__media-insight { bottom:10px; gap:4px; max-width:120px; padding:6px 8px; } .cwbbl-card__media-insight-label { opacity:1; width:auto; } .cwbbl-card__media-insight-mini { opacity:0; width:0; } .cwbbl-card__media-matters-phrase { clip-path:none !important; opacity:0; } .cwbbl-card__media-matters:not(.cwbbl-card__media-matters--anti-de) .cwbbl-card__media-matters-phrase--matters, .cwbbl-card__media-matters--anti-de .cwbbl-card__media-matters-phrase--anti-first { opacity:1; } }
@media (max-width:390px) { .cwbbl-theme > span { width:100%; } .cwbbl-theme button { flex:1 1 auto; } .cwbbl-card__metrics { gap:7px 8px; } }
