/* Independent paper exploration, in the publication's existing visual system. */
.site-nav { width:calc(100% - 64px); min-height:48px; }
.site-nav .wordmark { font-size:26px; }
.site-nav>nav a { min-height:48px; font-size:13px; }
body { --header-height:48px; }
body:not(.has-player) { --player-height:0px; }
html.paper-open { height:100%; overflow:hidden; }
body[data-view=explore] { height:100dvh; padding:0; overflow:hidden; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
body[data-view=explore] #audio { display:none; }
body[data-view=explore] .site-header { position:relative; grid-row:1; }
body[data-view=explore] .player { position:relative; grid-row:3; }
body[data-view=explore] .player-inner { width:calc(100% - 64px); }
.paper-explorer { width:calc(100% - 64px); margin-inline:auto; min-height:0; min-width:0; grid-row:2; position:relative; display:grid; grid-template-rows:48px 76px minmax(0,1fr) 48px 76px 44px; }
.paper-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--rule); }
.paper-families { display:flex; gap:32px; align-items:stretch; height:100%; }
.paper-families a { display:flex; align-items:center; min-height:44px; font-size:14px; text-decoration:none; border-bottom:2px solid transparent; }
.paper-families a[aria-current] { border-color:var(--plum); font-weight:700; }
.paper-families a:hover { border-color:var(--muted); }
#paper-notes-toggle,#paper-notes-close { padding:0 4px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.paper-heading { align-self:center; min-width:0; }
.paper-heading h1 { font-size:clamp(26px,2.5vw,36px); line-height:1.15; letter-spacing:-.02em; }
.paper-heading p { font-size:14px; color:var(--muted); margin-top:6px; }
.paper-stage { position:relative; min-height:0; min-width:0; }
.paper-figure { position:absolute; inset:0; margin:0; }
#paper-chart { display:block; width:100%; height:100%; overflow:visible; }
#paper-chart text { fill:var(--plum); font-family:Arial,Helvetica,sans-serif; font-variant-numeric:tabular-nums; pointer-events:none; }
#paper-chart text.overrun { fill:var(--red); }
#paper-chart [data-paper-detail] { cursor:pointer; }
#paper-chart [data-paper-detail].is-selected>rect,#paper-chart [data-paper-detail]:focus-visible>rect { stroke:var(--plum); stroke-width:2; vector-effect:non-scaling-stroke; }
#paper-chart [data-paper-detail]:focus-visible { outline:none; }
.paper-steps { display:flex; justify-content:center; align-items:stretch; gap:32px; border-block:1px solid var(--rule); }
.paper-steps button { padding:0 4px; font-size:13px; border-bottom:2px solid transparent; }
.paper-steps button[aria-pressed=true] { border-color:var(--plum); font-weight:700; }
.paper-steps button:hover { background:var(--lilac); }
.paper-interaction { display:flex; align-items:stretch; gap:32px; min-height:0; padding-block:8px; }
.paper-detail { flex:1; min-width:0; font-size:13px; line-height:1.45; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.paper-detail strong { display:block; }
.paper-detail p { max-width:75ch; color:var(--muted); }
.paper-parameter { flex:none; display:flex; align-items:center; gap:12px; width:450px; font-size:12px; }
.paper-parameter label { width:116px; flex:none; }
.paper-parameter input { width:130px; flex:1; min-width:40px; height:44px; }
.paper-parameter output { width:48px; flex:none; font-variant-numeric:tabular-nums; }
.paper-parameter button { font-size:12px; padding:0; text-decoration:underline; }
.paper-explorer-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:12px; color:var(--muted); }
.paper-explorer-footer a { min-height:44px; display:flex; align-items:center; }
.paper-notes { position:absolute; inset:0 0 0 auto; width:min(460px,100%); background:var(--paper); padding:16px 24px; box-shadow:-12px 8px 32px #30253724; z-index:46; display:flex; flex-direction:column; gap:16px; }
.paper-notes-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex:none; }
.paper-notes-heading h2 { font-size:27px; }
.paper-notes-body { overflow-y:auto; min-height:0; font-size:15px; line-height:1.6; scrollbar-gutter:stable; }
.paper-notes table { width:100%; border-collapse:collapse; font-size:13px; margin-top:24px; }
.paper-notes caption { text-align:left; font-weight:700; margin-bottom:8px; }
.paper-notes th,.paper-notes td { text-align:left; vertical-align:top; padding:8px 8px 8px 0; border-top:1px solid var(--rule); }
.paper-notes th { width:40%; }
.paper-notes-body>a { display:flex; min-height:44px; align-items:center; font-size:13px; }
/* The podcast names its interpretive status without adding a heading band. */
.podcast-context { font-size:12px; color:var(--muted); white-space:nowrap; }
@media (max-width:1100px) {
  .paper-parameter { width:340px; gap:8px; }
  .paper-interaction { gap:16px; }
  .podcast-context { display:none; }
}
@media (max-width:900px) {
  :root { --header-height:48px; }
  .site-nav,body[data-view=walkthrough] .site-nav { display:flex; justify-content:space-between; gap:16px; padding:0; width:calc(100% - 32px); min-height:48px; }
  .site-nav .wordmark,body[data-view=walkthrough] .site-nav .wordmark { font-size:24px; }
  .site-nav>nav,body[data-view=walkthrough] .site-nav>nav { display:flex; width:auto; gap:20px; margin-left:auto; }
  .site-nav>nav a { min-height:48px; }
  .site-nav>nav a[data-route=paper],.site-nav>nav a[data-route=use] { display:none; }
  .publication-menu { display:block; }
  .publication-menu summary { font-size:12px; }
  .publication-menu nav { z-index:40; top:48px; font-size:14px; }
  .paper-explorer { width:calc(100% - 32px); }
  .paper-heading h1 { font-size:28px; }
  .paper-families { gap:28px; }
  body[data-view=explore] .player-inner { width:calc(100% - 32px); }
}
@media (max-width:600px) {
  html.paper-open { height:auto; overflow:auto; }
  body[data-view=explore] { height:auto; min-height:100dvh; overflow:visible; display:block; padding-bottom:var(--player-height); }
  body[data-view=explore] .site-header { position:sticky; }
  body[data-view=explore] .player { position:fixed; }
  .site-nav,body[data-view=walkthrough] .site-nav { gap:8px; }
  .site-nav>nav,body[data-view=walkthrough] .site-nav>nav { gap:14px; }
  .site-nav>nav a,body[data-view=walkthrough] .site-nav>nav a { font-size:12px; }
  .site-nav .wordmark,body[data-view=walkthrough] .site-nav .wordmark { font-size:23px; }
  .publication-menu summary { padding-inline:4px; }
  .paper-explorer { height:calc(100dvh - 48px - var(--player-height)); min-height:720px; grid-template-rows:48px 144px minmax(320px,1fr) 48px 116px 44px; }
  .paper-heading { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding-block:10px; }
  .paper-heading h1 { font-size:26px; max-width:24ch; }
  .paper-heading p { font-size:13px; line-height:1.4; margin-top:6px; }
  .paper-families { gap:24px; }
  .paper-families a { font-size:13px; }
  .paper-toolbar { gap:8px; }
  .paper-steps { gap:0; justify-content:space-between; }
  .paper-steps button { flex:1; padding-inline:4px; font-size:12px; line-height:1.2; }
  .paper-interaction { position:relative; display:block; padding-block:8px; }
  .paper-detail { position:absolute; inset:8px 0 56px; font-size:12px; }
  .paper-parameter { position:absolute; inset:auto 0 4px; width:100%; height:44px; gap:8px; }
  .paper-parameter label { width:95px; font-size:11px; }
  .paper-parameter input { width:60px; }
  .paper-parameter output { width:40px; font-size:11px; }
  .paper-parameter button { font-size:11px; }
  .paper-explorer-footer { font-size:11px; gap:8px; }
  .paper-notes { inset:0 0 -164px; width:100%; padding:12px 16px; }
  .paper-notes-body { font-size:14px; }
}
