/* ReadSpace Theme — Main CSS */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--black:#191919;--white:#FAFAFA;--accent:#1A8917;--g100:#F2F2F2;--g200:#E6E6E6;--g400:#9E9E9E;--g600:#6B6B6B;--g800:#292929;--serif:'Source Serif 4',Georgia,serif;--display:'Playfair Display',Georgia,serif;--sans:'DM Sans',-apple-system,sans-serif;--nav-h:57px;--max-w:1280px;--article-w:680px;--hamburger-break:768px;--drawer-bg:#FAFAFA;--card-radius:4px}
html{scroll-behavior:smooth;font-size:var(--body-font-size,16px)}
body{font-family:var(--sans);background:var(--white);color:var(--black);-webkit-font-smoothing:antialiased;text-rendering:optimizeSpeed;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit}
ul{list-style:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── HEADER ── */
.site-header{width:100%;background:var(--nav-bg,var(--white));border-bottom:1px solid var(--nav-border,var(--g200))}
.site-header.has-shadow{box-shadow:0 2px 12px rgba(0,0,0,.06)}
.header-pos-sticky{position:sticky;top:0;z-index:1000}
.header-pos-fixed{position:fixed;top:0;left:0;right:0;z-index:1000}
.header-pos-static{position:static}
.nav-bar{width:100%;height:var(--nav-h,57px)}
.nav-inner{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--content-padding,20px);display:flex;align-items:center;gap:10px;height:100%}

/* Logo */
.nav-logo{font-family:var(--display);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;white-space:nowrap;flex-shrink:0}
.nav-logo em{font-style:normal;color:var(--accent)}
.nav-logo-img{height:40px;width:auto;object-fit:contain}
.nav-div{width:1px;height:22px;background:var(--g200);flex-shrink:0}

/* Logo alignment variants */
.nav-content-align-center .nav-logo{margin-right:auto;margin-left:auto}
.nav-content-align-right .nav-logo{order:3;margin-left:auto}

/* Topic pills */
.nav-topics{display:flex;align-items:center;overflow-x:auto;flex:1;scrollbar-width:none;gap:2px}
.nav-topics::-webkit-scrollbar{display:none}
.nav-topic,.nav-topics-list a{padding:5px 12px;font-size:0.8rem;font-weight:400;color:var(--g600);white-space:nowrap;border-radius:100px;transition:background .15s,color .15s;display:inline-block}
.nav-topic:hover,.nav-topic.active,.nav-topics-list .current-menu-item a,.nav-topics-list a:hover{background:var(--g100);color:var(--black)}
.nav-topics-list{display:contents}

/* Pages dropdown */
.nav-pages-wrap{position:relative;flex-shrink:0}
.nav-pages-btn{display:flex;align-items:center;gap:4px;padding:5px 12px;font-size:0.8rem;font-weight:500;color:var(--black);border-radius:100px;background:var(--g100);cursor:pointer;white-space:nowrap;transition:background .15s}
.nav-pages-btn:hover{background:var(--g200)}
.nav-pages-btn svg{width:11px;height:11px;transition:transform .2s}
.nav-pages-btn.open svg{transform:rotate(180deg)}
.pages-dd{position:absolute;top:calc(100% + 8px);left:0;background:var(--white);border:1px solid var(--g200);border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.12);min-width:200px;z-index:600;padding:6px 0;display:none}
.pages-dd.open{display:block;animation:fadeDown .15s ease}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.pages-dd a,.pages-dd ul li a{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:0.83rem;color:var(--black);transition:background .1s}
.pages-dd a:hover{background:var(--g100)}

/* Search */
.nav-search-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--g600);transition:background .15s,color .15s;flex-shrink:0}
.nav-search-btn:hover{background:var(--g100);color:var(--black)}
.nav-search-btn svg{width:18px;height:18px}
.search-bar{position:absolute;top:var(--nav-h,57px);left:0;right:0;background:var(--white);border-bottom:1px solid var(--g200);padding:10px var(--content-padding,20px);display:none;z-index:999;box-shadow:0 4px 20px rgba(0,0,0,.08)}
.search-bar.open{display:flex;animation:slideDown .2s ease}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.search-form{max-width:var(--max-w);margin:0 auto;width:100%;display:flex;align-items:center;gap:10px}
.search-input{flex:1;padding:10px 16px;border:1.5px solid var(--g200);border-radius:100px;font-family:var(--sans);font-size:0.95rem;outline:none;transition:border-color .15s}
.search-input:focus{border-color:var(--black)}
.search-input::placeholder{color:var(--g400)}
.search-submit{padding:9px 20px;background:var(--black);color:var(--white);border-radius:100px;font-size:0.85rem;font-weight:500;transition:background .15s;white-space:nowrap}
.search-submit:hover{background:var(--g800)}
.search-close{padding:6px;color:var(--g600);border-radius:50%;transition:color .15s,background .15s}
.search-close:hover{color:var(--black);background:var(--g100)}
.search-close svg{width:18px;height:18px}

/* Right nav buttons */
.nav-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.nav-btns-left .nav-right{margin-left:0;margin-right:auto}
.nav-write-btn{display:flex;align-items:center;gap:5px;font-size:0.8rem;color:var(--g600);padding:5px 10px;border-radius:100px;transition:color .15s,background .15s}
.nav-write-btn svg{width:16px;height:16px}
.nav-write-btn:hover{color:var(--black);background:var(--g100)}
.nav-signin-btn{font-size:0.8rem;padding:6px 14px;border:1px solid var(--g200);border-radius:100px;color:var(--black);transition:border-color .15s,background .15s}
.nav-signin-btn:hover{border-color:var(--black)}
.nav-getstarted-btn{font-size:0.8rem;padding:7px 15px;background:var(--black);color:var(--white);border-radius:100px;transition:background .15s}
.nav-getstarted-btn:hover{background:var(--g800)}
.nav-user-menu{display:flex;align-items:center;gap:8px}
.nav-avatar{width:30px;height:30px;border-radius:50%;background:var(--g200);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}
.nav-avatar-img{width:100%;height:100%;object-fit:cover}

/* Hamburger */
.hamburger{display:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:6px;color:var(--black);transition:background .15s;flex-shrink:0}
.hamburger:hover{background:var(--g100)}
.hamburger svg{width:22px;height:22px}

/* MOBILE DRAWER */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1999;display:none;opacity:0;transition:opacity .28s}
.drawer-overlay.open{display:block;opacity:1}
.mobile-drawer{position:fixed;top:0;z-index:2000;width:min(320px,90vw);height:100vh;background:var(--drawer-bg,var(--white));box-shadow:-4px 0 30px rgba(0,0,0,.15);display:flex;flex-direction:column;transition:right .28s cubic-bezier(.4,0,.2,1),left .28s cubic-bezier(.4,0,.2,1);overflow-y:auto}
.mobile-drawer.drawer-right{right:-100%;left:auto}
.mobile-drawer.drawer-right.open{right:0}
.mobile-drawer.drawer-left{left:-100%;right:auto}
.mobile-drawer.drawer-left.open{left:0}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--g200);flex-shrink:0}
.drawer-logo{font-family:var(--display);font-size:1.3rem;font-weight:700}
.drawer-logo em{font-style:normal;color:var(--accent)}
.drawer-logo-img{height:36px;width:auto}
.drawer-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--g600);transition:background .15s}
.drawer-close:hover{background:var(--g100)}
.drawer-close svg{width:18px;height:18px}
.drawer-search{padding:12px 18px;border-bottom:1px solid var(--g100)}
.drawer-search-inner{display:flex;align-items:center;gap:8px;background:var(--g100);border-radius:100px;padding:8px 14px}
.drawer-search-inner svg{width:16px;height:16px;color:var(--g400);flex-shrink:0}
.drawer-search-input{flex:1;border:none;background:none;font-family:var(--sans);font-size:0.88rem;color:var(--black);outline:none}
.drawer-search-input::placeholder{color:var(--g400)}
.drawer-auth{display:flex;gap:8px;padding:14px 18px;border-bottom:1px solid var(--g200)}
.drawer-signin{flex:1;padding:9px 0;border:1px solid var(--g200);border-radius:100px;font-size:0.85rem;font-weight:500;text-align:center;color:var(--black);transition:border-color .15s}
.drawer-signin:hover{border-color:var(--black)}
.drawer-getstarted{flex:1;padding:9px 0;background:var(--black);color:var(--white);border-radius:100px;font-size:0.85rem;font-weight:500;text-align:center;transition:background .15s}
.drawer-getstarted:hover{background:var(--g800)}
.drawer-write-link{display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:0.9rem;color:var(--black);font-weight:500;transition:background .1s;border-bottom:1px solid var(--g100)}
.drawer-write-link:hover{background:var(--g100)}
.drawer-write-link svg{width:18px;height:18px;color:var(--accent)}
.drawer-section-title{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--g400);padding:12px 18px 6px}
.drawer-link,.drawer-topics-list a,.drawer-pages-list a{display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:0.9rem;color:var(--black);transition:background .1s}
.drawer-link:hover,.drawer-topics-list a:hover,.drawer-pages-list a:hover{background:var(--g100)}
.drawer-topics-list li,.drawer-pages-list li{list-style:none}
.drawer-topics-list ul,.drawer-pages-list ul{list-style:none;padding:0;margin:0}
.drawer-divider{height:1px;background:var(--g200);margin:8px 0}

/* HERO */
.hero{overflow:hidden}
.hero-layout-split .hero-inner{max-width:var(--max-w);margin:0 auto;padding:40px var(--content-padding,20px);display:flex;align-items:center;justify-content:space-between;gap:32px}
.hero-layout-centered .hero-inner{max-width:var(--max-w);margin:0 auto;padding:60px var(--content-padding,20px);text-align:center;flex-direction:column;display:flex;align-items:center}
.hero-layout-image-bg{position:relative}
.hero-layout-image-bg .hero-inner{min-height:50vh;align-items:center;position:relative;z-index:1}
.hero-layout-image-bg::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.4)}
.hero-layout-image-bg .hero-text *{color:white!important}
.hero-text h1{font-family:var(--display);font-size:clamp(2.8rem,6.5vw,5.5rem);font-weight:400;line-height:1.05;letter-spacing:-2px}
.hero-text h1 em{font-style:italic;color:var(--accent)}
.hero-sub{font-family:var(--serif);font-size:1.05rem;font-weight:300;color:var(--g600);margin-top:14px;max-width:400px;line-height:1.7}
.hero-cta{display:inline-flex;align-items:center;gap:7px;margin-top:24px;padding:11px 26px;background:var(--black);color:var(--white);border-radius:100px;font-size:0.95rem;font-weight:500;transition:transform .2s,box-shadow .2s}
.hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.hero-cta svg{width:15px;height:15px}
.hero-badge{display:inline-block;background:var(--accent);color:var(--white);padding:3px 11px;border-radius:100px;font-size:0.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px}
.hero-img-wrap{width:300px;height:240px;flex-shrink:0;overflow:hidden}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hero-img-wrap:hover img{transform:scale(1.04)}

/* BREADCRUMB */
.breadcrumb-bar{max-width:var(--max-w);margin:0 auto;padding:10px var(--content-padding,20px);display:flex;align-items:center;gap:6px;font-size:0.76rem;color:var(--g400);flex-wrap:wrap}
.breadcrumb-bar a{color:var(--g400);transition:color .15s}
.breadcrumb-bar a:hover{color:var(--black);text-decoration:underline}
.bc-sep{color:var(--g200)}
.bc-current{color:var(--g600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}

/* AD SLOTS */
.ad-slot{max-width:var(--max-w);margin:0 auto;padding:4px var(--content-padding,20px) 8px;text-align:center}
.ad-slot-inner{display:block;min-height:0}
body.ad-preview .ad-slot-inner:empty::after,.ad-preview .sb-ad-slot:empty::after,.ad-preview .sb-ad-box:empty::after,.ad-preview .art-ad:empty::after,.ad-preview .art-mid-ad:empty::after,.ad-preview .feed-ad .ad-slot-inner:empty::after{content:attr(data-label);display:flex;align-items:center;justify-content:center;min-height:90px;background:var(--g100);border:1px dashed var(--g200);border-radius:4px;color:var(--g400);font-size:0.72rem;padding:10px}
body.ad-preview .sb-ad-slot:empty::after,body.ad-preview .sb-ad-box:empty::after{min-height:250px;width:100%}

/* MAIN GRID */
.main-wrap{display:block}
.main-grid{max-width:var(--max-w);margin:0 auto;padding:24px var(--content-padding,20px) 60px;display:grid;grid-template-columns:1fr var(--sidebar-width,340px);gap:var(--content-gap,64px);align-items:start}
.main-grid.sidebar-none{grid-template-columns:1fr}
.article-wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--content-padding,20px) 60px;display:grid;grid-template-columns:1fr var(--sidebar-width,300px);gap:var(--content-gap,64px);align-items:start}
.article-wrap.sidebar-none{grid-template-columns:var(--article-w,680px)}

/* FEED */
.feed-label{font-size:0.76rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--g800);padding-bottom:10px;border-bottom:1px solid var(--g200);margin-bottom:18px}
.archive-header{margin-bottom:20px}
.archive-title{font-family:var(--display);font-size:1.8rem;font-weight:700;margin-bottom:8px}
.archive-desc{font-family:var(--serif);font-size:1rem;color:var(--g600);font-weight:300}

/* ARTICLE CARDS */
.art-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:20px 0;border-bottom:1px solid var(--g200)}
.art-card:first-of-type{padding-top:0}
.art-card.featured{grid-template-columns:1fr;padding-bottom:22px}
.art-card.featured .art-thumb{width:100%;height:185px;order:-1;margin-bottom:4px;border-radius:var(--card-radius)}
.card-author{display:flex;align-items:center;gap:7px;margin-bottom:7px;flex-wrap:wrap}
.card-av{width:21px;height:21px;border-radius:50%;background:var(--g200);display:flex;align-items:center;justify-content:center;font-size:0.62rem;font-weight:700;color:var(--g600);flex-shrink:0;overflow:hidden}
.card-av img{width:100%;height:100%;object-fit:cover}
.card-author-name{font-size:0.78rem;font-weight:500}
.card-pub{font-size:0.78rem;color:var(--g600)}
.card-title{font-family:var(--display);font-size:1.1rem;font-weight:700;line-height:1.35;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.art-card.featured .card-title{font-size:1.35rem;-webkit-line-clamp:3}
.card-title:hover{text-decoration:underline}
.card-sub{font-family:var(--serif);font-size:0.88rem;color:var(--g600);line-height:1.55;font-weight:300;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{margin-top:10px}
.card-meta-row1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.card-meta-row2{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.card-tag{background:var(--g100);color:var(--g800);padding:2px 10px;border-radius:100px;font-size:0.71rem;font-weight:500;white-space:nowrap}
.card-date,.card-time{font-size:0.76rem;color:var(--g400)}
.card-dot{width:3px;height:3px;background:var(--g400);border-radius:50%;flex-shrink:0}
.card-clap{display:flex;align-items:center;gap:4px;font-size:0.76rem;color:var(--g400)}
.card-clap svg{width:15px;height:15px}
.card-bm{color:var(--g400);transition:color .15s;line-height:0}
.card-bm:hover,.card-bm.saved{color:var(--black)}
.card-bm svg{width:16px;height:16px}
.art-thumb{width:96px;height:72px;border-radius:var(--card-radius);background:var(--g100);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.art-thumb img{width:100%;height:100%;object-fit:cover}
.feed-ad{padding:18px 0;border-bottom:1px solid var(--g200)}
.load-more{padding:18px 0}
.btn-loadmore{display:inline-flex;align-items:center;gap:5px;padding:7px 18px;border:1px solid var(--g200);border-radius:100px;font-size:0.82rem;color:var(--g600);transition:border-color .15s,color .15s}
.btn-loadmore:hover{border-color:var(--black);color:var(--black)}
.no-posts{color:var(--g600);padding:20px 0}
.pagination{margin-top:20px}
.pagination .nav-links{display:flex;gap:8px;align-items:center}
.pagination .page-numbers{padding:6px 12px;border:1px solid var(--g200);border-radius:100px;font-size:0.82rem;color:var(--g600);transition:all .15s}
.pagination .page-numbers.current,.pagination .page-numbers:hover{background:var(--black);color:var(--white);border-color:var(--black)}

/* SIDEBAR */
.sidebar,.art-sidebar{position:sticky;top:calc(var(--nav-h,57px) + 20px)}
.sb-sec{margin-bottom:28px}
.sb-title{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--black);margin-bottom:12px}
.topic-pills{display:flex;flex-wrap:wrap;gap:7px}
.topic-pill{background:var(--g100);color:var(--g800);padding:5px 12px;border-radius:100px;font-size:0.78rem;transition:background .15s}
.topic-pill:hover{background:var(--g200)}
.see-more{font-size:0.78rem;color:var(--accent);display:inline-block;margin-top:8px}
.author-row{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.author-av{width:34px;height:34px;border-radius:50%;background:var(--g200);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.author-av img,.author-av .avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}
.author-info-name{font-size:0.82rem;font-weight:600;display:block}
.author-info-bio{font-size:0.73rem;color:var(--g600);overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.btn-follow{margin-left:auto;padding:4px 12px;flex-shrink:0;border:1px solid var(--black);border-radius:100px;font-size:0.73rem;font-weight:500;transition:background .15s,color .15s}
.btn-follow:hover,.btn-follow.following{background:var(--black);color:var(--white)}
.membership-box{background:var(--g100);border-radius:8px;padding:16px}
.membership-box p{font-size:0.8rem;color:var(--g600);line-height:1.6;margin:6px 0 10px}
.btn-member{display:inline-block;padding:7px 16px;background:var(--black);color:var(--white);border-radius:100px;font-size:0.8rem;font-weight:500;transition:background .15s}
.btn-member:hover{background:var(--g800)}
.sb-ad-slot,.sb-ad-box{min-height:250px;width:100%;display:flex;align-items:center;justify-content:center;font-size:0.72rem;color:var(--g400);text-align:center}
.sb-widget{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--g200)}
.sb-widget:last-child{border-bottom:none}
.sb-more-link{font-size:0.85rem;font-weight:600;color:var(--black);display:block;margin-bottom:10px;line-height:1.4}
.sb-more-link:hover{text-decoration:underline}

/* ARTICLE PAGE */
.article{max-width:var(--article-w,680px)}
.art-topic{display:inline-block;background:var(--g100);color:var(--g800);padding:3px 11px;border-radius:100px;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:18px;transition:background .15s}
.art-topic:hover{background:var(--g200)}
.art-title{font-family:var(--display);font-size:clamp(1.7rem,4vw,2.4rem);font-weight:700;line-height:1.2;letter-spacing:-.5px;margin-bottom:14px}
.art-subtitle{font-family:var(--serif);font-size:1.2rem;font-weight:300;color:var(--g600);line-height:1.65;margin-bottom:24px}
.author-bar{display:flex;align-items:center;gap:11px;padding:14px 0;border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);margin-bottom:28px}
.author-av{width:44px;height:44px;border-radius:50%;background:var(--g200);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.author-av img,.author-av .avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}
.author-info{flex:1}
.author-name{font-size:0.9rem;font-weight:600;display:block}
.author-meta{font-size:0.78rem;color:var(--g400);display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap}
.author-dot{width:2px;height:2px;background:var(--g400);border-radius:50%;flex-shrink:0}
.btn-follow-inline{padding:5px 13px;border:1px solid var(--accent);border-radius:100px;font-size:0.76rem;font-weight:500;color:var(--accent);transition:background .15s,color .15s;flex-shrink:0}
.btn-follow-inline:hover,.btn-follow-inline.following{background:var(--accent);color:var(--white)}
.author-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.share-sm{width:32px;height:32px;border-radius:50%;border:1px solid var(--g200);display:flex;align-items:center;justify-content:center;color:var(--g600);transition:all .15s}
.share-sm:hover{border-color:var(--black);color:var(--black)}
.art-hero{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--card-radius);margin-bottom:8px;background:var(--g100)}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-caption{font-size:0.75rem;color:var(--g400);text-align:center;margin-bottom:32px;font-style:italic}
.art-ad,.art-mid-ad{border-radius:4px;padding:12px;text-align:center;font-size:0.72rem;color:var(--g400);min-height:90px;display:flex;align-items:center;justify-content:center}
.art-ad{margin-bottom:32px}
.art-mid-ad{margin:40px 0}
.art-body{font-family:var(--serif);font-size:var(--article-font-size,19px);line-height:1.85;color:var(--black);font-weight:300}
.art-body h2{font-family:var(--display);font-size:1.45rem;font-weight:700;margin:44px 0 14px;line-height:1.3}
.art-body h3{font-family:var(--display);font-size:1.15rem;font-weight:700;margin:32px 0 10px}
.art-body p{margin-bottom:26px}
.art-body strong{font-weight:600}
.art-body em{font-style:italic}
.art-body a{color:var(--black);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--g400)}
.art-body a:hover{text-decoration-color:var(--black)}
.art-body blockquote{border-left:3px solid var(--black);padding-left:22px;margin:32px 0;font-size:1.2rem;font-style:italic;color:var(--g800);line-height:1.7}
.art-body blockquote cite{display:block;font-size:0.82rem;font-style:normal;color:var(--g600);margin-top:7px}
.art-body pre{background:var(--g100);border-radius:6px;padding:18px 20px;overflow-x:auto;margin:32px 0;font-size:0.88rem;line-height:1.6;font-family:'Courier New',monospace;border-left:3px solid var(--accent)}
.art-body code{font-family:'Courier New',monospace;font-size:0.87em;background:var(--g100);padding:2px 6px;border-radius:3px}
.art-body pre code{background:none;padding:0;font-size:inherit}
.callout{background:#f0f7f0;border-left:4px solid var(--accent);padding:16px 20px;border-radius:0 6px 6px 0;margin:32px 0;font-size:0.98rem}
.art-tags{display:flex;flex-wrap:wrap;gap:7px;margin:36px 0 28px;padding-top:28px;border-top:1px solid var(--g200)}
.art-tag{background:var(--g100);color:var(--g800);padding:5px 14px;border-radius:100px;font-size:0.78rem;transition:background .15s}
.art-tag:hover{background:var(--g200)}
.reaction-bar{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);margin-bottom:40px}
.clap-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid var(--g200);border-radius:100px;font-size:0.82rem;color:var(--g600);transition:all .15s;user-select:none}
.clap-btn:hover{border-color:var(--black);color:var(--black)}
.clap-btn.clapped{background:var(--black);color:var(--white);border-color:var(--black)}
.clap-btn svg{width:17px;height:17px}
.rb-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.share-btn{display:flex;align-items:center;gap:5px;padding:7px 13px;border:1px solid var(--g200);border-radius:100px;font-size:0.78rem;color:var(--g600);transition:all .15s}
.share-btn:hover{border-color:var(--black);color:var(--black)}
.share-btn svg{width:15px;height:15px}
.bm-btn{padding:7px;border:1px solid var(--g200);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--g600);transition:all .15s}
.bm-btn:hover,.bm-btn.saved{border-color:var(--black);color:var(--black)}
.bm-btn svg{width:17px;height:17px}
.float-actions{position:fixed;left:max(20px,calc((100vw - var(--max-w,1280px))/2 - 56px));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;z-index:100}
.float-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--g200);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--g600);background:var(--white);transition:all .15s;font-size:0.68rem;gap:1px}
.float-btn:hover{border-color:var(--black);color:var(--black)}
.float-btn.active{background:var(--black);color:var(--white);border-color:var(--black)}
.float-btn svg{width:19px;height:19px}
.author-card{background:var(--g100);border-radius:8px;padding:24px;margin-bottom:40px}
.ac-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ac-av{width:52px;height:52px;border-radius:50%;background:var(--g200);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ac-av img,.ac-av .avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ac-name{font-size:1rem;font-weight:600;display:block;margin-bottom:2px}
.ac-followers{font-size:0.75rem;color:var(--g400)}
.ac-bio{font-family:var(--serif);font-size:0.92rem;color:var(--g600);line-height:1.65;margin-bottom:14px;font-weight:300}
.btn-follow-card{padding:7px 17px;background:var(--black);color:var(--white);border-radius:100px;font-size:0.8rem;font-weight:500;transition:background .15s}
.btn-follow-card:hover{background:var(--g800)}
.related{border-top:1px solid var(--g200);padding-top:28px;margin-bottom:40px}
.related-title{font-size:0.76rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}
.related-card{display:flex;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--g200)}
.related-card:last-child{border-bottom:none}
.related-thumb{width:76px;height:57px;border-radius:var(--card-radius);background:var(--g100);flex-shrink:0;overflow:hidden}
.related-thumb img{width:100%;height:100%;object-fit:cover}
.related-card-title{font-family:var(--display);font-size:0.95rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-card-title:hover{text-decoration:underline}
.related-meta{font-size:0.75rem;color:var(--g400);margin-top:5px;display:flex;gap:7px;align-items:center}
.related-dot{width:2px;height:2px;background:var(--g400);border-radius:50%}

/* COMMENTS */
#comments{border-top:1px solid var(--g200);padding-top:28px}
.comments-title{font-size:1.05rem;font-weight:700;margin-bottom:18px}
.comment-input-row{display:flex;gap:10px;margin-bottom:24px;align-items:center}
.comment-av{width:34px;height:34px;border-radius:50%;background:var(--g200);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.comment-input-box{flex:1;padding:9px 15px;border:1px solid var(--g200);border-radius:24px;font-family:var(--sans);font-size:0.88rem;color:var(--black);outline:none;transition:border-color .15s;cursor:pointer}
.comment-input-box:focus{border-color:var(--black)}
.comment-list{list-style:none}
.comment-body{margin-left:50px}
.comment .comment-meta{margin-bottom:6px}
.comment .comment-author .fn{font-size:0.85rem;font-weight:600}
.comment .comment-content{font-size:0.9rem;line-height:1.6}
.comment-reply-link{font-size:0.75rem;color:var(--g400)}
.comment-reply-link:hover{color:var(--black)}

/* PAGE */
.page-wrap{max-width:var(--article-w,680px);margin:0 auto;padding:30px var(--content-padding,20px) 60px}
.page-title{font-family:var(--display);font-size:2rem;font-weight:700;margin-bottom:20px}
.page-body{font-family:var(--serif);font-size:1.1rem;line-height:1.8;font-weight:300}
.page-body p{margin-bottom:20px}

/* FOOTER */
.footer{border-top:1px solid var(--g200);padding:18px var(--content-padding,20px)}
.footer-widgets{border-bottom:1px solid var(--g200);padding:30px var(--content-padding,20px)}
.footer-widgets-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px}
.footer-inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.footer-links,.footer-nav-list{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;padding:0;margin:0}
.footer-link,.footer-nav-list a{font-size:0.74rem;color:var(--g400);transition:color .15s}
.footer-link:hover,.footer-nav-list a:hover{color:var(--black)}
.footer-social{display:flex;gap:12px;align-items:center}
.social-link{color:var(--g400);transition:color .15s;display:flex;align-items:center}
.social-link:hover{color:var(--black)}
.footer-copy{font-size:0.74rem;color:var(--g400);margin-left:auto}
.widget-title{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}

/* RESPONSIVE — 960px */
@media(max-width:960px){
  .main-grid,.article-wrap{grid-template-columns:1fr;gap:0}
  .sidebar,.art-sidebar{position:static;border-top:1px solid var(--g200);padding-top:24px;margin-top:8px}
  .float-actions{display:none}
  .article-wrap.sidebar-none{grid-template-columns:1fr}
}

/* RESPONSIVE — hamburger breakpoint (768px default, JS applies class) */
@media(max-width:768px){
  .nav-div,.nav-topics,.nav-pages-wrap,.nav-right{display:none!important}
  .hamburger{display:flex}
  .nav-search-btn{margin-left:auto}
  .hero-layout-split .hero-inner{flex-direction:column;padding:24px var(--content-padding,16px);gap:20px}
  .hero-img-wrap{width:100%;height:190px}
  .hero-text h1{letter-spacing:-1px}
  .main-grid{padding:16px var(--content-padding,16px) 40px}
  .art-thumb{width:78px;height:60px}
  .art-card.featured .art-thumb{height:160px}
  .footer-copy{margin-left:0}
}
@media(max-width:480px){
  .nav-inner{padding:0 14px;gap:8px}
  .nav-logo{font-size:1.3rem}
  .article-wrap{padding:0 14px 40px}
}
@media print{
  .site-header,.sidebar,.art-sidebar,.footer,.ad-slot,.feed-ad,.art-ad,.art-mid-ad,.float-actions,.hamburger,.mobile-drawer,.drawer-overlay{display:none}
}

/* ════════════════════════════════════════
   FIX: AD SLOTS — Zero space when disabled
════════════════════════════════════════ */
.rs-ad-wrap { text-align: center; }
/* Placeholder — admin preview only */
.rs-ad-placeholder {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-height: var(--ad-min, 90px);
    background: var(--g100); border: 1px dashed var(--g200);
    border-radius: 4px; color: var(--g400); font-size: 0.72rem;
    padding: 10px; gap: 4px;
}
.rs-ad-placeholder span { font-weight: 500; }
/* Ad slot wrapper — no padding on its own, padding only when it has content */
.ad-slot { padding: 0; max-width: var(--max-w); margin: 0 auto; }
.ad-slot:has(.rs-ad-wrap) { padding: 4px var(--content-padding,20px) 8px; }
/* Fallback for browsers without :has */
.rs-ad-wrap + * { margin-top: 0; }

/* ════════════════════════════════════════
   FIX: SIDEBAR NONE → ARTICLE FULL WIDTH
════════════════════════════════════════ */
.article-wrap.sidebar-none {
    grid-template-columns: 1fr;
    max-width: var(--max-w);
}
.article-wrap.sidebar-none .article-content {
    max-width: var(--article-w, 680px);
    margin: 0 auto;
    width: 100%;
}
.article-wrap.sidebar-none .article-content.article-full {
    /* When user explicitly wants full width on no-sidebar pages */
    max-width: 100%;
}
.article-wrap.sidebar-none .art-body {
    max-width: 100%;
}
/* Main grid sidebar-none */
.main-grid.sidebar-none {
    grid-template-columns: 1fr;
}
/* Article body wider on no-sidebar */
.art-body-wide {
    max-width: 100% !important;
}

/* ════════════════════════════════════════
   FIX: LOAD MORE — Centered + Bold
════════════════════════════════════════ */
.load-more-wrap {
    padding: 24px 0 8px;
    text-align: center;
    display: flex;
    justify-content: center;
}
.btn-loadmore {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 32px;
    border: 2px solid var(--black);
    border-radius: 100px;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--black);
    background: var(--white);
    transition: background .2s, color .2s, transform .15s;
    letter-spacing: 0.3px;
    cursor: pointer;
    min-width: 200px;
}
.btn-loadmore:hover {
    background: var(--black);
    color: var(--white);
    transform: translateY(-1px);
}
.btn-loadmore:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

/* ════════════════════════════════════════
   FIX: FEED-AD — No blank space when empty
════════════════════════════════════════ */
.feed-ad:empty,
.feed-ad:not(:has(.rs-ad-wrap)) { display: none; }
/* Fallback: if feed-ad only has empty divs */
.feed-ad { padding: 0; border-bottom: none; }
.feed-ad:has(.rs-ad-wrap) { padding: 18px 0; border-bottom: 1px solid var(--g200); }

/* ════════════════════════════════════════
   SIDEBAR — Rich content styles
════════════════════════════════════════ */
.sidebar-quote {
    background: var(--g100);
    border-left: 3px solid var(--accent);
    padding: 14px 16px;
    border-radius: 0 6px 6px 0;
    font-family: var(--serif);
    margin: 0;
}
.sidebar-quote p {
    font-size: 0.92rem; line-height: 1.65;
    color: var(--g800); font-style: italic; margin-bottom: 6px;
}
.sidebar-quote cite {
    font-size: 0.75rem; color: var(--g400);
    font-style: normal; display: block;
}

.sidebar-trending-list { list-style: none; padding: 0; margin: 0; }
.trending-item {
    display: flex; align-items: flex-start;
    gap: 10px; padding: 10px 0;
    border-bottom: 1px solid var(--g100);
}
.trending-item:last-child { border-bottom: none; }
.trending-num {
    font-size: 1.6rem; font-weight: 800;
    color: var(--g200); line-height: 1;
    flex-shrink: 0; width: 28px;
    font-family: var(--display);
}
.trending-text { flex: 1; min-width: 0; }
.trending-thumb-link img {
    width: 100%; height: auto; aspect-ratio: 4/3;
    border-radius: var(--card-radius, 4px);
    margin-bottom: 6px; object-fit: cover;
}
.trending-title {
    font-size: 0.85rem; font-weight: 700;
    color: var(--black); line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
    font-family: var(--display);
}
.trending-title:hover { text-decoration: underline; }
.trending-meta { display: block; font-size: 0.72rem; color: var(--g400); margin-top: 4px; }

/* ════════════════════════════════════════
   HEADER PROFILE — Conditional visibility
════════════════════════════════════════ */
.nav-user-menu { display: flex; align-items: center; gap: 8px; }

/* ════════════════════════════════════════
   CUSTOM AD BLOCK in sidebar
════════════════════════════════════════ */
.rs-custom-ad-block { text-align: center; }

/* ════════════════════════════════════════
   RESPONSIVE — Feed ad no-space fix
════════════════════════════════════════ */
@media (max-width: 768px) {
    .load-more-wrap { padding: 20px 0; }
    .btn-loadmore { min-width: 160px; font-size: 0.85rem; padding: 10px 24px; }
    .article-wrap.sidebar-none .article-content { max-width: 100%; }
}
