/* Article layout. Shared theme tokens keep light/dark appearance consistent. */
body.single-post { --sol-article-glass:color-mix(in srgb,var(--sol-surface) 83%,transparent); }
body.single-post .sol-site-content { position:relative; z-index:0; isolation:isolate; background:radial-gradient(ellipse at 100% 4%,color-mix(in srgb,var(--sol-accent) 7%,transparent),transparent 32%),radial-gradient(ellipse at 0 85%,color-mix(in srgb,var(--sol-accent) 5%,transparent),transparent 27%); }
body.single-post .elementor-location-header { position:relative; z-index:var(--sol-z-header); }
body.single-post:not(.elementor-editor-active) .elementor-widget-progress-tracker { display:none!important; }
.sol-progress { position:fixed; inset:var(--sol-header-bottom,0px) 0 auto; height:3px; margin:0; padding:0; z-index:calc(var(--sol-z-header) - 1); background:var(--sol-line); pointer-events:none; }
.sol-progress__bar { display:block; width:100%; height:100%; background:var(--sol-accent); transform:scaleX(0); transform-origin:left center; }
.sol-article { width:min(100%,1160px); margin-inline:auto; padding:32px 32px 80px; color:var(--sol-text); }
.sol-article :where(button,a):focus-visible { outline:2px solid var(--sol-focus); outline-offset:5px; }
.sol-article__crumbs { display:flex; gap:12px; align-items:center; margin-bottom:38px; color:var(--sol-muted); font-size:.75rem; }
.sol-article__crumbs a { color:var(--sol-muted)!important; text-decoration:none; flex:none; }
.sol-article__crumbs [aria-current] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--sol-text); }
.sol-article__head { margin:0 0 22px; padding:0; text-align:start; }
.sol-article__cats { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.sol-article__cats a { display:inline-flex; align-items:center; gap:10px; padding:7px 16px; border:1px solid var(--sol-gold-text); border-radius:999px; background:color-mix(in srgb,var(--sol-accent) 6%,var(--sol-surface)); color:var(--sol-gold-text)!important; font:600 .75rem/1.5 var(--sol-font-sans); text-decoration:none; }
.sol-article__cats a::before { content:'✦'; }
.sol-article .sol-article__title { max-width:27ch; margin:0 0 18px; font:500 clamp(2rem,4.2vw,3.75rem)/1.08 var(--sol-font-serif); color:var(--sol-text)!important; letter-spacing:-.035em; text-wrap:balance; overflow-wrap:break-word; }
.sol-article__title span { color:var(--sol-gold-text); }
.sol-article__lead { max-width:68ch; margin:0 0 28px; color:var(--sol-muted)!important; font-size:clamp(1rem,1.4vw,1.125rem); line-height:1.75; }
.sol-article__meta { display:flex; align-items:center; gap:30px; padding:18px 24px; margin-top:30px; border:1px solid var(--sol-line); border-radius:18px; background:linear-gradient(110deg,color-mix(in srgb,var(--sol-text) 3%,var(--sol-surface)),var(--sol-article-glass)); backdrop-filter:blur(16px); }
.sol-article__byline,.sol-article__date { display:flex; align-items:center; gap:16px; min-width:0; }
.sol-article__byline { flex:1; }
.sol-article__byline img { width:44px; height:44px; border-radius:9px; object-fit:cover; }
.sol-article__byline strong,.sol-article__date time { display:block; color:var(--sol-text); font-size:.875rem; line-height:1.6; }
.sol-meta-label { display:block; color:var(--sol-muted); font-size:.75rem; line-height:1.6; }
.sol-article__date { flex:1; border-inline-start:1px solid var(--sol-line); padding-inline-start:30px; }
.sol-meta-calendar { color:var(--sol-text); }
.sol-meta-calendar svg { fill:none; stroke:currentColor; stroke-width:1.5; }
.sol-article__tools { display:flex; gap:10px; align-items:center; }
.sol-article__tools a,.sol-article__tools button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 14px; border:1px solid var(--sol-line); border-radius:999px; background:transparent; color:var(--sol-text)!important; font:500 .75rem var(--sol-font-sans); text-decoration:none; cursor:pointer; }
.sol-article__hero { margin:0 0 24px; }
.sol-article__hero img { display:block; width:100%; height:auto; border:1px solid color-mix(in srgb,var(--sol-gold-text) 45%,var(--sol-line)); border-radius:20px; }
.sol-article__hero figcaption { text-align:center; margin-top:10px; color:var(--sol-muted); font-size:.8125rem; }
.sol-article__layout { display:grid; gap:18px; }
.sol-toc[hidden] { display:none; }
.sol-toc__box { border:1px solid var(--sol-line); border-radius:14px; background:var(--sol-article-glass); }
.sol-toc__title { padding:16px 22px; cursor:pointer; color:var(--sol-text); font:500 1rem var(--sol-font-serif); }
.sol-toc__list { margin:0; padding:0 22px 18px; list-style:none; display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.sol-toc__item a { display:block; color:var(--sol-muted)!important; font-size:.8125rem; text-decoration:none; padding:6px 10px; border-radius:6px; }
.sol-toc__item--sub a { padding-inline-start:24px; }
.sol-toc__item a.is-active,.sol-toc__item a:hover { background:var(--sol-surface-alt); color:var(--sol-gold-text)!important; }
.sol-article__prose { min-width:0; padding:clamp(22px,4vw,46px); border:1px solid var(--sol-line); border-radius:22px; background:var(--sol-article-glass); color:var(--sol-text)!important; font:400 1.0625rem/1.85 var(--sol-font-sans); overflow-wrap:break-word; counter-reset:article-section; }
.sol-article__prose :where(p,li,dd,dt,td,th) { color:var(--sol-text)!important; }
.sol-article__prose p { margin:0 0 1.35em; }
.sol-article__prose :is(h1,h2,h3,h4,h5,h6) { color:var(--sol-text)!important; font-family:var(--sol-font-serif)!important; font-weight:500!important; line-height:1.25!important; margin:1.8em 0 .8em; scroll-margin-top:var(--sol-sticky-top); }
body.single-post .sol-article__prose :is(h1,h2) { font-size:clamp(1.4rem,2.4vw,1.9rem)!important; }
body.single-post .sol-article__prose h3 { font-size:clamp(1.2rem,2vw,1.5rem)!important; }
body.single-post .sol-article__prose :is(h4,h5,h6) { font-size:1.125rem!important; }
.sol-article__prose h2::before { counter-increment:article-section; content:counter(article-section,decimal-leading-zero); display:inline-grid; place-items:center; min-width:48px; height:48px; padding:0 8px; margin-inline-end:16px; border:1px solid var(--sol-line); border-bottom-color:var(--sol-gold-text); border-radius:14px; background:var(--sol-surface); color:var(--sol-gold-text); font:500 1.5rem var(--sol-font-serif); vertical-align:middle; }
.sol-article__prose a { color:var(--sol-gold-text)!important; text-underline-offset:4px; }
.sol-article__prose :is(ul,ol) { padding-inline-start:1.5em; margin-bottom:1.5em; }
.sol-article__prose li { margin-bottom:.5em; }
.sol-article__prose li::marker { color:var(--sol-gold-text); }
.sol-article__prose img,.sol-article__prose video { max-width:100%; height:auto; border-radius:16px; }
.sol-article__prose iframe { max-width:100%; }
.sol-article__prose figure { max-width:100%; margin:24px 0; }
.sol-article__prose figcaption { color:var(--sol-muted); font-size:.8125rem; text-align:center; }
.sol-article__prose blockquote { margin:28px 0; padding:26px; border:1px solid var(--sol-line); border-inline-start:3px solid var(--sol-gold-text); border-radius:16px; background:linear-gradient(120deg,color-mix(in srgb,var(--sol-accent) 6%,var(--sol-surface)),var(--sol-surface)); }
.sol-article__prose blockquote p { font:500 1.25rem/1.6 var(--sol-font-serif); }
.sol-article__prose pre { overflow:auto; padding:20px; background:var(--sol-surface-alt); border-radius:12px; }
.sol-article__prose code { font-size:.9em; }
.sol-article__prose table { display:block; overflow:auto; width:100%; border-collapse:collapse; }
.sol-article__prose :is(td,th) { padding:12px; border-bottom:1px solid var(--sol-line); text-align:start; }
.sol-article__prose hr { border:0; height:1px; background:var(--sol-line); margin:32px 0; }
.sol-article__prose > :first-child { margin-top:0; }
.sol-article__prose > :last-child { margin-bottom:0; }
.sol-article__pages,.sol-article__tags { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.sol-article__tags a { border:1px solid var(--sol-line); padding:5px 12px; border-radius:99px; color:var(--sol-muted); font-size:.75rem; text-decoration:none; }
@media(max-width:767px) { .sol-article { padding:24px 18px 56px; } .sol-article__crumbs { margin-bottom:26px; gap:8px; } .sol-article__meta { gap:16px; flex-wrap:wrap; padding:18px; } .sol-article__date { padding-inline-start:16px; } .sol-article__tools { width:100%; padding-top:12px; border-top:1px solid var(--sol-line); } .sol-article__tools a { margin-inline-start:auto; } .sol-article__byline,.sol-article__date { gap:10px; } .sol-toc__list { grid-template-columns:1fr; } .sol-article__prose { font-size:1rem; padding:22px 18px; } }

:root[data-theme="dark"] body.single-post { --sol-bg:#0b0e10; --sol-surface:#151719; --sol-surface-alt:#232426; --sol-line:#34363a; --sol-text:#f3f1eb; --sol-muted:#aeb2bc; --sol-header-bg:rgba(11,14,16,.94); }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) body.single-post { --sol-bg:#0b0e10; --sol-surface:#151719; --sol-surface-alt:#232426; --sol-line:#34363a; --sol-text:#f3f1eb; --sol-muted:#aeb2bc; --sol-header-bg:rgba(11,14,16,.94); } }
