/* Frank Legacy — Room Contents + Sticky Section Navigation v1 */
.room-contents{font-family:Arial,Helvetica,sans-serif;color:#171927}
.room-contents-desktop{display:none}
.room-contents-mobile{position:sticky;top:4.55rem;z-index:28;margin:.4rem 0 1rem;border:1px solid rgba(49,40,25,.18);border-radius:18px;background:rgba(255,248,232,.96);box-shadow:0 10px 28px rgba(20,18,12,.12);backdrop-filter:blur(16px);overflow:hidden}
.room-contents-mobile summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:3.25rem;padding:.75rem .9rem;cursor:pointer;list-style:none;font-weight:900}
.room-contents-mobile summary::-webkit-details-marker{display:none}
.room-contents-mobile summary::after{content:"+";display:grid;place-items:center;flex:0 0 1.75rem;height:1.75rem;border-radius:999px;background:#101827;color:#fff8e8;font-size:1.05rem}
.room-contents-mobile[open] summary::after{content:"−"}
.room-contents-summary-title{font-size:.88rem;text-transform:uppercase;letter-spacing:.08em}
.room-contents-current{margin-left:auto;color:#665f52;font-size:.72rem;font-weight:800;text-align:right}
.room-contents-nav{padding:.2rem .55rem .6rem}
.room-contents-nav ol{list-style:none;margin:0;padding:0;display:grid;gap:.18rem}
.room-contents-item a{position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.42rem;align-items:start;text-decoration:none;padding:.5rem .55rem;border-radius:11px;color:#312d27;font-weight:800;font-size:.79rem;line-height:1.28}
.room-contents-item a:hover{background:rgba(123,30,45,.07)}
.room-contents-item a[aria-current="location"]{background:#101827;color:#fff8e8;box-shadow:0 6px 16px rgba(16,24,39,.16)}
.room-contents-number{font-size:.62rem;letter-spacing:.06em;color:#7b1e2d;padding-top:.08rem}
.room-contents-item a[aria-current="location"] .room-contents-number{color:#e2bd72}
.room-contents-label{min-width:0}
.room-contents-item.toc-proof a:not([aria-current="location"])::after,.room-contents-item.toc-story a:not([aria-current="location"])::after{content:"";position:absolute;right:.5rem;top:.78rem;width:.34rem;height:.34rem;border-radius:50%}
.room-contents-item.toc-story a:not([aria-current="location"])::after{background:#b98b3b}
.room-contents-item.toc-proof a:not([aria-current="location"])::after{background:#536980}
.room-contents-top{display:block;margin:.1rem .55rem .65rem;padding:.45rem .55rem;text-decoration:none;color:#665f52;font-size:.7rem;font-weight:900;border-top:1px solid rgba(49,40,25,.12)}
.room-contents a:focus-visible,.room-contents summary:focus-visible{outline:3px solid #b98b3b;outline-offset:2px}
main [data-room-section]{scroll-margin-top:9rem}
@media (min-width:700px) and (max-width:1279.98px){.room-contents-mobile{top:4.75rem}.room-contents-nav ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){
  main:has(> .room-contents-desktop){width:min(1390px,calc(100% - 2rem));display:grid;grid-template-columns:238px minmax(0,1120px);column-gap:1.35rem;align-items:start}
  main:has(> .room-contents-desktop)>*:not(.room-contents-desktop):not(.room-contents-mobile){grid-column:2}
  .room-contents-mobile{display:none}
  .room-contents-desktop{display:block;grid-column:1;grid-row:1 / span 999;position:sticky;top:5.3rem;align-self:start;max-height:calc(100vh - 6.2rem);overflow:auto;margin:.5rem 0 2rem;padding:.85rem;border:1px solid rgba(49,40,25,.18);border-radius:22px;background:linear-gradient(180deg,rgba(255,248,232,.97),rgba(244,235,216,.94));box-shadow:0 14px 34px rgba(20,18,12,.13);scrollbar-width:thin}
  .room-contents-head{display:grid;grid-template-columns:1fr auto;gap:.12rem .5rem;padding:.2rem .25rem .7rem;border-bottom:1px solid rgba(49,40,25,.14);margin-bottom:.45rem}
  .room-contents-kicker{grid-column:1 / -1;color:#7b1e2d;text-transform:uppercase;letter-spacing:.11em;font-size:.57rem;font-weight:900}
  .room-contents-head strong{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;line-height:1.05}
  .room-contents-progress{align-self:end;color:#665f52;font-size:.66rem;font-weight:900}
  .room-contents-nav{padding:.1rem 0 .25rem}
  .room-contents-item a{grid-template-columns:1.75rem minmax(0,1fr);padding:.43rem .45rem;font-size:.75rem}
  .room-contents-top{margin:.35rem 0 0;padding:.55rem .4rem 0}
  main [data-room-section]{scroll-margin-top:6.2rem}
}
@media (min-width:1600px){main:has(> .room-contents-desktop){grid-template-columns:250px minmax(0,1120px);column-gap:1.65rem}}
@media (prefers-reduced-motion:reduce){.room-contents *{scroll-behavior:auto!important}}
@media (forced-colors:active){.room-contents-desktop,.room-contents-mobile{border:2px solid CanvasText}.room-contents-item a[aria-current="location"]{outline:2px solid Highlight}}
