/* Blogneer styles — generated from theme source. Filename is versioned per release so edge caches always fetch fresh. */

/* ============================================================ TOKENS ============================================================ */
:root{
  --bg:#f6f5f3; --surface:#ffffff; --ink:#1c140f; --muted:#6b5d52; --faint:#7a6c5e;
  --line:#efe2d6; --line2:#e2d3c4;
  --accent:#e8431f; --accent-d:#c5371a; --accent-soft:#ffe7df; --on-accent:#ffffff; --accent-ink:#a82e12;
  --hl:#ffd23f;
  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Newsreader',Georgia,serif;
  --font-ui:'Hanken Grotesk',system-ui,sans-serif;
  --maxw:1200px; --reading:740px; --radius:18px; --fs:19px;
  --c-grammar:#4f46e5; --c-vocab:#0e9f6e;
}
[data-theme="dark"]{
  --bg:#100e0b; --surface:#1a1714; --ink:#f3eee5; --muted:#a8a195; --faint:#8b857a;
  --line:#2a2620; --line2:#39342c; --accent:#ff6a45; --accent-d:#ff8366; --accent-soft:#33170f; --accent-ink:#ff8f6f;
}
@media (prefers-color-scheme:dark){:root[data-theme="auto"]{--bg:#100e0b;--surface:#1a1714;--ink:#f3eee5;--muted:#a8a195;--faint:#8b857a;--line:#2a2620;--line2:#39342c;--accent-soft:#33170f;--accent-ink:#ff8f6f}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs);
  line-height:1.7;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--accent);text-underline-offset:3px}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:1}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:100;background:var(--accent);color:#fff;padding:8px 14px;border-radius:8px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#blg-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:60;transition:width .1s linear}

/* ============================================================ HEADER ============================================================ */
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg,color-mix(in srgb,var(--bg) 82%,transparent));
  backdrop-filter:blur(12px);transition:padding .25s,background .25s,box-shadow .25s}
.blg-hdr-shadow .site-header[data-style="solid"].is-shrunk{box-shadow:0 5px 16px -12px rgba(0,0,0,.22)}
.site-header[data-style="bordered"]{border-bottom:1px solid var(--header-border,var(--line))}
.site-header[data-nav="left"] .main-nav{margin-right:auto;margin-left:26px}
.site-header[data-nav="center"] .main-nav{margin:0 auto}
.site-header[data-nav="right"] .main-nav{margin-left:auto}
body.blg-hero.blg-hdr-transparent .site-header{position:fixed;left:0;right:0;background:transparent;backdrop-filter:none;border:none;box-shadow:none}
body.blg-hero.blg-hdr-transparent .hero{padding-top:104px}
body.blg-hero.blg-hdr-transparent .site-header.hdr-solid{background:var(--header-bg,color-mix(in srgb,var(--bg) 90%,transparent));backdrop-filter:blur(12px);box-shadow:0 6px 24px -18px rgba(0,0,0,.35)}
.site-header .hd{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.site-header.is-shrunk .hd{padding:9px 0}
.brand{font-family:var(--font-display);font-weight:800;font-size:25px;letter-spacing:-.03em;text-decoration:none;
  color:var(--ink);display:inline-flex;align-items:center}
.brand .b-accent{color:var(--accent)}
.brand::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:4px;align-self:flex-end;margin-bottom:7px}
.brand img{max-height:38px;width:auto;display:block}
.main-nav{display:flex;gap:30px;align-items:center;font-family:var(--font-ui);font-weight:500;font-size:14.5px;letter-spacing:-.01em}
.main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;align-items:center}
.main-nav .menu>li>a{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;padding:8px 11px;border-radius:9px;transition:color .18s ease}
.main-nav .menu>li>a::before{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;opacity:0;transition:transform .22s ease,opacity .18s ease}
.main-nav .menu>li>a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--ink)}
.main-nav .menu>li>a:hover::before,.main-nav .current-menu-item>a::before,.main-nav .current_page_item>a::before{transform:scaleX(1);opacity:1}
.main-nav .menu>li>a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hd-tools{display:flex;align-items:center;gap:7px}
.icon-btn{width:42px;height:42px;border-radius:13px;border:1px solid var(--line2);background:var(--surface);
  color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease,background .2s ease}
.icon-btn:hover{transform:translateY(-1px);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line2));background:color-mix(in srgb,var(--accent) 6%,var(--surface));box-shadow:0 8px 18px -10px color-mix(in srgb,var(--accent) 50%,transparent)}
.icon-btn:active{transform:translateY(0)}
.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.icon-btn svg{width:19px;height:19px;transition:transform .25s ease}
#blg-theme-toggle:hover svg{transform:rotate(-18deg)}
.nav-toggle{display:none}
.nav-panel{display:flex;align-items:center}
.nav-panel-head{display:none}
.nav-acc{display:none}
.nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .26s ease,visibility .26s ease;z-index:125}
.nav-backdrop.show{opacity:1;visibility:visible}
@media(max-width:860px){.nav-toggle{display:grid}
  .site-header .hd{display:grid;grid-template-columns:1fr auto 1fr}
  .hd .nav-toggle{justify-self:start}
  .hd .site-branding{justify-self:center}
  .hd .main-nav{justify-self:end}
  .site-header .hd{padding:12px 0}
  .site-header .icon-btn{border:none;background:none;box-shadow:none;width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:12px}
  .site-header .icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .nav-toggle svg{width:24px;height:24px}
  .site-header .icon-btn:hover,.site-header .icon-btn:active{transform:none;background:none;box-shadow:none;color:var(--ink)}
  .site-header .icon-btn svg{width:22px;height:22px}
  .nav-panel{display:flex;flex-direction:column;align-items:stretch;position:fixed;top:0;left:0;bottom:0;height:100dvh;width:min(86vw,350px);background:var(--surface);box-shadow:26px 0 60px -30px rgba(0,0,0,.55);border-radius:0 20px 20px 0;transform:translateX(-108%);transition:transform .32s cubic-bezier(.32,.72,.28,1);z-index:130;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .main-nav.is-open .nav-panel,.nav-panel.is-open{transform:none}
  .nav-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}
  .nav-panel-title{font-family:var(--font-ui);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
  .nav-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);cursor:pointer}
  .nav-close svg{width:20px;height:20px}
  .nav-panel .menu{display:flex;flex-direction:column;gap:1px;list-style:none;margin:0;padding:10px;width:100%}
  .nav-panel .menu li{position:relative;width:100%}
  .nav-panel .menu>li>a{display:flex;align-items:center;min-height:48px;padding:11px 14px;border-radius:11px;color:var(--ink);text-decoration:none;font-size:16px;font-weight:600;line-height:1.25}
  .nav-panel .menu>li>a::before{display:none}
  .nav-panel .menu a:hover,.nav-panel .menu .current-menu-item>a,.nav-panel .menu .current_page_item>a{background:var(--accent-soft);color:var(--accent-ink)}
  .nav-panel .menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center}
  .nav-panel .menu-item-has-children>a{flex:1 1 auto;min-width:0}
  .nav-acc{display:inline-flex;flex:0 0 auto;width:44px;height:44px;align-items:center;justify-content:center;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:10px}
  .nav-acc svg{width:15px;height:15px;transition:transform .25s ease}
  .menu-item-has-children.is-expanded>.nav-acc{color:var(--tc-accent-ink,var(--accent-ink));background:var(--tc-soft,var(--accent-soft))}
  .menu-item-has-children.is-expanded>.nav-acc svg{transform:rotate(180deg)}}

/* ============================================================ ADS ============================================================ */
.blg-ad{margin:var(--ad-gy,24px) auto;padding:0 var(--ad-gx,0px);text-align:center;overflow:hidden}
.blg-ad[data-reserve]{min-height:var(--ad-h,90px)}
.blg-ad--gated .ad-label{visibility:hidden}
html[data-lazyrender] .site-footer,
html[data-lazyrender] .comments-area,
html[data-lazyrender] .author-box,
html[data-lazyrender] .related,
html[data-lazyrender] .post-nav,
html[data-lazyrender] .home-section ~ .home-section ~ .home-section{content-visibility:auto;contain-intrinsic-size:auto 600px}
.blg-anchor{position:fixed;left:0;right:0;z-index:9990;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;margin:0;padding:6px 44px;background:var(--surface);text-align:center}
.blg-anchor--bottom{bottom:0;border-top:1px solid var(--line);box-shadow:0 -2px 18px rgba(0,0,0,.09)}
.blg-anchor--top{top:0;border-bottom:1px solid var(--line);box-shadow:0 2px 18px rgba(0,0,0,.09)}
.blg-anchor[data-reserve]{min-height:var(--ad-h,90px)}
@media(max-width:600px){.blg-anchor[data-reserve]{min-height:var(--ad-hm,var(--ad-h,100px))}}
.blg-anchor .ad-label{margin:0 0 1px;visibility:visible}
.blg-anchor-unit{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}
.blg-anchor-close{position:absolute;top:5px;right:7px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--ink);cursor:pointer;line-height:0}
.blg-anchor-close:hover{background:var(--line)}
.blg-anchor-close svg{width:15px;height:15px}
.blg-anchor.is-closed{display:none}
@media(max-width:600px){.blg-ad[data-reserve]{min-height:var(--ad-hm,var(--ad-h,250px))}}
.ad-label{display:block;font-family:var(--font-ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.widget.is-ad-widget .ad-label{margin-bottom:8px}

/* ============================================================ LAYOUT ============================================================ */
.site-content{padding:0 0 50px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start;padding-top:30px}
.content-grid.no-sidebar{grid-template-columns:minmax(0,1fr)}
.content-main{min-width:0}
.breadcrumb{font-family:var(--font-ui);font-size:13px;color:var(--faint);padding:18px 0 4px}
.archive-header{padding:30px 0 6px}
.archive-header h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.03em;margin:0}
.archive-header .desc{color:var(--muted);margin-top:6px}

/* ============================================================ HERO ============================================================ */
.hero{position:relative;padding:70px 0 50px;overflow:hidden}
.hero-bg{position:absolute;inset:-25% -10% auto;height:150%;z-index:0;filter:blur(10px);opacity:.85;
  background:
    radial-gradient(40% 50% at 18% 24%,color-mix(in srgb,var(--accent) 52%,transparent),transparent 70%),
    radial-gradient(38% 46% at 82% 16%,color-mix(in srgb,var(--c-grammar) 40%,transparent),transparent 70%),
    radial-gradient(46% 56% at 72% 90%,color-mix(in srgb,var(--c-vocab) 34%,transparent),transparent 72%)}
[data-theme="dark"] .hero-bg{opacity:.5}
.hero .wrap{position:relative;z-index:2}
.eyebrow{font-family:var(--font-ui);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,6.5vw,5rem);line-height:.99;
  letter-spacing:-.035em;margin:.16em 0 .26em;max-width:17ch}
.mark{white-space:nowrap;box-shadow:inset 0 -.3em 0 var(--hl)}
.grad{background:linear-gradient(100deg,var(--accent),var(--accent2,var(--c-grammar)));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .deck{font-size:1.3rem;color:var(--muted);max-width:46ch;margin:0 0 26px}
.hero-search{max-width:540px}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.chip{font-family:var(--font-ui);font-weight:700;font-size:13.5px;padding:8px 16px;border-radius:999px;text-decoration:none;
  color:var(--cc-ink,#fff);background:var(--cc,var(--accent));border:none;transition:transform .2s,filter .2s}
.chip:hover{transform:translateY(-2px);filter:brightness(1.08)}
.reveal{transform:translateY(12px);animation:rise .6s cubic-bezier(.2,.7,.2,1) forwards}
.reveal:nth-child(1){animation-delay:.05s}.reveal:nth-child(2){animation-delay:.12s}.reveal:nth-child(3){animation-delay:.2s}
.reveal:nth-child(4){animation-delay:.28s}.reveal:nth-child(5){animation-delay:.36s}
@keyframes rise{to{transform:none}}

/* ============================================================ SECTIONS ============================================================ */
.home-section{padding:30px 0}
.home-section.sp-compact{padding:18px 0}
.home-section.sp-spacious{padding:48px 0}
.home-section.bg-muted{background:color-mix(in srgb,var(--cc,var(--accent)) 5%,var(--bg));border-radius:22px;padding:28px 26px;margin:14px 0}
.home-section.bg-boxed{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px 26px;margin:14px 0}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.shead h2{font-family:var(--font-display);font-weight:700;font-size:1.95rem;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tagbar{width:14px;height:26px;border-radius:6px;background:var(--cc,var(--accent));flex-shrink:0}
.ssub{font-family:var(--font-ui);font-weight:400;font-size:.92rem;color:var(--muted)}
.viewall{font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--ink);border:1.5px solid var(--line2);
  padding:8px 16px;border-radius:30px;text-decoration:none;white-space:nowrap;transition:.2s}
.viewall:hover{border-color:var(--cc,var(--accent));color:var(--cc,var(--accent))}
.feat-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}
.side-stack{display:flex;flex-direction:column;gap:18px}
@media(max-width:860px){.feat-grid{grid-template-columns:1fr}}
.dv-no-desktop{display:none}
@media(max-width:920px){.dv-no-desktop{display:block}.dv-no-tablet{display:none}}
@media(max-width:600px){.dv-no-tablet{display:block}.dv-no-mobile{display:none}}
@media(max-width:920px){html[data-mwidgets="tablet"] .sidebar>section.widget{display:none}}
@media(max-width:600px){html[data-mwidgets="phone"] .sidebar>section.widget{display:none}}

/* ============================================================ CARDS ============================================================ */
.post-grid{display:grid;gap:22px;grid-template-columns:repeat(var(--cd,3),minmax(0,1fr))}
@media(max-width:920px){.post-grid{grid-template-columns:repeat(var(--ct,2),minmax(0,1fr))}}
@media(max-width:600px){.post-grid{grid-template-columns:repeat(var(--cm,1),minmax(0,1fr))}}
.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--cc,var(--accent));border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -24px color-mix(in srgb,var(--cc,var(--accent)) 65%,transparent)}
.card .ph,.row-card .ph,.entry-row .ph{aspect-ratio:var(--ratio,var(--feat-ratio,16/9));position:relative;overflow:hidden;background:var(--ph,#d8d2c6);display:block}
.card.lead .ph{aspect-ratio:16/10}
.ph.noimg{background:linear-gradient(135deg,color-mix(in srgb,var(--cc,var(--accent)) 65%,#fff),var(--cc,var(--accent)))}
.ph picture,.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cat{position:absolute;top:13px;left:13px;z-index:2;font-family:var(--font-ui);font-weight:700;font-size:11px;
  letter-spacing:.04em;text-transform:uppercase;color:var(--cc-ink,#fff);padding:5px 12px;border-radius:30px;background:var(--cc,var(--accent));
  box-shadow:0 6px 16px -7px color-mix(in srgb,var(--cc,var(--accent)) 80%,transparent)}
.pbadge{position:absolute;top:13px;right:13px;z-index:2;font-family:var(--font-ui);font-weight:700;font-size:10.5px;
  letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:30px;color:var(--cc-ink,#fff)}
.pbadge.is-new{background:var(--cc,var(--accent))}
.pbadge.is-upd{background:#e8810b;color:#1c140f}
.card .cbody{padding:17px 19px 19px;display:flex;flex-direction:column;gap:7px;flex:1}
.card h3{font-family:var(--font-display);font-weight:700;font-size:1.28rem;line-height:1.15;letter-spacing:-.02em;margin:0;color:var(--ink)}
.card.lead h3{font-size:1.66rem}
.card .ex,.entry-row .ex{font-size:.97rem;color:var(--muted);margin:0}
.cmeta{font-family:var(--font-ui);font-size:12.5px;color:var(--faint);margin-top:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.cmeta .sep{color:var(--line2)}
.lvl{font-family:var(--font-ui);font-weight:700;font-size:11.5px;color:var(--cc,var(--accent));
  background:color-mix(in srgb,var(--cc,var(--accent)) 12%,transparent);padding:2px 9px;border-radius:20px}
/* card style variants */
.cs-flat{border-color:transparent;background:color-mix(in srgb,var(--cc,var(--accent)) 6%,var(--surface))}
.cs-shadow{border-color:transparent;box-shadow:0 14px 34px -22px rgba(0,0,0,.3)}
.cs-minimal{border:none;background:none;border-radius:0}
.cs-minimal .ph{border-radius:14px}
/* clamps */
.clamp-1,.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.clamp-1{-webkit-line-clamp:1}.clamp-2{-webkit-line-clamp:2}.clamp-3{-webkit-line-clamp:3}

/* row card (featured side stack) */
.row-card{display:flex;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:13px;
  text-decoration:none;color:inherit;transition:.25s}
.row-card:hover{transform:translateX(3px);box-shadow:0 16px 36px -24px color-mix(in srgb,var(--cc,var(--accent)) 60%,transparent)}
.row-card .ph{width:112px;height:80px;border-radius:11px;flex:0 0 112px;aspect-ratio:auto}
.row-card .rbody{display:flex;flex-direction:column;gap:5px;min-width:0}
.row-card h4{font-family:var(--font-display);font-weight:700;font-size:1.06rem;line-height:1.16;margin:2px 0 0;color:var(--ink)}

/* list with excerpt */
.post-list{display:flex;flex-direction:column}
.entry-row{display:flex;align-items:flex-start;gap:20px;padding:22px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}
.entry-row:first-child{border-top:none}
.entry-row .ph{flex:0 0 230px;aspect-ratio:var(--ratio,var(--feat-ratio,16/9));border-radius:12px}
.entry-row .rbody{display:flex;flex-direction:column;gap:8px;min-width:0}
.entry-row h3{font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1.14;letter-spacing:-.02em;margin:-.14em 0 0;color:var(--ink)}
@media(max-width:600px){.entry-row{flex-direction:column;gap:12px}.entry-row .ph{flex:none;width:100%}.entry-row h3{margin-top:0}}

/* compact list */
.post-compact{list-style:none;margin:0;padding:0}
.post-compact li{border-top:1px solid var(--line);padding:12px 0}
.post-compact li:first-child{border-top:none}
.post-compact a{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--ink);text-decoration:none;line-height:1.3}
.post-compact a:hover{color:var(--accent)}
.post-compact .cmeta{margin-top:3px}

/* ============================================================ SINGLE ============================================================ */
.entry-eyebrow{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.entry-title{font-family:var(--font-display);font-weight:800;line-height:1.08;letter-spacing:-.03em;margin:.2em 0 .3em;text-wrap:balance}
.single .entry-title{font-size:clamp(2.2rem,5vw,3.4rem);border-left:5px solid var(--accent);padding-left:20px}
.entry-deck{font-size:1.32rem;color:var(--muted);line-height:1.45;margin:0 0 22px;max-width:38ch}
.entry-content{max-width:var(--reading);font-size:1.06rem}
.entry-content h2{font-family:var(--font-display);font-weight:800;font-size:1.8rem;line-height:1.18;letter-spacing:-.02em;margin:2.1em 0 .55em;scroll-margin-top:90px;position:relative;padding-bottom:.45em}
.entry-content h3{font-family:var(--font-display);font-weight:700;font-size:1.32rem;line-height:1.25;margin:1.7em 0 .35em;position:relative;padding-left:.74em}
.entry-content p{margin:0 0 1.1em}
.entry-content ul,.entry-content ol{margin:0 0 1.1em;padding-left:1.3em}
.entry-content li{margin:.3em 0}
.entry-content blockquote{font-family:var(--font-display);font-weight:500;font-size:1.6rem;line-height:1.25;
  border-left:5px solid var(--accent);padding:4px 0 4px 22px;margin:30px 0}
.entry-content img{border-radius:12px}
.entry-content table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:.97rem;line-height:1.5;margin:22px 0}
.entry-content th,.entry-content td{text-align:left;padding:.72rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
.entry-content thead th{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-bottom:2px solid color-mix(in srgb,var(--accent) 22%,var(--line))}
.entry-content tbody tr:nth-child(2n){background:color-mix(in srgb,var(--accent) 4%,transparent)}
.entry-content tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
[data-tables="plain"] .entry-content thead th{background:none;color:var(--muted);border-bottom:1px solid var(--line)}
[data-tables="plain"] .entry-content tbody tr:nth-child(2n),[data-tables="plain"] .entry-content tbody tr:hover{background:none}
/* responsive frame: wide tables scroll sideways instead of crushing columns */
.blg-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0;border:1px solid var(--line);border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 40%,transparent) transparent}
.blg-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.blg-table-wrap::-webkit-scrollbar{height:9px}
.blg-table-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 38%,transparent);border-radius:999px}
.blg-table-wrap::-webkit-scrollbar-track{background:transparent}
.blg-table-wrap table{margin:0;min-width:var(--table-min,540px)}
.blg-table-wrap th:first-child,.blg-table-wrap td:first-child{padding-left:1rem}
.blg-table-wrap th:last-child,.blg-table-wrap td:last-child{padding-right:1rem}
/* Floating horizontal scroll control — follows the visible band of a wide table */
.blg-table-wrap.tw-on{position:relative;scrollbar-width:none}
.blg-table-wrap.tw-on::-webkit-scrollbar{height:0;width:0;display:none}
.tw-edge{position:absolute;top:0;bottom:0;width:30px;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:2}
.tw-edge-l{left:0;background:linear-gradient(90deg,var(--surface),transparent)}
.tw-edge-r{right:0;background:linear-gradient(270deg,var(--surface),transparent)}
.blg-table-wrap.can-left .tw-edge-l{opacity:.9}
.blg-table-wrap.can-right .tw-edge-r{opacity:.9}
/* widget is appended to <body> and positioned fixed at the centre of the visible part of the table */
.tw-float{position:fixed;transform:translate(-50%,-50%);z-index:40;opacity:0;pointer-events:none;transition:opacity .22s ease}
.tw-float.show{opacity:1;pointer-events:auto}
.tw-bar{position:relative;width:min(46vw,300px);height:9px;border-radius:999px;background:color-mix(in srgb,var(--ink) 18%,transparent);box-shadow:0 4px 16px -6px rgba(0,0,0,.45);backdrop-filter:blur(3px);cursor:pointer;touch-action:none}
.tw-thumb{position:absolute;top:0;left:0;height:100%;min-width:36px;border-radius:999px;background:var(--accent);box-shadow:0 1px 5px -1px color-mix(in srgb,var(--accent) 65%,transparent);cursor:grab;will-change:transform}
.tw-thumb:active{cursor:grabbing}
.tw-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.tw-hand{display:none;width:54px;height:54px;border-radius:50%;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 22px -8px color-mix(in srgb,var(--accent) 70%,transparent);cursor:grab;touch-action:none}
.tw-hand svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.tw-hand:active{cursor:grabbing}
.tw-float.is-touch .tw-bar{display:none}
.tw-float.is-touch .tw-hand{display:flex}
[data-tsd="0"] .tw-float:not(.is-touch){display:none}
[data-tsm="0"] .tw-float.is-touch{display:none}
@media (prefers-reduced-motion:reduce){.tw-float{transition:none}}
figure{margin:26px 0}figcaption{font-family:var(--font-ui);font-size:13px;color:var(--faint);margin-top:8px}
.byline{display:flex;align-items:center;gap:14px;font-family:var(--font-ui);color:var(--muted);margin-bottom:8px}
.avatar{border-radius:50%;overflow:hidden;flex-shrink:0;display:block}
.byline .avatar img{width:44px;height:44px;border-radius:50%;display:block}
.byname{font-weight:600;color:var(--ink)}
.meta-dot{color:var(--line2)}
.level-badge{margin-left:auto;font-family:var(--font-ui);font-weight:700;font-size:12px;background:var(--accent-soft);
  color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:3px 12px;border-radius:30px}
.review-line{font-family:var(--font-ui);font-size:13px;color:var(--faint);margin:6px 0 0}
.review-line svg{width:15px;height:15px;vertical-align:-2px;color:var(--accent)}
.feat-figure{margin:22px 0 0}
.feat-figure .ff-media{display:block;aspect-ratio:var(--feat-ratio,16/9);border-radius:var(--radius);overflow:hidden;background:var(--ph,#d8d2c6)}
.feat-figure img,.feat-figure picture{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s,filter .3s}
.blg-quick{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:16px;padding:20px 24px;margin:24px 0}
.blg-quick h4{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d);margin:0 0 7px;display:flex;align-items:center;gap:7px}
.blg-quick h4 svg{width:16px;height:16px}
.blg-quick p{margin:0}
.blg-sources{font-family:var(--font-ui);font-size:14px;border-top:1px solid var(--line);margin-top:34px;padding-top:16px}
.blg-sources h4{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.blg-feedback{border:1px solid var(--line);border-radius:18px;padding:26px 24px;margin:34px 0;text-align:center;font-family:var(--font-ui);background:var(--surface)}
.blg-feedback .fb-q{margin:0 0 16px;font-family:var(--font-body);font-size:1.12rem;font-weight:600;color:var(--ink)}
.blg-feedback .opts{display:flex;gap:12px;justify-content:center}
.blg-feedback .fb-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:600;font-size:14px;border:none;padding:11px 22px;border-radius:999px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.blg-feedback .fb-btn svg{width:17px;height:17px}
.blg-feedback .fb-yes{background:var(--accent-d);color:var(--on-accent);box-shadow:0 10px 20px -10px color-mix(in srgb,var(--accent) 60%,transparent)}
[data-theme="dark"] .blg-feedback .fb-yes{color:#1c140f}
@media (prefers-color-scheme:dark){:root[data-theme="auto"] .blg-feedback .fb-yes{color:#1c140f}}
.blg-feedback .fb-no{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}
.blg-feedback .fb-btn:hover{transform:translateY(-2px)}
.blg-feedback .fb-yes:hover{box-shadow:0 15px 28px -12px color-mix(in srgb,var(--accent) 66%,transparent)}
.blg-feedback .fb-no:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}
.blg-feedback .fb-thanks{margin:4px 0;font-family:var(--font-body);font-size:1.1rem;font-weight:600;color:var(--accent)}
.blg-feedback .report{display:inline-block;margin-top:16px;font-size:13px;color:var(--faint);text-decoration:none;transition:color .15s ease}
.blg-feedback .report:hover{color:var(--accent)}
@media (prefers-reduced-motion:reduce){.blg-feedback .fb-btn:hover{transform:none}}
.author-box{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;margin:34px 0;position:relative;overflow:hidden}
.author-box.ab-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),var(--hl))}
.ab-eyebrow{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 13px}
.ab-row{display:flex;gap:18px;align-items:flex-start}
.author-box .avatar img{width:72px;height:72px;border-radius:50%;box-shadow:0 0 0 3px var(--accent-soft)}
.ab-main{min-width:0;flex:1}
.ab-name{font-family:var(--font-display);font-weight:800;font-size:1.18rem;letter-spacing:-.01em;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.ab-role{font-family:var(--font-ui);font-weight:600;font-size:12px;letter-spacing:.01em;color:var(--accent-ink);background:var(--accent-soft);padding:3px 11px;border-radius:999px}
.ab-bio{font-size:.97rem;line-height:1.65;color:var(--muted);margin:7px 0 13px}
.ab-foot{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin-top:6px}
a.ab-all{font-family:var(--font-ui);font-weight:700;font-size:13.5px;color:var(--accent-ink);text-decoration:none}
a.ab-all::after{content:"\2192";margin-left:6px;display:inline-block;transition:transform .18s ease}
a.ab-all:hover{color:var(--accent-d)}a.ab-all:hover::after{transform:translateX(3px)}
.ab-social{display:flex;gap:8px}
.ab-social a{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;border:1px solid var(--line);color:var(--muted);transition:color .18s ease,background .18s ease,border-color .18s ease}
.ab-social a svg{width:16px;height:16px}
.ab-social a:hover{color:var(--accent-ink);background:var(--accent-soft);border-color:transparent}
@media(max-width:480px){.ab-row{gap:13px}.author-box .avatar img{width:58px;height:58px}}
.author-archive{display:flex;gap:16px}.author-archive .avatar img{width:84px;height:84px;border-radius:50%}
.author-archive .nm{font-family:var(--font-display);font-weight:800;font-size:1.2rem}
.author-archive .role{font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
.author-archive .bio{font-size:.97rem;color:var(--muted);margin:6px 0 0}
.post-nav{margin:36px 0}
.post-nav .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.post-nav .nav-previous,.post-nav .nav-next{display:block}
.post-nav a{display:flex;align-items:center;gap:14px;height:100%;border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;font-family:var(--font-ui);background:var(--surface);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.post-nav a:hover{transform:translateY(-2px);border-color:transparent;box-shadow:0 16px 36px -22px rgba(0,0,0,.34)}
.post-nav .pn-arrow{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);transition:transform .2s ease}
.post-nav .pn-arrow svg{width:18px;height:18px}
.post-nav .pn-text{min-width:0}
.post-nav .pn-cat{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);font-weight:700}
.post-nav .pn-title{display:block;font-size:15px;color:var(--ink);line-height:1.32;margin-top:3px;font-weight:600}
.post-nav .nav-next a{flex-direction:row-reverse;text-align:right}
.post-nav .nav-previous a:hover .pn-arrow{transform:translateX(-3px)}
.post-nav .nav-next a:hover .pn-arrow{transform:translateX(3px)}
@media(max-width:560px){.post-nav .nav-links{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.post-nav a:hover{transform:none}.post-nav a:hover .pn-arrow{transform:none}}
.related{margin:36px 0}

/* ============================================================ TOC / SIDEBAR ============================================================ */
.sidebar{position:sticky;top:104px;font-family:var(--font-ui)}
.widget{margin-bottom:26px}
.widget-title{font-family:var(--font-ui);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 16px;font-weight:800;position:relative;padding-bottom:11px}
.widget-title::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:99px;background:var(--accent)}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{border-top:1px solid var(--line);padding:8px 0}
.widget li:first-child{border-top:none}
.widget a{color:var(--ink);text-decoration:none}.widget a:hover{color:var(--accent)}
.blg-toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.blg-toc a{display:block;font-size:13.5px;color:var(--muted);text-decoration:none;padding:6px 0 6px 14px;border-left:2px solid transparent;margin-left:-2px;line-height:1.35}
.blg-toc a:hover{color:var(--ink)}
.blg-toc a.is-active{color:var(--accent);border-left-color:var(--accent);font-weight:600}
.blg-toc .sub{padding-left:28px}
.blg-toc-sheet{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.45);display:none;align-items:flex-end}
.blg-toc-sheet.open{display:flex}
.blg-toc-sheet .panel{touch-action:pan-y;background:var(--bg);width:100%;border-radius:18px 18px 0 0;padding:22px 26px 30px;max-height:70vh;overflow:auto}
@media(max-width:920px){.content-grid{grid-template-columns:minmax(0,1fr)}.sidebar{position:static}}

/* search form */
.search-form{display:flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--surface)}
.search-form input[type=search]{flex:1;border:none;background:none;padding:13px 20px;font-family:var(--font-ui);font-size:15px;color:var(--ink)}
.search-form input:focus{outline:none}
.search-form button{border:none;background:var(--accent);color:#fff;padding:0 18px;cursor:pointer;display:grid;place-items:center}
.search-form button svg{width:18px;height:18px}

/* ============================================================ FOOTER ============================================================ */
.site-footer{border-top:1px solid var(--line);background:var(--surface);font-family:var(--font-ui);margin-top:30px}
.footer-cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px;padding:46px 0 26px}
.footer-cols a{display:block;font-size:14px;color:var(--muted);text-decoration:none;padding:4px 0}
.footer-cols a:hover{color:var(--accent)}
.f-brand{font-family:var(--font-display);font-weight:800;font-size:21px}
.f-brand .b-accent{color:var(--accent)}
.f-note{color:var(--muted);font-size:14px}
.footer-bar{border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:16px 0;font-size:13px;color:var(--faint)}
.footer-bar a{color:var(--faint);text-decoration:none;margin-left:16px}.footer-bar a:hover{color:var(--accent)}
.footer-policy-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}.footer-policy-menu li{display:flex}.footer-policy-menu a{padding:6px 0;display:inline-flex;align-items:center}
@media(max-width:780px){.footer-cols{grid-template-columns:1fr 1fr}}

/* floating controls */
.blg-fab{position:fixed;right:18px;bottom:18px;z-index:55;display:flex;flex-direction:column;gap:10px}
.blg-fab button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:var(--surface);color:var(--accent);cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.16);display:none;align-items:center;justify-content:center}
.blg-fab button.show{display:flex}.blg-fab button svg{width:21px;height:21px}
#blg-toc-fab{display:none}
@media(max-width:920px){#blg-toc-fab.show{display:flex}}

/* comments */
.comments-area{max-width:var(--reading);margin-top:34px}
.comments-area h3{font-family:var(--font-display);font-weight:700;font-size:1.5rem;margin:0 0 16px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{border-top:1px solid var(--line);padding:16px 0}
.comment-list .children{list-style:none;padding-left:24px}
.comment-meta{font-family:var(--font-ui);font-size:13px;color:var(--faint);margin-bottom:6px}
.comment-author .fn{font-weight:700;color:var(--ink);font-style:normal}
.comment-form{display:grid;gap:12px;font-family:var(--font-ui)}
.comment-form input,.comment-form textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--line2);border-radius:10px;background:var(--surface);color:var(--ink)}
.comment-form .submit{background:var(--accent);color:#fff;border:none;padding:11px 24px;border-radius:30px;cursor:pointer;font-weight:700;width:max-content}
.comments-lazy{font-family:var(--font-ui);font-weight:600;font-size:14px;border:1.5px solid var(--line2);background:var(--surface);color:var(--ink);padding:13px 20px;border-radius:12px;cursor:pointer;width:100%}

/* pagination */
.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:36px 0;font-family:var(--font-ui)}
.pagination .page-numbers{border:1.5px solid var(--line2);border-radius:10px;padding:9px 14px;text-decoration:none;color:var(--ink);font-weight:600}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}

.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}

/* ============================================================ IMAGE HOVER (data-imghover on <html>) ============================================================ */
.entry-content .blg-img{transition:transform .4s,box-shadow .3s,filter .3s}
[data-imghover="zoom"] .card:hover .ph img,[data-imghover="zoom"] .feat-figure:hover img{transform:scale(1.05)}
[data-imghover="zoom"] .entry-content .blg-img:hover{transform:scale(1.02)}
[data-imghover="lift"] .card:hover .ph img,[data-imghover="lift"] .feat-figure:hover img{transform:translateY(-3px)}
[data-imghover="lift"] .entry-content .blg-img:hover{box-shadow:0 22px 44px -22px rgba(0,0,0,.4)}
[data-imghover="bright"] .card:hover .ph img,[data-imghover="bright"] .feat-figure:hover img,[data-imghover="bright"] .entry-content .blg-img:hover{filter:brightness(1.07) saturate(1.06)}
[data-imghover="tilt"] .card:hover .ph img,[data-imghover="tilt"] .feat-figure:hover img,[data-imghover="tilt"] .entry-content .blg-img:hover{transform:rotate(-.8deg) scale(1.02)}
@media(prefers-reduced-motion:reduce){[data-imghover] .card:hover .ph img,[data-imghover] .feat-figure:hover img,[data-imghover] .entry-content .blg-img:hover{transform:none;filter:none}}
.entry-content .is-infographic{display:block;margin-inline:auto}

/* ============================================================ LIGHTBOX + DEEP-ZOOM ============================================================ */
.entry-content img[data-lightbox]{cursor:zoom-in}
.blg-lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,8,6,.93);display:none;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);overscroll-behavior:contain;animation:lbfade .2s ease}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
.blg-lightbox.open{display:flex}
.blg-lb-stage{position:relative;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blg-lb-stage img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:8px;user-select:none;-webkit-user-drag:none;
  transition:transform .12s ease-out;will-change:transform;touch-action:none}
.blg-lightbox.is-zoomable .blg-lb-stage img{cursor:zoom-in}
.blg-lightbox.zoomed .blg-lb-stage{overflow:visible;max-width:none;max-height:none}
.blg-lightbox.zoomed .blg-lb-stage img{cursor:grab}
.blg-lightbox.dragging .blg-lb-stage img{cursor:grabbing;transition:none}
.blg-lb-cap{position:fixed;bottom:16px;left:0;right:0;text-align:center;color:#f3eee5;font-family:var(--font-ui);font-size:14px;padding:0 24px;pointer-events:none}
.blg-lb-close,.blg-lb-zoom{position:fixed;top:16px;width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.13);
  color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.blg-lb-close:hover,.blg-lb-zoom:hover{background:rgba(255,255,255,.26)}
.blg-lb-close{right:16px}.blg-lb-zoom{right:72px;display:none}
.blg-lightbox.is-zoomable .blg-lb-zoom{display:grid}
.blg-lb-close svg,.blg-lb-zoom svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.blg-lb-hint{position:fixed;top:22px;left:20px;color:rgba(243,238,229,.65);font-family:var(--font-ui);font-size:12px;letter-spacing:.03em;pointer-events:none}

/* ============================================================ SHARE ROW ============================================================ */
.blg-share{display:flex;align-items:center;flex-wrap:wrap;gap:9px;max-width:var(--reading);margin:18px 0}
.blg-share-l{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-right:2px}
.blg-sbtn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-ui);font-weight:600;font-size:13.5px;
  color:var(--ink);background:var(--surface);border:1.5px solid var(--line2);border-radius:var(--btn-radius,999px);padding:7px 14px;cursor:pointer;text-decoration:none;transition:.2s}
.blg-sbtn svg{width:16px;height:16px}
.blg-sbtn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.blg-sbtn.copied{border-color:var(--c-vocab);color:var(--c-vocab)}
@media(max-width:560px){.blg-sbtn span{display:none}.blg-sbtn{padding:9px}}

/* ============================================================ HEADER CTA + LAYOUT TOGGLES ============================================================ */
.hd-cta{font-family:var(--font-ui);font-weight:700;font-size:14px;background:var(--accent);color:var(--on-accent);
  padding:9px 18px;border-radius:var(--btn-radius,999px);text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.hd-cta:hover{background:var(--accent-d);transform:translateY(-1px)}
.site-header.not-sticky{position:static}
.sidebar.not-sticky{position:static;top:auto}
.content-grid.sb-left{grid-template-columns:320px minmax(0,1fr)}
.content-grid.sb-left .sidebar{order:-1}
@media(max-width:920px){.content-grid.sb-left{grid-template-columns:minmax(0,1fr)}.content-grid.sb-left .sidebar{order:0}}

/* ============================================================ RESPONSIVE / OVERFLOW SAFETY ============================================================ */
body{overflow-x:hidden}
.entry-title,.hero h1,.card h3,.row-card h4,.entry-row h3,.shead h2,.entry-content{overflow-wrap:anywhere}
.entry-content a{word-break:break-word}
@media(max-width:600px){
  .icon-btn{width:42px;height:42px}
  .wrap{padding:0 18px}
  .content-grid{padding-top:18px}
  .breadcrumb{overflow-wrap:anywhere}
}

/* breadcrumbs */
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .bc-sep{color:var(--line2);margin:0 2px}
.breadcrumb [aria-current="page"]{color:var(--ink)}

/* lightbox download button */
.blg-lb-dl{position:fixed;top:16px;right:128px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;z-index:2;transition:background .2s}
.blg-lb-dl svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.blg-lb-dl:hover{background:rgba(255,255,255,.26)}
@media(max-width:560px){.blg-lb-dl{right:128px;width:42px;height:42px}}

/* ============================================================ PAGE PARITY: 404, empty state, search, pages, author ============================================================ */
/* 404 */
.err404{padding:84px 0 60px}
.err-code{font-family:var(--font-display);font-weight:800;font-size:clamp(4.5rem,17vw,12rem);line-height:.8;margin:0 0 -.06em;letter-spacing:-.04em;
  background:linear-gradient(110deg,var(--accent),var(--accent2,var(--c-grammar)));-webkit-background-clip:text;background-clip:text;color:transparent}
.err404 h1{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.04;margin:0 0 .35em}
.err404 .deck{font-size:1.18rem;color:var(--muted);max-width:48ch;margin:0 0 24px}
.err404 .hero-search{max-width:520px;margin-bottom:20px}

/* Empty / no-results state */
.empty-state{text-align:center;max-width:560px;margin:30px auto 50px;padding:40px 26px;
  background:var(--surface);border:1px solid var(--line);border-radius:20px}
.es-glyph{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);margin-bottom:14px}
.es-glyph svg{width:30px;height:30px}
.empty-state h2{font-family:var(--font-display);font-weight:800;font-size:1.7rem;margin:0 0 8px}
.empty-state p{color:var(--muted);margin:0 0 18px}
.empty-state .es-search{max-width:420px;margin:0 auto 18px}
.empty-state .chips{justify-content:center}

/* Search header highlight */
.archive-header .q-hl{color:var(--accent)}
.archive-header .eyebrow{margin:0 0 4px}

/* Static pages */
.page-article .entry-eyebrow{display:inline-block;margin-bottom:6px}
.page-article .entry-title{font-size:clamp(1.85rem,1.2rem + 2vw,2.5rem);border-left:5px solid var(--accent);padding-left:18px;text-wrap:balance}

/* Author archive header */
.author-archive{align-items:center;margin:18px 0 26px}
.author-archive .avatar img{width:84px;height:84px;border-radius:50%;display:block}
.author-archive .nm{font-family:var(--font-display);font-weight:800;font-size:1.5rem}
@media(max-width:560px){.err404{padding:60px 0 40px}.empty-state{padding:32px 18px}}

/* Electric: list-row + viewall colour-forward touches */
.entry-row:hover h3{color:var(--cc,var(--accent))}
.viewall:hover{background:var(--cc,var(--accent));border-color:var(--cc,var(--accent));color:#fff}
.pbadge.is-new{color:#1c140f;background:var(--hl)}

/* video embed facades */
.blg-embed{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;cursor:pointer;background:#0b0b0b center/cover no-repeat;margin:22px 0}
.blg-embed.blg-embed-plain{background:linear-gradient(135deg,#1c140f,#3a2a20)}
.blg-embed::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);transition:background .2s}
.blg-embed:hover::after{background:rgba(0,0,0,.06)}
.blg-embed-play{position:absolute;inset:0;margin:auto;width:74px;height:52px;display:grid;place-items:center;z-index:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .2s}
.blg-embed:hover .blg-embed-play{transform:scale(1.08)}
.blg-embed-plain .blg-embed-play{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff}
.blg-embed-play svg{width:100%;height:100%}
.blg-embed-plain .blg-embed-play svg{width:30px;height:30px}
.blg-embed:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.blg-embed-frame{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ============================================================ DESIGN STYLES — switchable from the dashboard (base = Electric) ============================================================ */

/* Editorial Pop — warm paper, soft outlines, subtle highlight */
:root[data-design="editorialpop"]{--bg:#faf7f1;--ink:#16130f;--muted:#5f5a51;--faint:#928c80;--line:#e8e2d6;--line2:#d9d2c4}
[data-design="editorialpop"] .chip{background:transparent;color:var(--cc,var(--accent));border:1.5px solid color-mix(in srgb,var(--cc,var(--accent)) 40%,transparent);font-weight:600;border-radius:30px}
[data-design="editorialpop"] .chip:hover{filter:none;transform:translateY(-2px)}
[data-design="editorialpop"] .card{border-top:1px solid var(--line)}
[data-design="editorialpop"] .card:hover{border-color:transparent}
[data-design="editorialpop"] .mark{box-shadow:none;background:linear-gradient(transparent 60%,color-mix(in srgb,var(--accent) 26%,transparent) 60%)}
[data-design="editorialpop"] .search-form{border:1.5px solid var(--line2);border-radius:13px}

/* Midnight — dark canvas, glass cards */
:root[data-design="midnight"]{--bg:#0b0c11;--surface:#15171f;--ink:#eceaf3;--muted:#a9a4ba;--faint:#7c7790;--line:#23252e;--line2:#2e3038;--accent-soft:#241a14;--accent-ink:#ff8f6f}
[data-design="midnight"] .site-header{background:color-mix(in srgb,var(--bg) 82%,transparent)}
[data-design="midnight"] .card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09)}
[data-design="midnight"] .hero-bg{opacity:.5}
[data-design="midnight"] .chip{color:#fff}
[data-design="midnight"] .bg-muted{background:rgba(255,255,255,.03)}
[data-design="midnight"] .search-form{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
[data-design="midnight"] .blg-quick{background:rgba(255,255,255,.04)}

/* Stark — high-contrast black & white, hard shadows */
:root[data-design="stark"]{--bg:#ffffff;--ink:#0a0a0a;--muted:#3a3a3a;--faint:#6a6a6a;--line:#0a0a0a;--line2:#0a0a0a;--radius:6px;--btn-radius:0}
[data-design="stark"] .card{border:2px solid #0a0a0a;border-top:2px solid #0a0a0a;box-shadow:6px 6px 0 #0a0a0a}
[data-design="stark"] .card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--cc,var(--accent))}
[data-design="stark"] .chip{background:transparent;color:#0a0a0a;border:2px solid #0a0a0a;font-weight:700;border-radius:0}
[data-design="stark"] .chip:hover{background:#0a0a0a;color:#fff}
[data-design="stark"] .mark{box-shadow:none;background:var(--accent);color:#fff;padding:0 .08em}
[data-design="stark"] .search-form{border:2px solid #0a0a0a;border-radius:0}
[data-design="stark"] .cat,[data-design="stark"] .level-badge{border-radius:0}
[data-design="stark"] .entry-title,[data-design="stark"] .page-article .entry-title{border-left-color:#0a0a0a}

/* ============================================================ HERO LOOK — switchable from the Design tab ============================================================ */
.hero[data-style="solid"] .hero-bg,.hero[data-style="minimal"] .hero-bg{display:none}
.hero[data-style="solid"]{background:var(--accent-soft)}
.hero[data-height="compact"]{padding:44px 0 36px}
.hero[data-height="tall"]{padding:112px 0 84px}
.hero[data-align="center"]{text-align:center}
.hero[data-align="center"] h1{max-width:none}
.hero[data-align="center"] .deck{margin-left:auto;margin-right:auto}
.hero[data-align="center"] .hero-search{margin-left:auto;margin-right:auto}
.hero[data-align="center"] .chips{justify-content:center}
.hero[data-hl="marker"] .mark{box-shadow:inset 0 -.3em 0 var(--hl);background:none;color:inherit;padding:0}
.hero[data-hl="underline"] .mark{box-shadow:none;background:none;color:inherit;padding:0;border-bottom:.12em solid var(--accent)}
.hero[data-hl="gradient"] .mark{box-shadow:none;background:linear-gradient(100deg,var(--accent),var(--accent2,var(--c-grammar)));-webkit-background-clip:text;background-clip:text;color:transparent;padding:0}
.hero[data-hl="none"] .mark{box-shadow:none;background:none;color:inherit;padding:0}

/* ============================================================ HOMEPAGE SECTIONS — global look from the Design tab ============================================================ */
[data-sechead="underline"] .tagbar,[data-sechead="plain"] .tagbar,[data-sechead="centered"] .tagbar{display:none}
[data-sechead="underline"] .shead{border-bottom:2px solid var(--line);padding-bottom:12px;align-items:center}
[data-sechead="centered"] .shead{flex-direction:column;align-items:center;text-align:center;gap:10px}
[data-sechead="centered"] .shead h2{justify-content:center}
[data-viewall="text"] .viewall{border:none;padding:0;background:none}
[data-viewall="text"] .viewall:hover{background:none;border:none;color:var(--cc,var(--accent));text-decoration:underline}
[data-secdiv="line"] .home-section.bg-default + .home-section.bg-default{border-top:1px solid var(--line)}

/* ============================================================ SINGLE POST — look from the Design tab ============================================================ */
[data-ptitle="plain"] .single .entry-title{border-left:none;padding-left:0}
[data-ptitle="centered"] .single .entry-title{border-left:none;padding-left:0;text-align:center}
[data-ptitle="centered"] .single .entry-eyebrow{display:block;text-align:center}
[data-ptitle="centered"] .single .entry-deck{text-align:center;margin-left:auto;margin-right:auto}
[data-pimg="boxed"] .feat-figure .ff-media{border:1px solid var(--line);padding:8px;background:var(--surface)}
body.no-sidebar [data-pimg="fullbleed"] .feat-figure{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
body.no-sidebar [data-pimg="fullbleed"] .feat-figure .ff-media{border-radius:0}

/* ============================================================ ARCHIVE HEADER — look from the Design tab ============================================================ */
[data-archhead="tinted"] .archive-header{background:var(--accent-soft);border-radius:var(--radius);padding:26px 24px}
[data-archhead="band"] .archive-header{background:var(--accent);border-radius:var(--radius);padding:30px 26px}
[data-archhead="band"] .archive-header h1{color:var(--on-accent,#fff)}
[data-archhead="band"] .archive-header .desc{color:rgba(255,255,255,.85)}
[data-archalign="center"] .archive-header{text-align:center}

/* ============================================================ SIDEBAR WIDGETS — look from the Design tab ============================================================ */
[data-wtitle="bar"] .widget-title{display:flex;align-items:center;gap:8px;padding-bottom:0}
[data-wtitle="bar"] .widget-title::before{content:"";width:10px;height:14px;border-radius:4px;background:var(--accent);flex-shrink:0}
[data-wtitle="bar"] .widget-title::after,[data-wtitle="underline"] .widget-title::after{display:none}
[data-wtitle="underline"] .widget-title{border-bottom:2px solid var(--line);padding-bottom:9px}
[data-wbox="boxed"] .widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
[data-wbox="divided"] .widget+.widget{border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);padding-top:22px}
[data-wbox="divided"] .widget:first-child{border-top:none;padding-top:0}

/* ============================================================ FOOTER STYLE — from the Design tab ============================================================ */
.site-footer[data-style="dark"]{background:#14161c;color:#e7e4ef;border-top-color:#23252e}
.site-footer[data-style="dark"] .footer-cols a,.site-footer[data-style="dark"] .f-note{color:#a9a4ba}
.site-footer[data-style="dark"] .footer-cols a:hover{color:#fff}
.site-footer[data-style="dark"] .footer-bar{border-top-color:#23252e;color:#8a8496}
.site-footer[data-style="dark"] .footer-bar a{color:#a9a4ba}
.site-footer[data-style="dark"] .footer-bar a:hover{color:#fff}
.site-footer[data-style="accent"]{background:var(--footer-accent,var(--accent));color:#fff;border-top-color:transparent}
.site-footer[data-style="accent"] .footer-cols a,.site-footer[data-style="accent"] .f-note,.site-footer[data-style="accent"] .footer-bar,.site-footer[data-style="accent"] .footer-bar a{color:rgba(255,255,255,.85)}
.site-footer[data-style="accent"] .footer-cols a:hover,.site-footer[data-style="accent"] .footer-bar a:hover{color:#fff}
.site-footer[data-style="accent"] .f-brand,.site-footer[data-style="accent"] .f-brand .b-accent{color:#fff}
.site-footer[data-style="accent"] .footer-bar{border-top-color:rgba(255,255,255,.22)}

/* ============================================================ FIX 1.2.1 — dropdown sub-menus + content media containment ============================================================ */
/* Header dropdown sub-menus (menus with child items) */
.main-nav li{position:relative}
.main-nav .menu-item-has-children>a::after{content:"";width:6px;height:6px;border:1.6px solid currentColor;border-top:0;border-left:0;transform:rotate(45deg) translateY(-1px);opacity:.5;transition:transform .25s ease,opacity .2s ease,border-color .2s ease}
.main-nav .menu-item-has-children:hover>a::after,.main-nav .menu-item-has-children:focus-within>a::after{transform:rotate(-135deg) translateY(1px);opacity:1;border-color:var(--accent)}
.main-nav .sub-menu{display:flex;position:absolute;top:100%;left:0;min-width:222px;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:8px;box-shadow:0 18px 48px -22px rgba(0,0,0,.5);z-index:60;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .22s ease,visibility .2s;pointer-events:none}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{display:block;padding:9px 13px;border-radius:9px;white-space:nowrap;color:var(--ink);text-decoration:none;font-weight:500}
.main-nav .sub-menu .current-menu-item>a{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}
@media (prefers-reduced-motion:reduce){.main-nav .sub-menu{transition:opacity .15s ease;transform:none}}
.main-nav .sub-menu a:hover{background:var(--accent-soft);color:var(--accent-ink)}

/* Content media never overflows the reading column */
.entry-content picture{display:block;max-width:100%}
.entry-content img,.entry-content picture img{max-width:100%;height:auto}
.entry-content figure{max-width:100%;margin-left:0;margin-right:0}
.entry-content iframe,.entry-content video,.entry-content embed{max-width:100%}

/* Mobile: sub-menus become an accordion inside the slide-in panel */
@media(max-width:860px){
  .main-nav .menu-item-has-children>a::after{display:none}
  .nav-panel .sub-menu{position:static;display:flex;flex-direction:column;flex-basis:100%;width:100%;max-height:0;overflow:hidden;opacity:1;visibility:visible;transform:none;pointer-events:auto;border:none;box-shadow:none;background:transparent;min-width:0;list-style:none;padding:0;margin:2px 0 4px 12px;border-left:2px solid var(--line);transition:max-height .32s ease}
  .nav-panel .menu-item-has-children.is-expanded>.sub-menu{max-height:760px}
  .nav-panel .sub-menu a{display:flex;align-items:center;min-height:42px;padding:9px 14px;border-radius:9px;font-size:14.5px;font-weight:500;white-space:normal;color:var(--muted)}
  .nav-panel .sub-menu a:hover,.nav-panel .sub-menu .current-menu-item>a{color:var(--accent-ink);background:var(--accent-soft)}
}

/* ============================================================
   SINGLE POST — 1.3 editorial redesign
   Typography-forward, generous space, restrained motion.
   ============================================================ */

/* Header: more air, a larger and more confident title */
.single .entry-eyebrow{display:inline-block;margin:0 0 14px;letter-spacing:.14em}
.single .entry-title{font-size:clamp(1.9rem,1.15rem + 2.3vw,2.75rem);line-height:1.12;letter-spacing:-.028em;margin:.1em 0 .45em;text-wrap:balance}
.single .entry-deck{font-size:1.42rem;line-height:1.5;max-width:46ch;color:var(--muted);margin:0 0 26px}
.single .byline{margin:0 0 30px}
.single .feat-figure{margin:4px 0 38px}
.single .feat-figure .ff-media{box-shadow:0 26px 64px -36px rgba(0,0,0,.45)}
.feat-figure figcaption{margin-top:12px;text-align:center;font-family:var(--font-ui);font-size:13px;color:var(--faint);line-height:1.5}

/* Reading column: comfortable measure and rhythm */
.single .entry-content{font-size:1.12rem;line-height:1.78}
.single .entry-content > p{margin:0 0 1.4em}
.single .entry-content h2{font-size:clamp(1.65rem,3.2vw,2.1rem);line-height:1.16;margin:2em 0 .5em}
.single .entry-content h3{font-size:1.42rem;margin:1.55em 0 .35em}

/* In-content links: an underline that brightens and thickens on hover.
   Always visible (accessible), animates only the weight and colour. */
.entry-content a{color:var(--ink);text-decoration:none;box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--accent) 45%,transparent);transition:box-shadow .25s ease,color .2s ease}
.entry-content a:hover,.entry-content a:focus-visible{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent)}

/* Content images: soft depth, gentle zoom, captioned */
.entry-content figure{margin:1.9em 0}
.entry-content img{border-radius:14px;box-shadow:0 20px 48px -30px rgba(0,0,0,.42)}
.entry-content figure img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.entry-content figure:hover img{transform:scale(1.02)}
.entry-content figcaption{font-family:var(--font-ui);font-size:13px;color:var(--faint);text-align:center;margin-top:11px}

/* Blockquote: a quiet editorial pull, accent rule on the left */
.single .entry-content blockquote{border-left:3px solid var(--accent);padding:2px 0 2px 26px;margin:1.8em 0;font-size:1.5rem;line-height:1.32;font-style:normal;color:var(--ink)}

/* Author card lifts a touch on hover */
.author-box{transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
.author-box:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 22px 54px -36px rgba(0,0,0,.4);transform:translateY(-2px)}

/* Optional flourishes, driven from the dashboard */
[data-lead="on"] .single .entry-content > p:first-of-type{font-size:1.34rem;line-height:1.62;color:var(--ink)}
[data-dropcap="on"] .single .entry-content > p:first-of-type::first-letter{float:left;font-family:var(--font-display);font-weight:800;font-size:3.6em;line-height:.74;padding:8px 14px 0 0;color:var(--accent)}
[data-clink="plain"] .entry-content a{box-shadow:none}
[data-clink="plain"] .entry-content a:hover,[data-clink="plain"] .entry-content a:focus-visible{box-shadow:inset 0 -2px 0 var(--accent)}
[data-clink="solid"] .entry-content a{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent)}

@media (prefers-reduced-motion:reduce){.entry-content figure:hover img{transform:none}}

/* ============================================================
   SOFT MODERN UI — 1.3.2
   Filled buttons with depth, colour share circles, dot accent.
   Moves the look away from flat newsprint toward warm and modern.
   ============================================================ */

/* Primary buttons sit raised off the page: filled, rounded, soft shadow */
.viewall{color:var(--on-accent);background:var(--cc,var(--accent));border-color:transparent;box-shadow:0 10px 22px -10px color-mix(in srgb,var(--cc,var(--accent)) 65%,transparent)}
.viewall:hover{color:var(--on-accent);background:var(--cc,var(--accent));border-color:transparent;transform:translateY(-2px);box-shadow:0 16px 30px -12px color-mix(in srgb,var(--cc,var(--accent)) 72%,transparent)}
.hd-cta{box-shadow:0 10px 22px -10px color-mix(in srgb,var(--accent) 65%,transparent)}
.hd-cta:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px color-mix(in srgb,var(--accent) 72%,transparent)}

/* Share row: solid brand-colour circles, icon only, with real depth */
.blg-share{gap:11px}
.blg-sbtn{width:44px;height:44px;padding:0;justify-content:center;border:none;border-radius:50%;color:#fff;background:var(--ink);box-shadow:0 8px 18px -8px rgba(0,0,0,.45);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.blg-sbtn span{display:none}
.blg-sbtn svg{width:18px;height:18px}
.blg-sbtn:hover{color:#fff;transform:translateY(-3px);box-shadow:0 15px 26px -10px rgba(0,0,0,.5);filter:brightness(1.06)}
.blg-sbtn--facebook{background:#1877f2}
.blg-sbtn--x{background:#16181c}
.blg-sbtn--whatsapp{background:#25d366}
.blg-sbtn--linkedin{background:#0a66c2}
.blg-sbtn--email{background:var(--accent)}
.blg-sbtn.s-copy{background:var(--surface);color:var(--ink);border:1.5px solid var(--line2);box-shadow:none}
.blg-sbtn.s-copy:hover{color:var(--accent);border-color:var(--accent)}
.blg-sbtn.copied{background:var(--c-vocab);color:#fff;border-color:transparent}
@media(max-width:560px){.blg-sbtn{width:42px;height:42px}}

/* The signature full-stop accent after section headings */
.shead h2::after{content:".";color:var(--accent)}
.single .shead h2::after{content:none}

/* Author card: softer, rounder, with a filled primary action */
.author-box{border-radius:20px;box-shadow:0 14px 38px -28px rgba(0,0,0,.38)}
.author-box .lnks{align-items:center;gap:18px}
.author-box .lnks a:first-child{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;background:var(--accent);color:var(--on-accent);box-shadow:0 10px 20px -10px color-mix(in srgb,var(--accent) 65%,transparent);transition:transform .2s ease,box-shadow .2s ease}
a.ab-all:hover::after{transform:translateY(-2px);box-shadow:0 15px 26px -12px color-mix(in srgb,var(--accent) 72%,transparent)}

@media (prefers-reduced-motion:reduce){.viewall:hover,.hd-cta:hover,.blg-sbtn:hover,a.ab-all:hover::after{transform:none}}

/* ============================================================
   1.3.5 — modern search, byline & author profile
   ============================================================ */

/* Search: drop the hard outline for a light field with a soft shadow */
.search-form{border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:0 6px 18px -10px rgba(0,0,0,.16)}
.search-form:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px var(--accent-soft),0 8px 20px -10px rgba(0,0,0,.18)}
.search-form input[type=search]{padding:14px 20px}

/* Byline: lose the boxed rules, give the avatar a soft ring */
/* 1.3.20 — modern byline: clean avatar, stacked name/role, tidy meta */
.byline{padding:0}
.byline>.avatar{overflow:visible;border-radius:50%;box-shadow:0 0 0 1px var(--line),0 6px 16px -10px rgba(0,0,0,.28)}
.byline .avatar img{width:48px;height:48px}
.by-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.by-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;line-height:1.15}
.byname{font-weight:700;font-size:15px}
.byname a{color:var(--ink);text-decoration:none;transition:color .18s ease}
.byname a:hover{color:var(--accent)}
.byrole{font-size:12px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);padding:2px 10px;border-radius:999px;white-space:nowrap}
.by-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--faint)}
.by-meta .meta-dot{color:var(--line2)}
.by-meta .level-badge{margin-left:4px}

/* Author profile: titled, airy, ringed avatar, no hard frame */
.author-box{display:block;border:none;padding:26px 28px}
.author-box .ab-head{font-family:var(--font-display);font-weight:800;font-size:1.18rem;margin:0 0 16px}
.author-box .ab-head::after{content:".";color:var(--accent)}
.author-box .ab-row{display:flex;gap:18px;align-items:flex-start}
.author-box .avatar{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.author-box .avatar img{width:64px;height:64px}
.author-box .nm{font-size:1.06rem;margin-bottom:2px}
.author-box .nm .role{font-weight:500;color:var(--muted);font-size:.92rem}
.author-box .nm .role::before{content:"·  ";color:var(--faint)}
.author-box .bio{margin:6px 0 14px}
@media(max-width:560px){.author-box .ab-row{flex-direction:column;gap:14px}}

/* ============================================================
   1.3.6 — modern sidebar lists (categories, archives, pages)
   Rounded rows, soft accent hover, dot marker, no hard dividers.
   ============================================================ */
.widget li{border-top:none;padding:0;margin:1px 0}
.widget li a{display:flex;align-items:flex-start;gap:11px;padding:10px 12px;border-radius:12px;font-weight:500;font-size:.95rem;line-height:1.3;transition:background .18s ease,color .18s ease,padding .18s ease}
.widget li a::before{content:"";width:7px;height:7px;margin-top:6px;border-radius:50%;background:color-mix(in srgb,var(--accent) 32%,var(--line2));flex-shrink:0;transition:background .18s ease,transform .18s ease}
.widget li a:hover{background:var(--accent-soft);color:var(--accent-ink);padding-left:16px}
.widget li a:hover::before{background:var(--accent);transform:scale(1.35)}
.widget li.current-cat>a,.widget li.current_page_item>a,.widget li.current-menu-item>a{background:var(--accent-soft);color:var(--accent-ink)}
.widget li.current-cat>a::before,.widget li.current_page_item>a::before,.widget li.current-menu-item>a::before{background:var(--accent)}

/* ============================================================
   1.3.7 — modern breadcrumbs (chevron, colour, mobile readable)
   ============================================================ */
.breadcrumb{font-size:13.5px;color:var(--muted);padding:22px 0 8px;line-height:1.75}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s ease}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb [aria-current="page"],.breadcrumb .breadcrumb_last,.breadcrumb strong{color:var(--ink);font-weight:600}
.breadcrumb .bc-sep{color:color-mix(in srgb,var(--accent) 60%,var(--line2));margin:0 8px;font-weight:600}
@media(max-width:600px){.breadcrumb{font-size:13px;line-height:1.85;padding:16px 0 6px}.breadcrumb .bc-sep{margin:0 6px}}

/* ============================================================
   1.3.8 — minimal header shadow (toggle: blogineer_header_shadow)
   ============================================================ */
.blg-hdr-shadow .site-header{box-shadow:0 2px 10px -7px rgba(0,0,0,.10)}

/* ============================================================
   1.3.11 — dashboard-driven component style options
   ============================================================ */

/* Prev/next — "minimal" style (no frame, just text + arrow) */
.post-nav.pn-minimal a{border:none;background:none;padding:10px 0;border-radius:0}
.post-nav.pn-minimal a:hover{transform:none;box-shadow:none}
.post-nav.pn-minimal .pn-arrow{background:none;width:auto;height:auto;color:var(--accent)}
.post-nav.pn-minimal .pn-arrow svg{width:20px;height:20px}
.post-nav.pn-minimal a:hover .pn-cat,.post-nav.pn-minimal a:hover .pn-title{color:var(--accent)}

/* Sidebar list — "plain" style (classic list, no rows) */
[data-wlist="plain"] .widget li{border-top:1px solid var(--line);padding:8px 0;margin:0}
[data-wlist="plain"] .widget li:first-child{border-top:none}
[data-wlist="plain"] .widget li a{display:inline;padding:0;border-radius:0;font-weight:400;background:none;line-height:inherit}
[data-wlist="plain"] .widget li a::before{display:none}
[data-wlist="plain"] .widget li a:hover{background:none;padding-left:0;color:var(--accent)}
[data-wlist="plain"] .widget li.current-cat>a,[data-wlist="plain"] .widget li.current_page_item>a,[data-wlist="plain"] .widget li.current-menu-item>a{background:none;color:var(--accent)}

/* ============================================================
   1.3.14 — category eyebrow chip: colour var + style presets
   ============================================================ */
.entry-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:999px;background:color-mix(in srgb,var(--eyebrow,var(--accent)) 15%,transparent);color:var(--eyebrow,var(--accent-ink));font-size:11.5px;letter-spacing:.1em;border:1.5px solid transparent;box-shadow:0 6px 16px -10px color-mix(in srgb,var(--eyebrow,var(--accent)) 55%,transparent);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.entry-eyebrow:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px color-mix(in srgb,var(--eyebrow,var(--accent)) 62%,transparent)}
.single .entry-eyebrow{display:inline-flex;margin:0 0 16px;letter-spacing:.1em}
[data-ptitle="centered"] .single .entry-eyebrow{display:flex;width:fit-content;margin-left:auto;margin-right:auto}
/* solid fill */
[data-eyebrow="solid"] .entry-eyebrow{background:var(--eyebrow,var(--accent));color:#fff;box-shadow:0 9px 20px -9px color-mix(in srgb,var(--eyebrow,var(--accent)) 60%,transparent)}
[data-eyebrow="solid"] .entry-eyebrow:hover{box-shadow:0 13px 26px -10px color-mix(in srgb,var(--eyebrow,var(--accent)) 66%,transparent)}
/* outline */
[data-eyebrow="outline"] .entry-eyebrow{background:transparent;color:var(--eyebrow,var(--accent));border-color:color-mix(in srgb,var(--eyebrow,var(--accent)) 45%,transparent);box-shadow:none}
[data-eyebrow="outline"] .entry-eyebrow:hover{box-shadow:0 8px 18px -12px color-mix(in srgb,var(--eyebrow,var(--accent)) 50%,transparent)}
/* plain text, no chip */
[data-eyebrow="minimal"] .entry-eyebrow{background:none;padding:0;border:none;border-radius:0;box-shadow:none;color:var(--eyebrow,var(--accent))}
[data-eyebrow="minimal"] .entry-eyebrow:hover{transform:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){.entry-eyebrow:hover{transform:none}}

/* 1.3.16 — header: respect reduced-motion for the new transitions */
@media (prefers-reduced-motion:reduce){
  .icon-btn:hover{transform:none}
  #blg-theme-toggle:hover svg{transform:none}
  .main-nav .sub-menu{transition:none}
  .main-nav .menu>li>a::before{transition:none}
  .main-nav .menu-item-has-children>a::after{transition:opacity .01s}
}

/* ============================================================
   1.3.17 — category cluster widget
   ============================================================ */
.blg-cluster{list-style:none;margin:0;padding:0}
.blg-cluster li{border-top:none;padding:0;margin:0}
.blg-cluster .cl-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.blg-cluster .cl-title{font-family:var(--font-ui);font-weight:500;letter-spacing:0;color:var(--ink);transition:color .18s ease}
.blg-cluster .cl-meta{font-family:var(--font-ui);font-size:11.5px;color:var(--faint);font-weight:400}
.blg-cluster li a:hover .cl-meta{color:color-mix(in srgb,var(--accent) 70%,var(--muted))}
/* Format 1 — modern list: hairline-divided headline links with a sliding arrow */
.blg-cluster.cl-list{display:flex;flex-direction:column}
.blg-cluster.cl-list li+li{border-top:1px solid var(--line)}
.blg-cluster.cl-list li a{display:flex;align-items:flex-start;gap:11px;padding:13px 2px;color:var(--ink);text-decoration:none;transition:color .18s ease}
.blg-cluster.cl-list .cl-title{font-size:.97rem;line-height:1.4}
.blg-cluster.cl-list li a::after{content:"\2192";margin-left:auto;margin-top:1px;color:var(--line2);font-weight:700;flex-shrink:0;transition:color .18s ease}
.blg-cluster.cl-list li a:hover .cl-title{color:var(--accent-ink)}
.blg-cluster.cl-list li a:hover::after{color:var(--accent)}
.blg-cluster.cl-list li.is-current>a .cl-title{color:var(--accent-ink)}
.blg-cluster.cl-list li.is-current>a::after{color:var(--accent)}
/* rank chips (modern list, optional) */
.blg-cluster .cl-rank{flex-shrink:0;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);transition:background .18s ease,color .18s ease}
.blg-cluster.is-numbered li a:hover .cl-rank,.blg-cluster.is-numbered li.is-current .cl-rank{background:var(--accent);color:var(--on-accent)}
/* Format 2 — thumbnail cards: wide 16:9 image beside a clamped headline */
.blg-cluster.cl-thumbs{display:flex;flex-direction:column;gap:15px}
.blg-cluster.cl-thumbs li a{display:flex;gap:12px;align-items:flex-start;color:var(--ink);text-decoration:none}
.blg-cluster.cl-thumbs .cl-thumb{flex:0 0 116px;width:116px;aspect-ratio:16/9;border-radius:11px;overflow:hidden;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.blg-cluster.cl-thumbs .cl-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.blg-cluster.cl-thumbs li a:hover .cl-thumb img{transform:scale(1.06)}
.blg-cluster.cl-thumbs .cl-title{font-family:var(--font-display);font-weight:600;font-size:.95rem;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blg-cluster.cl-thumbs li a:hover .cl-title{color:var(--accent-ink)}
.blg-cluster.cl-thumbs li.is-current .cl-title{color:var(--accent-ink)}
@media (prefers-reduced-motion:reduce){.blg-cluster.cl-thumbs li a:hover .cl-thumb img{transform:none}.blg-cluster.cl-list li a:hover::after{transform:none}}
/* count badge beside the heading */
.widget-cluster .cluster-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:700;vertical-align:middle;margin-left:7px}
/* view-all link */
a.cluster-viewall{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:9px 18px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:var(--font-ui);font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 8px 18px -10px color-mix(in srgb,var(--accent) 55%,transparent);transition:background .18s ease,transform .18s ease,box-shadow .2s ease}
a.cluster-viewall::after{content:"→";font-weight:700;transition:transform .18s ease}
a.cluster-viewall:hover{background:var(--accent-d);color:var(--on-accent);transform:translateY(-1px);box-shadow:0 12px 22px -10px color-mix(in srgb,var(--accent) 60%,transparent)}
a.cluster-viewall:hover::after{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){a.cluster-viewall:hover{transform:none}a.cluster-viewall:hover::after{transform:none}}

/* ============================================================
   1.3.18 — sidebar "cards" list: dot · label · chevron tiles
   (scoped out of the cluster widget so it keeps its own layout)
   ============================================================ */
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats){display:flex;flex-direction:column;gap:8px;margin:0;padding:0}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li{border:none;padding:0;margin:0}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500;line-height:1.3;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .18s ease}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a::before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--accent) 55%,var(--line2));transition:transform .18s ease,background .18s ease}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a::after{content:"";width:7px;height:7px;margin-left:auto;flex-shrink:0;border:2px solid var(--faint);border-left:0;border-bottom:0;transform:rotate(45deg);transition:transform .2s ease,border-color .2s ease}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:0 10px 22px -14px color-mix(in srgb,var(--accent) 50%,transparent)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a:hover::before{background:var(--accent);transform:scale(1.25)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a:hover::after{border-color:var(--accent);transform:rotate(45deg) translate(1px,-1px)}
/* current category / page */
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current-cat>a,[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current_page_item>a,[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current-menu-item>a{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current-cat>a::before,[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current_page_item>a::before,[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current-menu-item>a::before{background:var(--accent)}
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current-cat>a::after,[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current_page_item>a::after,[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li.current-menu-item>a::after{border-color:var(--accent)}
/* nested subcategories: indent the child stack */
[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) .children{display:flex;flex-direction:column;gap:8px;margin-top:8px;margin-left:14px}
@media (prefers-reduced-motion:reduce){[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a:hover{transform:none}[data-wlist="cards"] .widget > ul:not(.blg-cluster):not(.blg-cats) li a:hover::after{transform:rotate(45deg)}}

/* 1.3.19 — archive description when placed below the posts */
.content-main > .desc-bottom{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:1.02rem;line-height:1.7}

/* ============================================================
   1.3.22 — single-post section separation
   ============================================================ */
/* default = "divider": short accent mark at the article end */
.post-divider{width:64px;height:4px;margin:50px 0;border:0;border-radius:99px;background:color-mix(in srgb,var(--accent) 55%,var(--line));max-width:var(--reading)}
[data-ptitle="centered"] .single .post-divider{margin-left:auto;margin-right:auto}
/* clearer rhythm + hairline tops on the unboxed lower sections */
.single .related{border-top:1px solid var(--line);padding-top:36px;margin:48px 0 36px}
.single .comments-area{border-top:1px solid var(--line);padding-top:36px;margin-top:48px}
.single .blg-feedback{margin:42px 0}
.single .author-box{margin:42px 0}
.single .post-nav{margin:42px 0}
/* "lines": a plain full-width rule instead of the accent mark */
[data-sep="lines"] .post-divider{width:100%;height:1px;border-radius:0;background:var(--line);margin:46px 0}
/* "flow": airy whitespace, no rules */
[data-sep="flow"] .post-divider{display:none}
[data-sep="flow"] .single .related,[data-sep="flow"] .single .comments-area{border-top:none;padding-top:0;margin-top:64px}
[data-sep="flow"] .single .blg-feedback,[data-sep="flow"] .single .author-box,[data-sep="flow"] .single .post-nav{margin:58px 0}

/* ============================================================
   1.3.24 — verified author badge + crisp circular avatar
   ============================================================ */
.byline .avatar{position:relative;border-radius:50%;width:48px;height:48px;flex-shrink:0}
.byline .avatar img{width:48px;height:48px;border-radius:50%!important;object-fit:cover;display:block}
.by-verified{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 2.5px var(--surface),0 4px 10px -4px color-mix(in srgb,var(--accent) 60%,transparent)}
.by-verified svg{width:11px;height:11px}

/* 1.3.27 — cluster heading leads the list */
.widget-cluster .widget-title{font-size:14px;letter-spacing:.09em}
.widget-cluster .widget-title::after{width:38px;height:3px}

/* 1.3.28 — mobile: title sized after the desktop rule so it wins */
@media(max-width:600px){
  .single .entry-title{font-size:clamp(1.7rem,6.6vw,2.3rem);padding-left:14px;border-left-width:4px}
  .page-article .entry-title{font-size:clamp(1.6rem,6vw,2.1rem)}
  .shead h2{font-size:1.4rem}
}

/* ============================================================
 * In-article Table of Contents card
 * ============================================================ */
.blg-toc-card{margin:1.6rem 0;border:1px solid var(--tc-line,var(--line));border-radius:var(--radius,14px);background:var(--tc-bg,var(--surface,#fff));padding:.5rem .8rem .65rem;font-family:var(--font-ui,system-ui,sans-serif)}
.blg-toc-card__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem .25rem}
.blg-toc-card__title{font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tc-title,var(--ink))}
.blg-toc-card .blg-toc-card__toggle,.blg-toc-card .blg-toc-card__subtoggle{appearance:none;background:none;border:0;cursor:pointer;color:var(--tc-sub,var(--muted,#6b5d52));display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;padding:0;border-radius:8px}
.blg-toc-card .blg-toc-card__toggle:hover,.blg-toc-card .blg-toc-card__subtoggle:hover{color:var(--tc-accent-ink,var(--accent-ink));background:color-mix(in srgb,var(--tc-accent,var(--accent)) 8%,transparent)}
.blg-toc-card .blg-toc-card__toggle:focus-visible,.blg-toc-card .blg-toc-card__subtoggle:focus-visible,.blg-toc-card .blg-toc-card__link:focus-visible{outline:2px solid var(--tc-accent,var(--accent));outline-offset:2px}
.blg-toc-card__toggle::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
.blg-toc-card.is-collapsed .blg-toc-card__toggle::after{transform:rotate(-135deg) translateY(2px)}
.blg-toc-card .blg-toc-card__list{list-style:none;margin:0;padding:.15rem 0 0}
.blg-toc-card[data-collapsed] .blg-toc-card__list,.blg-toc-card.is-collapsed .blg-toc-card__list{display:none}
.blg-toc-card .blg-toc-card__item{margin:0;position:relative}
.blg-toc-card .blg-toc-card__sub{list-style:none;margin:.05rem 0 .3rem;padding:0 0 0 2.15rem}
.blg-toc-card__item.sub-collapsed .blg-toc-card__sub{display:none}
.blg-toc-card .blg-toc-card__subtoggle{position:absolute;top:3px;right:0;width:30px;height:30px;min-width:30px}
.blg-toc-card__subtoggle::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .2s ease}
.blg-toc-card__item.sub-collapsed .blg-toc-card__subtoggle::after{transform:rotate(-45deg)}
.blg-toc-card a.blg-toc-card__link{display:flex;align-items:flex-start;gap:.6rem;padding:.42rem .3rem;min-height:44px;text-decoration:none;color:var(--tc-ink,var(--ink));line-height:1.4;border-radius:8px}
.blg-toc-card__item.has-children>.blg-toc-card__link{padding-right:34px}
.blg-toc-card a.blg-toc-card__link:hover{color:var(--tc-accent-ink,var(--accent-ink));background:color-mix(in srgb,var(--tc-accent,var(--accent)) 6%,transparent)}
.blg-toc-card__num{flex:0 0 auto;display:inline-grid;place-items:center;width:1.55em;height:1.55em;margin-top:.05em;border-radius:50%;font-size:.78em;font-weight:700;line-height:1;color:var(--accent-ink);background:var(--accent-soft)}
.blg-toc-card .blg-toc-card__subitem a.blg-toc-card__link{min-height:38px;color:var(--tc-sub,var(--muted,#6b5d52));font-size:.95em}
.blg-toc-card .blg-toc-card__subitem a.blg-toc-card__link:hover{color:var(--tc-accent-ink,var(--accent-ink))}
.blg-toc-card a.blg-toc-card__link.is-active{color:var(--tc-accent-ink,var(--accent-ink));font-weight:600;background:color-mix(in srgb,var(--tc-accent,var(--accent)) 9%,transparent)}
.blg-toc-card a.blg-toc-card__link.is-active .blg-toc-card__num{background:var(--tc-accent,var(--accent));color:var(--tc-on,var(--on-accent,#fff))}
@media (max-width:600px){.blg-toc-card a.blg-toc-card__link{min-height:48px}}
/* Anchor offset for the sticky header + reduced-motion-safe smooth scroll */
.entry-content h2[id],.entry-content h3[id]{scroll-margin-top:90px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* ============================================================
 * Content heading hierarchy: each level owns a shape
 * H2 gradient baseline bar · H3 side pill · H4 diamond label
 * ============================================================ */
.entry-content h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--hl))}
.entry-content h3::before{content:"";position:absolute;left:0;top:.16em;width:4px;height:1em;border-radius:99px;background:linear-gradient(180deg,var(--accent),var(--hl));box-shadow:0 0 0 3px var(--accent-soft)}
.entry-content h4{font-family:var(--font-ui);font-weight:800;font-size:.92rem;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);margin:1.7em 0 .4em;display:flex;align-items:center;gap:.55em;scroll-margin-top:90px}
.entry-content h4::before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:2.5px;background:linear-gradient(135deg,var(--accent),var(--hl));transform:rotate(45deg)}
/* Rhythm: collapse the gap when headings stack */
.entry-content h2+h3{margin-top:.85em}
.entry-content h3+h4,.entry-content h2+h4{margin-top:.9em}
.entry-content h2:first-child{margin-top:.2em}
/* Minimal variant: pure typography, no marks */
[data-headings="minimal"] .entry-content h2{padding-bottom:0}
[data-headings="minimal"] .entry-content h2::after{display:none}
[data-headings="minimal"] .entry-content h3{padding-left:0}
[data-headings="minimal"] .entry-content h3::before,[data-headings="minimal"] .entry-content h4::before{display:none}
[data-headings="minimal"] .entry-content h4{text-transform:none;letter-spacing:0;font-family:var(--font-display);font-weight:700;font-size:1.08rem}
.single .entry-content h2+h3{margin-top:.9em}
.single .entry-content h3+h4,.single .entry-content h2+h4{margin-top:.95em}
.entry-content .blg-toc-card+h2,.single .entry-content .blg-toc-card+h2{margin-top:.5em}

/* ============================================================
 * Breadcrumb bar — wayfinding as page chrome, not article content
 * ============================================================ */
.blg-crumbbar{margin:22px 0 6px}
.blg-crumbbar .breadcrumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 17px;font-size:12.5px;line-height:1.6;max-width:100%}
@media(max-width:600px){.blg-crumbbar{margin:16px 0 2px}.blg-crumbbar .breadcrumb{flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:7px 15px}.blg-crumbbar .breadcrumb::-webkit-scrollbar{display:none}}

/* ============================================================
 * Breadcrumb looks: bc-chip (capsule) · bc-segments (pill trail)
 * ============================================================ */
/* Long current-page titles never balloon the trail (H1 sits right below) */
.blg-crumbbar .breadcrumb [aria-current="page"],.blg-crumbbar .breadcrumb .breadcrumb_last{display:inline-block;max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
/* Segmented: each crumb is its own soft pill; current page emphasized, not button-loud */
.blg-crumbbar.bc-segments .breadcrumb{background:none;border:0;border-radius:0;padding:0;gap:7px;font-size:12.5px}
.blg-crumbbar.bc-segments .breadcrumb a{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--muted);transition:color .16s ease,border-color .16s ease,background .16s ease}
.blg-crumbbar.bc-segments .breadcrumb a:hover{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.blg-crumbbar.bc-segments .breadcrumb [aria-current="page"],.blg-crumbbar.bc-segments .breadcrumb .breadcrumb_last{background:var(--accent-soft);color:var(--accent-ink);font-weight:600;border-radius:999px;padding:6px 14px}
.blg-crumbbar.bc-segments .breadcrumb .bc-sep{color:var(--line2);margin:0 1px}
@media(max-width:600px){.blg-crumbbar.bc-segments .breadcrumb{flex-wrap:nowrap}.blg-crumbbar.bc-segments .breadcrumb a,.blg-crumbbar.bc-segments .breadcrumb [aria-current="page"],.blg-crumbbar.bc-segments .breadcrumb .breadcrumb_last{padding:6px 12px}.blg-crumbbar .breadcrumb [aria-current="page"],.blg-crumbbar .breadcrumb .breadcrumb_last{max-width:22ch}}

/* ============================================================
 * Blogneer — Categories widget: colour dots · count pills · two layouts
 * ============================================================ */
.blg-cats{list-style:none;margin:0;padding:0;font-family:var(--font-ui)}
.blg-cats li{margin:0}
.blg-cats li a{display:flex;align-items:center;gap:11px;min-height:44px;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .16s ease}
.blg-cats .cat-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--cc,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--cc,var(--accent)) 16%,transparent)}
.blg-cats .cat-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blg-cats .cat-count{margin-left:auto;flex:0 0 auto;font-size:11.5px;font-weight:700;line-height:1;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--line) 45%,transparent);color:var(--muted);transition:background .16s ease,color .16s ease}
.blg-cats li a:hover .cat-name{color:var(--accent-ink)}
.blg-cats li a:hover .cat-count{background:var(--accent-soft);color:var(--accent-ink)}
.blg-cats li.is-current a .cat-name{color:var(--accent-ink);font-weight:700}
.blg-cats li.is-current a .cat-count{background:var(--accent);color:var(--on-accent)}
/* Divided rows */
.blg-cats--rows li a{padding:4px 2px}
.blg-cats--rows li+li{border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent)}
/* Contained tiles */
.blg-cats--tiles{display:flex;flex-direction:column;gap:9px}
.blg-cats--tiles li a{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px 14px;transition:color .16s ease,border-color .16s ease,box-shadow .2s ease}
.blg-cats--tiles li a:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:0 10px 24px -20px rgba(0,0,0,.35)}
.blg-cats--tiles li.is-current a{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
@media(max-width:600px){.blg-cats li a{min-height:48px}}

/* Footer brand: logo option + social row (inherits any footer style) */
.f-logo img{max-height:42px;width:auto;height:auto}
.f-social{margin-top:15px}
.site-footer .f-social a{border-color:color-mix(in srgb,currentColor 22%,transparent);color:inherit;opacity:.75}
.site-footer .f-social a:hover{opacity:1;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);border-color:transparent}

/* Article title scale (Blogneer → Single → Title size) */
[data-ptsize="compact"] .single .entry-title{font-size:clamp(1.7rem,1.1rem + 1.8vw,2.3rem)}
[data-ptsize="display"] .single .entry-title{font-size:clamp(2.2rem,1.2rem + 3.4vw,3.4rem);line-height:1.06}

/* ============================================================
 * Live search dropdown
 * ============================================================ */
.search-form{position:relative}
.blg-live{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 54px -28px rgba(0,0,0,.35);overflow:hidden;max-height:330px;overflow-y:auto;font-family:var(--font-ui)}
.blg-live.open{display:block}
.blg-live .lv-item{display:block;padding:11px 16px;font-size:.93rem;font-weight:500;color:var(--ink);text-decoration:none;line-height:1.45}
.blg-live .lv-item+.lv-item{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.blg-live .lv-item:hover,.blg-live a.is-active{background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent-ink)}
.blg-live .lv-item mark{background:var(--accent-soft);color:var(--accent-ink);border-radius:4px;padding:0 2px}
.blg-live .lv-none{padding:12px 16px;font-size:.9rem;color:var(--muted)}
.blg-live .lv-all{display:block;padding:11px 16px;font-size:.86rem;font-weight:700;color:var(--accent-ink);text-decoration:none;border-top:1px solid var(--line);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.blg-live .lv-all:hover{background:var(--accent-soft)}

@media (prefers-reduced-motion:reduce){.nav-panel{transition:none}.nav-backdrop{transition:opacity .15s ease}}

/* Minimal ancestors-only trail: quiet but readable, theme-scheme hovers */
.blg-crumbbar.bc-trail{margin:18px 0 0}
.blg-crumbbar.bc-trail .breadcrumb{display:flex;align-items:center;flex-wrap:nowrap;gap:2px;background:none;border:0;border-radius:0;padding:0;font-size:13.5px;font-weight:600;color:var(--faint);line-height:1.5;letter-spacing:.005em;white-space:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
.blg-crumbbar.bc-trail .breadcrumb::-webkit-scrollbar{display:none}
.blg-crumbbar.bc-trail .breadcrumb a{display:inline-flex;align-items:center;min-height:34px;padding:4px 9px;margin:0 -2px;border-radius:999px;color:var(--muted);text-decoration:none;transition:color .15s ease,background .15s ease}
.blg-crumbbar.bc-trail .breadcrumb a:first-child{margin-left:-9px}
.blg-crumbbar.bc-trail .breadcrumb a:hover{color:var(--accent-ink);background:var(--accent-soft)}
.blg-crumbbar.bc-trail .breadcrumb a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.blg-crumbbar.bc-trail .breadcrumb .bc-sep{color:var(--line2);font-size:15px;margin:0 2px;flex:0 0 auto;vertical-align:middle}
.blg-crumbbar.bc-trail .breadcrumb a{vertical-align:middle}
.blg-crumbbar.bc-trail .breadcrumb .breadcrumb_last,.blg-crumbbar.bc-trail .breadcrumb [aria-current="page"]{display:inline-flex;align-items:center;vertical-align:middle;min-height:34px;padding:4px 9px;color:var(--ink);font-weight:600;max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.blg-crumbbar.bc-trail .breadcrumb .breadcrumb_last,.blg-crumbbar.bc-trail .breadcrumb [aria-current="page"]{min-height:40px;max-width:26ch}}
@media(max-width:600px){.blg-crumbbar.bc-trail .breadcrumb a{min-height:40px}}

/* TOC bottom sheet: grab handle, header, visible close */
.blg-toc-sheet .panel{position:relative;padding:10px 22px 30px;animation:blg-sheet-up .28s cubic-bezier(.32,.72,.28,1)}
@keyframes blg-sheet-up{from{transform:translateY(28px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.blg-toc-sheet .panel{animation:none}}
.blg-toc-sheet .sheet-grab{width:42px;height:4px;border-radius:99px;background:var(--line2);margin:6px auto 10px}
.blg-toc-sheet .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 10px;border-bottom:1px solid var(--line);margin-bottom:10px}
.blg-toc-sheet .sheet-title{font-family:var(--font-ui);font-weight:800;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
.blg-toc-sheet .sheet-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);cursor:pointer}
.blg-toc-sheet .sheet-close:active{background:var(--accent-soft);color:var(--accent-ink)}

/* ============================================================
 * Floating share rail
 * ============================================================ */
.blg-rail{display:none}
@media(min-width:1280px){
  .blg-rail{position:fixed;left:max(16px,calc((100vw - var(--maxw))/2 - 78px));top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:14px 8px;box-shadow:0 18px 44px -26px rgba(0,0,0,.4)}
  .blg-rail[data-appear="scroll"]{opacity:0;visibility:hidden;transform:translateY(-50%) translateX(-8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
  .blg-rail[data-appear="scroll"].show{opacity:1;visibility:visible;transform:translateY(-50%)}
  .rail-label{font-family:var(--font-ui);font-weight:800;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:2px}
  .blg-rail .rail-btn{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:none;background:none;color:var(--muted);cursor:pointer;text-decoration:none;transition:color .16s ease,background .16s ease,transform .16s ease}
  .blg-rail .rail-btn svg{width:19px;height:19px}
  .blg-rail .rail-btn:hover{color:#fff;background:var(--sc,var(--accent));transform:scale(1.06)}
  .blg-rail .rail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .blg-rail .rail-btn.copied{color:#fff;background:#0e9f6e}
  .blg-rail .rail-btn::after{content:attr(aria-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-4px);background:#241a13;color:#fbf6f1;font-family:var(--font-ui);font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:7px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease}
  .blg-rail .rail-btn:hover::after{opacity:1;visibility:visible;transform:translateY(-50%)}
}
@media (prefers-reduced-motion:reduce){.blg-rail[data-appear="scroll"]{transition:opacity .15s ease}.blg-rail .rail-btn:hover{transform:none}}

/* ============================================================
 * Card designs: glass · lifted · editorial
 * ============================================================ */
.cs-glass{border-color:color-mix(in srgb,#fff 40%,var(--line));background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
[data-theme="dark"] .cs-glass{border-color:color-mix(in srgb,#fff 12%,transparent)}
.cs-lifted{border-color:transparent;box-shadow:0 10px 26px -18px rgba(0,0,0,.35);transition:transform .25s ease,box-shadow .25s ease}
.cs-lifted:hover{transform:translateY(-4px);box-shadow:0 26px 48px -24px rgba(0,0,0,.42)}
.cs-lifted .ph img{transition:transform .35s ease}
.cs-lifted:hover .ph img{transform:scale(1.045)}
.cs-editorial{border:none;background:none;border-radius:0;padding-top:14px;border-top:3px solid var(--cc,var(--accent))}
.cs-editorial .ph{border-radius:12px}
@media (prefers-reduced-motion:reduce){.cs-lifted,.cs-lifted .ph img{transition:none}.cs-lifted:hover{transform:none}.cs-lifted:hover .ph img{transform:none}}

/* Live search anchor: positioned, unclipped home for the dropdown */
.blg-live-anchor{position:relative;display:block;min-width:0;flex:1}
.hero-search .blg-live-anchor,.es-search .blg-live-anchor{width:100%}

/* Compact premium mobile header: capped logo, slim bar, drawer appearance row */
.site-branding .custom-logo,.site-branding img{max-height:46px;width:auto;height:auto}
@media(max-width:860px){
  .site-branding .custom-logo,.site-branding img{max-height:30px}
  .site-header .hd{padding:10px 0}
  .site-header.is-shrunk .hd{padding:8px 0}
}
.nav-panel .panel-tools{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 18px;padding-bottom:max(14px,env(safe-area-inset-bottom))}
.nav-panel .panel-tools-label{font-family:var(--font-ui);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.nav-panel .panel-tools .icon-btn{width:44px;height:44px;border:1px solid var(--line2);border-radius:12px;display:grid;place-items:center;background:var(--surface)}

/* 2026 header behaviours */
@media(max-width:860px){
  [data-smarthead] .site-header{transition:transform .26s ease,box-shadow .2s ease}
  [data-smarthead] .site-header.hd-hide{transform:translateY(-110%)}
  .site-header .site-branding{position:relative}
  .hd-ctitle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:700;font-size:14.5px;color:var(--ink);opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
  .hd-ctitle-text{display:block;max-width:62vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .site-header.show-ctitle .hd-ctitle{opacity:1;transform:none}
  .site-header.show-ctitle .site-branding>*:not(.hd-ctitle){opacity:0;transform:scale(.94);transition:opacity .2s ease,transform .2s ease}
  .site-header .site-branding>*:not(.hd-ctitle){transition:opacity .2s ease,transform .2s ease}
}
@media (prefers-reduced-motion:reduce){
  [data-smarthead] .site-header{transition:none}
  .hd-ctitle,.site-header .site-branding>*:not(.hd-ctitle){transition:opacity .15s ease;transform:none}
}

/* ============================================================
 * Listen buttons (text-to-speech)
 * ============================================================ */
.tts-btn{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:8px;vertical-align:middle;border:1px solid var(--line2);border-radius:50%;background:var(--surface);color:var(--faint);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;flex:0 0 auto}
.tts-btn:hover{color:var(--accent-ink);background:var(--accent-soft);border-color:transparent}
.tts-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tts-playing{background:color-mix(in srgb,var(--accent) 7%,transparent);border-radius:8px}
.tts-playing>.tts-btn,.tts-playing .tts-btn{color:#fff;background:var(--accent);border-color:var(--accent)}
blockquote .tts-btn--quote{display:inline-grid;margin-top:6px}
.tts-lesson{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;padding:9px 16px;border:1px solid var(--line2);border-radius:999px;background:var(--surface);color:var(--muted);font-family:var(--font-ui);font-weight:600;font-size:13.5px;cursor:pointer}
.tts-lesson.tts-playing{color:#fff;background:var(--accent);border-color:var(--accent)}
.tts-chip{position:absolute;z-index:140;display:flex;gap:2px;background:#241a13;border-radius:999px;padding:4px;box-shadow:0 14px 34px -16px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}
.tts-chip.show{opacity:1;visibility:visible;transform:none}
.tts-chip button{display:inline-flex;align-items:center;gap:5px;border:none;background:none;color:#fbf6f1;font-family:var(--font-ui);font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;cursor:pointer}
.tts-chip button:hover{background:rgba(255,255,255,.14)}
table .tts-btn{margin-left:6px}
@media print{.tts-btn,.tts-lesson,.tts-chip{display:none}}
@media (prefers-reduced-motion:reduce){.tts-chip{transition:opacity .1s ease;transform:none}}

/* ============================================================
 * Reader controls: size steps, font choice, relaxed spacing
 * ============================================================ */
html[data-rfs="s"] .entry-content{font-size:.95em}
html[data-rfs="l"] .entry-content{font-size:1.1em}
html[data-rfs="xl"] .entry-content{font-size:1.2em}
html[data-rfont="sans"] .entry-content{font-family:var(--font-ui)}
html[data-rspace] .entry-content{line-height:1.85}
html[data-rspace] .entry-content p{margin-bottom:1.35em}

.nav-panel .panel-tools{flex-direction:column;align-items:stretch;gap:12px}
.pt-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pt-ctl{display:flex;gap:6px}
.pt-btn{min-width:46px;height:38px;padding:0 12px;border:1px solid var(--line2);border-radius:11px;background:var(--surface);color:var(--ink);font-family:var(--font-ui);font-weight:700;font-size:13px;cursor:pointer;transition:all .15s ease}
.pt-btn:hover{border-color:var(--accent);color:var(--accent-ink)}
.pt-btn.is-on{background:var(--accent);border-color:var(--accent);color:#fff}
.pt-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

.blg-aa{font-family:var(--font-ui);font-weight:800;font-size:14px;letter-spacing:-.01em}
@media(max-width:860px){.blg-aa{display:none}}
.reader-pop{position:absolute;z-index:150;display:flex;flex-direction:column;gap:12px;min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 26px 60px -28px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}
.reader-pop.show{opacity:1;visibility:visible;transform:none}
.reader-pop .panel-tools-label{font-family:var(--font-ui);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
@media (prefers-reduced-motion:reduce){.reader-pop{transition:opacity .1s ease;transform:none}}

/* ============================================================
 * Accessibility modes
 * ============================================================ */
[data-a11y~="underline"] .entry-content a:not(.tts-btn):not(.blg-fab){text-decoration:underline;text-underline-offset:2.5px;text-decoration-thickness:1.5px}
[data-a11y~="contrast"]{--ink:#0c0a08;--muted:#2c2620;--faint:#4a4138;--line:#b9ada0;--line2:#988b7d}
[data-theme="dark"][data-a11y~="contrast"]{--ink:#ffffff;--muted:#e6e0d9;--faint:#c9c1b8;--line:#5d564e;--line2:#7a7269}
[data-a11y~="focus2"] :focus-visible{outline:3px solid var(--accent) !important;outline-offset:3px !important;border-radius:4px}
[data-a11y~="noblur"] *{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
[data-a11y~="noblur"] .cs-glass{background:var(--surface)}
[data-a11y~="noblur"] .site-header{background:var(--bg)}
[data-a11y~="nomotion"] *,[data-a11y~="nomotion"] *::before,[data-a11y~="nomotion"] *::after{animation:none !important;transition:none !important}
[data-a11y~="nomotion"]{scroll-behavior:auto !important}
.bg-a11y-note{margin:0 0 6px;font-size:13px;color:#74675b;line-height:1.6}

/* ============================================================
 * Listen 2.0 mini-player
 * ============================================================ */
.tts-player{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%) translateY(16px);z-index:135;display:flex;flex-direction:column;gap:6px;min-width:min(420px,calc(100vw - 24px));max-width:calc(100vw - 24px);background:#241a13;border-radius:20px;padding:10px 14px;box-shadow:0 24px 56px -20px rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .22s ease,transform .22s ease}
.tts-player.show{opacity:1;visibility:visible;transform:translateX(-50%)}
.tp-strip{font-family:var(--font-ui);font-size:13px;line-height:1.55;color:#ece4da;white-space:nowrap;overflow-x:auto;scrollbar-width:none;padding:3px 8px;-webkit-mask-image:linear-gradient(90deg,#000,#000 88%,transparent);mask-image:linear-gradient(90deg,#000,#000 88%,transparent)}
.tp-strip::-webkit-scrollbar{display:none}
.tp-strip .tp-now{color:#fff;font-weight:700;background:color-mix(in srgb,var(--accent) 36%,transparent);border-radius:5px;padding:1px 3px}
.tp-row{display:flex;align-items:center;justify-content:center;gap:4px}
.tp-btn{display:grid;place-items:center;width:40px;height:40px;border:none;border-radius:12px;background:none;color:#fbf6f1;cursor:pointer;font-family:var(--font-ui);font-weight:800;font-size:12.5px;transition:background .15s ease}
.tp-btn:hover{background:rgba(255,255,255,.13)}
.tp-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tp-pause{width:48px;height:48px;background:var(--accent);border-radius:50%}
.tp-pause:hover{background:var(--accent-d,var(--accent))}
.tp-speed{min-width:46px}
@media print{.tts-player{display:none}}
@media (prefers-reduced-motion:reduce){.tts-player{transition:opacity .12s ease;transform:translateX(-50%)}}

/* ============================================================
 * TOC color schemes (3.9.0) — scoped tokens, accent is default
 * ============================================================ */
.blg-toc--muted{--tc-accent:var(--muted,#6b5d52);--tc-accent-ink:var(--ink,#1c140f);--tc-soft:color-mix(in srgb,var(--ink,#1c140f) 7%,transparent);--tc-title:var(--muted,#6b5d52);--tc-on:var(--surface,#fff)}
.blg-toc--ink{--tc-bg:#241a13;--tc-line:#3c2f23;--tc-ink:#f3ece4;--tc-sub:#c9bcae;--tc-title:#ffffff;--tc-accent:var(--accent,#e8431f);--tc-accent-ink:#ffb09a;--tc-soft:color-mix(in srgb,var(--accent,#e8431f) 26%,transparent);--tc-on:#fff}
[data-theme="dark"] .blg-toc--ink{--tc-bg:#1a120c;--tc-line:#32271d}
.blg-toc--ocean{--tc-accent:#2563eb;--tc-accent-ink:#1e44b8;--tc-soft:color-mix(in srgb,#2563eb 13%,transparent);--tc-title:#1e44b8;--tc-on:#fff}
[data-theme="dark"] .blg-toc--ocean{--tc-accent-ink:#8db3ff;--tc-title:#8db3ff}
.blg-toc--sage{--tc-accent:#0f8a63;--tc-accent-ink:#0b6b4d;--tc-soft:color-mix(in srgb,#0f8a63 13%,transparent);--tc-title:#0b6b4d;--tc-on:#fff}
[data-theme="dark"] .blg-toc--sage{--tc-accent-ink:#6fd3ab;--tc-title:#6fd3ab}

/* ============================================================
 * 3.16.0 — mobile-only chrome must not exist on desktop:
 * drawer tools (reader rows) and the title-swap element have
 * styles only under 860px, so hide them explicitly above it.
 * ============================================================ */
@media(min-width:861px){
  .nav-panel .panel-tools{display:none}
  .hd-ctitle{display:none}
}

/* ============================================================
 * Saved lessons + resume (3.19.0)
 * ============================================================ */
.blg-save{display:inline-flex;align-items:center;gap:8px;margin:0 0 1.1rem;padding:9px 16px;border:1.5px solid var(--line2);border-radius:99px;background:var(--surface);color:var(--ink);font-family:var(--font-ui);font-weight:700;font-size:13.5px;cursor:pointer;transition:all .16s ease}
.blg-save:hover{border-color:var(--accent);color:var(--accent-ink)}
.blg-save.is-on{background:var(--accent);border-color:var(--accent);color:#fff}
.blg-save:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.panel-saved{border-top:1px solid var(--line);padding:14px 18px 4px}
.panel-saved ul{list-style:none;margin:8px 0 0;padding:0}
.panel-saved li{display:flex;align-items:center;gap:8px;margin:0}
.panel-saved li a{flex:1;min-width:0;display:block;padding:9px 2px;min-height:42px;display:flex;align-items:center;color:var(--ink);text-decoration:none;font-family:var(--font-ui);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panel-saved li a:hover{color:var(--accent-ink)}
.panel-saved__rm{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:none;background:none;border-radius:9px;color:var(--faint);cursor:pointer}
.panel-saved__rm:hover{color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 8%,transparent)}

.blg-resume{position:fixed;left:50%;bottom:max(76px,calc(env(safe-area-inset-bottom) + 62px));transform:translateX(-50%) translateY(14px);z-index:120;display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:99px;box-shadow:0 18px 44px -18px rgba(0,0,0,.35);opacity:0;visibility:hidden;transition:opacity .22s ease,transform .22s ease;max-width:calc(100vw - 24px)}
.blg-resume.show{opacity:1;visibility:visible;transform:translateX(-50%)}
.blg-resume__go{display:flex;align-items:center;gap:8px;border:none;background:none;color:var(--ink);font-family:var(--font-ui);font-weight:700;font-size:13.5px;padding:11px 6px 11px 16px;cursor:pointer;min-width:0}
.blg-resume__go span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blg-resume__go svg{color:var(--accent);flex:0 0 auto}
.blg-resume__x{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border:none;background:none;color:var(--faint);cursor:pointer;border-radius:50%}
.blg-resume__x:hover{color:var(--accent-ink)}
@media print{.blg-save,.blg-resume{display:none}}
@media (prefers-reduced-motion:reduce){.blg-resume{transition:opacity .12s ease;transform:translateX(-50%)}}
