/* Creator Landing Theme Engine · shared base (SP-03). Brand via :root --brand/--brand-rgb (index.html). */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#0b0b0f;background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.lsroot{display:flex;flex-direction:column;min-height:100vh}
.ms-sec{font-family:var(--c-font,inherit);text-align:var(--c-align,center);padding:calc(48px + var(--c-pad,14px)) 24px;color:var(--c-color,inherit)}
.ms-sec[style*="--c-bg:"]{background:var(--c-bg)}
.ms-sec h1,.ms-sec h2,.ms-sec h3{font-weight:var(--c-weight,700);font-style:var(--c-italic,normal);text-decoration:var(--c-underline,none);letter-spacing:-0.02em}
.ms-sec [contenteditable]{outline:none}
.ms-sec [contenteditable]:empty::before{content:attr(data-ph);opacity:.4}
.ms-icon{display:inline-block;vertical-align:middle}
.cbx-item{font-family:var(--c-font,inherit);text-align:var(--c-align,center);color:var(--c-color,inherit);margin:22px auto;max-width:min(100%,860px)}
.cbx-ghost{opacity:.42}
/* ── ADDENDUM D.1 · shared-helper rules (ALWAYS emitted, since ctaMarkup/avatarMarkup/sideImgMarkup are shared) ── */
.ms-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;background:var(--brand,#4F46E5);color:#fff;font-weight:600;font-size:15px;line-height:1;text-decoration:none;border:0;cursor:pointer;transition:filter .15s ease,transform .15s ease}
.ms-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
.ms-avatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;object-fit:cover;font-weight:700;color:#fff;vertical-align:middle;flex-shrink:0}
.ms-avatar-txt{font-size:1.5rem;letter-spacing:.02em;line-height:1}
.ms-shape-circle{border-radius:50%}
.ms-shape-rounded{border-radius:18px}
.ms-shape-square{border-radius:0}
.ms-shape-hexagon{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.ms-grad-0{background:linear-gradient(135deg,#6366f1,#8b5cf6)}
.ms-grad-1{background:linear-gradient(135deg,#ec4899,#f43f5e)}
.ms-grad-2{background:linear-gradient(135deg,#14b8a6,#0ea5e9)}
.ms-grad-3{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.ms-grad-4{background:linear-gradient(135deg,#22c55e,#16a34a)}
@media (max-width:640px){.ms-sec{padding:calc(32px + var(--c-pad,14px)) 20px}}

/* CON-822: dark scoped to the creator's chosen theme (html[data-theme="dark"]), NEVER prefers-color-scheme. */
html[data-theme="dark"] body{color:#f2f2f7;background:#0b0b0f}
html[data-theme="dark"] .ms-sec{color:var(--c-color,#f2f2f7)}


.ms-mem{font-family:var(--c-font);text-align:var(--c-align);color:var(--c-color,inherit)}
.ms-mem-heading{font-size:calc(15px*var(--c-scale,1));font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin-bottom:22px}
.ms-mem-card{background:var(--c-bg,#fff);border:1px solid #ececf5;border-radius:22px;padding:32px 28px;display:flex;flex-direction:column;text-align:center;box-shadow:0 20px 60px rgba(15,15,25,.06);position:relative}
.ms-mem-card.is-hot{border-color:var(--brand);box-shadow:0 24px 70px rgba(var(--brand-rgb),.22)}
.ms-mem-card-body{flex:1 1 auto;min-width:0}
.ms-mem-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--brand);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.ms-mem-name{font-size:calc(20px*var(--c-scale,1));font-weight:700;letter-spacing:-.01em;overflow-wrap:break-word}
.ms-mem-price{font-size:calc(34px*var(--c-scale,1));font-weight:800;letter-spacing:-.03em;margin-top:10px}
.ms-mem-features{list-style:none;margin:16px 0 0;padding:0;text-align:left;display:inline-block}
.ms-mem-features li{position:relative;padding-left:26px;margin:8px 0;color:#4a4a58;font-size:15px}
.ms-mem-features li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--brand);font-weight:800}
.ms-mem-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;color:#fff;background:var(--brand);box-shadow:0 10px 26px rgba(var(--brand-rgb),.32)}
.ms-mem-cta:hover{transform:translateY(-1px)}
html[data-theme="dark"] .ms-mem-card{background:#15151d;border-color:#24242f;box-shadow:0 20px 60px rgba(0,0,0,.5)}
html[data-theme="dark"] .ms-mem-features li{color:#a1a1b2}
.ms-mem-credits{margin:10px 0 0;font-size:13px;font-weight:600;color:var(--brand);letter-spacing:.01em}
.ms-mem-empty{display:flex;justify-content:center}
.ms-mem-card--empty{max-width:360px;align-items:center;justify-content:center;min-height:150px}
.ms-mem--cards .ms-mem-cards{display:grid;gap:22px;justify-content:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),320px));align-items:stretch;max-width:1040px;margin:0 auto}
.ms-profile{display:flex;flex-direction:column;align-items:center;gap:calc(14px + var(--c-pad,14px));padding:72px 24px}
.ms-name{font-size:calc(40px*var(--c-scale,1));font-weight:var(--c-weight,700);letter-spacing:-.02em;line-height:1.08;color:var(--c-color,inherit);font-style:var(--c-italic,normal);text-decoration:var(--c-underline,none);text-wrap:balance}
.ms-tagline{font-size:calc(18px*var(--c-scale,1));line-height:1.5;max-width:46ch;color:var(--c-color,#4a4a58)}
.ms-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(var(--brand-rgb),.12);color:var(--brand)}
.ms-badge-tick{font-size:11px;line-height:1}
.ms-av-150{width:150px;height:150px}.ms-av-128{width:128px;height:128px}.ms-av-70{width:70px;height:70px}
html[data-theme="dark"] .ms-tagline{color:var(--c-color,#b7b7c6)}
.ms-profile--centered{text-align:center}
.ls-footer{margin-top:auto;padding:28px 24px;text-align:center;color:#8a8a98;font-size:13px;background:#f4f4fb}
.ls-footer p + p{margin-top:6px}
.ls-footer-copy{opacity:.85}
html[data-theme="dark"] .ls-footer{background:#101018;color:#7a7a88}
