/* SN87 Reading Room: the hall and the archive banner.
   Hand-written. scripts/build-reading-room.mjs does not touch this file.
   It stands alone: archived pages do not load the shared SN87 system sheet, so every value is set here. */
.rr-banner{display:flex;flex-wrap:wrap;align-items:center;gap:0 18px;box-sizing:border-box;width:100%;min-height:44px;padding:4px max(16px,env(safe-area-inset-left));background:#0e1729;border-bottom:1px solid #3a4a6b;color:#f2ede3;font:500 14px/1.4 'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:0;text-align:left;position:relative;z-index:200}
.rr-banner *{box-sizing:border-box}
.rr-banner-text{padding:8px 0}
.rr-banner a{display:inline-flex;align-items:center;min-height:44px;color:#e3c47a;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.rr-banner a:hover{color:#fff}
.rr-banner a:focus-visible{outline:2px solid #e3c47a;outline-offset:2px}
.rr-banner-hall{margin-left:auto;color:#c9cfdb!important;font-weight:500!important}
@media (max-width:560px){.rr-banner{gap:0 16px}.rr-banner-text{flex:1 1 100%;padding:8px 0 0}.rr-banner-hall{margin-left:0}}
.rr-removed{font-style:italic;opacity:.85}
.rr-nofile{opacity:.9;cursor:default;text-decoration:none}
.rr-nofile-note{display:inline;font-style:italic;white-space:normal}
.rr-archive{scroll-padding-top:0}

/* Archived React pages are still snapshots: no menu button, no scroll bar, nav always open. */
.rr-archive .sn87-root{position:relative}
.rr-archive .nav-toggle,.rr-archive .scroll-progress,.rr-archive .hero-actions .loop-control{display:none!important}
@media (max-width:1023px){
  .rr-archive .site-header{flex-wrap:wrap;position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:100%!important;margin:0!important;padding:12px 18px!important;background:#061426;border-bottom:1px solid #22304d}
  .rr-archive .primary-nav{position:static!important;display:flex!important;flex:1 1 100%;flex-wrap:wrap;gap:0 14px!important;padding:0!important;background:none!important;border:0!important}
  .rr-archive .primary-nav a{min-height:44px;display:inline-flex;align-items:center}
  .rr-archive .hero{padding-top:40px!important}
}
.rr-archive img,.rr-archive svg{max-width:100%}

/* Hall */
.rr-hall-body{margin:0;background:#060f1c;color:#f2ede0}
.rr-wrap{max-width:var(--sn87-max,1200px);margin:0 auto;padding:clamp(32px,6vw,72px) var(--sn87-gutter,16px) 24px}
.rr-wrap .sn87-h1{margin-top:12px;max-width:18ch}
.rr-wrap .sn87-lede{margin:20px 0 0}
.rr-list{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.rr-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;background:rgba(12,30,56,.55);border:1px solid var(--sn87-hair,rgba(110,137,166,.28));border-radius:2px}
.rr-item-title{margin:0;font:400 clamp(22px,2.6vw,28px)/1.2 var(--sn87-serif,Georgia,serif);color:#f2ede0}
.rr-item-title a{color:inherit;text-decoration:none}
.rr-item-title a:hover{color:#e9cb7f}
.rr-item-date{margin:0;font:500 13px/1.4 var(--sn87-mono,ui-monospace,monospace);letter-spacing:.08em;color:#c9a24a;text-transform:uppercase}
.rr-item-desc{margin:0 0 8px;font:400 16px/1.55 var(--sn87-sans,system-ui,sans-serif);color:#c6d0dc}
.rr-item-link{margin-top:auto;text-decoration:none}
.rr-note{margin:32px 0 0;max-width:62ch;font:400 14px/1.6 var(--sn87-sans,system-ui,sans-serif);color:#a9b7c6}
.rr-note a{color:#8fc0ea;display:inline-flex;align-items:center;min-height:44px}
@media (max-width:760px){.rr-list{grid-template-columns:minmax(0,1fr)}.rr-item{padding:16px}.rr-wrap .sn87-h1{font-size:clamp(32px,9vw,44px)}}
