:root{--bg:#f6f7f9;--card:#fff;--text:#17202a;--muted:#667085;--line:#e5e7eb;--accent:#0f766e;--dark:#0f172a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.site-header{background:var(--dark);color:white;position:sticky;top:0;z-index:10}.nav{height:64px;display:flex;align-items:center;justify-content:space-between}.nav a{color:white;margin-left:20px}.brand{font-weight:800;font-size:20px;margin-left:0!important}.hero{padding:72px 0 40px;max-width:780px}.hero h1{font-size:clamp(38px,7vw,72px);line-height:1;margin:8px 0 20px}.hero p{font-size:20px;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12px!important;color:var(--accent)!important}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;padding-bottom:70px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #0f172a0a}.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.card-body{padding:26px}.card h2{font-size:26px;line-height:1.2;margin:8px 0}.card h2 a{color:var(--text)}time,.meta{font-size:14px;color:var(--muted)}.more{font-weight:700}.article{max-width:860px;margin:50px auto 90px}.crumb{font-size:14px;color:var(--muted);margin-bottom:36px}.article h1{font-size:clamp(38px,6vw,64px);line-height:1.05;margin:10px 0 20px}.lead{font-size:22px;color:var(--muted)}.termline a{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-right:10px}.hero-img{width:100%;border-radius:20px;margin:36px 0}.prose{font-size:18px}.prose h2{font-size:34px;line-height:1.2;margin-top:2em}.prose h3{font-size:25px;margin-top:1.7em}.prose img{max-width:100%;height:auto;border-radius:14px;margin:20px 0}.prose blockquote{border-left:4px solid var(--accent);background:#eef8f6;margin:25px 0;padding:14px 22px}.prose code{background:#e9ecef;padding:2px 6px;border-radius:5px}.tags{margin-top:45px}.tags a{display:inline-block;background:#e7f5f2;padding:5px 10px;border-radius:20px;margin:3px}.sources{border-top:1px solid var(--line);margin-top:45px;padding-top:25px}.list article{padding:25px 0;border-bottom:1px solid var(--line)}footer{background:var(--dark);color:#cbd5e1;padding:35px 0;margin-top:60px}.button,button{display:inline-block;border:0;background:var(--accent);color:white;padding:10px 16px;border-radius:8px;font-weight:700;cursor:pointer}.secondary{background:#475569}.danger{background:#b42318;margin-top:30px}.admin{padding:45px 0 80px}.narrow{max-width:440px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.stats{display:flex;gap:16px;margin:25px 0}.stats div{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 25px;min-width:130px}.stats b{display:block;font-size:30px}.stats span{color:var(--muted)}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted)}.status{padding:4px 8px;border-radius:20px;background:#eee}.status.published{background:#dcfae6}.status.ready{background:#fff3cd}.alert{background:#fee4e2;padding:10px;border-radius:8px;margin:10px 0}label{display:block;font-weight:650;margin:14px 0}input,textarea,select{width:100%;font:inherit;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white;margin-top:5px}.editor{font-family:ui-monospace,SFMono-Regular,monospace;font-size:14px}.cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:30px}.cols aside{background:white;border:1px solid var(--line);padding:20px;border-radius:14px;height:max-content;position:sticky;top:85px}@media(max-width:760px){.grid,.cols{grid-template-columns:1fr}.nav nav a{margin-left:10px}.article{margin-top:30px}.stats{overflow:auto}.admin-head{align-items:flex-start;flex-direction:column}.cols aside{position:static}table{font-size:14px}}
.token-once{background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;padding:18px;margin:22px 0}.token-once code{display:block;word-break:break-all;background:white;padding:12px;margin-top:10px}.scope{display:inline-block;font:12px ui-monospace,SFMono-Regular,monospace;background:#eef2f6;border-radius:6px;padding:3px 6px;margin:2px}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:auto;margin-top:5px}.check strong,.check small{display:block}.check small{color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:10px 15px}.small{padding:6px 9px;font-size:12px;margin:0}.token-cols{grid-template-columns:minmax(0,2.2fr) minmax(300px,1fr)}
.backend{background:#f3f5f7}.backend main{width:min(1440px,calc(100% - 32px))}.backend .nav{width:min(1440px,calc(100% - 32px))}.panel,.upload-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:22px}.narrow-wide{max-width:660px;margin:auto}.notice{background:#eef6ff;border:1px solid #b2ddff;padding:12px 15px;border-radius:9px;margin:16px 0}.notice.success{background:#ecfdf3;border-color:#abefc6}.table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--line)}.table-wrap table{border:0}.actions{white-space:nowrap}.wide{width:100%;text-align:center}.title-input{font-size:24px;font-weight:750}.slug-row{display:flex;align-items:center;gap:6px}.slug-row span{color:var(--muted);font-size:20px}.slug-row input{margin:5px 0 0}.editor-cols{grid-template-columns:minmax(0,3fr) minmax(290px,1fr)}.editor-main{padding:26px}.wysiwyg-wrap{border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;background:white;margin-top:20px}.wysiwyg-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;background:#f8fafc;border-bottom:1px solid var(--line);position:sticky;top:64px;z-index:5}.wysiwyg-toolbar button,.wysiwyg-toolbar select{width:auto;margin:0;padding:7px 9px;background:white;color:var(--text);border:1px solid #cbd5e1;border-radius:6px;font-weight:600}.color-tool{width:42px;height:36px;margin:0!important;border:1px solid #cbd5e1;background:#fff;border-radius:6px;display:flex!important;align-items:center;justify-content:center;position:relative;overflow:hidden}.color-tool input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.wysiwyg{min-height:620px;padding:32px;font-size:18px;line-height:1.7;outline:none}.wysiwyg:focus{box-shadow:inset 0 0 0 2px #0f766e33}.wysiwyg img{max-width:100%;height:auto;border-radius:10px}.wysiwyg figure{margin:24px 0}.wysiwyg figcaption{color:var(--muted);font-size:14px}.wysiwyg blockquote{border-left:4px solid var(--accent);padding:10px 18px;background:#eef8f6}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:24px}.media-card,.media-pick{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden;text-align:left}.media-card img,.media-pick img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.media-info{padding:12px}.media-info strong,.media-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-info small{color:var(--muted)}.copy-url{font-size:12px}.file-icon{font-size:46px;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f8fafc}.upload-panel{display:flex;gap:12px;align-items:end;margin-top:20px}.upload-panel label{flex:1;margin:0}.media-dialog{width:min(1050px,94vw);height:min(800px,90vh);border:0;border-radius:16px;padding:22px}.media-dialog::backdrop{background:#0f172a99}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{margin:0}.upload-inline{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.upload-inline input{margin:0}.picker{overflow:auto;max-height:580px;padding:2px}.media-pick{cursor:pointer;padding:0;color:var(--text)}.media-pick:hover{outline:2px solid var(--accent)}.media-pick span:last-child{display:block;padding:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backend details summary{font-weight:800;cursor:pointer;margin-bottom:10px}@media(max-width:900px){.editor-cols{grid-template-columns:1fr}.wysiwyg{min-height:450px;padding:18px}.backend .nav{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 0}.backend .nav nav{display:flex;flex-wrap:wrap;gap:8px}.backend .nav nav a{margin:0 8px 0 0}.upload-panel,.upload-inline{flex-direction:column;align-items:stretch}.media-dialog{padding:14px}}
.secret-box{display:block;word-break:break-all;background:#f8fafc;border:1px solid var(--line);padding:12px;border-radius:8px}.seo-checks{display:grid;gap:7px}.seo-checks>div{padding:8px 10px;border-radius:7px;font-size:13px}.seo-warn{background:#fff3cd}.seo-info{background:#eef6ff}.seo-ok{background:#ecfdf3}.link-suggestions{display:grid;gap:7px}.link-suggestion{background:#fff;color:var(--text);border:1px solid var(--line);text-align:left;font-size:13px}.link-suggestion:hover{border-color:var(--accent)}
.version-badge{display:inline-block;background:#eef2f6;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:13px ui-monospace,SFMono-Regular,monospace;color:var(--muted)}

.language-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.language-tab{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:800}.language-tab.active{background:var(--accent);color:#fff}.language-tab.missing{border-style:dashed}.lang-badge{display:inline-block;padding:4px 8px;border-radius:7px;background:#eef2f6;font-weight:800;font-size:12px}.language-switcher{margin-left:14px;border-left:1px solid #ffffff44;padding-left:8px}.language-switcher a{margin-left:8px;font-size:12px;font-weight:800;opacity:.7}.language-switcher a.active{opacity:1;text-decoration:underline}

.language-switcher{display:inline-flex;align-items:center;gap:6px;margin-left:14px;border-left:1px solid #ffffff44;padding-left:12px}.language-switcher a{display:inline-flex!important;align-items:center;gap:4px;margin-left:0!important;padding:5px 7px;border-radius:8px;font-size:12px;font-weight:800;opacity:.72}.language-switcher a:hover,.language-switcher a.active{opacity:1;background:#ffffff18;text-decoration:none}.lang-icon{font-size:19px;line-height:1}.lang-code{letter-spacing:.04em}.language-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(8,13,24,.82);backdrop-filter:blur(8px)}.language-gate-card{width:min(620px,100%);background:var(--card);color:var(--text);border-radius:24px;padding:34px;box-shadow:0 24px 80px #0008;text-align:center}.language-gate-globe{font-size:42px}.language-gate-card h1{font-size:clamp(30px,6vw,46px);line-height:1.05;margin:10px 0}.language-gate-card>p{color:var(--muted);font-size:18px}.language-gate-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:25px}.language-gate-options a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:13px 15px;color:var(--text);background:#fff}.language-gate-options a:hover{border-color:var(--accent);text-decoration:none;box-shadow:0 6px 18px #0f172a12}.language-gate-options small{color:var(--muted);font-weight:800}@media(max-width:620px){.language-gate-options{grid-template-columns:1fr}.language-switcher .lang-code{display:none}.language-switcher{gap:2px;padding-left:6px;margin-left:6px}.language-switcher a{padding:4px}.language-switcher .lang-icon{font-size:18px}}

/* v0.10.6: icon-only language switcher + affiliate CTA */
.language-switcher{gap:8px;padding-left:14px}.language-switcher a{padding:3px!important;border-radius:8px}.language-switcher .lang-code,.language-switcher .lang-icon{display:none!important}.lang-flag{display:block;width:30px;height:20px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px #ffffff55}.language-switcher a.active .lang-flag{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.language-gate-options{grid-template-columns:repeat(2,minmax(0,1fr))}.language-gate-options a{grid-template-columns:46px 1fr}.gate-flag{width:42px;height:28px;box-shadow:0 0 0 1px #0002}.shop-nav-link{font-weight:900!important}.affiliate-cta{margin:45px 0 0;padding-top:24px;border-top:1px solid var(--line);text-align:center}.affiliate-cta>a{display:block;border-radius:16px;overflow:hidden;background:var(--dark);color:#fff;text-decoration:none;box-shadow:0 12px 30px #0f172a18}.affiliate-cta img{display:block;width:100%;max-height:220px;object-fit:cover}.affiliate-cta-title{display:block;padding:24px 30px;font-size:clamp(22px,4vw,34px);font-weight:900}.affiliate-cta small{display:block;margin-top:10px;color:var(--muted);font-size:12px}@media(max-width:760px){.lang-flag{width:28px;height:19px}.language-switcher{gap:5px}.language-gate-options{grid-template-columns:1fr}}
/* v0.10.9: corrected desktop sticky rail + collision-free mobile banners */
.article-shell{max-width:1120px;margin:50px auto 90px}
.article-shell .article{max-width:860px;margin:0 auto}
.article-shell.has-partner-rail{display:grid;grid-template-columns:minmax(0,860px) var(--partner-rail-width,160px);gap:28px;align-items:stretch}
.article-shell.has-partner-rail .article{width:100%;margin:0}
.partner-rail{min-width:0;align-self:stretch;position:relative}
.partner-vertical-sticky{position:sticky;top:84px;margin:0;z-index:1}
.partner-media{text-align:center}
.partner-media>a{display:block;text-decoration:none}
.partner-media img{display:block;max-width:100%;margin:0 auto;border-radius:10px}
.partner-media small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.35}
.partner-media-horizontal{margin:34px 0}
.partner-media-horizontal img{width:auto;max-width:100%;height:auto;max-height:260px;object-fit:contain}
.partner-horizontal-bottom,.partner-bottom{margin-top:42px}
.partner-media-vertical img{max-width:100%;object-fit:contain}
.partner-mobile-only{display:none}
.prose>.partner-mid{margin:38px 0}
.prose>.partner-mid+*{margin-top:0}
.partner-rail .partner-media small{font-size:10px}
/* Keep the desktop rail all the way down to the real mobile breakpoint. */
@media(max-width:760px){
  .article-shell{margin:30px auto 70px}
  .article-shell.has-partner-rail{display:block}
  .article-shell .article{max-width:860px;margin:0 auto}
  .partner-desktop-only,.partner-rail{display:none!important}
  .partner-mobile-only{display:block}
  /* If vertical and horizontal are assigned to the same mobile slot, the
     explicitly positioned vertical banner wins and the horizontal duplicate
     is hidden only on mobile. Desktop still shows both as configured. */
  .partner-mobile-conflict{display:none!important}
  .partner-media-horizontal{margin:30px 0}
  .partner-media-horizontal img{max-height:none}
  .partner-media small{font-size:11px}
  .partner-media-vertical.partner-mobile-only{margin:38px auto;max-width:min(100%,320px)}
  .partner-media-vertical.partner-mobile-only img{width:auto!important;height:auto!important;max-width:100%;max-height:none}
}

/* v0.10.10: affiliate visibility + mobile navigation baseline */
@media(min-width:761px){
  .partner-desktop-only{display:block!important}
  .article-shell.has-partner-rail>.partner-rail{display:block!important}
}
@media(max-width:760px){
  .public-nav>.nav-links{display:flex}
  .public-nav .language-switcher{display:inline-flex}
}

/* v0.10.11: mobile language-first navigation + neutral partner-content classes */
@media(max-width:760px){
  .theme-rush .public-nav>.nav-links,.theme-sex .public-nav>.nav-links,.theme-fsk18 .public-nav>.nav-links{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:7px 12px!important}
  .theme-rush .public-nav .language-switcher,.theme-sex .public-nav .language-switcher,.theme-fsk18 .public-nav .language-switcher{order:-10!important;flex:0 0 100%!important;margin:0 0 6px!important;padding:0 0 7px!important;border:0!important;border-bottom:1px solid #ffffff26!important;justify-content:center!important;gap:7px!important}
  .theme-rush .public-nav .language-switcher a,.theme-sex .public-nav .language-switcher a,.theme-fsk18 .public-nav .language-switcher a{padding:2px!important;margin:0!important}
  .theme-rush .public-nav .lang-flag,.theme-sex .public-nav .lang-flag,.theme-fsk18 .public-nav .lang-flag{width:25px!important;height:17px!important;border-radius:3px!important}
  .theme-rush .public-nav>.nav-links>a,.theme-sex .public-nav>.nav-links>a,.theme-fsk18 .public-nav>.nav-links>a{font-size:15px!important;font-weight:850!important;padding:6px 5px!important}
}

/* v0.10.12: compact affiliate disclosure */
.partner-disclosure{font-size:10px!important;line-height:1.2!important;opacity:.78;margin-top:4px!important}.partner-footer-note{margin-top:8px;font-size:11px;line-height:1.4;color:#94a3b8;max-width:760px}
