/* __BLIB_V1_CSS__ Bumaga Library public pages */
/* __BLIB_HERO_IDX_SSOT_20261021__: hero uses homepage's actual .idx-hero CSS.
   Do not clone .idx-hero rules here; maintain one source of truth. */
.bl-shell{max-width:none;margin:0;padding:0 0 100px;background:var(--bp-surface);color:var(--bp-text);font-family:var(--bp-sans);overflow-x:hidden}
.bl-shell *{box-sizing:border-box}
.bl-content{max-width:1300px;margin:0 auto;padding:0 24px}
.bl-search-area{max-width:600px;margin:0 auto 42px;text-align:center}
.bl-search{display:flex;align-items:center;gap:10px;padding:12px 17px;background:var(--bp-card);border:1px solid var(--bp-border);border-radius:var(--bp-radius-sm)}
.bl-search:focus-within{border-color:var(--bp-accent)}
.bl-search span{font-size:25px;line-height:1;color:var(--bp-text-secondary)}
.bl-search input{width:100%;outline:0;border:0;background:transparent;color:var(--bp-text);font:inherit;font-size:14px}
.bl-search input::placeholder{color:var(--bp-text-secondary)}
.bl-hero-meta{margin-top:13px;color:var(--bp-text-muted);font-size:12px}
.bl-kicker{display:inline-block;color:var(--bp-accent);font-size:11px;letter-spacing:1.2px;font-weight:600;text-transform:uppercase}
.bl-toolbar,.bl-section-top{margin:38px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bl-toolbar h2,.bl-section-top h2{font-size:24px;margin:0;letter-spacing:-.3px}
.bl-filters{display:flex;gap:8px;flex-wrap:wrap}
.bl-filters button{cursor:pointer;font:inherit;font-size:12px;background:var(--bp-surface,#222);color:var(--bp-text-secondary,#aaa);border:1px solid var(--bp-border,#333);padding:9px 15px;border-radius:30px}
.bl-filters button.active,.bl-filters button:hover{border-color:var(--bp-accent,#4a9eff);color:var(--bp-accent,#4a9eff)}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bl-card{padding:24px;border:1px solid var(--bp-border);border-radius:14px;display:flex;flex-direction:column;min-height:235px;text-decoration:none!important;background:var(--bp-surface);transition:border-color .2s ease;color:var(--bp-text)!important}
.bl-card:hover{border-color:var(--bp-accent)}
.bl-card>span{font-size:10px;font-weight:800;letter-spacing:1.3px;color:var(--bp-accent,#4a9eff)}
.bl-card h3{font-size:21px;line-height:1.3;margin:15px 0 10px;font-weight:700}
.bl-card p{font-size:13px;line-height:1.7;color:var(--bp-text-secondary,#999);margin:0 0 20px}
.bl-card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}
.bl-card-bottom b,.bl-card>b{font-size:12px;color:var(--bp-accent,#4a9eff);margin-top:auto}
.bl-mini-tags{display:flex;gap:7px;flex-wrap:wrap}
.bl-mini-tags em{font-size:11px;color:var(--bp-text-secondary,#888);font-style:normal}
.bl-empty{padding:90px 20px;text-align:center;color:var(--bp-text-secondary,#999)}
.bl-empty h1{color:var(--bp-text,#fff);font-size:40px}
.bl-empty a,.bl-breadcrumb a,.bl-section-top a,.bl-aside-card a{color:var(--bp-accent,#4a9eff);text-decoration:none}
.bl-breadcrumb{display:flex;gap:12px;color:var(--bp-text-secondary,#999);font-size:13px;margin-bottom:30px}
.bl-article-head{max-width:840px;margin-bottom:42px}
.bl-article-head h1{font-size:clamp(35px,5vw,57px);letter-spacing:-1.3px;line-height:1.12;margin:14px 0 19px}
.bl-article-head>p{font-size:19px;color:var(--bp-text-secondary,#aaa);line-height:1.6}
.bl-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}
.bl-tags span{font-size:12px;padding:7px 11px;color:var(--bp-accent,#4a9eff);border:1px solid var(--bp-border,#333);border-radius:30px}
.bl-article-layout{display:grid;grid-template-columns:minmax(0,760px) 250px;gap:65px;align-items:start}
.bl-article-body{min-width:0;font-size:16px;line-height:1.82}
.bl-article-body>h2{font-size:26px;line-height:1.3;margin:34px 0 13px;letter-spacing:-.4px}
.bl-article-body>p{margin:0 0 22px;color:var(--bp-text-secondary,#b1b1b1)}
.bl-article-body ul{padding-left:25px;color:var(--bp-text-secondary,#aaa)}
.bl-article-body li{margin:8px 0}
.bl-note,.bl-quote{margin:28px 0;padding:21px 24px;background:var(--bp-card,#222);border-left:3px solid var(--bp-accent,#4a9eff);border-radius:0 12px 12px 0;color:var(--bp-text,#fff)}
.bl-quote{font-style:italic}
.bl-code{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:var(--bp-bg,#111);border:1px solid var(--bp-border,#333);border-radius:12px;overflow-x:auto;color:var(--bp-text,#eee)}
.bl-article-body figure{margin:20px 0}.bl-article-body img{display:block;max-width:100%;height:auto;border-radius:12px}.bl-article-body figcaption{font-size:12px;color:var(--bp-text-secondary,#999)}
.bl-cta,.bl-service-offer a{display:inline-block;padding:12px 17px;border:1px solid var(--bp-accent,#4a9eff);color:var(--bp-accent,#4a9eff)!important;border-radius:9px;text-decoration:none;font-weight:700;font-size:13px}
.bl-service-offer{padding:27px;margin:40px 0;border:1px solid rgba(74,158,255,.35);border-radius:17px;background:var(--bp-card,#222)}
.bl-service-offer span,.bl-aside-card span{font-size:10px;color:var(--bp-accent,#4a9eff);letter-spacing:1.6px;font-weight:800}
.bl-service-offer h3{font-size:23px;margin:11px 0 5px}.bl-service-offer p{color:var(--bp-text-secondary,#aaa);font-size:14px}
.bl-aside-card{border:1px solid var(--bp-border,#333);border-radius:14px;padding:22px;background:var(--bp-surface,#222);position:sticky;top:110px}
.bl-aside-card p{font-size:13px;color:var(--bp-text-secondary,#aaa);line-height:1.6}.bl-aside-card a{font-size:12px}
.bl-related{padding-top:24px}.bl-related .bl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
[hidden]{display:none!important}
@media(max-width:900px){.bl-grid,.bl-related .bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-article-layout{grid-template-columns:minmax(0,1fr)}.bl-article-aside{display:none}}
@media(max-width:610px){.bl-shell{padding-bottom:65px}.bl-content{padding:0 15px}.bl-search-area{margin-bottom:36px}.bl-grid,.bl-related .bl-grid{grid-template-columns:1fr}.bl-toolbar{align-items:start}.bl-card{min-height:210px}.bl-article-head h1{font-size:35px}.bl-article-body{font-size:15px}}

/* ═══════════════════════════════════════════════════════════
   __BLIB_EDITORIAL_V2__ Premium editorial, Bumaga tokens only.
   Home Hero remains .idx-hero from assets/css/index.css (SSOT).
   ═══════════════════════════════════════════════════════════ */
.bl2-hub{padding-bottom:18px}
.bl2-hub .bl-search-area{margin-bottom:62px}
.bl2-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px;flex-wrap:wrap}
.bl2-section-label{display:block;color:var(--bp-text-muted);font-size:11px;letter-spacing:1.6px;font-weight:700;text-transform:uppercase;margin-bottom:8px}
.bl2-section-head h2{margin:0;font-family:var(--bp-sans);color:var(--bp-text);font-size:26px;line-height:1.2;letter-spacing:-.4px;font-weight:700}
.bl2-section-hint{color:var(--bp-text-muted);font-size:12px;padding-bottom:4px}
.bl2-spotlight{margin-bottom:74px}
.bl2-feature-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:15px;align-items:stretch}
.bl2-feature-lead{min-width:0;min-height:495px;display:flex;align-items:flex-end;position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--bp-border);background:var(--bp-card);text-decoration:none!important;color:var(--bp-text)!important;isolation:isolate}
.bl2-feature-lead>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.bl2-feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,12,17,.99),rgba(9,12,17,.88) 20%,rgba(9,12,17,.10) 80%);z-index:1}
.bl2-feature-copy{position:relative;z-index:2;padding:30px 33px 33px}
.bl2-feature-label{display:block;font-size:10px;letter-spacing:1.4px;font-weight:800;color:#8ac4fd;margin-bottom:12px}
.bl2-feature-copy h3{font-size:clamp(23px,2.4vw,34px);line-height:1.18;max-width:650px;letter-spacing:-.65px;margin:0 0 12px;font-weight:800;color:#f5f7f9}
.bl2-feature-copy p{font-size:14px;line-height:1.65;margin:0 0 21px;color:#b1bec8;max-width:540px}
.bl2-feature-link{display:inline-flex;align-items:center;gap:10px;color:#9bd1ff;font-size:13px;font-weight:700}
.bl2-feature-rail{min-height:495px;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:15px}
.bl2-feature-side{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);overflow:hidden;min-height:240px;background:var(--bp-card);border:1px solid var(--bp-border);border-radius:14px;color:var(--bp-text)!important;text-decoration:none!important;transition:border-color .2s ease}
.bl2-feature-thumb{overflow:hidden;background:var(--bp-bg)}
.bl2-feature-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.bl2-feature-side-copy{padding:23px 22px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.bl2-eyebrow{color:var(--bp-accent);display:block;font-size:10px;font-weight:800;letter-spacing:1.25px}
.bl2-feature-side h3{font-size:20px;line-height:1.34;letter-spacing:-.2px;margin:12px 0 15px;font-weight:700}
.bl2-side-link{color:var(--bp-text-secondary);font-size:12px;font-weight:600}
.bl2-feature-empty{display:flex;align-items:center;justify-content:center}
.bl2-feature-lead:hover,.bl2-feature-side:hover,.bl2-tile:hover{border-color:var(--bp-accent)}
.bl2-feature-lead:hover>img,.bl2-feature-side:hover img,.bl2-tile:hover img{transform:scale(1.045)}
.bl2-feature-side:hover .bl2-side-link{color:var(--bp-accent)}
.bl2-topics{margin:0 0 76px}
.bl2-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--bp-border);border-bottom:1px solid var(--bp-border)}
.bl2-topic{display:flex;align-items:flex-start;text-align:left;gap:13px;min-width:0;padding:22px 19px;border:0;border-right:1px solid var(--bp-border);cursor:pointer;color:var(--bp-text);background:transparent;font-family:var(--bp-sans);transition:background .2s ease}
.bl2-topic:first-child{padding-left:0}
.bl2-topic:last-child{border-right:0}
.bl2-topic:hover{background:var(--bp-card-hover)}
.bl2-topic-index{font-size:11px;color:var(--bp-text-muted);font-family:var(--bp-mono)}
.bl2-topic-label{font-size:16px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.bl2-topic-label small{display:block;color:var(--bp-text-secondary);font-size:11px;font-weight:400;margin-top:4px}
.bl2-topic-arrow{color:var(--bp-accent);font-size:16px;margin-left:auto}
.bl2-archive{scroll-margin-top:115px}
.bl2-archive-head{margin-bottom:22px}
.bl2-archive .bl-filters{max-width:820px;justify-content:flex-end}
.bl2-archive .bl-filters button{background:transparent}
.bl2-archive .bl-filters button.active{background:var(--bp-card);border-color:var(--bp-accent)}
.bl2-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,325px),1fr));gap:17px;align-items:stretch}
.bl2-tile{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bp-border);border-radius:14px;background:var(--bp-card);text-decoration:none!important;color:var(--bp-text)!important;transition:border-color .2s ease}
.bl2-tile-image{aspect-ratio:16/8.6;overflow:hidden;background:var(--bp-bg)}
.bl2-tile-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.bl2-tile-copy{display:flex;flex:1;flex-direction:column;padding:22px 22px 20px}
.bl2-tile-copy h3{font-weight:700;font-size:20px;line-height:1.33;margin:12px 0 9px;letter-spacing:-.2px}
.bl2-tile-copy>p{color:var(--bp-text-secondary);font-size:13px;line-height:1.65;margin:0 0 21px}
.bl2-tile-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--bp-text-muted)}
.bl2-tile-meta>b{font-size:12px;color:var(--bp-accent);white-space:nowrap}
.bl2-read{font-size:12px;color:var(--bp-accent);font-weight:700;margin-top:auto}
.bl2-empty{margin:24px 0 55px;padding:28px;border:1px dashed var(--bp-border);border-radius:12px;color:var(--bp-text-secondary)}
.bl2-article-cover{margin:0 0 48px;width:100%;height:min(40vw,420px);min-height:245px;overflow:hidden;border:1px solid var(--bp-border);border-radius:15px;background:var(--bp-card)}
.bl2-article-cover img{display:block;width:100%;height:100%;object-fit:cover}
.bl2-toc nav{display:flex;flex-direction:column;gap:13px;margin:21px 0 30px}
.bl2-toc nav a{font-size:12px;line-height:1.5;color:var(--bp-text-secondary);text-decoration:none;display:block}
.bl2-toc nav a:hover{color:var(--bp-accent)}
.bl2-toc .bl2-back{display:block;font-size:12px;padding-top:15px;border-top:1px solid var(--bp-border)}
.bl-article-body h2[id]{scroll-margin-top:120px}
.bl2-feature-layout [hidden],.bl2-results [hidden]{display:none!important}
@media (max-width:1050px){
 .bl2-feature-layout{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
 .bl2-feature-side{grid-template-columns:40% 60%;min-height:208px}
 .bl2-feature-lead,.bl2-feature-rail{min-height:435px}
 .bl2-feature-side-copy{padding:18px}
 .bl2-feature-side h3{font-size:17px}
 .bl2-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bl2-topic:nth-child(2){border-right:0}
 .bl2-topic:nth-child(-n+2){border-bottom:1px solid var(--bp-border)}
 .bl2-topic:nth-child(3){padding-left:0}
}
@media (max-width:850px){
 .bl2-feature-layout{grid-template-columns:minmax(0,1fr)}
 .bl2-feature-lead{min-height:440px}
 .bl2-feature-rail{min-height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
 .bl2-feature-side{display:flex;flex-direction:column;min-height:300px}
 .bl2-feature-thumb{height:150px;flex-shrink:0}
 .bl2-feature-side-copy{flex:1}
 .bl2-feature-side h3{font-size:18px}
 .bl2-results{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
 .bl2-hub .bl-search-area{margin-bottom:47px}
 .bl2-spotlight,.bl2-topics{margin-bottom:53px}
 .bl2-section-head{gap:12px}
 .bl2-section-head h2{font-size:22px}
 .bl2-section-hint{display:none}
 .bl2-feature-lead{min-height:400px}
 .bl2-feature-copy{padding:24px}
 .bl2-feature-copy h3{font-size:24px}
 .bl2-feature-copy p{font-size:13px}
 .bl2-feature-rail{gap:12px}
 .bl2-feature-side{min-height:290px}
 .bl2-feature-thumb{height:118px}
 .bl2-feature-side-copy{padding:14px 15px}
 .bl2-feature-side h3{font-size:16px;margin:8px 0 12px}
 .bl2-topic{padding:17px 10px;gap:6px}
 .bl2-topic-label{font-size:13px}
 .bl2-topic-index{font-size:10px}
 .bl2-topic-label small{font-size:10px}
 .bl2-topic-arrow{font-size:12px}
 .bl2-archive .bl-filters{justify-content:flex-start}
 .bl2-results{grid-template-columns:1fr}
 .bl2-tile-image{aspect-ratio:16/7.5}
 .bl2-article-cover{min-height:190px;height:50vw;margin-bottom:30px}
}

/* __SIGNAL_READING_V3__: reading ergonomics; does not alter home-brand hero */
.bl-read-progress{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:10000;pointer-events:none}
.bl-read-progress>span{display:block;width:0;height:100%;background:var(--bp-accent);transition:width .08s linear}
.bl-reading-meta{margin-top:17px;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--bp-text-muted)}
.bl-article-body{max-width:100%;line-height:1.85}
.bl-article-body p{line-height:1.84}
.bl-article-body a:not(.bl-cta){color:var(--bp-accent)}
.bl-article-body h2{scroll-margin-top:110px}
.bl-article-body .bl-rich>p{color:var(--bp-text-secondary);margin:0 0 22px}
.bl-article-body .bl-rich strong{font-weight:700;color:var(--bp-text)}
.bl-article-body .bl-rich ul,.bl-article-body .bl-rich ol{padding-left:23px;line-height:1.7}
.bl-article-body .bl-rich a{color:var(--bp-accent);text-decoration:underline;text-underline-offset:3px}
.bl-copy-code{position:absolute;top:9px;right:10px;border:1px solid var(--bp-border);background:var(--bp-card);color:var(--bp-text-secondary);border-radius:6px;font-size:11px;padding:5px 9px;cursor:pointer}
.bl-article-body pre.bl-code{position:relative;padding-top:43px}
.bl-content-divider{border:0;border-top:1px solid var(--bp-border);margin:35px 0}
.bl-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--bp-border);border-radius:10px;margin:22px 0}
.bl-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}
.bl-table-wrap th,.bl-table-wrap td{padding:12px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--bp-border);border-right:1px solid var(--bp-border);color:var(--bp-text-secondary)}
.bl-table-wrap tr:last-child td{border-bottom:0}
.bl-table-wrap th{font-weight:700;color:var(--bp-text);background:var(--bp-card)}
.bl-inline-promo{margin:35px 0;padding:25px 28px;border-radius:14px;border:1px solid rgba(74,158,255,.24);background:var(--bp-card)}
.bl-inline-promo>span{color:var(--bp-accent);font-size:10px;font-weight:800;letter-spacing:1.25px}
.bl-inline-promo h3{font-size:23px;margin:10px 0}
.bl-inline-promo p{color:var(--bp-text-secondary);font-size:13px}
.bl-inline-promo a{color:var(--bp-accent);font-size:13px;font-weight:700;text-decoration:none}
.bl-mobile-toc{display:none}
@media(max-width:900px){
 .bl-mobile-toc{display:block;padding:13px 17px;margin:20px 0 27px;border:1px solid var(--bp-border);border-radius:10px;background:var(--bp-card)}
 .bl-mobile-toc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:14px;font-weight:700}
 .bl-mobile-toc summary::-webkit-details-marker{display:none}
 .bl-mobile-toc nav{display:flex;flex-direction:column;gap:13px;padding:18px 0 5px}
 .bl-mobile-toc nav a{font-size:13px;line-height:1.5;color:var(--bp-text-secondary);text-decoration:none}
 .bl-mobile-toc nav a:hover{color:var(--bp-accent)}
}

/* __SIGNAL_ARTICLE_BREATHING_ROOM_20261022__: article pages only.
   Keep homepage Hero and article cards untouched. */
.bl-shell .bl-article-page{padding-top:36px}
.bl-shell .bl-article-page .bl-breadcrumb{margin-bottom:40px}
@media(max-width:620px){
 .bl-shell .bl-article-page{padding-top:24px}
 .bl-shell .bl-article-page .bl-breadcrumb{margin-bottom:30px}
}

/* __SIGNAL_STICKY_SCROLLSPY_20261023__ */
@media(min-width:901px){
 .bl-article-aside{position:sticky;top:110px;align-self:start;max-height:calc(100dvh - 130px);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
 .bl-article-aside .bl-aside-card{position:static}
 .bl-article-aside .bl2-toc nav{gap:0;margin:14px 0 18px;border-left:1px solid var(--bp-border)}
 .bl2-toc nav a{padding:7px 10px 7px 13px;border-left:2px solid transparent;margin-left:-1px;transition:color .18s,border-color .18s}
}
.bl2-toc nav a.is-active,.bl-mobile-toc nav a.is-active{color:var(--bp-accent);font-weight:700}
.bl2-toc nav a.is-active{border-left-color:var(--bp-accent)}
.bl-article-body h2[id]{scroll-margin-top:115px}
.bl-mobile-toc nav a{overflow-wrap:anywhere}
@media(max-width:900px){.bl-mobile-toc{margin-bottom:26px}}

.bl-translation-warning{max-width:760px;margin:0 0 22px;padding:12px 16px;border-radius:9px;border:1px solid var(--bp-border);background:var(--bp-card);color:var(--bp-text-secondary);font-size:13px}

@media(prefers-reduced-motion:no-preference){
  html:has(.bl-article-page){scroll-behavior:smooth}
}

/* __SIGNAL_LANGUAGE_ERROR__ — only visible if an in-place locale request fails. */
.bl-lang-error{margin:15px auto;max-width:1140px;padding:12px 16px;border:1px solid var(--bp-border);border-radius:9px;color:var(--bp-text);background:var(--bp-card);font-size:13px}
