/* Scoped presentation only. Catalog content, scores and ordering stay intact. */
body[data-tvi-browse] { --browse-copy: #d1cbc2; }
/* The bespoke Odyssey page has no base stylesheet. Keep its new controls
   self-contained instead of importing a reset over the authored essay. */
body[data-tvi-browse] .hamburger { display:none; background:none; border:0; cursor:pointer; flex-direction:column; gap:4px; }
body[data-tvi-browse] .hamburger span { display:block; width:20px; height:2px; background:#f5f0e8; }
body[data-tvi-browse] .mobile-menu { display:none; position:fixed; inset:0; z-index:500; background:#181715; flex-direction:column; }
body[data-tvi-browse] .mobile-menu.open { display:flex; }
body[data-tvi-browse] .mobile-menu a { color:#f5f0e8; text-decoration:none; }
body[data-tvi-browse] .mobile-menu-close { color:#f5f0e8; font-size:28px; cursor:pointer; }
body[data-tvi-browse] :is(a,button,input,select,summary):focus-visible { outline:2px solid #dfa775; outline-offset:4px; }
body[data-tvi-browse] [hidden] { display:none!important; }
body[data-tvi-browse] :is(.lst-wrap,.bh-wrap,.gl-wrap,.cmp-wrap,.cm-wrap,.cmh-wrap,.ww-wrap,.wwh-wrap) { padding-top:44px; }
body[data-tvi-browse] :is(.lst-intro,.lst-rationale,.lst-answer p,.cmp-rationale,.cm-rationale,.cm-analysis p,.cm-verdict p,.ww-section p,.ww-col p,.ww-faq-a,.gl-hero p,.gl-editorial p,.gl-rationale) { font-size:1rem; line-height:1.7; font-weight:400; color:var(--browse-copy); }
body[data-tvi-browse] :is(.lst-byline,.lst-accountability,.lst-count,.cmp-byline,.cm-byline,.ww-byline,.gl-count) { font-size:.8125rem; line-height:1.6; color:#bfb7ac; }
body[data-tvi-browse] :is(.lst-cat,.lst-sel,.lst-verified,.cmp-tier,.gl-cat,.gl-bar-label,.ww-score-strip-tier) { font-size:.75rem; line-height:1.5; }
body[data-tvi-browse] :is(.lst-mark,.gl-sort-btn,.cmp-link,.cm-title-link,.ww-score-strip-link) { font-size:.875rem; min-height:44px; }
body[data-tvi-browse] .lst-mark { position:static; display:inline-flex; align-items:center; margin-top:12px; width:fit-content; }
body[data-tvi-browse] .lst-card-wrap { flex-direction:column; }
body[data-tvi-browse] .cm-section p { font-size:1rem; font-weight:400; line-height:1.7; color:var(--browse-copy); }
body[data-tvi-browse] .cm-side-link { min-height:44px; font-size:.8125rem; }
body[data-tvi-browse] :is(.lst-card,.cmp-card,.cm-card,.gl-card) { border-radius:6px; }
body[data-tvi-browse] .gl-card:hover { transform:none; }
body[data-tvi-browse] .gl-name { font-size:1.25rem; line-height:1.25; white-space:normal; overflow:visible; }
body[data-tvi-browse] .gl-rationale { display:block; -webkit-line-clamp:unset; overflow:visible; }
body[data-tvi-browse] .gl-card { min-width:0; }
body[data-tvi-browse] .gl-bars { grid-template-columns:repeat(3,minmax(0,1fr)); }
body[data-tvi-browse] .gl-bar-label { overflow-wrap:anywhere; }
body[data-tvi-browse] .gl-sort { flex-wrap:wrap; }
body[data-tvi-browse] .gl-sort-btn { padding:10px 14px; }
body[data-tvi-browse] :is(.gl-bar-label,.cmp-dim-label,.cm-bar-label) { color:#bfb7ac; }
body[data-tvi-browse] :is(.cmp-related-link,.cmh-card,.bh-card,.wwh-card) { min-width:0; }
body[data-tvi-browse] .cmp-related-link { font-size:.9375rem; line-height:1.5; }
body[data-tvi-browse] .cmp-related-link span { font-size:.8125rem; }
body[data-tvi-browse] .ww-score-strip { flex-wrap:wrap; }
body[data-tvi-browse] .ww-score-strip-meta { flex:1 1 160px; }
body[data-tvi-browse] .ww-score-strip-link { display:inline-flex; align-items:center; }
body[data-tvi-browse] .legacy-notice { color:#c8c2b9!important; line-height:1.65!important; }
body[data-tvi-browse] :is(.cmp-dim-section,.cm-dims) { border-radius:6px; }
body[data-tvi-browse] .browse-skip { position:fixed; top:8px; left:16px; z-index:1000; transform:translateY(-160%); padding:12px 18px; background:#f5f0e8; color:#141414; }
body[data-tvi-browse] .browse-skip:focus { transform:none; }
body[data-tvi-browse] #browse-content { scroll-margin-top:100px; }
body[data-tvi-browse] .req-success:focus,
body[data-tvi-browse] .kreq-success:focus { outline:2px solid #dfa775; outline-offset:8px; }
body[data-tvi-browse] :is(.req-success,.kreq-success) button { min-height:44px; padding:12px 18px; font:inherit; cursor:pointer; }
.recovery-search { margin:28px auto; max-width:560px; text-align:left; }
.recovery-search label { display:block; font-size:.875rem; margin-bottom:8px; color:#d1cbc2; }
.recovery-search div { display:flex; gap:10px; }
.recovery-search input { flex:1; min-width:0; padding:13px; border:1px solid #887663; border-radius:5px; background:#22211f; color:#f5f0e8; font:inherit; }
.recovery-search button { border:0; border-radius:5px; padding:12px 18px; background:#d3975b; color:#17130f; font:600 1rem 'DM Sans',sans-serif; }
.recovery-exits { display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:center; }
.recovery-exits a { color:#e0b58d; min-height:44px; display:inline-flex; align-items:center; }
.recovery-wrap h1 { font-family:'Instrument Serif',serif; font-size:clamp(2.4rem,5vw,4rem); font-weight:400; line-height:1.1; margin:10px 0 20px; }
@media(max-width:680px) {
  body[data-tvi-browse] :is(.cmp-card,.cmp-dim-section,.cm-dims) { padding:22px; }
  body[data-tvi-browse] .cmp-dim-row { grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px; gap:10px; }
  body[data-tvi-browse] .cmp-dim-label { grid-column:1/-1; font-size:.875rem; }
  body[data-tvi-browse] .cmp-dim-val { text-align:right; }
  body[data-tvi-browse] .cm-versus-vs { order:0; }
  body[data-tvi-browse] .cm-dim-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  body[data-tvi-browse] .cm-dim-name { grid-column:1/-1; font-size:.875rem; color:#bfb7ac; }
  body[data-tvi-browse] .ww-score-strip-link { margin-left:0; }
  body[data-tvi-browse] .gl-grid { grid-template-columns:1fr; }
  .recovery-search div { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-tvi-browse] * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
