/* The original Editions layout and walnut shelves remain unchanged.
   Course-specific additions are restricted to branding, labels, and the reader. */
.opencs-wordmark{font-size:24px;font-weight:800;letter-spacing:-1.1px}.catalog{grid-template-columns:repeat(5,minmax(0,1fr))}.cover-title{font-size:clamp(19px,2.1vw,34px)!important;line-height:1!important;letter-spacing:-1px!important}.back-title{font-size:clamp(18px,1.8vw,28px)!important}.shelf-row:nth-child(2) .shelf-board--middle{display:none}.reader-dialog{max-width:1400px;width:calc(100vw - 50px)}.reader-content{grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr);gap:40px}.reader-intro h2{font-size:clamp(30px,3vw,46px);overflow-wrap:anywhere}.reader-intro>p{line-height:1.7}.reader-track-description{line-height:1.7}.resource-tabs{display:flex;gap:8px;margin:28px 0 0;border-bottom:1px solid #bcb09b}.resource-tabs button{border:0;background:none;padding:15px 16px;font:inherit;font-size:13px;min-height:44px;cursor:pointer}.resource-tabs button[aria-selected=true]{border-bottom:3px solid #75452f;font-weight:600}.resource-status{display:inline-block;font:11px monospace;border:1px solid #b7ab94;padding:6px 10px;border-radius:20px;margin-bottom:16px}#resource-panel{padding:25px 0;min-height:250px}#resource-panel h3{font-size:24px;margin-bottom:16px}#resource-panel p{font-size:14px;line-height:1.8;color:#625747;margin:14px 0}.chapter-outline{border-block:1px solid #c6baa7;margin:0 0 26px;padding:14px 0}.chapter-outline summary{cursor:pointer;min-height:30px;font-size:14px}.chapter-button{display:block;width:100%;text-align:left;padding:13px 10px;border:0;border-bottom:1px solid #ddd3c3;background:transparent;font:inherit;font-size:13px;cursor:pointer}.chapter-button[aria-current]{background:#e4dac8}.chapter-navigation{display:flex;justify-content:space-between;gap:15px;margin-top:26px}.chapter-navigation button{min-height:44px;padding:10px 18px;background:#282a24;color:#fff;border:0;border-radius:25px;cursor:pointer}.chapter-navigation button:disabled{opacity:.4;cursor:default}.chapter-caption{font-size:12px!important}.textbook-link{display:block;padding:14px 18px;background:#292b26;color:#f8f3e9;border-radius:5px;text-decoration:none;font-size:13px;margin:4px 0 12px;min-height:44px}.textbook-reader{display:block;width:100%;height:700px;max-height:80dvh;border:1px solid #c9beac;background:#fff}.sample-note{font-size:11px}#route-notice{padding:12px 24px;font-size:13px;border-block:1px solid #a46f4c}.is-selected .catalog-wrap:focus-within{filter:none;opacity:1}.is-selected:not(.details-visible) .focus-actions:focus-within{opacity:1}.is-selected:not(.details-visible) .focus-actions:focus-within>*{pointer-events:auto}
@media(max-width:899px){.catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-title{font-size:clamp(18px,3.8vw,32px)!important}.reader-content{grid-template-columns:1fr}.reader-cover{display:none}.reader-intro h2,.reader-intro>p:not(.eyebrow){max-width:100%}.focus-meta{max-height:max(80px,calc(100dvh - var(--focus-y) - var(--focus-size) - 130px));overflow-y:auto;overscroll-behavior:contain;padding-bottom:10px}.focus-meta h2{overflow-wrap:anywhere}}
@media(max-width:599px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-divider,.brand-editions{display:none}.header-cta{font-size:10px;padding-inline:12px}.header-right{gap:8px}.reader-dialog{width:100%;max-width:100%;max-height:100dvh;border-radius:0}.reader-content{padding:25px 20px}.resource-tabs button{padding-inline:11px}.reader-intro h2{font-size:30px}.textbook-reader{height:65dvh}.focus-actions{gap:5px}.focus-actions .pill{padding-inline:10px}.open-edition{min-width:112px}.flip-button{min-width:68px}.focus-meta h2{font-size:22px}.chapter-navigation button{font-size:11px;padding-inline:13px}}
@media(max-width:599px) and (max-height:700px){.focus-meta{top:calc(var(--focus-y) + var(--focus-size) + 96px);max-height:max(75px,calc(100dvh - var(--focus-y) - var(--focus-size) - 102px))}.focus-meta h2{font-size:20px}.focus-description{font-size:11px}.face-indicator{top:49px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
/* Width-driven covers: short landscape windows must not collapse the shelf. */
:root{--scene-width:min(1600px,calc(100vw - 96px));--gap:clamp(20px,2.5vw,36px);--shelf-edge:clamp(20px,3vw,48px)}.collection,.catalog-wrap{max-width:none}.brand{gap:14px}.brand-fullname{font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0;max-width:130px}.opencs-wordmark{white-space:nowrap}.course-video{width:100%;max-height:70dvh;background:#161713}.lecture-select{width:100%;font:inherit;font-size:13px;padding:12px;margin:12px 0;background:#f7f3eb;border:1px solid #bcb09b}.transcript{white-space:pre-wrap;max-height:360px;overflow:auto;font:14px/1.75 Arial,sans-serif;padding:16px;background:#eee7db}.transcript-disclosure{margin-top:20px}.transcript-disclosure summary{cursor:pointer;min-height:44px}
@media(max-width:899px){:root{--scene-width:calc(100vw - 64px);--shelf-edge:20px;--gap:30px}.brand-fullname{font-size:10px;max-width:115px}.header-left{gap:20px}}
@media(max-width:599px){:root{--scene-width:calc(100vw - 40px);--shelf-edge:12px;--gap:22px}.brand{gap:8px;align-items:flex-start;flex-direction:column}.opencs-wordmark{font-size:21px}.brand-fullname{font-size:8px;max-width:none}.header-left{gap:12px}.header-cta{font-size:10px;gap:4px}.site-header{padding-inline:20px}}

/* v1.10: complete titles, measured against each sleeve rather than the viewport. */
.sleeve .cover-title{font-family:Arial,Helvetica,sans-serif;font-weight:600;font-size:9cqw!important;line-height:1.06!important;letter-spacing:-.045em!important;max-width:100%;font-style:normal;margin-top:10%}
.cover-title-line{display:block;white-space:nowrap}
.cover-abbreviation{font-size:.67em;letter-spacing:.02em;margin-top:.3em}
.sleeve[data-edition="mpc"] .cover-art,.sleeve[data-edition="fe"] .cover-art{top:48%}
/* v1.10: stronger, bottom-anchored hover, with safe space between records. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body:not(.is-selected) .album-slot:hover .shelf-album,
  body:not(.is-selected) .album-slot:focus-visible .shelf-album{
    transform:perspective(1200px) rotateX(-5deg) scale(1.035);
    transform-origin:50% 100%;
    filter:drop-shadow(3px 7px 5px #4e443d55);
  }
}
@media(prefers-reduced-motion:reduce){.album-slot:hover .shelf-album,.album-slot:focus-visible .shelf-album{transform:none!important}}
/* Small print stays readable; redundant edition markers yield on phones. */
.cover-topline{font-size:max(8px,2.5cqw);letter-spacing:.03em}
.cover-bottomline{font-size:max(8px,2.3cqw);letter-spacing:.02em}
.cover-bottomline>span:first-child{font-size:max(9px,3cqw)}
.catalog-item{font-size:13px;line-height:1.4}
.catalog-date,.catalog-season,.catalog-caption{font-size:11px;color:#535b4b}
.search-form input::placeholder{color:#5c6454}
.search-summary,.search-result-meta,.result-meta,.search-result small,.search-footer,.search-empty{color:#535b4b;font-size:12px}
.face-indicator,.keyboard-hint{color:#514b40;font-size:11px}
.mobile-single-board{display:none}
@media(max-width:599px){.cover-bottomline>span:last-child{display:none}.cover-topline .face-label{display:none}}
@media(max-width:359px){.shelf-row{grid-template-columns:1fr;row-gap:44px}.shelf-row>.shelf-board{display:none!important}.mobile-single-board{display:block;left:calc(-1 * var(--shelf-edge));right:calc(-1 * var(--shelf-edge))}.catalog{grid-template-columns:1fr}.cover-topline .face-label,.cover-bottomline>span:last-child{display:inline}.cover-title{font-size:9cqw!important}}
@media(max-width:760px){.search-toggle{width:auto;min-width:76px;justify-content:flex-end}}
.catalog-title{font-size:13px;line-height:1.4}
.dialog-bottom,.search-clear{font-size:12px;color:#535b4b}
.is-selected .catalog-item:not(.is-active){opacity:1}
.is-selected .catalog-wrap{filter:none;opacity:1}
.is-selected .catalog-item.is-active .catalog-title{font-weight:700}
@media(max-width:760px){.is-selected .site-header{z-index:60}.is-selected .search-toggle{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.shelf-album{transition:none!important;animation:none!important}}
@layer responsive{@media(prefers-reduced-motion:reduce){.shelf-album{transition:none!important;animation:none!important}}}
