/* The shared page width, navigation geometry and catalog behavior stay in styles/main. */
.west-hall-page { background: #231c20; --red: #703b43; --teal: #252e32; --ink: #3f2a2b; }
.west-hall-page .site-scene { background: linear-gradient(#251e24b0,#251e24de),url('/assets/west/mansion-room.webp') center top / 1320px auto; }
.west-hall-page .site-header { color: #efe2ca; border-color: #a98c67; background: #29252a; background-image: repeating-linear-gradient(38deg,#dac8a907 0 1px,transparent 1px 5px); }
.west-hall-page #site-nav a { border-color: #86735c; }
.west-hall-page #site-nav a[aria-current='page'] { background: #e7b8ab; box-shadow: inset 0 0 0 3px #29252a,inset 0 0 0 4px #b48470; color: #392629; }
.west-hall-page #site-nav a[aria-current='page'] span { color: #392629; }
.west-hall-page #site-nav a:hover { background: #dbc3a51a; }
.west-hall-page .menu-toggle { color: #efe2ca; }
.west-hall-page a:focus-visible,.west-hall-page button:focus-visible { outline-color: #b96152; }
.west-book { padding: 0 0 24px; }
.west-book .word-group { display: inline-block; }
.west-book .main-opening { min-height: 410px; padding: 32px 5%; grid-template-columns: 1fr 1fr; gap: 9%; border: 3px double #b29672; background: #392724 url('/assets/west/mansion-room.webp') left center / cover; }
.west-book .archive-backdrop { z-index: 0; left: auto; right: 0; width: 64%; object-position: center top; }
.west-book .main-title-paper,.west-book .main-greeter { position: relative; z-index: 1; }
.west-book .main-title-paper { color: #4b262b; background: radial-gradient(ellipse,#f6e8ceeF,#e3c8a8f5); border: 3px double #89644e; outline: 1px solid #d4b98f; padding: 24px 26px; box-shadow: 0 5px 25px #160e1270; }
.west-book .main-title-paper h1 { font-size: clamp(4rem,6.5vw,5.6rem); }
.west-book .main-title-paper h2 { border-color: #a77570; }
.west-book .main-title-paper > p:last-child { text-align: center; }
.west-book .main-greeter { flex-direction: row; align-items: flex-end; justify-self: center; gap: 18px; padding: 0; align-self: end; }
.west-book .main-greeter img { width: 155px; height: 215px; filter: drop-shadow(2px 5px 3px #09090b80); }
.west-book .main-greeter p { padding: 8px 20px; white-space: nowrap; text-align: center; font-size: 1rem; line-height: 1.8; transform: rotate(-2deg); border-color: #997a68; background: #ecdbbd; }
.west-book .main-panel { margin-top: 12px; border-color: #987560; outline-color: #b69574; color: #3f2a2b; background: radial-gradient(ellipse at top,#fbefdc80,transparent 65%),repeating-linear-gradient(35deg,#683d3006 0 1px,transparent 1px 4px),#eddbbc; box-shadow: inset 0 0 22px #81564120; }
.west-book .shelf-heading h2 { background: linear-gradient(110deg,#874b4b,#602f38); border-color: #dcbea0; outline-color: #79514a; }
.west-book .shelf-heading > span { color: #755058; }
.west-book .pickup-shelf { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 11px; }
.west-book .specimen-image { padding: 3px; background: #cbb08e; border-color: #97745e; box-shadow: 1px 3px 4px #3c1f2833; }
.west-book .specimen-title { font-size: .9375rem; color: #472c2d; }
.west-book .specimen-meta { color: #775553; }
.west-book .category-shelf { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 16px; }
.west-book .category-shelf a { background: #eddbbd; border-color: #b19479; padding: 8px 8px 12px; }
.west-book .category-shelf img { mix-blend-mode: normal; }
.west-book .category-shelf span { font-size: 1rem; margin-top: 10px; white-space: normal; text-align: center; line-height: 1.5; }
.west-book .category-shelf a:hover,.west-book .category-shelf a[aria-current] { background: #e6c6ad; outline-color: #75434b; }
.west-book .small-shelf,.west-book .collection-shelf { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px 12px; }
.west-book .collection-shelf img { padding: 3px; border-color: #a38265; }
.west-book .collection-shelf small { font-size: .8125rem; }
.west-book .shelf-button { background: #2d3031; color: #f8e7c9; border-color: #d2b798; outline-color: #796352; }
.west-book .shelf-button:hover { background: #50333d; }
.west-book .no-hotlink { background: #f8e6cc; }
.west-book .banner-note { font-size: .875rem; }
.west-hall-page .site-footer { color: #f0ddbe; background: #29252a; border-color: #9a795e; }
.west-hall-page .material-detail { color: #f3e3c9; }
.west-hall-page .material-detail .main-panel { background: #eddbbc; color: #3f2a2b; }
@media(max-width:1050px) {
  .west-book .main-opening { gap: 5%; padding: 28px; grid-template-columns: 1.3fr 1fr; }
  .west-book .main-title-paper { padding: 20px 16px; }
  .west-book .main-greeter img { width: 120px; height: 180px; }
  .west-book .main-greeter p { font-size: .9375rem; padding-inline: 14px; }
  .west-book .pickup-shelf { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px 13px; }
  .west-book .category-shelf { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
  .west-book .small-shelf,.west-book .collection-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .west-hall-page #site-nav { background: #29252a; border-color: #a98c67; }
  .west-hall-page .site-scene { padding-top: 90px; background-size: auto 760px; background-repeat: no-repeat; background-color: #30252a; }
  .west-book .main-opening { display: block; padding: 22px 18px 12px; min-height: 0; }
  .west-book .archive-backdrop { width: 100%; object-position: 66% center; }
  .west-book .main-title-paper { max-width: 440px; margin-inline: auto; padding: 20px 14px; }
  .west-book .main-title-paper h1 { font-size: 3.8rem; }
  .west-book .main-title-paper > p:last-child { text-align: left; font-size: 1rem; }
  .west-book .main-greeter { flex-direction: row; justify-content: center; gap: 16px; margin-top: 18px; }
  .west-book .main-greeter img { width: 102px; height: 145px; }
  .west-book .main-greeter p { padding: 12px 18px; font-size: .9375rem; }
  .west-book .pickup-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 21px 12px; }
  .west-book .category-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 12px; }
  .west-book .small-shelf,.west-book .collection-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .west-hall-page .material-detail { padding-top: 0; }
}
@media(max-width:359px) {
  .west-book .category-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .west-book .main-title-paper { padding-inline: 11px; }
  .west-book .main-greeter { gap: 8px; }
  .west-book .main-greeter p { padding-inline: 12px; }
}
