/* Screen-only report surfaces. Keep generated content, lock state, paging and print intact. */
@media screen {
  /* The introductory guide belongs to intake; an opened report starts immediately. */
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3):has(#input-section[hidden]) .product-seo,
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3):has(#input-section[hidden]) [data-cp-examples],
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3):has(#studio-input[hidden]) .product-seo,
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) .salon-intake-layout:has(#input-section[hidden]) {
    display: none !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) :is(#result-section, #studio-result) {
    --salon-ink: var(--reading-ink);
    --salon-muted: var(--reading-muted);
    --salon-line: var(--reading-line);
    --salon-gold: var(--ir-accent);
    --tr-paper: var(--reading-panel);
    --tr-ink: var(--reading-ink);
    --tr-muted: var(--reading-muted);
    --tr-line: var(--reading-line);
    --tr-soft: var(--ir-soft);
    --tr-gold: var(--ir-accent);
    --tr-plum: var(--ir-accent);
    --report-surface: var(--reading-panel);
    --report-highlight: var(--ir-soft);
    --reading-action: var(--ir-soft);
    --ir-positive: #38624c;
    --ir-care: #9b4a40;
    color: var(--reading-ink);
    font-size: 16px;
    line-height: 1.8;
    min-width: 0;
    scroll-margin-top: 24px;
  }

  html.theme-dark[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) :is(#result-section, #studio-result) {
    --ir-positive: #a9cdb4;
    --ir-care: #e4b1a8;
  }

  /* A quiet frame for each reading, with the product color reserved for emphasis. */
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section {
    background: transparent !important;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section > :is(.card, .rune-section-block, .symbol-report-header) {
    padding: 28px;
    margin-bottom: 18px;
    background: var(--reading-panel) !important;
    border: 1px solid var(--reading-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section > :is(.tarot-report-cover, .symbol-report-header) {
    padding: 30px;
    background: var(--ir-soft) !important;
    border-color: var(--reading-line) !important;
    color: var(--reading-ink) !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.tarot-report-cover, .symbol-report-header) h2 {
    color: var(--reading-ink) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: clamp(23px, 3vw, 30px);
    line-height: 1.5;
    letter-spacing: -.035em;
    margin: 0 0 12px;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.tarot-report-cover .tarot-intake-note, .tarot-report-cover .reading-recipient, .symbol-report-header .symbol-eyebrow) {
    color: var(--reading-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 12px;
    line-height: 1.7;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .tarot-report-cover > a {
    color: var(--ir-accent) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section > .tarot-answer-lead {
    border-top: 3px solid var(--ir-accent) !important;
    background: var(--reading-panel) !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.intro-text, .interpretation-text, .symbol-chapter-body, .r-para, .rune-intro-body) {
    font-size: 16px;
    line-height: 1.8;
    overflow-wrap: anywhere;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.tarot-answer-section h2, .symbol-chapter > h3) {
    font-size: 21px;
    line-height: 1.5;
    color: var(--ir-accent) !important;
    -webkit-text-fill-color: currentColor !important;
    margin-bottom: 16px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.symbol-chapter, .reading-section-card) {
    border-color: var(--reading-line);
    box-shadow: none;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .symbol-chapter {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .symbol-chapter:first-child {
    padding-top: 4px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.symbol-chapter-number, .rune-section-icon) {
    color: var(--ir-accent);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-section-header {
    border-bottom-color: var(--reading-line);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .tarot-answer-lead .r-para:first-child {
    font-size: 18px;
    line-height: 1.8;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .tarot-answer-section + .tarot-answer-section {
    margin-top: 28px;
    padding-top: 24px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section [data-kind="action"] > .interpretation-text {
    background: var(--ir-soft);
    border-color: var(--ir-accent);
    border-radius: 6px;
  }

  /* Artwork and the original Goblin card back are intentionally untouched. */
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.tarot-card-visual, .lenormand-card-face) {
    border-radius: 8px !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card {
    background: var(--reading-panel) !important;
    border: 1px solid var(--reading-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card::before {
    background: var(--ir-accent);
    opacity: .55;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card:hover {
    transform: none;
    border-color: var(--ir-accent) !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card .rune-card-name {
    color: var(--reading-ink) !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card :is(.rune-card-korean, .rune-card-keywords) {
    color: var(--reading-muted) !important;
    border-color: var(--reading-line);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card-pos {
    border: 0;
    border-radius: 4px !important;
    background: var(--ir-soft);
    color: var(--ir-accent) !important;
    line-height: 1.6;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card-dir {
    border-radius: 4px !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card-dir.is-up {
    color: var(--ir-positive);
    border-color: color-mix(in srgb, var(--ir-positive) 30%, transparent);
    background: color-mix(in srgb, var(--ir-positive) 8%, transparent);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rune-card-dir.is-rev {
    color: var(--ir-care);
    border-color: color-mix(in srgb, var(--ir-care) 30%, transparent);
    background: color-mix(in srgb, var(--ir-care) 8%, transparent);
  }

  /* Saju chapters retain their chart, source evidence and window-scroll reader. */
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result .studio-report-head {
    padding: 28px 0;
    border-color: var(--reading-line);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result .studio-report-head h1 {
    font-size: clamp(26px, 3.6vw, 36px);
    line-height: 1.5;
    margin-bottom: 18px;
    color: var(--reading-ink);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-overview, .studio-prose, .studio-action p, .studio-next li) {
    font-size: 16px;
    line-height: 1.8;
    color: var(--reading-ink);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-chapter, .studio-chart, .studio-blessing) {
    padding: 28px;
    margin: 20px 0;
    background: var(--reading-panel);
    border: 1px solid var(--reading-line);
    border-radius: 8px !important;
    box-shadow: none;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-summary-box, .studio-question-verdict, .studio-action) {
    padding: 20px;
    border-color: var(--reading-line);
    border-radius: 6px !important;
    background: var(--ir-soft);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-question-verdict, .studio-action) {
    border-left-color: var(--ir-accent);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-chapter-summary, .studio-question-verdict-text) {
    font-size: 19px;
    line-height: 1.8;
    color: var(--reading-ink);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result .studio-chapters-nav {
    padding: 16px;
    gap: 8px;
    background: var(--reading-panel);
    border: 1px solid var(--reading-line);
    border-radius: 8px;
    margin: 20px 0;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result .studio-chapters-nav a {
    padding: 8px 10px;
    border-radius: 4px;
    background: var(--ir-soft);
    color: var(--ir-accent);
    font-size: 12px;
    line-height: 1.5;
    text-decoration: none;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-strengths li, .studio-pillar) {
    border-radius: 6px !important;
    border-color: var(--reading-line);
  }

  /* Reunion / compatibility share report structure but inherit different accents. */
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report {
    --rs-bg: var(--reading-paper);
    --rs-surface: var(--reading-panel);
    --rs-surface-2: var(--ir-soft);
    --rs-ink: var(--reading-ink);
    --rs-muted: var(--reading-muted);
    --rs-accent: var(--ir-accent);
    --rs-accent-ink: var(--ir-on-accent);
    --rs-line: var(--reading-line);
    --rs-good: var(--ir-positive);
    --rs-care: var(--ir-care);
    --rs-calm: var(--reading-muted);
    --rs-shadow: none;
    --rs-radius: 8px;
    font-size: 16px;
    line-height: 1.8;
    border-radius: 8px !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report :is(.rs-verdict, .rs-chapter, .rs-closing) {
    padding: 26px;
    margin-left: 0;
    margin-right: 0;
    border-radius: 8px !important;
    box-shadow: none;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report :is(.rs-verdict-cell, .rs-revisit, .rs-callout, .rs-pane, .rs-loop-step, .rs-month, .rs-promises li, .rs-question, .cp-chat, .cp-tease-card, .cp-bubble) {
    border-radius: 6px !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-toc {
    padding: 16px 0 4px;
    gap: 8px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-toc a {
    border-radius: 4px !important;
    padding: 9px 12px;
    font-size: 13px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report :is(.rs-chapter h2, .rs-verdict h2) {
    font-size: 22px;
    line-height: 1.5;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report :is(.rs-callout p, .rs-pane p, .rs-pane li, .rs-promises li, .rs-verdict-cell p) {
    font-size: 15.5px;
    line-height: 1.8;
  }

  /* Continue the chosen product characters into the report, with quiet reading space. */
  html[data-goblin-design] body.site-ui[data-mobile-flow="reunion"]:not(.home-v3) #result-section .rs-cover {
    --ir-cover: url('/images/emerald/portrait-aura-v1/ko/reunion-768.webp');
  }
  html[data-goblin-design] body.site-ui[data-mobile-flow="compat"]:not(.home-v3) #result-section .rs-cover {
    --ir-cover: url('/images/emerald/portrait-aura-v1/ko/compat-768.webp');
  }
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-cover {
    display: block;
    min-height: 0;
    padding: 0 !important;
    background: var(--reading-paper) !important;
  }
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-cover::before {
    content: '';
    position: relative;
    display: block;
    height: clamp(190px, 35vw, 280px);
    background: linear-gradient(180deg, transparent 55%, var(--reading-paper) 100%), var(--ir-cover) center 19% / cover !important;
  }
  @media (max-width: 760px) {
    html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-cover::before {
      background-position: center, center top !important;
    }
  }
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-cover :is(h1,.rs-pair,.rs-kicker) {
    color: var(--reading-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-question {
    background: var(--ir-soft) !important;
    color: var(--reading-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-question span {
    color: var(--reading-muted) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .reunion-bplus-report {
    --bplus-page: var(--reading-paper);
    --bplus-surface: var(--reading-panel);
    --bplus-surface-soft: var(--ir-soft);
    --bplus-border: var(--reading-line);
    --bplus-border-strong: var(--reading-line);
    --bplus-heading: var(--reading-ink);
    --bplus-body: var(--reading-ink);
    --bplus-secondary: var(--reading-muted);
    --bplus-muted: var(--reading-muted);
    --bplus-accent: var(--ir-accent);
    --bplus-accent-soft: var(--ir-soft);
    --bplus-link: var(--ir-accent);
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.reunion-bplus-hero, .reunion-bplus-section, .reunion-v5-card, .reunion-v5-month-detail, .reunion-month-practice, .reunion-month-reference-card, .reunion-explore-grid a) {
    border-radius: 8px !important;
    box-shadow: none !important;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .reunion-bplus-report :is(p, li, dd) {
    line-height: 1.8;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) :is(#result-section, #studio-result) :is(.actions button, .cp-actions button, .cp-share-btn, .studio-report-controls button) {
    min-height: 44px;
    border-radius: 6px !important;
    box-shadow: none;
    font-size: 14px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) :is(#result-section, #studio-result) :is(.rs-toc a, .studio-chapters-nav a, .actions button, .cp-actions button, .cp-share-btn, .studio-report-controls button):focus-visible {
    outline: 2px solid var(--ir-accent);
    outline-offset: 3px;
  }
}

@media screen and (max-width: 760px) {
  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section > :is(.card, .rune-section-block, .symbol-report-header) {
    padding: 22px 18px;
    margin-bottom: 14px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.tarot-report-cover, .symbol-report-header) h2 {
    font-size: 23px;
    line-height: 1.5;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.intro-text, .interpretation-text, .symbol-chapter-body, .r-para, .rune-intro-body) {
    font-size: 15px;
    line-height: 1.8;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section :is(.tarot-answer-section h2, .symbol-chapter > h3, .rs-report .rs-chapter h2, .rs-report .rs-verdict h2) {
    font-size: 20px;
    line-height: 1.5;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .tarot-answer-lead .r-para:first-child {
    font-size: 17px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-chapter, .studio-chart, .studio-blessing) {
    padding: 22px 18px;
    margin: 16px 0;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-summary-box, .studio-question-verdict, .studio-action) {
    padding: 16px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-overview, .studio-prose, .studio-action p, .studio-next li) {
    font-size: 15px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result :is(.studio-chapter-summary, .studio-question-verdict-text) {
    font-size: 17px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result .studio-chart-grid {
    gap: 6px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result .studio-pillar {
    padding: 12px 4px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #studio-result .studio-pillar b {
    font-size: 25px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report :is(.rs-verdict, .rs-chapter, .rs-closing) {
    padding: 22px 18px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report :is(.rs-callout p, .rs-pane p, .rs-pane li, .rs-promises li, .rs-verdict-cell p) {
    font-size: 15px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-cover-inner {
    padding: 24px 18px;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow]:not(.home-v3) #result-section .rs-report .rs-cover h1 {
    font-size: 26px;
    line-height: 1.4;
  }
}

@media screen and (max-width: 560px) {
  /* Stable stone + description columns; each line remains beside its own rune. */
  html[data-goblin-design] body.site-ui[data-mobile-flow="rune"]:not(.home-v3) #result-section .rune-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 4px;
    padding: 16px;
    align-items: start;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow="rune"]:not(.home-v3) #result-section .rune-card-pos {
    grid-column: 1 / -1;
    width: auto;
    margin: 0 0 10px;
    text-align: left;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow="rune"]:not(.home-v3) #result-section .rune-card-stone {
    grid-column: 1;
    grid-row: 2 / 5;
    margin: 0;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow="rune"]:not(.home-v3) #result-section .rune-card :is(.rune-card-name, .rune-card-korean, .rune-card-dir) {
    grid-column: 2;
    width: auto;
    margin: 0;
    text-align: left;
    justify-self: start;
  }

  html[data-goblin-design] body.site-ui[data-mobile-flow="rune"]:not(.home-v3) #result-section .rune-card-keywords {
    grid-column: 1 / -1;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.7;
  }
}
