:root {
  --sjm-ink: #171421;
  --sjm-muted: #6f6878;
  --sjm-line: rgba(53, 38, 73, 0.12);
  --sjm-paper: #fffdfb;
  --sjm-purple: #5b2e91;
  --sjm-purple-dark: #3e1d70;
  --sjm-purple-soft: #f1eafa;
  --sjm-coral: #e97c75;
  --sjm-gold: #c99039;
  --sjm-shadow: 0 18px 50px rgba(55, 31, 76, 0.12);
}

.sjm-header,
.sjm-header * {
  box-sizing: border-box;
}

.sjm-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  color: var(--sjm-ink);
  background: rgba(255, 253, 251, 0.94);
  border-bottom: 1px solid var(--sjm-line);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.sjm-header-inner {
  width: min(1180px, calc(100% - 40px));
  min-height: 72px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}

.sjm-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--sjm-ink);
  text-decoration: none;
  line-height: 1;
}

.sjm-logo strong {
  font-family: Georgia, "Times New Roman", "Batang", serif;
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -0.08em;
}

.sjm-logo small {
  margin-top: 6px;
  padding-left: 2px;
  color: var(--sjm-muted);
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.24em;
}

.sjm-desktop-nav {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 4px;
}

.sjm-nav-link,
.sjm-menu-button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #4b4552;
  text-decoration: none;
  border-radius: 999px;
  padding: 11px 15px;
  font: inherit;
  font-size: 0.94rem;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

.sjm-nav-link:hover,
.sjm-menu-button:hover,
.sjm-nav-link:focus-visible,
.sjm-menu-button:focus-visible {
  color: var(--sjm-purple);
  background: var(--sjm-purple-soft);
  outline: none;
}

.sjm-nav-link[aria-current="page"] {
  color: var(--sjm-purple-dark);
  background: #eee4fb;
}

.sjm-menu-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sjm-menu-button::after {
  content: "⌄";
  font-size: 0.9em;
  transform: translateY(-1px);
}

.sjm-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  color: white;
  background: linear-gradient(135deg, #6b35a6, #4a237c);
  box-shadow: 0 10px 24px rgba(76, 35, 126, 0.22);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 800;
  white-space: nowrap;
}


/* V4.43 R3: keep the shared header CTA readable even when page CSS inherits link colors. */
.sjm-header a.sjm-header-cta,
.sjm-header a.sjm-header-cta:link,
.sjm-header a.sjm-header-cta:visited,
.sjm-header a.sjm-header-cta:hover,
.sjm-header a.sjm-header-cta:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  text-shadow: 0 1px 1px rgba(24, 7, 44, 0.22);
}

.sjm-header-cta:hover,
.sjm-header-cta:focus-visible {
  filter: brightness(1.08);
  outline: 3px solid rgba(91, 46, 145, 0.2);
  outline-offset: 2px;
}

.sjm-mobile-menu-button {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sjm-line);
  border-radius: 12px;
  color: var(--sjm-ink);
  background: white;
  font-size: 1.25rem;
  cursor: pointer;
}

.sjm-service-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  width: min(900px, calc(100vw - 40px));
  transform: translateX(-50%);
  padding: 22px;
  border: 1px solid var(--sjm-line);
  border-radius: 22px;
  background: rgba(255, 253, 251, 0.99);
  box-shadow: var(--sjm-shadow);
}

.sjm-service-panel[hidden],
.sjm-mobile-drawer[hidden],
.sjm-menu-backdrop[hidden] {
  display: none !important;
}

.sjm-service-panel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.sjm-service-group {
  padding: 16px;
  border-radius: 16px;
  background: #faf7f3;
}

.sjm-service-group h2,
.sjm-service-group h3 {
  margin: 0 0 12px;
  color: #817589;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.sjm-service-group a,
.sjm-service-group .sjm-coming-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 7px 8px;
  border-radius: 10px;
  color: var(--sjm-ink);
  text-decoration: none;
  font-size: 0.91rem;
  font-weight: 720;
}

.sjm-service-group a:hover,
.sjm-service-group a:focus-visible {
  color: var(--sjm-purple);
  background: white;
  outline: none;
}

.sjm-state {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: #ede7f5;
  color: #6b4d88;
  font-size: 0.68rem;
  font-weight: 850;
}

.sjm-state.free {
  color: #176650;
  background: #e1f3eb;
}

.sjm-state.beta {
  color: #985827;
  background: #fff0db;
}

.sjm-coming-item {
  color: #8d8792 !important;
}

.sjm-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1090;
  background: rgba(22, 15, 31, 0.46);
  backdrop-filter: blur(3px);
}

.sjm-mobile-drawer {
  position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  width: min(390px, 90vw);
  height: 100dvh;
  padding: 22px 20px 38px;
  overflow-y: auto;
  color: var(--sjm-ink);
  background: var(--sjm-paper);
  box-shadow: -18px 0 50px rgba(25, 15, 35, 0.24);
}

.sjm-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--sjm-line);
}

.sjm-drawer-close {
  width: 40px;
  height: 40px;
  border: 1px solid var(--sjm-line);
  border-radius: 12px;
  color: var(--sjm-ink);
  background: white;
  font-size: 1.3rem;
  cursor: pointer;
}

.sjm-drawer-primary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 20px 0;
}

.sjm-drawer-primary a {
  padding: 14px 12px;
  border: 1px solid var(--sjm-line);
  border-radius: 14px;
  color: var(--sjm-ink);
  background: white;
  text-align: center;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 800;
}

.sjm-drawer-primary a[aria-current="page"] {
  color: var(--sjm-purple);
  border-color: #cdb5e5;
  background: var(--sjm-purple-soft);
}

.sjm-drawer-groups {
  display: grid;
  gap: 12px;
}

.sjm-bottom-nav {
  display: none;
}

/* V4.43 R4: 짧은 입력 화면에서도 공통 푸터가 화면 아래에 자연스럽게 위치하도록 합니다. */
body[data-sjm-page="today"],
body[data-sjm-page="saju"],
body.sjm-content-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body[data-sjm-page="today"] > main,
body[data-sjm-page="saju"] > main,
body.sjm-content-page > main {
  flex: 1 0 auto;
  width: 100%;
}

.sjm-common-footer {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 50px;
  color: #625b68;
  background: #fffdfb;
  border-top: 1px solid var(--sjm-line);
}

.sjm-footer-inner {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 34px 0 40px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 40px;
}

.sjm-footer-brand strong {
  display: block;
  color: var(--sjm-ink);
  font-family: Georgia, "Times New Roman", "Batang", serif;
  font-size: 1.25rem;
}

.sjm-footer-brand p {
  margin: 8px 0 0;
  font-size: 0.87rem;
  line-height: 1.7;
}

.sjm-footer-business {
  margin-top: 14px;
  color: #756d79;
  font-size: 0.78rem;
  line-height: 1.65;
}

.sjm-footer-business p {
  margin: 2px 0 0;
  font-size: inherit;
  line-height: inherit;
}

.sjm-footer-business b {
  color: #514a57;
  font-weight: 780;
}

.sjm-footer-business small {
  display: block;
  margin-top: 5px;
  font-size: 0.75rem;
}

.sjm-footer-links {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.sjm-footer-links a {
  color: #625b68;
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 720;
}

.sjm-footer-links a:hover,
.sjm-footer-links a:focus-visible {
  color: var(--sjm-purple);
}

@media (max-width: 820px) {
  body {
    padding-bottom: 70px;
  }

  .sjm-header-inner {
    width: min(100% - 28px, 720px);
    min-height: 64px;
    grid-template-columns: 1fr auto;
    gap: 14px;
  }

  .sjm-logo strong {
    font-size: 1.32rem;
  }

  .sjm-logo small {
    font-size: 0.5rem;
  }

  .sjm-desktop-nav,
  .sjm-header-cta {
    display: none;
  }

  .sjm-mobile-menu-button {
    display: inline-flex;
  }

  .sjm-service-panel {
    display: none !important;
  }

  .sjm-bottom-nav {
    position: fixed;
    z-index: 1050;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    min-height: 64px;
    padding: 7px max(6px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));
    background: rgba(255, 253, 251, 0.96);
    border-top: 1px solid var(--sjm-line);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  .sjm-bottom-nav a,
  .sjm-bottom-nav button {
    appearance: none;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    min-width: 0;
    padding: 4px 2px;
    border: 0;
    color: #746d79;
    background: transparent;
    text-decoration: none;
    font: inherit;
    font-size: 0.68rem;
    font-weight: 750;
    cursor: pointer;
  }

  .sjm-bottom-nav span:first-child {
    font-size: 1rem;
    line-height: 1;
  }

  .sjm-bottom-nav a[aria-current="page"] {
    color: var(--sjm-purple);
  }

  .sjm-footer-inner {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-bottom: 28px;
  }

  .sjm-footer-links {
    justify-content: flex-start;
  }
}

@media (max-width: 430px) {
  .sjm-drawer-primary {
    grid-template-columns: 1fr 1fr;
  }

  .sjm-service-group {
    padding: 14px;
  }
}

/* V33 content-feed studio shell — visual only, backend contracts untouched */
:root{
  --sjm-ink:#111216;
  --sjm-muted:#676d77;
  --sjm-line:#dfe2e7;
  --sjm-paper:#ffffff;
  --sjm-purple:#111216;
  --sjm-purple-dark:#111216;
  --sjm-purple-soft:#f0f2f5;
  --sjm-coral:#ff6847;
  --sjm-gold:#c7f36a;
  --sjm-shadow:0 18px 50px rgba(22,26,35,.10);
}
.sjm-header{background:rgba(255,255,255,.92);border-bottom-color:#e0e3e8}
.sjm-header-inner{min-height:66px}
.sjm-logo strong,.sjm-footer-brand strong{font-family:Pretendard,"Pretendard Variable","Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,sans-serif;font-weight:900;letter-spacing:-.07em}
.sjm-logo strong{font-size:1.35rem}
.sjm-logo small{margin-top:4px;color:#8a9099;font-size:.5rem;letter-spacing:.17em}
.sjm-nav-link,.sjm-menu-button{color:#4e545e;font-size:.88rem;font-weight:850}
.sjm-nav-link:hover,.sjm-menu-button:hover,.sjm-nav-link:focus-visible,.sjm-menu-button:focus-visible,.sjm-nav-link[aria-current="page"]{color:#111216;background:#f0f2f5}
.sjm-header-cta,.sjm-header a.sjm-header-cta,.sjm-header a.sjm-header-cta:link,.sjm-header a.sjm-header-cta:visited,.sjm-header a.sjm-header-cta:hover,.sjm-header a.sjm-header-cta:focus-visible{min-height:40px;border-radius:10px;background:#111216!important;color:#fff!important;-webkit-text-fill-color:#fff;box-shadow:none;text-shadow:none;font-size:.84rem}
.sjm-header-cta:hover,.sjm-header-cta:focus-visible{filter:none;background:#2a2d33!important;outline:3px solid rgba(17,18,22,.12)}
.sjm-mobile-menu-button{border-color:#d9dde3;border-radius:10px;background:#fff;font-size:1.1rem}
.sjm-service-panel{border-color:#d7dbe1;border-radius:18px;background:rgba(255,255,255,.99);box-shadow:0 22px 60px rgba(21,25,35,.12)}
.sjm-service-group{background:#f5f6f8}
.sjm-service-group h2,.sjm-service-group h3{color:#858b95}
.sjm-service-group a:hover,.sjm-service-group a:focus-visible{background:#fff;color:#111216}
.sjm-state.free{color:#193800;background:#dff5a8}
.sjm-state.beta{color:#4f5969;background:#e8ebef}
.sjm-mobile-drawer{background:#fff}
.sjm-bottom-nav{background:rgba(255,255,255,.95);border-top-color:#dfe2e7}
.sjm-bottom-nav a[aria-current="page"]{color:#111216}
.sjm-common-footer{background:#111216;color:#fff;border-top:0}
.sjm-footer-brand p,.sjm-footer-business{color:#aeb4bd}
.sjm-footer-links a{color:#dfe3e9}

.sjm-related-strip{padding:54px 0;background:#f4f5f7;border-top:1px solid #dfe2e7}
.sjm-related-inner{width:min(1120px,calc(100% - 40px));margin:0 auto}
.sjm-related-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.sjm-related-head span{display:block;color:#777e88;font-size:.72rem;font-weight:900;letter-spacing:.04em}
.sjm-related-head h2{margin:5px 0 0;color:#111216;font-family:Pretendard,"Pretendard Variable","Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,sans-serif;font-size:1.85rem;letter-spacing:-.06em}
.sjm-related-head a{color:#111216;text-decoration:none;font-size:.8rem;font-weight:900}
.sjm-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.sjm-related-grid a{display:block;min-height:132px;padding:17px;border:1px solid #d7dbe1;border-radius:16px;background:#fff;color:#111216;text-decoration:none;transition:.16s ease}
.sjm-related-grid a:hover,.sjm-related-grid a:focus-visible{border-color:#111216;transform:translateY(-2px);outline:none}
.sjm-related-grid small,.sjm-related-grid strong,.sjm-related-grid span{display:block}
.sjm-related-grid small{color:#8a9099;font-size:.68rem;font-weight:900}
.sjm-related-grid strong{margin-top:24px;font-size:1rem;letter-spacing:-.04em}
.sjm-related-grid span{margin-top:5px;color:#737983;font-size:.73rem}
@media(max-width:820px){.sjm-related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.sjm-header-inner{width:min(100% - 26px,600px);min-height:60px}.sjm-related-inner{width:min(100% - 28px,600px)}.sjm-related-strip{padding:42px 0}.sjm-related-head{align-items:start}.sjm-related-head h2{font-size:1.55rem}.sjm-related-grid{display:flex;overflow-x:auto;margin-right:-14px;padding-right:14px;scrollbar-width:none}.sjm-related-grid::-webkit-scrollbar{display:none}.sjm-related-grid a{flex:0 0 150px}}

/* V33 service skin: keep DOM/JS contracts, remove legacy beige/night-sky template styling */
body[data-sjm-page="lifetime"],
body[data-sjm-page="saju"],body[data-sjm-page="manse"],body[data-sjm-page="compat"],body[data-sjm-page="newyear"],body[data-sjm-page="tarot"],body[data-sjm-page="dream"]{
  --bg:#f6f7f9;--paper:#fff;--ink:#111216;--muted:#6b717b;--line:#d9dde3;--accent:#111216;--accent-soft:#eef1f5;
  --research:#4b6fff;--research-soft:#e8edff;--held:#6f7680;--held-soft:#eef0f3;--danger:#bd2c2c;--shadow:0 16px 42px rgba(22,26,35,.07);
  --color-bg:#f6f7f9;--color-bg-soft:#eef1f5;--color-card:#fff;--color-card-border:#d9dde3;--color-text:#111216;--color-text-muted:#6b717b;
  --color-gold:#4b6fff;--color-gold-soft:#111216;--color-accent:#ff6847;--color-danger:#bd2c2c;--shadow-card:0 16px 42px rgba(22,26,35,.07);
  background:#f6f7f9!important;color:#111216!important;
}
body[data-sjm-page="lifetime"] .stars,
body[data-sjm-page="saju"] .stars,body[data-sjm-page="manse"] .stars,body[data-sjm-page="compat"] .stars,body[data-sjm-page="newyear"] .stars,body[data-sjm-page="tarot"] .stars,body[data-sjm-page="dream"] .stars{display:none!important}
body[data-sjm-page="lifetime"] main,body[data-sjm-page="saju"] main,body[data-sjm-page="manse"] main,body[data-sjm-page="compat"] main,body[data-sjm-page="newyear"] main,body[data-sjm-page="tarot"] main,body[data-sjm-page="dream"] main{background:transparent!important;color:#111216}
body[data-sjm-page="lifetime"] .intro,body[data-sjm-page="lifetime"] .hero,
body[data-sjm-page="saju"] .hero,body[data-sjm-page="manse"] .hero,body[data-sjm-page="compat"] .hero,body[data-sjm-page="newyear"] .hero,body[data-sjm-page="tarot"] .hero,body[data-sjm-page="dream"] .hero{padding-top:48px!important}
body[data-sjm-page="saju"] .hero-title,body[data-sjm-page="manse"] .hero-title,body[data-sjm-page="compat"] .hero-title,body[data-sjm-page="newyear"] .hero-title,body[data-sjm-page="tarot"] .hero-title,body[data-sjm-page="dream"] .hero-title{
  background:none!important;color:#111216!important;-webkit-text-fill-color:#111216;font-size:clamp(2.35rem,5vw,4.7rem)!important;line-height:1!important;letter-spacing:-.07em!important;
}
body[data-sjm-page="saju"] .hero-subtitle,body[data-sjm-page="manse"] .hero-subtitle,body[data-sjm-page="compat"] .hero-subtitle,body[data-sjm-page="newyear"] .hero-subtitle,body[data-sjm-page="tarot"] .hero-subtitle,body[data-sjm-page="dream"] .hero-subtitle{color:#656c76!important;line-height:1.7!important}
body[data-sjm-page="saju"] .saju-eyebrow,body[data-sjm-page="manse"] .manse-eyebrow,body[data-sjm-page="compat"] .compat-eyebrow,body[data-sjm-page="newyear"] .newyear-eyebrow,body[data-sjm-page="tarot"] .tarot-eyebrow,body[data-sjm-page="dream"] .dream-eyebrow{color:#4b6fff!important;letter-spacing:.04em!important}

body[data-sjm-page="saju"] main [class*="card"],body[data-sjm-page="manse"] main [class*="card"],body[data-sjm-page="compat"] main [class*="card"],body[data-sjm-page="newyear"] main [class*="card"],body[data-sjm-page="tarot"] main [class*="card"],body[data-sjm-page="dream"] main [class*="card"]{
  background:#fff!important;border-color:#d9dde3!important;color:#111216!important;box-shadow:0 12px 34px rgba(22,26,35,.055)!important;
}
body[data-sjm-page="saju"] main [class*="card"] p,body[data-sjm-page="manse"] main [class*="card"] p,body[data-sjm-page="compat"] main [class*="card"] p,body[data-sjm-page="newyear"] main [class*="card"] p,body[data-sjm-page="tarot"] main [class*="card"] p,body[data-sjm-page="dream"] main [class*="card"] p{color:#69707a!important}
body[data-sjm-page="saju"] main [class*="card"] strong,body[data-sjm-page="manse"] main [class*="card"] strong,body[data-sjm-page="compat"] main [class*="card"] strong,body[data-sjm-page="newyear"] main [class*="card"] strong,body[data-sjm-page="tarot"] main [class*="card"] strong,body[data-sjm-page="dream"] main [class*="card"] strong,
body[data-sjm-page="saju"] main [class*="card"] h2,body[data-sjm-page="manse"] main [class*="card"] h2,body[data-sjm-page="compat"] main [class*="card"] h2,body[data-sjm-page="newyear"] main [class*="card"] h2,body[data-sjm-page="tarot"] main [class*="card"] h2,body[data-sjm-page="dream"] main [class*="card"] h2,
body[data-sjm-page="saju"] main [class*="card"] h3,body[data-sjm-page="manse"] main [class*="card"] h3,body[data-sjm-page="compat"] main [class*="card"] h3,body[data-sjm-page="newyear"] main [class*="card"] h3,body[data-sjm-page="tarot"] main [class*="card"] h3,body[data-sjm-page="dream"] main [class*="card"] h3{color:#111216!important}
body[data-sjm-page="saju"] input,body[data-sjm-page="saju"] select,body[data-sjm-page="saju"] textarea,
body[data-sjm-page="manse"] input,body[data-sjm-page="manse"] select,body[data-sjm-page="manse"] textarea,
body[data-sjm-page="compat"] input,body[data-sjm-page="compat"] select,body[data-sjm-page="compat"] textarea,
body[data-sjm-page="newyear"] input,body[data-sjm-page="newyear"] select,body[data-sjm-page="newyear"] textarea,
body[data-sjm-page="tarot"] input,body[data-sjm-page="tarot"] select,body[data-sjm-page="tarot"] textarea,
body[data-sjm-page="dream"] input,body[data-sjm-page="dream"] select,body[data-sjm-page="dream"] textarea{background:#f6f7f9!important;border-color:#d4d8df!important;color:#111216!important;color-scheme:only light!important}
body[data-sjm-page="saju"] input::placeholder,body[data-sjm-page="manse"] input::placeholder,body[data-sjm-page="compat"] input::placeholder,body[data-sjm-page="newyear"] input::placeholder,body[data-sjm-page="tarot"] input::placeholder,body[data-sjm-page="dream"] input::placeholder,body[data-sjm-page="dream"] textarea::placeholder{color:#9ba1aa!important}
body[data-sjm-page="saju"] .primary-btn,body[data-sjm-page="manse"] .primary-btn,body[data-sjm-page="compat"] .primary-btn,body[data-sjm-page="newyear"] .primary-btn,body[data-sjm-page="tarot"] .primary-btn,body[data-sjm-page="dream"] .primary-btn{background:#111216!important;color:#fff!important;border-color:#111216!important;box-shadow:none!important}
body[data-sjm-page="saju"] .ghost-btn,body[data-sjm-page="manse"] .ghost-btn,body[data-sjm-page="compat"] .ghost-btn,body[data-sjm-page="newyear"] .ghost-btn,body[data-sjm-page="tarot"] .ghost-btn,body[data-sjm-page="dream"] .ghost-btn{background:#fff!important;color:#111216!important;border-color:#d9dde3!important}
body[data-sjm-page="saju"] .saju-support-note,body[data-sjm-page="manse"] .manse-support-note,body[data-sjm-page="compat"] .compat-support-note{background:#eef1f5!important;border-color:#d9dde3!important;color:#616872!important}
body[data-sjm-page="saju"] .saju-support-note strong,body[data-sjm-page="manse"] .manse-support-note strong,body[data-sjm-page="compat"] .compat-support-note strong{color:#111216!important}
body[data-sjm-page="manse"] .manse-fact,body[data-sjm-page="manse"] .manse-pillar-card,body[data-sjm-page="manse"] .manse-hidden-card,body[data-sjm-page="manse"] .manse-element-card,body[data-sjm-page="manse"] .manse-limit-grid article,
body[data-sjm-page="compat"] .compat-person-input,body[data-sjm-page="compat"] .compat-summary-grid>*,body[data-sjm-page="compat"] .compat-limit-grid article,
body[data-sjm-page="newyear"] .newyear-year-button,body[data-sjm-page="newyear"] .newyear-limit-grid article,
body[data-sjm-page="tarot"] .tarot-promise-grid article,body[data-sjm-page="tarot"] .tarot-limit-grid article,body[data-sjm-page="tarot"] .tarot-scope-card,
body[data-sjm-page="dream"] .dream-promise-grid article,body[data-sjm-page="dream"] .dream-limit-grid article,body[data-sjm-page="dream"] .dream-scope-card{background:#fff!important;border-color:#d9dde3!important;color:#111216!important;box-shadow:none!important}
body[data-sjm-page="tarot"] .tarot-deck{background:#eef1f5!important;border-color:#d9dde3!important}
body[data-sjm-page="tarot"] .tarot-card-back{background:#111216!important;border-color:#111216!important;color:#fff!important}
body[data-sjm-page="dream"] .dream-choice-grid span{background:#fff!important;border-color:#d9dde3!important;color:#4f5660!important}
body[data-sjm-page="dream"] .dream-choice-grid input:checked+span{background:#e8edff!important;border-color:#4b6fff!important;color:#22346e!important;box-shadow:none!important}
body[data-sjm-page="dream"] .dream-example-row button{background:#fff!important;border-color:#d9dde3!important;color:#525963!important}

/* Lifetime keeps the exact form/result DOM but gets the same contemporary surface. */
body[data-sjm-page="lifetime"]{font-family:Pretendard,"Pretendard Variable","Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,sans-serif!important}
body[data-sjm-page="lifetime"] .page-shell{background:#f6f7f9!important}
body[data-sjm-page="lifetime"] .intro{max-width:1080px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
body[data-sjm-page="lifetime"] .intro h1{font-size:clamp(2.8rem,6vw,5.6rem)!important;line-height:.96!important;letter-spacing:-.075em!important;color:#111216!important}
body[data-sjm-page="lifetime"] .intro p{color:#656c76!important}
body[data-sjm-page="lifetime"] .panel,body[data-sjm-page="lifetime"] .input-panel,body[data-sjm-page="lifetime"] .question-panel,body[data-sjm-page="lifetime"] .result-panel,body[data-sjm-page="lifetime"] [class*="card"]{background:#fff!important;border-color:#d9dde3!important;box-shadow:0 12px 34px rgba(22,26,35,.055)!important;color:#111216!important}
body[data-sjm-page="lifetime"] input,body[data-sjm-page="lifetime"] select,body[data-sjm-page="lifetime"] textarea{background:#f6f7f9!important;border-color:#d4d8df!important;color:#111216!important;color-scheme:only light!important}
body[data-sjm-page="lifetime"] .primary-btn,body[data-sjm-page="lifetime"] button[type="submit"]{background:#111216!important;color:#fff!important;border-color:#111216!important;box-shadow:none!important}
body[data-sjm-page="lifetime"] .question-card,body[data-sjm-page="lifetime"] [data-question-key]{background:#fff!important;border-color:#d9dde3!important;color:#111216!important}
body[data-sjm-page="lifetime"] .question-card[aria-pressed="true"],body[data-sjm-page="lifetime"] [data-question-key][aria-pressed="true"]{background:#e8edff!important;border-color:#4b6fff!important;color:#111216!important}
body[data-sjm-page="lifetime"] .tag,body[data-sjm-page="lifetime"] .eyebrow,body[data-sjm-page="lifetime"] .section-kicker{color:#4b6fff!important}

@media(max-width:700px){
  body[data-sjm-page="lifetime"] .intro h1{font-size:3.15rem!important}
  body[data-sjm-page="saju"] .hero-title,body[data-sjm-page="manse"] .hero-title,body[data-sjm-page="compat"] .hero-title,body[data-sjm-page="newyear"] .hero-title,body[data-sjm-page="tarot"] .hero-title,body[data-sjm-page="dream"] .hero-title{font-size:2.75rem!important}
}

/* V34 cross-service story continuity. Progressive enhancement only. */
.sjm-episode-ribbon{background:#f4f2ed;border-bottom:1px solid #d8d5ce;opacity:0;transform:translateY(-8px);transition:opacity .35s ease,transform .35s ease}.sjm-episode-ribbon.is-visible{opacity:1;transform:none}.sjm-episode-inner{width:min(1180px,calc(100% - 40px));min-height:92px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.sjm-episode-inner>div{display:flex;align-items:center;gap:13px}.sjm-episode-inner small{padding:6px 9px;border-radius:999px;background:#151516;color:#fff;font-size:.65rem;font-weight:950}.sjm-episode-inner strong{font-size:.95rem}.sjm-episode-inner span{color:#706e69;font-size:.76rem}.sjm-episode-inner>i{position:relative;display:block;width:110px;height:54px;border:2px solid #151516;border-radius:14px;background:#fff;overflow:hidden}.motif-sun .sjm-episode-inner>i::before{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;border:3px solid #151516;border-radius:50%;background:#f6d44b;transform:translate(-50%,-50%)}.motif-grid .sjm-episode-inner>i{background:repeating-linear-gradient(90deg,transparent 0 24px,#151516 24px 26px),repeating-linear-gradient(0deg,transparent 0 24px,#151516 24px 26px),#fff}.motif-pair .sjm-episode-inner>i::before,.motif-pair .sjm-episode-inner>i::after{content:"";position:absolute;top:13px;width:27px;height:27px;border:2px solid #151516;border-radius:50%;background:#f6bfd0}.motif-pair .sjm-episode-inner>i::before{left:26px}.motif-pair .sjm-episode-inner>i::after{right:26px;background:#cad3ff}.motif-year .sjm-episode-inner>i::before{content:"2026 → 2037";position:absolute;inset:0;display:grid;place-items:center;background:#c9f16d;font-size:.65rem;font-weight:950}.motif-cards .sjm-episode-inner>i::before,.motif-cards .sjm-episode-inner>i::after{content:"";position:absolute;left:50%;top:8px;width:28px;height:38px;border:2px solid #151516;border-radius:5px;background:#f6d44b;transform:translateX(-50%) rotate(-14deg)}.motif-cards .sjm-episode-inner>i::after{background:#cad3ff;transform:translateX(-50%) rotate(14deg)}.motif-dream .sjm-episode-inner>i::before{content:"꿈";position:absolute;left:50%;top:50%;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#151516;color:#fff;font-size:.7rem;font-weight:950;transform:translate(-50%,-50%);box-shadow:-34px 6px 0 -8px #f6bfd0,35px -5px 0 -9px #c9f16d}
body[data-sjm-page="saju"] .sjm-episode-ribbon,body[data-sjm-page="manse"] .sjm-episode-ribbon{background:#f7f7f5}
@media(max-width:700px){.sjm-episode-inner{width:calc(100% - 28px);min-height:72px}.sjm-episode-inner>div{display:grid;grid-template-columns:auto 1fr;gap:4px 9px}.sjm-episode-inner span{grid-column:2}.sjm-episode-inner>i{width:76px;height:46px}}
@media(prefers-reduced-motion:reduce){.sjm-episode-ribbon{opacity:1;transform:none;transition:none}}
/* R95 R9 shared shell: 장식보다 정보 계층이 먼저 보이는 절기 아카이브 메뉴. */
body.sjm-r9-reframed .sjm-desktop-nav{gap:10px}
body.sjm-r9-reframed .sjm-desktop-nav>a:before,body.sjm-r9-reframed .sjm-desktop-nav>button:after{font-variant-numeric:tabular-nums}
body.sjm-r9-reframed .sjm-drawer-primary a{border-bottom:1px solid var(--r9-line);border-radius:0;background:transparent}
body.sjm-r9-reframed .sjm-drawer-primary a[aria-current="page"]{color:var(--r9-paper-light);background:var(--r9-jade-deep)}
body.sjm-r9-reframed .sjm-episode-ribbon{border-block:1px solid var(--r9-line);background:#e9e2d4}
body.sjm-r9-reframed .sjm-episode-inner{position:relative}
body.sjm-r9-reframed .sjm-episode-inner:after{content:"";position:absolute;right:0;top:50%;width:96px;height:32px;transform:translateY(-50%);background:linear-gradient(90deg,var(--r9-cinnabar) 0 32%,var(--r9-gold) 32% 64%,var(--r9-jade) 64%);opacity:.88}
body.sjm-r9-reframed .sjm-episode-inner small{color:var(--r9-cinnabar);letter-spacing:.12em}
body.sjm-r9-reframed .sjm-episode-inner strong{font-family:var(--r9-display);font-weight:600}
body.sjm-r9-reframed .sjm-r9-route-mark{width:min(1240px,calc(100% - 56px));margin:0 auto;padding:15px 0 13px;display:flex;align-items:center;gap:12px;color:var(--r9-muted);font-size:.7rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}
body.sjm-r9-reframed .sjm-r9-route-mark:before{content:"";width:36px;height:1px;background:var(--r9-cinnabar)}
body.sjm-r9-reframed .sjm-r9-route-mark b{color:var(--r9-jade-deep);font-family:var(--r9-display);font-size:.84rem;font-weight:600;letter-spacing:-.03em;text-transform:none}
@media(max-width:900px){body.sjm-r9-reframed .sjm-r9-route-mark{width:min(100% - 34px,760px)}}
@media(max-width:700px){body.sjm-r9-reframed .sjm-r9-route-mark{width:calc(100% - 28px);padding-block:11px;font-size:.62rem}.sjm-r9-route-mark:before{width:22px!important}.sjm-episode-inner:after{display:none}}
/* R95 R10 paid-report static heading and dynamic status accessibility repair. */
body.sjm-r9-reframed .report-accessible-heading{
  width:min(1120px,calc(100% - 40px));
  margin:clamp(36px,6vw,72px) auto 18px;
  color:var(--r9-ink);
  font-size:clamp(2rem,4.8vw,4.5rem);
  line-height:1.08;
}
body.sjm-r9-reframed .report-cover-title{
  color:inherit;
  font-family:var(--r9-display);
  font-size:clamp(1.8rem,4vw,3.7rem);
  font-weight:560;
  letter-spacing:-.055em;
  line-height:1.12;
  text-wrap:balance;
}
@media(max-width:700px){
  body.sjm-r9-reframed .report-accessible-heading{width:calc(100% - 28px);margin-block:28px 14px}
}
