:root { color-scheme:dark; --ink:#eff0ed; --sub:#9ca3a6; --bg:#0e1012; --panel:#191c1f; --border:#343b3e; --red:#e35d52; --redhover:#f17468; --surface:#22272b; }
* { box-sizing:border-box }
html,body { margin:0; min-height:100%; background:var(--bg); color:var(--ink); font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif }
a { color:inherit; text-decoration:none }
button,input,textarea,select { font:inherit }
button { cursor:pointer }
button:disabled { cursor:wait; opacity:.65 }
.site-header { height:78px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 clamp(16px,5vw,72px) }
.brand { display:flex; align-items:center; gap:12px; font-size:16px; font-weight:900; letter-spacing:.06em }
.brand-mark { display:grid;place-items:center;background:var(--red);color:#181a1c;border-radius:5px;width:37px;height:37px;font-weight:1000;font-size:25px }
.brand small { font-size:11px; display:block; color:var(--sub); letter-spacing:.27em; margin-top:1px }
.header-right { display:flex;gap:22px;align-items:center;color:var(--sub);font-size:13px }
.home-link:hover,.small-link:hover { color:white }
.page { max-width:1100px; margin:0 auto; padding:clamp(30px,6vw,85px) 22px 100px; min-height:calc(100vh - 146px) }
.eyebrow { text-transform:uppercase; font-size:12px; letter-spacing:.23em; color:var(--red); font-weight:800 }
h1 { font-size:clamp(36px,7vw,76px); line-height:1.02; letter-spacing:-.05em; margin:12px 0 20px; max-width:820px }
h2 { font-size:clamp(24px,4vw,36px); letter-spacing:-.03em; margin:0 0 18px }
h3 { font-size:22px;letter-spacing:-.02em;margin:8px 0 }
p { line-height:1.7 }
.lede { color:var(--sub); max-width:690px; font-size:clamp(16px,2vw,19px); line-height:1.75; margin-bottom:34px }
.two-col { display:grid; grid-template-columns: minmax(0,1fr) minmax(300px,400px); gap:32px; align-items:start }
.panel { background:var(--panel); border:1px solid var(--border); border-radius:10px; padding:clamp(20px,3vw,34px) }
.panel .panel-title { color:white; font-weight:800; font-size:20px; margin:0 0 10px }
.panel-sub { color:var(--sub);font-size:14px;line-height:1.6; margin-top:0 }
label { display:block; color:#dadfe0; font-size:13px; font-weight:700; margin:18px 0 7px }
input,textarea,select { width:100%; background:#101315; color:var(--ink); border:1px solid #474f52; padding:13px 15px; border-radius:5px; outline:none }
input:focus,textarea:focus,select:focus { border-color:var(--red); box-shadow:0 0 0 2px #e35d5233 }
textarea { resize:vertical; min-height:240px; line-height:1.5; }
.btn { width:auto; display:inline-flex;align-items:center;justify-content:center; gap:9px; background:var(--red); border:1px solid transparent; color:#150b0a; font-weight:850; padding:13px 18px; border-radius:5px; margin-top:16px }
.btn:hover { background:var(--redhover) }
.btn-secondary { border-color:var(--border); background:var(--surface); color:var(--ink) }
.btn-secondary:hover { background:#30363a }
.btn-block { width:100% }
.price { font-size:38px; font-weight:900; letter-spacing:-.04em; margin:12px 0 }
.price small {font-size:16px; color:var(--sub); letter-spacing:0; font-weight:500}
.benefit { padding:9px 0; border-bottom:1px solid #30363a; font-size:15px; color:#d2d6d5 }
.benefit:last-child { border:0 }
.benefit:before { content:'✓'; color:var(--red); padding-right:12px }
.message { color:#c3d9d3; font-size:14px; line-height:1.6; padding-top:12px; min-height:18px }
.message.error { color:#ff9f95 }
.muted,.meta { color:var(--sub) }
.meta { font-size:13px }
.actions { display:flex;flex-wrap:wrap;gap:12px;align-items:center }
.actions .btn { margin-top:0 }
.dashboard-top { display:flex; justify-content:space-between;gap:16px;align-items:flex-start; flex-wrap:wrap;margin-bottom:48px }
.post-grid { display:grid; gap:13px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) }
.post-card { border:1px solid var(--border); background:var(--panel); border-radius:9px; padding:25px; min-height:170px; display:flex;flex-direction:column;gap:13px }
.post-card:hover { border-color:#7e8a8e; background:#202427 }
.post-card h3 { margin:0; font-size:23px }
.post-card .post-read { margin-top:auto; color:var(--red); font-size:13px; font-weight:800 }
.article { max-width:760px }
.article-body { font-size:17px; line-height:1.8; word-break:break-word; margin-top:35px }
.article-body h1,.article-body h2,.article-body h3 {letter-spacing:-.025em;margin:25px 0 14px;line-height:1.2}
.article-body h1 { font-size:37px }
.article-body h2 {font-size:29px}
.article-body h3 {font-size:23px}
.article-body p {margin:0 0 19px}
.article-body a {color:#ff9588;text-decoration:underline;text-underline-offset:3px}
.article-body img {max-width:100%;border-radius:6px}
.article-body blockquote {margin:20px 0; padding-left:18px; border-left:3px solid var(--red); color:#c8cdce }
.article-body ul,.article-body ol {padding-left:23px}
.article-body code {background:#293034;padding:2px 5px;border-radius:3px}
.article-body pre {background:#141718; padding:15px; overflow:auto}
.note {font-size:13px;color:var(--sub);line-height:1.6}
hr {border:none;border-top:1px solid var(--border);margin:25px 0}
.footer { min-height:68px; border-top:1px solid var(--border); padding:20px clamp(16px,5vw,72px); display:flex;gap:20px; justify-content:space-between; flex-wrap:wrap; color:var(--sub);font-size:12px }
.footer span:first-child {color:#d3d5d4; font-weight:900;letter-spacing:.1em}
.pill {font-size:12px;font-weight:700;padding:4px 9px;border:1px solid var(--border);border-radius:50px; display:inline-block;color:#e9e9e9 }
.admin-list {display:grid;gap:10px;margin:20px 0}
.admin-row {display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:5px;padding:12px 14px;color:#d3d7d6}
.loading {color:var(--sub)}
@media (max-width:800px) { .two-col {grid-template-columns:1fr} .site-header {height:72px} .brand {font-size:14px} .header-right {font-size:12px} .page {padding-top:40px} .home-link {display:none} }

/* Member billing controls and owner dashboard */
.max-panel { max-width:440px }
.narrow { max-width:470px }
.spaced-eyebrow { margin-top:44px }
.compact-btn { margin:0; padding:8px 12px }
.plan-options { display:flex; gap:8px; margin:14px 0 18px }
.plan-choice { flex:1; background:#101315; border:1px solid var(--border); color:var(--sub); border-radius:5px; padding:11px 14px; font-weight:800 }
.plan-choice.selected { background:#422b2b; color:#fff; border-color:var(--red) }
.plan-choice:focus-visible,.btn:focus-visible,a:focus-visible { outline:2px solid var(--red);outline-offset:3px }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 30px }
.mini-stat { background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px }
.mini-stat strong { display:block;font-size:30px;font-variant-numeric:tabular-nums }
.mini-stat span { color:var(--sub);font-size:12px }
.admin-row .btn { margin:0;padding:9px 12px;font-size:12px }
@media(max-width:650px) { .stats-grid {grid-template-columns:repeat(2,1fr)} .admin-row {flex-wrap:wrap} }
