/*
Theme Name: Jayapurnama Clean
Theme URI: https://jayapurnama.com/
Author: Japur Ganteng
Description: Mobile-first lightweight personal publishing theme for Jayapurnama.com with smart ads, reading controls, performance options and accessible UI.
Version: 2.3.7
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: jayapurnama
*/
:root{--jp-bg:#fff;--jp-text:#172033;--jp-muted:#687386;--jp-border:#e8ebf0;--jp-card:#f7f8fa;--jp-accent:#2563eb;--jp-max:1120px;--jp-radius:16px;--jp-shadow:0 8px 30px rgba(20,30,50,.05);--jp-reading-scale:1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--jp-bg);color:var(--jp-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.7;padding-bottom:env(safe-area-inset-bottom)}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.container{width:min(calc(100% - 28px),var(--jp-max));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--jp-border);backdrop-filter:saturate(140%) blur(8px)}.header-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}.brand{font-weight:850;letter-spacing:-.045em;font-size:1.08rem;line-height:1}.brand:hover{text-decoration:none}.custom-logo{max-height:38px;width:auto}.header-actions{display:flex;gap:7px}.icon-button{border:1px solid var(--jp-border);background:var(--jp-bg);color:var(--jp-text);border-radius:10px;width:40px;height:40px;font-size:1.05rem;cursor:pointer}.primary-nav{display:none}.primary-nav.is-open{display:block;position:absolute;left:-14px;right:-14px;top:58px;background:var(--jp-bg);border-bottom:1px solid var(--jp-border);padding:8px 14px;box-shadow:0 12px 25px rgba(20,30,50,.07)}.primary-nav ul{list-style:none;padding:0;margin:0}.primary-nav li{border-bottom:1px solid var(--jp-border)}.primary-nav li:last-child{border:0}.primary-nav a{display:block;padding:11px 4px;font-weight:650}.search-panel{padding:10px 0;border-bottom:1px solid var(--jp-border);background:var(--jp-bg)}.search-form{display:flex;gap:8px}.search-field{flex:1;min-width:0;border:1px solid var(--jp-border);border-radius:10px;padding:11px 12px;background:var(--jp-bg);color:var(--jp-text);font:inherit}.search-submit{border:0;background:var(--jp-accent);color:#fff;border-radius:10px;padding:10px 15px;font-weight:750}.main{padding:24px 0 48px}.featured{margin-bottom:26px}.featured-card{display:block;border-radius:20px;overflow:hidden;background:#111827;color:#fff;position:relative;min-height:310px}.featured-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.featured-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05) 72%)}.featured-content{position:relative;z-index:1;padding:22px;min-height:310px;display:flex;flex-direction:column;justify-content:end}.featured-title{font-size:1.62rem;line-height:1.18;font-weight:800;letter-spacing:-.035em;margin:7px 0}.eyebrow{color:var(--jp-accent);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.featured-content .eyebrow{color:#fff}.post-meta{font-size:.8rem;color:var(--jp-muted);display:flex;flex-wrap:wrap;gap:6px}.featured-content .post-meta{color:#e7eaf0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 16px}.section-heading h1,.section-heading h2{margin:0;font-size:1.48rem;line-height:1.2;letter-spacing:-.035em}.post-grid{display:grid;gap:16px}.post-card{border:1px solid var(--jp-border);border-radius:var(--jp-radius);overflow:hidden;background:var(--jp-bg);box-shadow:var(--jp-shadow);min-width:0}.post-card-media{display:block;aspect-ratio:16/9;background:var(--jp-card);overflow:hidden}.post-card-media img{width:100%;height:100%;object-fit:cover;display:block}.media-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--jp-card),var(--jp-border))}.post-card-body{padding:15px}.post-card h2{font-size:1.08rem;line-height:1.35;margin:5px 0 7px;letter-spacing:-.02em}.post-excerpt{margin:0;color:var(--jp-muted);font-size:.91rem}.ad-slot{min-height:90px;margin:20px 0;display:flex;align-items:center;justify-content:center;text-align:center;color:#98a1af;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;overflow:hidden}.ad-slot ins{max-width:100%}.article-layout{display:grid;gap:28px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:var(--jp-muted);font-size:.78rem;margin:0 0 18px}.breadcrumbs a{text-decoration:underline;text-underline-offset:2px}.article-header{margin-bottom:20px}.article-title{font-size:clamp(1.95rem,7vw,2.7rem);line-height:1.13;letter-spacing:-.045em;margin:8px 0 12px}.article-featured{border-radius:18px;overflow:hidden;margin:0 0 22px;background:var(--jp-card)}.article-featured img{display:block;width:100%}.reading-toolbar{display:flex;gap:6px;justify-content:flex-end;margin:0 0 10px}.reading-toolbar button{border:1px solid var(--jp-border);background:var(--jp-bg);color:var(--jp-text);border-radius:9px;padding:5px 9px;cursor:pointer}.entry-content{font-size:calc(1.045rem * var(--jp-reading-scale));line-height:1.84}.entry-content p,.entry-content ul,.entry-content ol,.entry-content blockquote,.entry-content figure{margin:0 0 1.35em}.entry-content h2{font-size:1.43em;line-height:1.3;margin:1.7em 0 .65em;letter-spacing:-.03em}.entry-content h3{font-size:1.18em;margin:1.5em 0 .6em}.entry-content a{color:var(--jp-accent);text-decoration:underline;text-underline-offset:2px}.entry-content blockquote{border-left:3px solid var(--jp-accent);padding:2px 0 2px 18px;color:var(--jp-muted)}.entry-content pre{overflow:auto;background:#111827;color:#fff;padding:16px;border-radius:12px}.entry-content table{width:100%;border-collapse:collapse;display:block;overflow:auto}.entry-content th,.entry-content td{border:1px solid var(--jp-border);padding:8px;text-align:left}.toc{background:var(--jp-card);border:1px solid var(--jp-border);border-radius:14px;padding:14px 16px;margin:0 0 22px}.toc strong{display:block;margin-bottom:6px}.toc ol{margin:0;padding-left:20px}.toc li{margin:4px 0}.share-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:26px 0}.share-row a{border:1px solid var(--jp-border);padding:7px 10px;border-radius:9px;font-size:.82rem}.author-box{border-top:1px solid var(--jp-border);border-bottom:1px solid var(--jp-border);padding:20px 0;margin:28px 0}.author-name{font-weight:800}.author-bio{color:var(--jp-muted);font-size:.9rem;margin-top:4px}.related{margin-top:32px}.site-footer{border-top:1px solid var(--jp-border);padding:30px 0 100px;color:var(--jp-muted);font-size:.88rem}.footer-nav ul{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:0 0 14px}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--jp-border);backdrop-filter:blur(8px)}.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:none;color:var(--jp-text);display:flex;flex-direction:column;align-items:center;gap:1px;font:inherit;cursor:pointer}.mobile-bottom-nav span{font-size:1.05rem;line-height:1.1}.mobile-bottom-nav small{font-size:.67rem;color:var(--jp-muted)}.pagination{margin-top:24px}.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.pagination a,.pagination span{border:1px solid var(--jp-border);border-radius:10px;padding:7px 11px}.pagination .current{background:var(--jp-text);color:#fff}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-no-results{padding:25px 0}
@media(min-width:700px){body{padding-bottom:0}.container{width:min(calc(100% - 44px),var(--jp-max))}.header-inner{min-height:64px}.menu-toggle{display:none}.primary-nav{display:block}.primary-nav ul{display:flex;gap:20px}.primary-nav li{border:0}.primary-nav a{padding:7px 0}.header-actions{margin-left:auto}.mobile-bottom-nav{display:none}.post-grid{grid-template-columns:repeat(2,1fr)}.featured-card{min-height:430px}.featured-content{min-height:430px;padding:32px}.featured-title{font-size:2.35rem;max-width:850px}.article-layout{grid-template-columns:minmax(0,760px) 280px;align-items:start}.article-main{min-width:0}.sidebar{position:sticky;top:84px}.ad-slot{min-height:120px}}
@media(min-width:980px){.post-grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-color-scheme:dark){body.jp-auto-dark{--jp-bg:#0e1117;--jp-text:#edf1f7;--jp-muted:#9ba5b5;--jp-border:#252b36;--jp-card:#151a22;--jp-accent:#60a5fa}.jp-auto-dark .site-header,.jp-auto-dark .search-panel,.jp-auto-dark .primary-nav,.jp-auto-dark .icon-button,.jp-auto-dark .post-card,.jp-auto-dark .mobile-bottom-nav,.jp-auto-dark .search-field,.jp-auto-dark .reading-toolbar button{background:#0e1117}.jp-auto-dark .search-submit{color:#fff}}

/* 2.3.1 UI POLISH — visual layer only */
:root{--jp-radius-lg:22px;--jp-focus:0 0 0 4px rgba(37,99,235,.12)}
.site-header{transition:background .2s ease,box-shadow .2s ease}
.brand{display:inline-flex;align-items:center;min-height:42px}
.brand .custom-logo-link{display:inline-flex;align-items:center}
.header-actions{align-items:center}
.search-toggle{font-size:1.25rem}
.primary-nav a{transition:color .18s ease,background .18s ease}
.search-panel{animation:jp-search-in .18s ease both}
@keyframes jp-search-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.main{padding-top:34px}
.featured-card{border:1px solid rgba(255,255,255,.08);isolation:isolate}
.featured-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 35%);z-index:1}
.featured-content{z-index:2}
.section-heading{padding-bottom:2px}
.section-heading h1,.section-heading h2{font-weight:850}
.section-heading h1:after,.section-heading h2:after{content:"";display:block;width:34px;height:3px;border-radius:99px;background:var(--jp-accent);margin-top:9px}
.post-grid{align-items:stretch}
.post-card{display:flex;flex-direction:column}
.post-card-body{display:flex;flex-direction:column;flex:1}
.post-card h2{font-weight:850}
.post-excerpt{margin-top:auto;padding-top:4px}
.post-card-media{position:relative}
.post-card-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,rgba(2,6,23,.08));opacity:.65}
.post-card-media img{will-change:transform}
.article-header .post-meta{margin-top:7px}
.article-title{font-weight:900}
.entry-content h2{scroll-margin-top:100px}
.entry-content h3{scroll-margin-top:100px}
.toc{position:relative;overflow:hidden}
.toc:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--jp-accent)}
.toc-head strong{font-weight:850}
.share-row{padding-top:4px}
.author-box{background:linear-gradient(90deg,var(--jp-accent-soft),transparent);padding:22px 18px;border-radius:16px;border:1px solid var(--jp-border)}
.site-footer{padding-top:42px}
.mobile-bottom-nav{padding-top:9px;padding-bottom:calc(9px + env(safe-area-inset-bottom))}
.mobile-bottom-nav a,.mobile-bottom-nav button{min-height:42px}
.mobile-bottom-nav a:active,.mobile-bottom-nav button:active,.icon-button:active,.search-submit:active{transform:scale(.97)}
@media(min-width:700px){.main{padding-top:42px}.featured-card{border-radius:26px}.post-card{border-radius:20px}.article-title{max-width:980px}.site-footer{padding-bottom:48px}}
@media(min-width:980px){.featured-card{min-height:520px}.featured-content{min-height:520px}.post-card-body{padding:18px 18px 20px}}
@media(max-width:699px){.section-heading{margin-bottom:14px}.section-heading h1,.section-heading h2{font-size:1.35rem}.featured-card{border-radius:20px}.article-featured{border-radius:16px}.toc{border-radius:14px}.author-box{border-radius:14px}}
@media(prefers-reduced-motion:reduce){.search-panel{animation:none}}

/* 2.3.2 UI EVOLUTION — visual-only layer */
:root{
 --jp-surface:#ffffff;
 --jp-surface-2:#f8fafc;
 --jp-accent-soft:rgba(37,99,235,.10);
 --jp-shadow-sm:0 2px 12px rgba(15,23,42,.045);
 --jp-shadow-md:0 14px 36px rgba(15,23,42,.09);
}
body{letter-spacing:-.008em}
.site-header{box-shadow:0 1px 0 rgba(15,23,42,.025)}
.site-header:has(.primary-nav.is-open){box-shadow:0 10px 28px rgba(15,23,42,.08)}
.brand{letter-spacing:-.055em}
.icon-button{box-shadow:var(--jp-shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.icon-button:hover{box-shadow:0 6px 18px rgba(15,23,42,.08);border-color:#d8dee8}
.icon-button:focus-visible,.search-field:focus-visible,.search-submit:focus-visible,.primary-nav a:focus-visible,.mobile-bottom-nav a:focus-visible,.mobile-bottom-nav button:focus-visible{outline:0;box-shadow:var(--jp-focus)}
.primary-nav a{border-radius:9px}
.primary-nav a:hover{text-decoration:none;background:var(--jp-surface-2);color:var(--jp-accent);padding-inline:8px;margin-inline:-8px}
.search-panel{box-shadow:0 10px 24px rgba(15,23,42,.055)}
.search-field{box-shadow:inset 0 1px 2px rgba(15,23,42,.025);transition:border-color .18s ease,box-shadow .18s ease}
.search-field:focus{border-color:rgba(37,99,235,.5);outline:0;box-shadow:var(--jp-focus)}
.search-submit{box-shadow:0 5px 14px rgba(37,99,235,.18);transition:transform .18s ease,box-shadow .18s ease}
.search-submit:hover{box-shadow:0 8px 20px rgba(37,99,235,.24);transform:translateY(-1px)}
.featured-card{box-shadow:var(--jp-shadow-md);transition:transform .25s ease,box-shadow .25s ease}
.featured-card:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(15,23,42,.16);text-decoration:none}
.featured-card img{transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.featured-card:hover img{transform:scale(1.025);opacity:.76}
.featured-title{max-width:900px;text-wrap:balance}
.eyebrow{line-height:1.2}
.section-heading{border-bottom:1px solid var(--jp-border);padding-bottom:12px;margin-bottom:18px}
.section-heading h1:after,.section-heading h2:after{margin-top:8px}
.post-card{box-shadow:var(--jp-shadow-sm);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--jp-shadow-md);border-color:#dce2ea}
.post-card-media img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.post-card:hover .post-card-media img{transform:scale(1.035)}
.post-card h2 a{transition:color .18s ease}
.post-card:hover h2 a{color:var(--jp-accent);text-decoration:none}
.post-meta{line-height:1.35}
.post-excerpt{line-height:1.65}
.article-header{max-width:900px}
.article-title{text-wrap:balance}
.article-featured{box-shadow:var(--jp-shadow-sm)}
.entry-content>p:first-child{font-size:1.08em;color:#2d3748}
.entry-content img{border-radius:12px}
.entry-content figure{margin-inline:0}
.entry-content figcaption{text-align:center;color:var(--jp-muted);font-size:.82rem;margin-top:7px}
.entry-content hr{border:0;border-top:1px solid var(--jp-border);margin:2em 0}
.toc{box-shadow:var(--jp-shadow-sm);background:linear-gradient(135deg,var(--jp-card),var(--jp-bg))}
.toc a{transition:color .15s ease}
.toc a:hover{color:var(--jp-accent);text-decoration:none}
.share-row a{transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.share-row a:hover{background:var(--jp-surface-2);border-color:#d8dee8;color:var(--jp-accent);text-decoration:none;transform:translateY(-1px)}
.author-box{box-shadow:var(--jp-shadow-sm);background:linear-gradient(110deg,var(--jp-accent-soft),transparent 62%)}
.pagination a,.pagination span{transition:background .16s ease,border-color .16s ease,transform .16s ease}
.pagination a:hover{background:var(--jp-surface-2);border-color:#d8dee8;text-decoration:none;transform:translateY(-1px)}
.mobile-bottom-nav{box-shadow:0 -8px 24px rgba(15,23,42,.06)}
.mobile-bottom-nav a,.mobile-bottom-nav button{border-radius:11px;transition:background .16s ease,color .16s ease,transform .16s ease}
.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{background:var(--jp-surface-2);text-decoration:none}
@media(max-width:699px){
 .main{padding-top:24px}
 .featured-card,.featured-content{min-height:300px}
 .featured-content{padding:20px}
 .featured-title{font-size:1.5rem}
 .post-grid{gap:13px}
 .post-card{border-radius:15px}
 .post-card-body{padding:13px}
 .post-card h2{font-size:1rem}
 .post-excerpt{font-size:.86rem}
 .entry-content>p:first-child{font-size:1.02em}
}
@media(min-width:700px){
 .header-inner{gap:18px}
 .main{padding-top:38px}
 .post-grid{gap:18px}
}
@media(min-width:980px){
 .post-grid{gap:20px}
 .section-heading{margin-bottom:20px}
}
@media(prefers-color-scheme:dark){
 body.jp-auto-dark .entry-content>p:first-child{color:#d8dee8}
 body.jp-auto-dark .primary-nav a:hover,body.jp-auto-dark .mobile-bottom-nav a:hover,body.jp-auto-dark .mobile-bottom-nav button:hover{background:#151a22}
 body.jp-auto-dark .post-card:hover{border-color:#343c49}
}
@media(prefers-reduced-motion:reduce){
 .icon-button,.search-submit,.featured-card,.featured-card img,.post-card,.post-card-media img,.post-card h2 a,.share-row a,.pagination a,.pagination span,.mobile-bottom-nav a,.mobile-bottom-nav button{transition:none}
 .featured-card:hover,.post-card:hover,.share-row a:hover,.pagination a:hover{transform:none}
}


/* 2.3.3 UI EVOLUTION — visual-only refinement */
:root{
 --jp-content-max:760px;
 --jp-ring:0 0 0 3px rgba(37,99,235,.14);
}
::selection{background:var(--jp-accent-soft);color:var(--jp-text)}
.container{max-width:var(--jp-max)}
.header-inner{min-height:62px}
.brand{font-size:1.12rem}
.icon-button{position:relative;overflow:hidden}
.icon-button:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity .18s ease}
.icon-button:hover:before{opacity:.035}
.primary-nav a{font-size:.94rem;letter-spacing:-.01em}
.search-form{max-width:760px;margin-inline:auto}
.search-field{min-height:46px}
.search-submit{min-width:72px;min-height:46px}
.main{padding-bottom:64px}
.featured{margin-bottom:34px}
.featured-card{min-height:340px}
.featured-content{padding:24px}
.featured-title{line-height:1.12}
.section-heading{align-items:center}
.section-heading>div{min-width:0}
.section-heading .eyebrow{display:inline-block;margin-bottom:2px}
.post-grid{grid-auto-rows:1fr}
.post-card{position:relative}
.post-card:focus-within{box-shadow:var(--jp-shadow-md);border-color:rgba(37,99,235,.32)}
.post-card-media{background:var(--jp-surface-2)}
.post-card-body .eyebrow{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.post-card h2{margin-top:6px}
.post-card h2 a:focus-visible{outline:0;border-radius:5px;box-shadow:var(--jp-ring)}
.article-layout{gap:36px}
.article-main{max-width:var(--jp-content-max)}
.article-title{font-size:clamp(2.05rem,6vw,3.05rem);line-height:1.08}
.article-featured{margin-top:24px;border-radius:20px}
.reading-toolbar{position:sticky;top:74px;z-index:8;width:max-content;margin-left:auto;padding:5px;background:color-mix(in srgb,var(--jp-bg) 92%,transparent);border:1px solid var(--jp-border);border-radius:12px;box-shadow:var(--jp-shadow-sm);backdrop-filter:blur(8px)}
.reading-toolbar button{min-width:36px;min-height:32px;font-weight:700}
.entry-content{max-width:var(--jp-content-max)}
.entry-content h2{font-weight:850;border-top:1px solid var(--jp-border);padding-top:.85em}
.entry-content h3{font-weight:800}
.entry-content ul,.entry-content ol{padding-left:1.35em}
.entry-content li+li{margin-top:.35em}
.entry-content blockquote{background:var(--jp-surface-2);border-radius:0 12px 12px 0;padding:16px 18px}
.toc{margin-top:24px;margin-bottom:28px}
.share-row{border-top:1px solid var(--jp-border);padding-top:20px}
.share-row strong{margin-right:3px}
.author-box{margin-top:34px}
.related{margin-top:42px}
.sidebar .ad-slot{border-radius:14px;background:var(--jp-surface-2)}
.site-footer{margin-top:24px}
.footer-nav a{text-underline-offset:3px}
.mobile-bottom-nav{padding-left:8px;padding-right:8px}
.mobile-bottom-nav a,.mobile-bottom-nav button{margin:0 2px}
@media(min-width:700px){
 .header-inner{min-height:68px}
 .featured-card{min-height:450px}
 .featured-content{padding:34px}
 .featured-title{font-size:2.45rem}
 .article-layout{grid-template-columns:minmax(0,var(--jp-content-max)) 260px}
 .article-main{justify-self:start}
 .article-featured{border-radius:22px}
}
@media(min-width:980px){
 .featured-card{min-height:500px}
 .featured-title{font-size:2.7rem}
 .post-card-body{padding:19px 20px 21px}
}
@media(max-width:699px){
 .main{padding-bottom:40px}
 .header-inner{min-height:58px}
 .featured{margin-bottom:28px}
 .featured-card{min-height:300px}
 .featured-content{padding:20px}
 .featured-title{font-size:1.52rem}
 .section-heading{align-items:flex-end}
 .section-heading h1,.section-heading h2{font-size:1.3rem}
 .reading-toolbar{top:62px}
 .article-title{font-size:clamp(1.9rem,8.5vw,2.35rem)}
 .entry-content{font-size:calc(1.02rem * var(--jp-reading-scale))}
 .entry-content h2{padding-top:.7em}
 .share-row{gap:6px}
 .share-row a{padding:7px 9px}
}
@media(prefers-reduced-motion:reduce){
 .icon-button:before{transition:none}
}
@supports not (background:color-mix(in srgb,white,transparent)){
 .reading-toolbar{background:var(--jp-bg)}
}


/* 2.3.4 UI EVOLUTION — visual-only editorial polish */
:root{
 --jp-accent-strong:#1d4ed8;
 --jp-soft:#f5f7fb;
 --jp-line:#e3e7ee;
 --jp-radius-xl:26px;
}
body{overflow-x:hidden}
.site-header{border-bottom-color:rgba(226,231,239,.88)}
.header-inner{isolation:isolate}
.brand{position:relative}
.brand:after{content:"";position:absolute;left:0;bottom:5px;width:22px;height:3px;border-radius:99px;background:var(--jp-accent);opacity:.75;transform-origin:left;transition:width .22s ease}
.brand:hover:after{width:34px}
.icon-button{border-radius:12px}
.search-panel{background:linear-gradient(180deg,var(--jp-bg),var(--jp-soft));border-bottom-color:var(--jp-line)}
.search-form{padding:2px}
.search-field{background:var(--jp-bg);border-color:var(--jp-line)}
.search-submit{background:linear-gradient(180deg,var(--jp-accent),var(--jp-accent-strong));border-radius:12px}
.main{position:relative}
.featured-card{border:0;border-radius:var(--jp-radius-xl);box-shadow:0 18px 50px rgba(15,23,42,.13)}
.featured-card:before{content:"";position:absolute;z-index:1;top:18px;left:18px;width:7px;height:34px;border-radius:99px;background:var(--jp-accent);box-shadow:0 0 0 5px rgba(37,99,235,.15)}
.featured-overlay{background:linear-gradient(0deg,rgba(4,8,18,.88) 0%,rgba(4,8,18,.34) 55%,rgba(4,8,18,.03) 100%)}
.featured-content{padding-top:70px}
.featured-title{max-width:820px;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.eyebrow{font-size:.7rem;letter-spacing:.12em}
.section-heading{position:relative;border-bottom:0;padding-bottom:13px;margin-bottom:20px}
.section-heading:after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;border-radius:99px;background:var(--jp-accent)}
.section-heading>a{font-size:.82rem;font-weight:750;color:var(--jp-accent);white-space:nowrap}
.post-grid{gap:18px}
.post-card{border-color:var(--jp-line);border-radius:18px;box-shadow:0 3px 18px rgba(15,23,42,.045)}
.post-card-media{position:relative}
.post-card-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,rgba(15,23,42,.08));opacity:.65}
.post-card-body{padding:16px 17px 18px}
.post-card h2{font-weight:780}
.post-meta{gap:8px}
.post-meta span+span:before{content:"•";margin-right:8px;color:var(--jp-line)}
.article-header{position:relative}
.breadcrumbs{font-weight:600}
.article-title{max-width:860px}
.article-featured{box-shadow:0 10px 30px rgba(15,23,42,.08)}
.reading-toolbar{box-shadow:0 8px 22px rgba(15,23,42,.08)}
.entry-content{letter-spacing:-.006em}
.entry-content h2{position:relative;border-top:0;padding-top:0;margin-top:2em}
.entry-content h2:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--jp-accent);margin:0 9px 3px 0}
.entry-content blockquote{border-left-width:4px;background:linear-gradient(90deg,var(--jp-accent-soft),var(--jp-surface-2));box-shadow:inset 0 0 0 1px rgba(37,99,235,.035)}
.toc{border-radius:18px;padding:17px 18px;box-shadow:0 7px 24px rgba(15,23,42,.06)}
.toc strong{font-size:.96rem}
.share-row{align-items:center}
.share-row a{border-radius:11px;background:var(--jp-bg)}
.author-box{border:1px solid var(--jp-line);border-radius:18px;padding:20px;background:linear-gradient(115deg,var(--jp-accent-soft),var(--jp-bg) 65%)}
.related{padding-top:4px}
.sidebar .ad-slot{border:1px solid var(--jp-line)}
.site-footer{background:linear-gradient(180deg,var(--jp-bg),var(--jp-soft));border-top-color:var(--jp-line)}
.footer-nav a{font-weight:650}
.mobile-bottom-nav{border-top-color:var(--jp-line);box-shadow:0 -10px 30px rgba(15,23,42,.09)}
.mobile-bottom-nav a,.mobile-bottom-nav button{font-weight:650}
.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{color:var(--jp-accent)}
.pagination a,.pagination span{background:var(--jp-bg)}
@media(min-width:700px){
 .featured-card:before{top:28px;left:28px;height:42px;width:8px}
 .featured-content{padding-top:92px}
 .post-card-body{min-height:154px}
 .article-header{padding-right:20px}
}
@media(max-width:699px){
 .brand:after{bottom:3px}
 .featured-card:before{top:15px;left:15px;height:28px;width:6px}
 .featured-content{padding-top:58px}
 .post-grid{gap:14px}
 .post-card-body{padding:14px 15px 16px}
 .section-heading{margin-bottom:16px}
 .section-heading>a{font-size:.76rem}
 .author-box{border-radius:15px}
}
@media(prefers-color-scheme:dark){
 body.jp-auto-dark .search-panel,body.jp-auto-dark .site-footer{background:linear-gradient(180deg,#0e1117,#121720)}
 body.jp-auto-dark .post-meta span+span:before{color:#3a424f}
 body.jp-auto-dark .post-card-media:after{background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.25))}
 body.jp-auto-dark .pagination a,body.jp-auto-dark .pagination span,body.jp-auto-dark .share-row a{background:#0e1117}
 body.jp-auto-dark .sidebar .ad-slot{border-color:#252b36}
}
@media(prefers-reduced-motion:reduce){.brand:after{transition:none}}

/* 2.3.5 UI EVOLUTION — visual-only layer */
:root{
 --jp-surface-raised:#fff;
 --jp-line-soft:rgba(15,23,42,.07);
 --jp-radius-xl:26px;
}
.site-header{background:color-mix(in srgb,var(--jp-bg) 94%,transparent);}
.header-inner{min-height:62px}
.icon-button{border-radius:12px}
.search-field{border-radius:13px}
.search-submit{border-radius:13px}
.featured-card{box-shadow:var(--jp-shadow-md);transition:transform .22s ease,box-shadow .22s ease}
.featured-card:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(15,23,42,.15)}
.featured-title{max-width:900px}
.section-heading{position:relative}
.section-heading a{font-size:.82rem;font-weight:750;color:var(--jp-accent);white-space:nowrap}
.post-card{box-shadow:var(--jp-shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--jp-shadow-md);border-color:rgba(37,99,235,.18)}
.post-card-media img{transition:transform .35s ease}
.post-card:hover .post-card-media img{transform:scale(1.035)}
.post-card h2 a:hover{text-decoration:none;color:var(--jp-accent)}
.eyebrow{font-size:.7rem}
.article-header{max-width:900px}
.article-title{letter-spacing:-.052em}
.article-featured{box-shadow:var(--jp-shadow-sm)}
.entry-content{max-width:760px}
.entry-content h2{font-weight:850;position:relative}
.entry-content h2:after{content:"";display:block;width:28px;height:2px;margin-top:9px;border-radius:99px;background:var(--jp-accent)}
.entry-content img{border-radius:12px}
.entry-content figure figcaption{color:var(--jp-muted);font-size:.78rem;text-align:center;margin-top:7px}
.entry-content blockquote{background:var(--jp-surface-2);border-left-width:4px;border-radius:0 12px 12px 0;padding:14px 18px}
.toc{box-shadow:var(--jp-shadow-sm);background:var(--jp-surface-2)}
.toc a:hover{text-decoration:none;color:var(--jp-accent)}
.share-row a{transition:transform .16s ease,background .16s ease,border-color .16s ease}
.share-row a:hover{transform:translateY(-1px);background:var(--jp-surface-2);border-color:rgba(37,99,235,.2);text-decoration:none}
.author-box{box-shadow:var(--jp-shadow-sm)}
.pagination a,.pagination span{transition:background .16s ease,border-color .16s ease,transform .16s ease}
.pagination a:hover{background:var(--jp-surface-2);border-color:rgba(37,99,235,.2);text-decoration:none;transform:translateY(-1px)}
.mobile-bottom-nav{box-shadow:0 -8px 28px rgba(15,23,42,.07)}
.mobile-bottom-nav a,.mobile-bottom-nav button{border-radius:12px;transition:background .16s ease,color .16s ease,transform .16s ease}
.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{background:var(--jp-surface-2);text-decoration:none}
@media(max-width:699px){
 .container{width:min(calc(100% - 22px),var(--jp-max))}
 .main{padding-top:28px}
 .featured-content{padding:20px}
 .featured-title{font-size:1.48rem}
 .post-grid{gap:13px}
 .post-card{border-radius:17px}
 .post-card-body{padding:13px}
 .post-card h2{font-size:1rem}
 .article-title{font-size:clamp(1.85rem,8vw,2.35rem)}
 .entry-content{font-size:1.02rem}
 .site-footer{padding-bottom:110px}
}
@media(prefers-color-scheme:dark){
 .jp-auto-dark .site-header{background:rgba(14,17,23,.94)}
 .jp-auto-dark .post-card,.jp-auto-dark .toc,.jp-auto-dark .author-box{box-shadow:0 10px 30px rgba(0,0,0,.2)}
 .jp-auto-dark .entry-content blockquote{background:#151a22}
}
@media(prefers-reduced-motion:reduce){
 .featured-card,.post-card,.post-card-media img,.share-row a,.pagination a,.pagination span,.mobile-bottom-nav a,.mobile-bottom-nav button{transition:none}
 .featured-card:hover,.post-card:hover,.post-card:hover .post-card-media img,.share-row a:hover,.pagination a:hover{transform:none}
}


/* 2.3.6 UI EVOLUTION — presentation layer only */
:root{--jp-shadow-xs:0 2px 10px rgba(20,30,50,.045);--jp-shadow-md:0 14px 40px rgba(20,30,50,.09);--jp-accent-soft:rgba(37,99,235,.08)}
.site-header{box-shadow:0 1px 0 rgba(20,30,50,.02)}
.header-inner{transition:min-height .2s ease}
.icon-button,.reading-toolbar button{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.icon-button:hover,.reading-toolbar button:hover{box-shadow:var(--jp-shadow-xs);border-color:rgba(37,99,235,.22);transform:translateY(-1px)}
.icon-button:focus-visible,.reading-toolbar button:focus-visible,.search-field:focus-visible,.search-submit:focus-visible,.primary-nav a:focus-visible,.mobile-bottom-nav a:focus-visible,.mobile-bottom-nav button:focus-visible{outline:0;box-shadow:var(--jp-focus)}
.search-field{transition:border-color .18s ease,box-shadow .18s ease}
.search-field:focus{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 3px var(--jp-accent-soft)}
.search-submit{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.search-submit:hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:0 6px 18px rgba(37,99,235,.16)}
.primary-nav a:hover{color:var(--jp-accent);text-decoration:none}
.featured-card{box-shadow:var(--jp-shadow-md)}
.featured-card:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);border-radius:inherit;pointer-events:none}
.featured-title{max-width:900px;text-wrap:balance}
.section-heading{padding-bottom:3px}
.section-heading h1,.section-heading h2{position:relative}
.section-heading h1:after,.section-heading h2:after{content:"";display:block;width:34px;height:3px;margin-top:8px;border-radius:99px;background:var(--jp-accent)}
.post-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--jp-shadow-md);border-color:rgba(37,99,235,.16)}
.post-card-media img{transition:transform .35s ease,filter .35s ease}
.post-card:hover .post-card-media img{transform:scale(1.025);filter:saturate(1.04)}
.post-card h2 a:hover{text-decoration:none;color:var(--jp-accent)}
.post-excerpt{line-height:1.65}
.article-header .eyebrow{margin-bottom:5px}
.article-title{text-wrap:balance}
.entry-content h2{scroll-margin-top:92px}
.entry-content h3{scroll-margin-top:92px}
.entry-content p{max-width:72ch}
.entry-content li{margin-bottom:.35em}
.entry-content hr{border:0;border-top:1px solid var(--jp-border);margin:2.2em 0}
.entry-content blockquote{box-shadow:inset 0 0 0 1px rgba(37,99,235,.035)}
.toc{box-shadow:var(--jp-shadow-xs)}
.toc strong{font-size:.92rem;letter-spacing:-.01em}
.share-row a{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.share-row a:hover{box-shadow:var(--jp-shadow-xs)}
.author-box{border-radius:14px;background:linear-gradient(180deg,transparent,var(--jp-card));padding:20px}
.pagination a,.pagination span{box-shadow:var(--jp-shadow-xs)}
.mobile-bottom-nav{box-shadow:0 -10px 32px rgba(15,23,42,.09)}
.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{transform:translateY(-1px)}
.site-footer{background:linear-gradient(180deg,transparent,rgba(20,30,50,.018))}
@media(min-width:700px){.main{padding-top:34px}.featured-card{border-radius:24px}.post-card{border-radius:18px}.article-title{max-width:900px}.entry-content{font-size:1.07rem}.author-box{padding:22px}}
@media(max-width:699px){.section-heading{margin-bottom:13px}.featured-card{box-shadow:var(--jp-shadow-md)}.post-card:hover{transform:none;box-shadow:var(--jp-shadow-xs)}.post-card:hover .post-card-media img{transform:none}.author-box{padding:17px}.entry-content p{max-width:none}.mobile-bottom-nav{padding-left:8px;padding-right:8px}}
@media(prefers-color-scheme:dark){.jp-auto-dark .featured-card{box-shadow:0 14px 40px rgba(0,0,0,.28)}.jp-auto-dark .post-card:hover{border-color:rgba(96,165,250,.22)}.jp-auto-dark .site-footer{background:linear-gradient(180deg,transparent,rgba(255,255,255,.012))}.jp-auto-dark .author-box{background:linear-gradient(180deg,transparent,#151a22)}}
@media(prefers-reduced-motion:reduce){.site-header,.header-inner,.icon-button,.reading-toolbar button,.search-field,.search-submit,.primary-nav a,.post-card,.post-card-media img,.share-row a,.mobile-bottom-nav a,.mobile-bottom-nav button{transition:none}.post-card:hover,.post-card:hover .post-card-media img,.icon-button:hover,.reading-toolbar button:hover,.search-submit:hover,.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{transform:none}}


/* 2.3.7 UI EVOLUTION — visual layer only */
:root{--jp-shadow-xs:0 2px 10px rgba(20,30,50,.045);--jp-shadow-md:0 14px 42px rgba(20,30,50,.09);--jp-accent-soft:rgba(37,99,235,.08)}
body{letter-spacing:-.006em}
.site-header{box-shadow:0 1px 0 rgba(20,30,50,.02)}
.header-inner{gap:14px}
.header-actions .icon-button{box-shadow:var(--jp-shadow-xs)}
.icon-button:hover{border-color:rgba(37,99,235,.28);background:var(--jp-accent-soft);transform:translateY(-1px)}
.primary-nav a{position:relative}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;border-radius:99px;background:var(--jp-accent);transition:right .2s ease}
.primary-nav a:hover:after,.primary-nav .current-menu-item>a:after{right:0}
.search-panel{padding:12px 0;background:color-mix(in srgb,var(--jp-bg) 96%,var(--jp-accent) 4%)}
.search-form{max-width:820px;margin-inline:auto}
.search-field{box-shadow:inset 0 1px 2px rgba(20,30,50,.025);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.search-field:focus{outline:0;border-color:rgba(37,99,235,.48);box-shadow:var(--jp-focus)}
.search-submit{box-shadow:0 5px 14px rgba(37,99,235,.18);transition:transform .18s ease,box-shadow .18s ease}
.search-submit:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(37,99,235,.23)}
.featured-card{box-shadow:var(--jp-shadow-md)}
.featured-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 35%)}
.featured-content{padding-bottom:26px}
.featured-title{max-width:900px;text-shadow:0 2px 18px rgba(0,0,0,.22)}
.section-heading{padding-bottom:7px;border-bottom:1px solid var(--jp-border)}
.section-heading a{font-size:.78rem;font-weight:750;color:var(--jp-accent);white-space:nowrap}
.post-grid{gap:18px}
.post-card{box-shadow:var(--jp-shadow-xs)}
.post-card-body{padding:17px}
.post-card h2{font-size:1.12rem}
.post-meta{align-items:center}
.eyebrow{font-size:.7rem}
.article-header{max-width:900px}
.breadcrumbs{margin-bottom:14px}
.article-title{font-weight:850}
.article-featured{box-shadow:var(--jp-shadow-xs)}
.reading-toolbar{position:sticky;top:69px;z-index:10;padding:7px 0;background:color-mix(in srgb,var(--jp-bg) 94%,transparent);backdrop-filter:blur(8px)}
.reading-toolbar button{box-shadow:var(--jp-shadow-xs);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.reading-toolbar button:hover{border-color:rgba(37,99,235,.28);background:var(--jp-accent-soft);transform:translateY(-1px)}
.entry-content h2{font-weight:820}
.entry-content h2:before{content:"";display:inline-block;width:5px;height:1em;margin-right:10px;vertical-align:-.12em;border-radius:99px;background:var(--jp-accent);opacity:.8}
.entry-content img{border-radius:12px}
.entry-content figure figcaption{color:var(--jp-muted);font-size:.78rem;text-align:center;margin-top:7px}
.toc{border-left:4px solid var(--jp-accent);background:color-mix(in srgb,var(--jp-card) 90%,var(--jp-accent) 10%);box-shadow:var(--jp-shadow-xs)}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline;color:var(--jp-accent)}
.share-row{padding-top:18px;border-top:1px solid var(--jp-border)}
.share-row a{box-shadow:var(--jp-shadow-xs)}
.share-row a:hover{border-color:rgba(37,99,235,.28);background:var(--jp-accent-soft);transform:translateY(-1px)}
.author-box{box-shadow:var(--jp-shadow-xs)}
.pagination a:hover{border-color:rgba(37,99,235,.28);color:var(--jp-accent);text-decoration:none;transform:translateY(-1px)}
.pagination a,.pagination span{transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease}
.site-footer{margin-top:12px}
.mobile-bottom-nav{padding-top:9px}
.mobile-bottom-nav a,.mobile-bottom-nav button{min-height:42px;border-radius:12px;transition:background .18s ease,transform .18s ease}
.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{background:var(--jp-accent-soft)}
.mobile-bottom-nav span{font-size:1.12rem}
@media(min-width:700px){.main{padding-top:30px}.featured-content{padding:38px}.post-card-body{padding:18px}.article-main{padding-right:4px}.sidebar .ad-slot{border-radius:14px;background:var(--jp-card)} }
@media(max-width:699px){.container{width:min(calc(100% - 24px),var(--jp-max))}.main{padding-top:20px}.featured-card{min-height:330px}.featured-content{min-height:330px;padding:20px}.featured-title{font-size:1.55rem}.section-heading h1,.section-heading h2{font-size:1.34rem}.post-grid{gap:14px}.post-card-body{padding:14px}.article-title{font-size:clamp(1.85rem,8.2vw,2.35rem)}.reading-toolbar{top:58px}.entry-content h2:before{width:4px;margin-right:8px}.mobile-bottom-nav{box-shadow:0 -8px 28px rgba(15,23,42,.11)}}
@media(prefers-color-scheme:dark){.jp-auto-dark .site-header{box-shadow:0 1px 0 rgba(255,255,255,.025)}.jp-auto-dark .search-panel{background:color-mix(in srgb,var(--jp-bg) 94%,var(--jp-accent) 6%)}.jp-auto-dark .search-field:focus{box-shadow:0 0 0 4px rgba(96,165,250,.13)}.jp-auto-dark .section-heading{border-color:var(--jp-border)}.jp-auto-dark .mobile-bottom-nav a:hover,.jp-auto-dark .mobile-bottom-nav button:hover{background:rgba(96,165,250,.09)}}
@supports not (background:color-mix(in srgb,white,black)){.search-panel{background:var(--jp-bg)}.toc{background:var(--jp-card)}}
@media(prefers-reduced-motion:reduce){.primary-nav a:after{transition:none}.icon-button:hover,.search-submit:hover,.reading-toolbar button:hover,.share-row a:hover,.pagination a:hover,.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{transform:none}}
