/* EvidenceLib cancer-study catalog: three-column library reader (sidebar, reading room, right rail). */
:root{--bg:#f4f8fb;--panel:#fff;--ink:#14283a;--muted:#5d7385;--line:#dce6ee;--teal:#0f6f78;--teal-soft:#e4f4f4;--accent:#1c8d86;--hl:#fbe9a4;--side1:#0b3d4c;--side2:#041a2a;--chip:#e8f1f7;--radius:14px;--reader:17px}
:root[data-theme=dark]{--bg:#0c1a26;--panel:#112636;--ink:#e6f0f7;--muted:#9fb6c7;--line:#223c50;--teal:#6fd3d0;--teal-soft:#123a40;--accent:#59c9c1;--hl:#5b4c12;--chip:#173246}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1a26;--panel:#112636;--ink:#e6f0f7;--muted:#9fb6c7;--line:#223c50;--teal:#6fd3d0;--teal-soft:#123a40;--accent:#59c9c1;--hl:#5b4c12;--chip:#173246}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--teal)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 12px;border-radius:8px;z-index:50}.skip:focus{left:8px}
.shell{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:100vh}
.side{background:linear-gradient(180deg,var(--side1),var(--side2));color:#d6e9ee;padding:22px 18px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#fff;margin-bottom:18px}.brand img{width:48px;height:48px;border-radius:12px}.brand b{display:block;font-size:1.15rem}.brand small{display:block;font-size:.76rem;color:#a9cdd6}
.side form{margin-bottom:6px}.sbox{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 12px}.sbox input{flex:1;min-width:0;background:none;border:0;color:#fff;outline:none}.sbox input::placeholder{color:#a9c5cf}
.side h2{font-size:.72rem;letter-spacing:.14em;color:#8fbac6;margin:22px 0 8px;text-transform:uppercase}.side nav a{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#d6e9ee;text-decoration:none;padding:9px 12px;border-radius:10px}.side nav a:hover,.side nav a[aria-current=page]{background:rgba(255,255,255,.1);color:#fff}.side nav a span{font-size:.75rem;background:rgba(255,255,255,.12);border-radius:999px;padding:1px 8px}
.upgrade{display:block;margin-top:22px;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;font-size:.85rem}.upgrade b{display:block}.upgrade small{color:#b5d3da}
.top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.crumbs{display:flex;gap:8px;align-items:center;flex:1;min-width:200px;font-size:.88rem;color:var(--muted)}.crumbs a{color:var(--ink);text-decoration:none;padding:6px 10px;border:1px solid var(--line);border-radius:10px}.crumbs [aria-current]{color:var(--ink);font-weight:600}
.tool{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:7px 12px;font-size:.85rem}.tool:hover{border-color:var(--accent)}.tool[aria-pressed=true]{background:var(--teal-soft);border-color:var(--accent)}
.themes{display:flex;gap:6px;align-items:center;font-size:.85rem;color:var(--muted)}.themes select{border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--panel)}
.stage{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;padding:24px;align-items:start}
.reading{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px;min-width:0}
.eyebrow{font:700 .72rem/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.16em;color:var(--teal);text-transform:uppercase;margin:0 0 14px}
.reading h1{font:700 clamp(1.7rem,3.2vw,2.6rem)/1.15 "Source Serif 4",Georgia,"Times New Roman",serif;margin:0 0 10px}
.meta{color:var(--muted);font-size:.9rem;margin:0 0 14px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.chip{max-width:100%;overflow-wrap:anywhere;background:var(--chip);border-radius:9px;padding:5px 11px;font-size:.8rem}.chip.ok{background:var(--teal-soft);color:var(--teal);font-weight:600}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:6px 0 22px;overflow:auto}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;color:var(--muted);white-space:nowrap}.tabs button[aria-selected=true]{color:var(--ink);font-weight:700;border-color:var(--accent)}
.body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px}.toc{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px;align-self:start;position:sticky;top:78px}.toc h2{font-size:.95rem;margin:0 0 10px}.toc a{display:block;padding:7px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.9rem}.toc a.on,.toc a:hover{background:var(--teal-soft)}
.prose{font-size:var(--reader);line-height:1.75;font-family:"Source Serif 4",Georgia,serif;min-width:0}.prose h2{font:700 1.45rem/1.3 "Source Serif 4",Georgia,serif;margin:1.6em 0 .5em;scroll-margin-top:90px}.prose h2:first-child{margin-top:0}.prose p{margin:0 0 1em;overflow-wrap:anywhere}
.callout{display:flex;gap:14px;background:var(--teal-soft);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:1.2em 0;font-size:.95em}.callout b{display:block;font:700 .72rem/1 ui-monospace,monospace;letter-spacing:.1em;color:var(--teal);text-transform:uppercase;margin-bottom:6px}
dl.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0;font-family:Inter,system-ui,sans-serif;font-size:.92rem}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0;overflow-wrap:anywhere}
.rail{display:grid;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card h2{font-size:1rem;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.card h2 a{font-size:.8rem;font-weight:500}
.card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.card li a{display:block;color:var(--ink);text-decoration:none}.card li small{display:block;color:var(--muted)}.card p{margin:0 0 8px;font-size:.88rem;color:var(--muted)}
textarea.notes{width:100%;min-height:150px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--bg)}
.panel[hidden]{display:none}
/* catalog index */
.hero h1{font:700 clamp(1.8rem,3.4vw,2.8rem)/1.15 "Source Serif 4",Georgia,serif;margin:0 0 10px}.hero p{max-width:760px;color:var(--muted)}
.filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto;gap:10px;margin:18px 0 8px}.filters input,.filters select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg)}.filters label{display:flex;gap:6px;align-items:center;font-size:.88rem;color:var(--muted)}
.count{margin:6px 0 14px;color:var(--muted);font-size:.9rem}.list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.list li{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel)}.list li[hidden]{display:none}.list h3{font:600 1.05rem/1.35 "Source Serif 4",Georgia,serif;margin:0 0 4px}.list h3 a{text-decoration:none;color:var(--ink)}.list h3 a:hover{color:var(--teal)}.list p{margin:0 0 8px;color:var(--muted);font-size:.9rem}
.families{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:14px 0 24px;list-style:none;padding:0}.families a{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel);text-decoration:none;color:var(--ink)}.families span{color:var(--muted)}
.empty{padding:20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
.foot{padding:20px 24px;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line)}
.prose mark,.hl{background:var(--hl)}
@media(max-width:1180px){.stage{grid-template-columns:minmax(0,1fr)}.rail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media(max-width:900px){.shell{display:block}.side{position:static;height:auto;padding:14px}.side nav{display:flex;flex-wrap:wrap;gap:6px}.side nav a{padding:7px 10px}.side h2{margin:12px 0 6px}.body{grid-template-columns:1fr}.toc{position:static}.reading{padding:20px 18px}.top{padding:10px 14px}.stage{padding:14px}.filters{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.side,.top,.rail,.tabs{display:none}.shell{display:block}.reading{border:0}}

.col{min-width:0}.list li,.list h3,.list p{min-width:0;overflow-wrap:anywhere}
.filters{align-items:center}.filters>span{display:flex;flex-direction:column;gap:6px}.filters label{white-space:nowrap}.filters input[type=search]{height:44px}.filters input[type=checkbox]{width:auto}
/* ---- mock-aligned polish: icons, sidebar rows, toolbar, reading room details */
.ic{flex:none;vertical-align:-3px}
.side nav a{gap:12px;justify-content:flex-start}.side nav a em{font-style:normal;flex:1;min-width:0}.side nav a .ic{opacity:.85}.side nav a span{margin-left:auto}
.side nav a[aria-current=page]{background:rgba(255,255,255,.12)}
.sbox kbd{margin-left:auto;font:600 .7rem ui-monospace,monospace;color:#a9c5cf;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:2px 6px}
.side h2 small{text-transform:none;letter-spacing:0;font-size:.7rem;opacity:.7;margin-left:6px}
.upgrade{display:flex;align-items:center;gap:12px}.upgrade>span{flex:1}.upgrade .ic:first-child{color:#f3c34a}
.crumbs a{display:inline-flex;gap:6px;align-items:center}
.tool .ic{margin-right:2px}.tool{align-items:center}.tool[aria-pressed=true]{background:var(--teal-soft)}
.themesel{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:0 4px 0 10px;background:var(--panel)}.themesel select{border:0;background:none;padding:7px 4px}
.more{position:relative}.more summary{list-style:none;cursor:pointer}.more summary::-webkit-details-marker{display:none}.menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:190px;display:grid;box-shadow:0 12px 30px rgba(10,40,60,.18);z-index:9}.menu button{background:none;border:0;text-align:left;padding:9px 12px;border-radius:8px}.menu button:hover{background:var(--teal-soft)}
.chip .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2fb67c;margin-right:7px}.chip.time{background:none;color:var(--muted);padding-left:0}.chip.time .ic{margin-right:6px}
.eyebrow{border-left:3px solid var(--accent);padding-left:12px}
.toc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.toc-head h2{margin:0}.toc-toggle{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:6px 8px}.toc[data-collapsed] [data-toc-list]{display:none}.toc a.on{border-left:3px solid var(--accent);border-radius:4px 8px 8px 4px;background:var(--teal-soft)}
.insight{display:flex;gap:16px;align-items:flex-start;background:var(--teal-soft);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:1.4em 0}.insight .ic{color:var(--teal);width:30px;height:30px}.insight p{margin:0 0 8px;font-size:1.02em}.ins-label{display:inline-flex;font:600 .8rem Inter,sans-serif;color:var(--muted)}.ins-label::before{content:"";width:22px;border-top:2px solid var(--accent);margin:.6em 8px 0 0}
.card h2 .ic{color:var(--teal);margin-right:4px}.card h2{justify-content:flex-start}.card h2 a{margin-left:auto}
.cites{display:grid;gap:10px}.cites li{display:flex;gap:10px;align-items:center}
.askbar{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px;background:var(--panel);position:sticky;bottom:12px}.askbar input{flex:1;border:0;background:none;outline:none;min-width:0}.askbar button{width:38px;height:38px;border-radius:50%;border:0;background:#0f6f78;color:#fff;display:grid;place-items:center}
mark.hl{background:var(--hl);color:inherit;border-radius:3px;padding:0 1px}
[data-mynotes] blockquote{margin:0 0 8px;padding:8px 10px;border-left:3px solid #f0c64a;background:var(--bg);border-radius:6px;font-size:.88rem}
@media(max-width:900px){.side nav a .ic{display:none}.side nav a{padding:7px 10px}.askbar{position:static}}

/* encyclopedia article components */
.prose h2{font:700 1.5rem/1.25 "Source Serif 4",Georgia,serif;margin:1.6em 0 .5em;scroll-margin-top:90px}.prose h3{font-size:1.15rem}.prose table{border-collapse:collapse;width:100%;font-size:.92rem}.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.prose figure{margin:1.2em 0}
.table-scroll{width:100%;max-width:100%;overflow-x:auto}.table-scroll table{min-width:700px}
.scope-note{margin:0 0 20px;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;background:var(--teal-soft)}.scope-note h2{margin:0 0 8px;font-size:1.1rem}
.chart{margin:20px 0;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.chart svg{width:100%;height:auto;max-height:260px}.chart figcaption{font-size:.85rem;color:var(--muted)}
.bar{fill:var(--teal)}.val{fill:var(--ink);font:600 13px system-ui}.lab{fill:var(--muted);font:12.5px system-ui}.axis{stroke:var(--line)}
.study{margin:22px 0}.ref{font-size:.8em;text-decoration:none}.refs li,.reviews li{margin:10px 0}.reviews{list-style:none;padding:0}.attr{font-size:.85rem;color:var(--muted)}
.prov{display:grid;grid-template-columns:150px 1fr;gap:6px 14px}.prov dt{font-weight:700}.prov dd{margin:0}.reading-summary{padding:12px;background:var(--chip);border-radius:8px}
.cards{list-style:none;padding:0;margin:14px 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.cards a{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}.cards a:hover{border-color:var(--teal)}.cards span{color:var(--muted);font-size:.9rem}
.rail .facts,.prose .facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px;padding:0}.rail .facts div,.prose .facts div{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}.rail .facts dt,.prose .facts dt{font:700 1.15rem "Source Serif 4",Georgia,serif;color:var(--teal);margin:0;float:none;width:auto}.rail .facts dd,.prose .facts dd{margin:0;font-size:.78rem;color:var(--muted);line-height:1.3;overflow-wrap:anywhere}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.az a{padding:3px 8px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:.85rem}.list .letter{border:0;background:none;padding:6px 0;font:700 1.3rem Georgia,serif;color:var(--teal)}.steps{padding-left:1.2em}.steps li{margin:8px 0}
.pager{display:flex;justify-content:space-between;gap:12px;margin:28px 0 12px}.pager a{padding:10px 14px;border:1px solid var(--line);border-radius:10px;text-decoration:none}.cc{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.crumbs{flex:1 1 240px;min-width:0;overflow:hidden;white-space:nowrap}.crumbs [aria-current]{overflow:hidden;text-overflow:ellipsis}.crumbs a{flex:none}@media(max-width:1250px){.themes{font-size:0}.themes .themesel{font-size:.85rem}}
@media(max-width:900px){.prov{grid-template-columns:1fr}}

/* paid panels */
.lockmark{display:inline-flex;vertical-align:-2px;opacity:.7}.lockbox{display:flex;gap:14px;align-items:flex-start;border:1px dashed var(--teal);background:var(--teal-soft);border-radius:14px;padding:18px}.lockbox .ic{flex:none;color:var(--teal);margin-top:2px}.lockbox p{margin:6px 0}
.btn{display:inline-block;padding:9px 16px;border-radius:10px;background:var(--teal);color:#fff;text-decoration:none;font-weight:600}.btn.ghost{background:none;color:var(--teal);border:1px solid var(--teal)}
.rungs{list-style:none;padding:0;margin:14px 0;display:grid;gap:12px}.rungs li{display:grid;grid-template-columns:minmax(150px,220px) 1fr auto;gap:12px;align-items:center}.rungs .track{height:12px;border-radius:6px;background:var(--chip);overflow:hidden}.rungs .fill{display:block;height:100%;background:var(--teal)}.rungs small{color:var(--muted)}
.fineprint{font-size:.85rem;color:var(--muted)}

/* Tablet reading mode: shared by articles, textbooks, and cancer studies.
   Keep the desktop reading room unchanged above 900px. */
@media (min-width: 601px) and (max-width: 900px) {
  .shell, .body, .stage, .reading, .col { min-width: 0; }
  .side { padding: 12px 20px; }
  .side nav { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
  .side nav a { flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; }
  .side h2, .upgrade { display: none; }
  .top { gap: 8px; flex-wrap: wrap; }
  .stage { padding: 18px clamp(18px, 3vw, 32px); }
  .reading { width: 100%; max-width: 780px; margin-inline: auto; padding: clamp(22px, 3vw, 36px); }
  .prose { overflow-wrap: break-word; }
  .prose img, .prose svg, .prose video, .prose iframe { max-width: 100%; height: auto; }
  .table-scroll { -webkit-overflow-scrolling: touch; }
  .tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tabs > * { flex-shrink: 0; }
  .rail { min-width: 0; }
}
@media (max-width: 600px) {
  .shell, .body, .stage, .reading, .col { min-width: 0; }
  .side nav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .side nav a { flex: 0 0 auto; min-height: 44px; }
  .stage { padding: 10px; }
  .reading { padding: 18px 16px; }
  .prose { overflow-wrap: break-word; }
  .prose img, .prose svg, .prose video, .prose iframe { max-width: 100%; height: auto; }
  .tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tabs > * { flex-shrink: 0; }
  .table-scroll { -webkit-overflow-scrolling: touch; }
  .prov { min-width: 0; overflow-wrap: anywhere; }
}

/* iPad: keep EvidenceHelix navigation and Plans & Pricing in a real LEFT sidebar.
   Overrides the legacy <=900px stacked navigation without affecting phone layout. */
@media (min-width: 601px) and (max-width: 900px) {
  .shell { display: grid; grid-template-columns: clamp(210px, 27vw, 248px) minmax(0, 1fr); align-items: start; }
  .side { position: sticky; top: 0; height: 100vh; max-height: 100vh; overflow-y: auto; overflow-x: hidden; padding: 18px 12px; }
  .side nav { display: block; overflow: visible; padding: 0; }
  .side nav a { display: flex; width: 100%; min-height: 44px; padding: 9px 10px; white-space: normal; overflow-wrap: anywhere; }
  .side nav a .ic { display: inline-block; }
  .side h2 { display: block; margin: 18px 0 8px; }
  .upgrade { display: flex; margin-top: 20px; }
  .brand { gap: 8px; }
  .brand img { width: 38px; height: 38px; }
  .brand b { font-size: 1rem; }
  .sbox { padding: 8px; }
  .top { position: sticky; top: 0; }
  .stage { padding: 14px; }
  .reading { padding: clamp(18px, 2.5vw, 28px); }
  .reading h1 { overflow-wrap: break-word; }
  .rail { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .shell { grid-template-columns: 248px minmax(0, 1fr); }
  .side { padding-inline: 14px; }
}

/* Reading-room hierarchy: left library navigation, central article, right research rail.
   Landscape tablets keep three regions; portrait prioritizes a readable article and
   moves the research cards below it rather than squeezing text into a narrow strip. */
@media (min-width: 901px) and (max-width: 1180px) {
  .shell { grid-template-columns: 210px minmax(0, 1fr); }
  .stage { grid-template-columns: minmax(0, 1fr) 218px; gap: 12px; padding: 12px; }
  .reading { padding: 20px; }
  .rail { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .rail .card { padding: 14px; min-width: 0; overflow-wrap: anywhere; }
  .body { grid-template-columns: minmax(0, 1fr); }
  .toc { position: static; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .stage { grid-template-columns: minmax(0, 1fr); }
  .rail { display: grid; grid-template-columns: minmax(0, 1fr); }
}
/* Allow tablet readers to focus on the article without losing the left navigation. */
@media (min-width: 601px) and (max-width: 1180px) {
  .side nav a, .side .upgrade { overflow-wrap: anywhere; }
  .reading, .prose, .rail, .rail .card { min-width: 0; }
  .prose pre, .prose table { max-width: 100%; }
  .prose pre { overflow-x: auto; }
}

/* Breadcrumbs: keep the current field readable instead of clipping it to "Dr…".
   On narrow toolbars breadcrumbs take their own row; controls wrap below. */
@media (max-width: 1320px) {
  .top { display: flex; flex-wrap: wrap; align-items: center; }
  .top .crumbs { flex: 1 0 100%; width: 100%; min-width: 0; white-space: normal; overflow: visible; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
  .top .crumbs [aria-current] { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .top .crumbs a { white-space: nowrap; }
}

/* Explicit premium feature discovery: no hidden analysis or fake unlocked output. */
.research-upgrade{margin:14px 20px 0;padding:14px 18px;background:var(--teal-soft);border:1px solid var(--line);border-radius:12px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.research-upgrade strong{color:var(--ink)}.research-upgrade p{margin:3px 0 0;color:var(--muted);font-size:.88rem}
.research-upgrade a{display:inline-block;white-space:nowrap;background:var(--teal);color:#fff;padding:9px 14px;border-radius:9px;text-decoration:none;font-weight:600}
.side-toggle{display:block;width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-radius:10px;color:#fff;text-align:left;font-weight:600}
.side-sections.is-collapsed{display:none}
@media(min-width:601px) and (max-width:900px){.side-toggle{margin-bottom:12px}.research-upgrade{margin:12px}}
@media(max-width:600px){.research-upgrade{margin:10px;padding:12px}}

/* Reader tablet overflow safeguards: panels must never obscure article text. */
@media (min-width: 601px) and (max-width: 1180px) {
  .shell > :not(.side), .stage > *, .body > *, .rail > *, .top > * { min-width: 0; }
  .top { flex-wrap: wrap; height: auto; }
  .crumbs { flex: 1 1 100%; min-width: 0; max-width: 100%; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; }
  .crumbs [aria-current] { min-width: 0; max-width: 100%; text-overflow: ellipsis; overflow: hidden; }
  .tool, .themesel { max-width: 100%; }
  .reading, .rail, .card, .toc { max-width: 100%; }
  .prose pre, .prose table { max-width: 100%; }
  .prose pre { overflow-x: auto; }
  .rail { position: static; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .stage { grid-template-columns: minmax(0,1fr); }
  .rail { display: grid; grid-template-columns: minmax(0,1fr); }
  .side nav a { min-width: 0; }
  .brand b, .brand small { overflow-wrap: anywhere; }
}
