.bl{--bl-gap:20px;font-family:var(--bl-body);color:var(--text);font-size:var(--bl-size);line-height:1.7}
.bl *,.bl *::before,.bl *::after{box-sizing:border-box}
.bl a{color:var(--bl-accent);text-decoration:underline;text-underline-offset:2px}
.bl h1,.bl h2,.bl h3,.bl h4,.bl h5,.bl h6{font-family:var(--bl-head);line-height:1.2;color:inherit}
.bl img{max-width:100%;height:auto}
.bl-wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.bl-crumbs{font-size:13px;color:var(--muted);margin:22px 0 4px}
.bl-crumbs a{color:var(--muted);text-decoration:none}.bl-crumbs a:hover{color:var(--bl-accent)}
/* ---- index ---- */
.bl-band{background:var(--ink-dark);color:var(--light);padding:44px 0;text-align:center;background-size:cover;background-position:center;position:relative}
.bl-band.has-img::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.bl-band>*{position:relative}
.bl-band h1{margin:0;font-size:clamp(30px,5vw,46px);font-weight:400;color:var(--light)}
.bl-band p{margin:10px auto 0;max-width:620px;color:var(--soft)}
.bl-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin:26px 0 8px}
.bl-pills{display:flex;flex-wrap:wrap;gap:8px}
.bl-pill{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--text)!important;text-decoration:none!important;background:var(--page-bg)}
.bl-pill:hover{border-color:var(--bl-accent)}.bl-pill.on{background:var(--bl-accent);border-color:var(--bl-accent);color:var(--bl-on-accent)!important}
.bl-search{display:flex}.bl-search input{border:1px solid var(--line);border-radius:6px 0 0 6px;padding:8px 12px;font:inherit;font-size:14px;min-width:0;width:200px;background:var(--page-bg);color:var(--text)}
.bl-search button{border:0;background:var(--bl-accent);color:var(--bl-on-accent);border-radius:0 6px 6px 0;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer}
.bl-grid{display:grid;gap:26px;margin:20px 0 10px;grid-template-columns:repeat(var(--bl-cols,3),minmax(0,1fr))}
.bl-grid.c2{--bl-cols:2}.bl-grid.c3{--bl-cols:3}.bl-grid.c4{--bl-cols:4}
.bl-card{display:flex;flex-direction:column;background:var(--page-bg);border-radius:var(--radius-md,10px);overflow:hidden;min-width:0}
.bl-cs-shadow .bl-card{box-shadow:0 1px 3px rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.06)}
.bl-cs-border .bl-card{border:1px solid var(--line)}
.bl-cs-flat .bl-card{background:transparent;border-radius:0}
.bl-card-img{display:block;aspect-ratio:16/10;background:var(--media-bg);overflow:hidden}
.bl-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.bl-card:hover .bl-card-img img{transform:scale(1.03)}
.bl-card-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.bl-cs-flat .bl-card-body{padding:14px 0}
.bl-cat{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--bl-accent);text-decoration:none!important}
.bl-card h2{margin:0;font-size:1.25em;font-weight:600}
.bl-card h2 a{color:inherit;text-decoration:none}.bl-card h2 a:hover{color:var(--bl-accent)}
.bl-card p{margin:0;color:var(--muted);font-size:.93em;line-height:1.6}
.bl-meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:auto}
.bl-meta span+span::before{content:"·";margin-right:12px}
.bl-list .bl-card{flex-direction:row;align-items:stretch}
.bl-list .bl-card-img{aspect-ratio:auto;width:36%;min-height:180px;flex:none}
.bl-list{display:grid;gap:22px;margin:20px 0 10px}
.bl-mag .bl-card.first{grid-column:1/-1;flex-direction:row}
.bl-mag .bl-card.first .bl-card-img{aspect-ratio:auto;width:56%;min-height:340px;flex:none}
.bl-mag .bl-card.first h2{font-size:clamp(1.5em,3vw,2.1em)}
.bl-mag .bl-card.first .bl-card-body{padding:26px 28px;justify-content:center}
.bl-empty{text-align:center;color:var(--muted);padding:60px 0}
.bl-pager{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:28px 0 50px}
.bl-pager a,.bl-pager span{min-width:38px;text-align:center;padding:8px 12px;border:1px solid var(--line);border-radius:6px;text-decoration:none!important;color:var(--text);font-size:14px}
.bl-pager .on{background:var(--bl-accent);border-color:var(--bl-accent);color:var(--bl-on-accent)}
/* ---- post ---- */
.bl-article{max-width:var(--bl-w);margin:0 auto;min-width:0}
.bl-post-wrap{padding:28px 20px 56px;margin:0 auto;max-width:1160px}
.bl-head{margin:18px 0 22px}
.bl-head h1{margin:8px 0 12px;font-size:clamp(30px,5vw,46px);font-weight:600}
.bl-title-center .bl-head{text-align:center}.bl-title-center .bl-meta{justify-content:center}
.bl-feat{margin:0 0 28px}.bl-feat img{width:100%;border-radius:var(--radius-md,10px);display:block}
.bl-feat figcaption{font-size:13px;color:var(--muted);margin-top:6px;text-align:center}
.bl-prose{overflow-wrap:break-word}
.bl-prose>*:first-child{margin-top:0}
.bl-prose p,.bl-text p{margin:0 0 1.15em}
.bl-prose h1,.bl-prose h2,.bl-prose h3,.bl-prose h4,.bl-text h1,.bl-text h2,.bl-text h3,.bl-text h4{margin:1.5em 0 .5em}
.bl-prose h1{font-size:2em}.bl-prose h2{font-size:1.6em}.bl-prose h3{font-size:1.3em}.bl-prose h4{font-size:1.1em}
.bl-prose ul,.bl-prose ol,.bl-text ul,.bl-text ol{margin:0 0 1.15em;padding-left:1.5em}
.bl-prose li{margin:.25em 0}
.bl-prose blockquote,.bl-quote{margin:1.5em 0;padding:.4em 0 .4em 1.2em;border-left:4px solid var(--bl-accent);font-size:1.12em;font-style:italic;color:inherit}
.bl-quote p{margin:0 0 .4em}.bl-quote cite{display:block;font-size:.85em;font-style:normal;color:var(--muted)}
.bl-prose pre{background:#1e1e24;color:#f1f1f1;padding:14px 16px;border-radius:8px;overflow:auto;font-size:.88em;line-height:1.5}
.bl-prose code{background:rgba(127,127,127,.15);padding:.1em .35em;border-radius:4px;font-size:.9em}
.bl-prose pre code{background:none;padding:0}
.bl-prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.bl-prose table{border-collapse:collapse;width:100%;margin:1.3em 0;font-size:.95em;display:block;overflow-x:auto}
.bl-prose th,.bl-prose td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
.bl-prose th{background:var(--media-bg);font-weight:700}
.bl-prose figure{margin:1.4em 0}.bl-prose figure img{border-radius:6px}
.bl-prose figcaption{font-size:.85em;color:var(--muted);text-align:center;margin-top:6px}
.bl-prose img[style*="float: left"],.bl-prose img[style*="float:left"]{margin:.3em 1.2em .8em 0}
.bl-prose img[style*="float: right"],.bl-prose img[style*="float:right"]{margin:.3em 0 .8em 1.2em}
.bl-prose iframe{max-width:100%;border:0;aspect-ratio:16/9;width:100%;border-radius:8px}
.bl-prose::after{content:"";display:block;clear:both}
.bl-prose mark{background:#fff3a3;color:inherit;padding:0 .15em}
.bl-btn{display:inline-block;padding:11px 24px;border-radius:var(--radius-sm,6px);font-weight:700;text-decoration:none!important;line-height:1.2;border:2px solid var(--bl-accent);cursor:pointer}
.bl-btn-solid{background:var(--bl-accent);color:var(--bl-on-accent)!important}
.bl-btn-outline{background:transparent;color:var(--bl-accent)!important}
.bl-btn-lg{padding:14px 32px;font-size:1.1em}
.bl-btn:hover{filter:brightness(1.08)}
.bl-callout{margin:1.4em 0;padding:14px 18px;border-radius:8px;border-left:5px solid #3b82f6;background:#eff6ff;color:#1e3a5f}
.bl-callout p:last-child{margin-bottom:0}
.bl-tone-success{border-color:#16a34a;background:#f0fdf4;color:#14532d}.bl-tone-warning{border-color:#d97706;background:#fffbeb;color:#78350f}.bl-tone-note{border-color:#7c3aed;background:#f5f3ff;color:#3b1d73}
.bl-callout-title{display:block;margin-bottom:4px}
.bl-cols,.bl-columns{display:grid;gap:24px;margin:1.4em 0;grid-template-columns:repeat(var(--n,2),minmax(0,1fr))}
.bl-cols-2{--n:2}.bl-cols-3{--n:3}.bl-cols-4{--n:4}
.bl-cols>.bl-col>*:first-child,.bl-col>*:first-child{margin-top:0}
.bl-gap-sm{gap:10px}.bl-gap-lg{gap:40px}
.bl-va-center{align-items:center}
.bl-col img{border-radius:6px;margin-bottom:12px}
.bl-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0}
.bl-tags a{font-size:13px;padding:4px 12px;border-radius:999px;background:var(--media-bg);color:var(--text);text-decoration:none}
.bl-tags a:hover{background:var(--bl-accent);color:var(--bl-on-accent)}
.bl-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:24px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}
.bl-share b{margin-right:4px}
.bl-share a,.bl-share button{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--page-bg);color:var(--text);text-decoration:none;font:inherit;font-size:13px;cursor:pointer}
.bl-share a:hover,.bl-share button:hover{border-color:var(--bl-accent);color:var(--bl-accent)}
.bl-author{display:flex;gap:14px;align-items:center;margin:24px 0;padding:16px 18px;background:var(--media-bg);border-radius:var(--radius-md,10px)}
.bl-avatar{flex:none;width:46px;height:46px;border-radius:50%;background:var(--bl-accent);color:var(--bl-on-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.bl-related{margin:40px 0 0}.bl-related h3{margin:0 0 14px;font-size:1.3em}
.bl-comments{margin:44px 0 0}.bl-comments h3{font-size:1.3em;margin:0 0 14px}
.bl-comment{padding:14px 0;border-top:1px solid var(--line)}
.bl-comment .who{font-weight:700;font-size:.95em}.bl-comment .when{font-size:12px;color:var(--muted);margin-left:8px}
.bl-comment p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.bl-badge{display:inline-block;font-size:11px;background:var(--bl-accent);color:var(--bl-on-accent);border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle;letter-spacing:.03em}
.bl-cform textarea{width:100%;min-height:110px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--page-bg);color:var(--text)}
.bl-cform .bl-btn{margin-top:10px;font:inherit;font-weight:700}
.bl-note{background:var(--media-bg);padding:12px 14px;border-radius:8px;font-size:14px;margin:12px 0}
/* ---- templates ---- */
.bl-tpl-wide .bl-feat img{border-radius:var(--radius-md,10px)}
.bl-tpl-sidebar .bl-post-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
.bl-tpl-sidebar .bl-article{margin:0;max-width:none}
.bl-tpl-sidebar .bl-prose{max-width:var(--bl-w)}
.bl-aside{display:flex;flex-direction:column;gap:22px;margin-top:24px;font-size:15px;min-width:0}
.bl-widget{background:var(--media-bg);border-radius:var(--radius-md,10px);padding:16px 18px}
.bl-widget h4{margin:0 0 10px;font-size:1em;letter-spacing:.06em;text-transform:uppercase}
.bl-widget ul{list-style:none;margin:0;padding:0}.bl-widget li{padding:5px 0;border-top:1px solid var(--line)}.bl-widget li:first-child{border-top:0}
.bl-widget a{text-decoration:none;color:var(--text)}.bl-widget a:hover{color:var(--bl-accent)}
.bl-widget .bl-search input{width:100%}
.bl-hero{position:relative;min-height:min(62vh,520px);display:flex;align-items:flex-end;background:var(--ink-dark) center/cover;color:#fff}
.bl-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.15) 70%)}
.bl-hero-in{position:relative;width:100%;max-width:1000px;margin:0 auto;padding:60px 20px 34px}
.bl-hero h1{margin:8px 0 10px;font-size:clamp(32px,6vw,58px);color:#fff;font-weight:600}
.bl-hero .bl-meta,.bl-hero .bl-cat{color:#eee}
.bl-tpl-hero .bl-post-wrap{padding-top:28px}
.bl-tpl-hero.bl-title-center .bl-hero-in{text-align:center}
.bl-tpl-magazine .bl-head{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;max-width:1000px;margin:26px auto}
.bl-tpl-magazine .bl-head .bl-feat{margin:0}
.bl-tpl-magazine .bl-article{max-width:1000px}
.bl-tpl-magazine .bl-article>.bl-prose,.bl-tpl-magazine .bl-article>.bl-tags,.bl-tpl-magazine .bl-article>.bl-share,.bl-tpl-magazine .bl-article>.bl-author,.bl-tpl-magazine .bl-article>.bl-comments,.bl-tpl-magazine .bl-article>.bl-related{max-width:var(--bl-w);margin-left:auto;margin-right:auto}
.bl-tpl-magazine .bl-prose>p:first-of-type::first-letter{float:left;font-family:var(--bl-head);font-size:3.6em;line-height:.85;padding:.06em .1em 0 0;color:var(--bl-accent)}
.bl-tpl-minimal .bl-head{margin-bottom:10px}
.bl-mode-blocks .bl-article{max-width:none}
.bl-tpl-standard.bl-mode-blocks .bl-post-wrap,.bl-tpl-wide.bl-mode-blocks .bl-post-wrap,.bl-tpl-hero.bl-mode-blocks .bl-post-wrap,.bl-tpl-magazine.bl-mode-blocks .bl-post-wrap,.bl-tpl-minimal.bl-mode-blocks .bl-post-wrap{max-width:none;padding-left:0;padding-right:0}
.bl-mode-blocks .bl-head,.bl-mode-blocks .bl-after{padding-left:20px;padding-right:20px}
.bl-mode-blocks .bl-blocks{margin:0}
.bl-card-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.04))}
.bl-card-ph::before{content:"\275D";font-size:42px;color:var(--bl-accent);opacity:.5}
.bl-mode-blocks .bl-head{max-width:var(--bl-w);margin-left:auto;margin-right:auto}
.bl-mode-blocks .bl-after{max-width:var(--bl-w);margin-left:auto;margin-right:auto}
/* ---- blocks ---- */
.bl-blocks{margin:0 -20px}
.bl-tpl-sidebar .bl-blocks{margin:0}
.bl-blk{padding:0 20px}
.bl-pad-none{padding-top:0;padding-bottom:0}.bl-pad-sm{padding-top:12px;padding-bottom:12px}.bl-pad-md{padding-top:26px;padding-bottom:26px}.bl-pad-lg{padding-top:56px;padding-bottom:56px}.bl-pad-xl{padding-top:96px;padding-bottom:96px}
.bl-inner{margin:0 auto}.bl-w-narrow{max-width:640px}.bl-w-normal{max-width:var(--bl-w)}.bl-w-wide{max-width:1100px}.bl-w-full{max-width:none}
.bl-blk-cover{padding-left:0;padding-right:0}.bl-blk-cover .bl-inner{max-width:none}
.bl-has-color h1,.bl-has-color h2,.bl-has-color h3,.bl-has-color h4,.bl-has-color a:not(.bl-btn),.bl-has-color blockquote,.bl-has-color .bl-text{color:inherit}
.bl-h{margin:0}.bl-a-left{text-align:left}.bl-a-center{text-align:center}.bl-a-right{text-align:right}
h1.bl-h{font-size:2.2em}h2.bl-h{font-size:1.7em}h3.bl-h{font-size:1.35em}h4.bl-h{font-size:1.1em}
.bl-text>*:first-child{margin-top:0}.bl-text>*:last-child{margin-bottom:0}
.bl-text table{border-collapse:collapse;width:100%}.bl-text th,.bl-text td{border:1px solid var(--line);padding:8px 12px}
.bl-img{margin:0}.bl-img img{display:inline-block;border-radius:6px}.bl-round img{border-radius:999px}
.bl-img.bl-sz-s img{width:33%}.bl-img.bl-sz-m img{width:50%}.bl-img.bl-sz-l img{width:75%}.bl-img.bl-sz-full img{width:100%}
.bl-img.bl-a-left img{display:block;margin-right:auto}.bl-img.bl-a-right img{display:block;margin-left:auto}.bl-img.bl-a-center img{display:block;margin:0 auto}
.bl-img figcaption,.bl-video figcaption{font-size:.85em;color:var(--muted);margin-top:6px;text-align:center}
.bl-gallery{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:14px}
.bl-gallery.bl-gap-sm{gap:6px}.bl-gallery.bl-gap-lg{gap:26px}
.bl-gallery figure{margin:0}.bl-gallery img{width:100%;border-radius:6px;display:block}
.bl-ratio-square img{aspect-ratio:1;object-fit:cover}.bl-ratio-wide img{aspect-ratio:16/10;object-fit:cover}
.bl-btnrow{margin:0}
.bl-video{margin:0}.bl-video-frame{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000}.bl-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bl-hr{border:0;border-top:1px solid var(--line);margin:0}.bl-hr-thick{border-top:4px solid var(--bl-accent);width:80px;margin:0 auto}.bl-hr-dots{border:0;text-align:center;height:auto;line-height:1}.bl-hr-dots::before{content:"• • •";letter-spacing:.6em;color:var(--muted);font-size:1.2em}
.bl-cover{position:relative;display:flex;align-items:center;background:var(--ink-dark) center/cover no-repeat;color:#fff;overflow:hidden}
.bl-cover-sm{min-height:220px}.bl-cover-md{min-height:360px}.bl-cover-lg{min-height:560px}
.bl-cover-shade{position:absolute;inset:0;background:#000}
.bl-cover-body{position:relative;width:100%;max-width:900px;margin:0 auto;padding:40px 24px}
.bl-cover.bl-a-center .bl-cover-body{text-align:center}.bl-cover.bl-a-left .bl-cover-body{text-align:left}
.bl-cover h2{margin:0 0 10px;font-size:clamp(28px,5vw,52px);color:#fff}.bl-cover-sub{margin:0 0 18px;font-size:1.2em;opacity:.95}
.bl-product{display:flex;gap:18px;align-items:center;max-width:560px;margin:0 auto;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md,10px);text-decoration:none!important;color:var(--text)!important;background:var(--page-bg)}
.bl-product-img{flex:none;width:140px;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--media-bg)}.bl-product-img img{width:100%;height:100%;object-fit:cover}
.bl-product-info{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.bl-product-name{font-weight:700;font-size:1.1em}.bl-product-price{color:var(--muted)}
.bl-spacer{width:100%}
@media (max-width:900px){.bl-tpl-sidebar .bl-post-wrap{grid-template-columns:1fr;gap:0}.bl-grid.c4{--bl-cols:2}}
@media (max-width:720px){
 .bl-grid,.bl-grid.c2,.bl-grid.c3,.bl-grid.c4{--bl-cols:1}
 .bl-list .bl-card,.bl-mag .bl-card.first{flex-direction:column}.bl-list .bl-card-img,.bl-mag .bl-card.first .bl-card-img{width:100%;min-height:0;aspect-ratio:16/10}
 .bl-cols,.bl-columns{grid-template-columns:1fr}.bl-gallery{--n:2}
 .bl-tpl-magazine .bl-head{grid-template-columns:1fr}
 .bl-product{flex-direction:column;align-items:stretch;text-align:center}.bl-product-img{width:100%}.bl-product-info{align-items:center}
 .bl-filters{flex-direction:column;align-items:stretch}.bl-search input{width:100%}
 .bl-pad-lg{padding-top:36px;padding-bottom:36px}.bl-pad-xl{padding-top:56px;padding-bottom:56px}
}