/* Reading-only additions to the approved e36a7c9 black/neon stylesheet.
   The base style.css palette, controls, hero and element design are unchanged. */
.test-notice { margin:0; padding:12px 16px; background:var(--lime); color:#000; text-align:center; font-weight:700; }
.brand-note { color:var(--muted); font-size:12px; }
.hero-start { max-width:320px; margin-top:24px; }
.hero h1 span { white-space:normal; }
.report-header { min-width:0; }
.report-header .ghost { margin-bottom:22px; }
.report-header h1 { color:var(--lime); font-size:clamp(32px,5vw,56px); }
.report-description { color:var(--muted); max-width:48em; }
.result-layout { display:flex; flex-direction:column; gap:26px; overflow:visible; }
.report-foundations { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.report-foundations > * { min-width:0; }
#view-result .score-reference { margin:0; }
#purchase-receipt { width:100%; margin:0; }
.reading { width:100%; }
.track > p { max-width:56em; line-height:1.9; margin:0 0 20px; }
.track-label,html[lang="ko"] .track-label { white-space:normal; overflow-wrap:anywhere; font-size:20px; line-height:1.5; }
.next-reading { display:flex; width:100%; justify-content:space-between; gap:16px; margin-top:24px; padding:18px; border:1px solid var(--lime); background:var(--panel); color:var(--lime); font:700 16px var(--font); cursor:pointer; }
.next-reading:hover { background:var(--lime); color:#000; }
.legacy-restore { display:grid; gap:12px; border-top:1px solid currentColor; margin-top:20px; padding-top:20px; }
.legacy-restore input { background:var(--bg); }
.payment-consent { display:block; overflow-wrap:anywhere; }
.payment-consent input { margin-right:8px; }
.report-loading-mark { font:900 36px var(--head); color:var(--lime); }
.report-loading-mark small { font-size:14px; }
@media(max-width:719px) {
  .brand-note { display:none; }
  .report-foundations { grid-template-columns:1fr; gap:16px; }
  .track > p { font-size:15px; line-height:1.9; }
  .cat-tabs { top:60px; }
  .experience-steps { gap:6px 22px; }
}

/* Measured sticky offsets follow the actual header/tab sizes, including zoom. */
.cat-tabs { top:var(--reading-header-height,60px); }
.category { scroll-margin-top:var(--reading-section-offset,140px); }

.disc-tab { min-height:48px; }

/* Existing reading navigation, with a price shortcut only before purchase. */
.reading-tools { position:sticky; top:var(--reading-header-height,60px); z-index:2; background:var(--bg); }
.reading-tools:has(.reading-purchase) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.reading-tools .cat-tabs { position:static; min-width:0; }
.reading-purchase { max-width:132px; min-height:48px; padding:8px 10px; border:1px solid var(--lime); background:var(--lime); color:#000; font:700 12px/1.3 var(--font); cursor:pointer; }
.site-menu { position:relative; margin-left:auto; }
.site-menu summary { display:flex; align-items:center; min-height:44px; padding:6px 10px; border:1px solid var(--line); cursor:pointer; font-size:13px; list-style:none; }
.site-menu summary::-webkit-details-marker { display:none; }
.site-menu nav { position:absolute; right:0; top:100%; width:220px; padding:8px; border:1px solid var(--line); background:var(--bg); }
.site-menu nav button,.site-menu nav a { display:flex; align-items:center; width:100%; min-height:44px; padding:8px 10px; border:0; background:none; color:var(--ink); font:14px var(--font); text-align:left; cursor:pointer; }
.topbar .lang { margin-left:0; min-height:44px; }
.topbar .brand { display:inline-flex; align-items:center; min-height:44px; }
.primary::after { content:"→"; }
#full-edition-cta::after { content:"↓"; }
#teaser-edition-cta::after { content:none; display:none; }
#birth-form,.editions,.purchase-restore-hint,#unlock-panel { scroll-margin-top:var(--reading-section-offset,140px); }

/* Checkout guidance only: keep text readable on the lime panel. */
.unlock .hint { color:inherit; }
.is-pending,.is-pending:hover,.is-pending:focus-visible { background:#242424; color:#dedede; border:1px solid #666; opacity:1; cursor:default; }
#full-edition-cta.is-pending { flex-wrap:wrap; gap:6px 12px; }
#full-edition-cta.is-pending span { white-space:nowrap; word-break:keep-all; }
.is-pending::after { content:none!important; display:none; }
html[lang="ko"] .experience-steps { flex-direction:column; align-items:flex-start; }

/* A selected definition is separate from the visitor's confirmed element. */
.element-detail-title { margin:16px 0 8px; font-size:16px; text-transform:none; }
.element-item.is-selected { outline:2px solid var(--lime); outline-offset:-3px; }
.element-item { cursor:pointer; }
.reading-purchase.is-pending,.reading-purchase.is-pending:hover,.reading-purchase.is-pending:focus-visible { background:#242424; color:#dedede; border-color:#666; }
