:root {
  --bg: #0b0b0d;
  --surface: #151519;
  --surface-2: #1d1d23;
  --text: #f6f6f7;
  --muted: #a6a6b0;
  --line: #2b2b34;
  --accent: #f0f0f3;
  --accent-text: #0b0b0d;
  --radius: 18px;
  --shadow: 0 14px 40px rgba(0,0,0,.28);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:var(--bg); color:var(--text); line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button, input, select, textarea { font:inherit; }
.container { width:min(1120px, calc(100% - 32px)); margin-inline:auto; }
.age-notice { background:#f1f1f3; color:#111; text-align:center; padding:8px 16px; font-size:.84rem; }
.site-header { position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); background:rgba(11,11,13,.86); border-bottom:1px solid var(--line); }
.header-inner { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { font-weight:800; letter-spacing:-.02em; font-size:1.1rem; }
.nav { display:flex; gap:18px; color:var(--muted); font-size:.94rem; }
.nav a:hover { color:var(--text); }
.hero { padding:76px 0 42px; }
.eyebrow { margin:0 0 8px; color:var(--muted); font-size:.78rem; font-weight:800; letter-spacing:.14em; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(2.15rem, 6vw, 4.5rem); line-height:1.03; letter-spacing:-.055em; max-width:800px; margin-bottom:18px; }
h2 { font-size:clamp(1.65rem, 3vw, 2.35rem); letter-spacing:-.04em; margin-bottom:0; }
h3 { font-size:1.25rem; letter-spacing:-.02em; margin:10px 0; }
.hero-copy { color:var(--muted); font-size:1.04rem; max-width:700px; }
.search-panel { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; margin-top:30px; }
input, select, textarea { width:100%; border:1px solid var(--line); background:var(--surface); color:var(--text); border-radius:12px; padding:13px 14px; outline:none; }
input:focus, select:focus, textarea:focus { border-color:#6b6b77; }
.section { padding:54px 0; }
.section-muted { background:#101014; border-block:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:22px; }
.result-count { color:var(--muted); margin:0; }
.creator-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
.creator-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.creator-image-link { display:block; background:#202027; aspect-ratio:4/3; overflow:hidden; }
.creator-image { width:100%; height:100%; object-fit:cover; }
.creator-card-body { padding:18px; }
.creator-card-body p { color:var(--muted); font-size:.94rem; }
.tag-row { display:flex; flex-wrap:wrap; gap:7px; }
.tag { display:inline-flex; padding:4px 9px; border:1px solid var(--line); border-radius:999px; color:#cfcfd5; font-size:.76rem; }
.card-actions, .admin-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:42px; padding:10px 14px; border-radius:11px; border:1px solid var(--line); cursor:pointer; font-weight:750; font-size:.9rem; }
.btn-primary { background:var(--accent); color:var(--accent-text); border-color:var(--accent); }
.btn-secondary { background:var(--surface-2); color:var(--text); }
.btn-large { min-height:50px; padding:13px 18px; font-size:1rem; }
.pr-badge { font-size:.68rem; padding:2px 5px; border:1px solid currentColor; border-radius:4px; }
.empty-state, .error { padding:24px; border:1px dashed var(--line); border-radius:var(--radius); color:var(--muted); }
.site-footer { border-top:1px solid var(--line); padding:34px 0; color:var(--muted); }
.footer-inner { display:flex; justify-content:space-between; gap:20px; }
.site-footer p { margin:.35rem 0 0; }
.footer-links { display:flex; align-items:center; }
.creator-detail-wrap { padding:60px 0; }
.creator-detail-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; background:var(--surface); border:1px solid var(--line); border-radius:24px; overflow:hidden; }
.detail-media { background:#202027; min-height:440px; }
.detail-media img { width:100%; height:100%; object-fit:cover; }
.detail-body { padding:44px 38px 38px 0; align-self:center; }
.detail-body h1 { font-size:clamp(2rem,5vw,3.5rem); margin:12px 0 16px; }
.detail-description, .disclosure { color:var(--muted); }
.back-link { margin-top:24px; }
.admin-wrap { padding:50px 0 80px; display:grid; grid-template-columns:2fr 1fr; gap:20px; }
.admin-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.admin-card h1 { font-size:2.2rem; margin-bottom:10px; }
.admin-card h2 { font-size:1.2rem; }
.muted { color:var(--muted); }
.field-label { display:block; font-weight:750; margin:18px 0 7px; }
.top-gap { margin-bottom:18px; }
.char-counter { color:var(--muted); text-align:right; font-size:.8rem; margin-top:6px; }
.note-card ol { padding-left:20px; }
code { background:#222229; padding:2px 6px; border-radius:6px; }
@media (max-width: 860px) {
  .creator-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .search-panel { grid-template-columns:1fr; }
  .creator-detail-card, .admin-wrap { grid-template-columns:1fr; }
  .detail-body { padding:0 24px 28px; }
  .detail-media { min-height:auto; aspect-ratio:4/3; }
}
@media (max-width: 560px) {
  .nav { gap:10px; font-size:.84rem; }
  .hero { padding-top:52px; }
  .creator-grid { grid-template-columns:1fr; }
  .footer-inner { flex-direction:column; }
  .card-actions .btn { flex:1; }
}

.affiliate-links{display:grid;gap:10px;margin-top:18px}
.affiliate-link-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-weight:750}
.affiliate-link-card.is-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}

.posts-page{padding:54px 0}.posts-title{font-size:clamp(2rem,5vw,3.4rem);margin:0}.posts-search{margin:0 0 24px;grid-template-columns:2fr 1fr}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.post-media-link{display:block;aspect-ratio:1/1;background:#202027;overflow:hidden}.post-media{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:18px}.post-card-body h2{font-size:1.2rem;margin:4px 0 8px}.post-card-body p{color:var(--muted);font-size:.92rem}.post-creator{margin:0!important;font-size:.78rem!important}
.post-detail-wrap{padding:54px 0}.post-detail-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.post-detail-media-wrap{background:#202027;min-height:520px}.post-detail-media{width:100%;height:100%;object-fit:cover}.post-detail-body{padding:38px;align-self:center}.post-detail-body h1{font-size:clamp(2rem,5vw,3.6rem)}
@media(max-width:860px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-detail-card{grid-template-columns:1fr}.post-detail-media-wrap{min-height:auto;aspect-ratio:1/1}}
@media(max-width:560px){.post-grid{grid-template-columns:1fr}.posts-search{grid-template-columns:1fr}.post-detail-body{padding:24px}}

.related-block{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.related-block h2{font-size:1.25rem;margin-bottom:12px}
.related-links{display:grid;gap:8px}
.related-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);color:#ddd}
.related-links a:hover{color:#fff}

html,body{max-width:100%;overflow-x:hidden}
.container,.header-inner,.creator-card,.post-card,.creator-detail-card,.post-detail-card{min-width:0}
.creator-card-body,.post-card-body,.detail-body,.post-detail-body{min-width:0}
.creator-card-body h3,.post-card-body h2,.detail-body h1,.post-detail-body h1{overflow-wrap:anywhere}
.btn,.affiliate-link-card{max-width:100%}
@media(max-width:700px){
  .container{width:min(100% - 22px,1120px)}
  .header-inner{min-height:58px;gap:10px}
  .site-header .brand{flex:0 0 auto}
  .nav{min-width:0;overflow-x:auto;white-space:nowrap;gap:14px;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .age-notice{font-size:.76rem;padding:7px 10px}
  .hero{padding:38px 0 30px}
  .hero h1{font-size:clamp(2rem,11vw,3.1rem)}
  .hero-copy{font-size:.96rem}
  .section{padding:38px 0}
  .section-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .creator-grid,.post-grid{grid-template-columns:1fr}
  .creator-image-link,.post-media-link{aspect-ratio:1/1}
  .creator-card-body,.post-card-body{padding:15px}
  .card-actions{display:grid;grid-template-columns:1fr}
  .card-actions .btn{width:100%}
  .creator-detail-wrap,.post-detail-wrap{padding:24px 0}
  .creator-detail-card,.post-detail-card{border-radius:16px;gap:0}
  .detail-media,.post-detail-media-wrap{min-height:0;aspect-ratio:1/1}
  .detail-body,.post-detail-body{padding:20px 16px 22px}
  .detail-body h1,.post-detail-body h1{font-size:2rem}
  .affiliate-link-card{align-items:flex-start}
  .affiliate-link-card span:first-child{min-width:0;overflow-wrap:anywhere}
  .related-links a{gap:8px;overflow-wrap:anywhere}
  .site-footer{padding:24px 0}
}
@media(max-width:380px){
  .container{width:min(100% - 16px,1120px)}
  .nav{gap:10px;font-size:.78rem}
  .hero h1{font-size:1.9rem}
  .tag{font-size:.7rem}
}
