/* The museum's paper and ink, with the blue and brass of Tōtei at night. */
.stay-room{max-width:1180px;margin:auto;padding:38px 32px 80px;color:#202d32}
.stay-heading{padding-bottom:28px;border-bottom:1px solid #c9cbc4;margin-bottom:32px}
.stay-heading>a{font-size:14px;text-decoration:underline;text-underline-offset:4px}
.stay-heading .eyebrow{margin-top:28px;color:#526565}
.stay-heading h1{font-family:var(--serif,serif);font-size:clamp(26px,3.8vw,42px);line-height:1.6;margin:10px 0 0;font-weight:500;letter-spacing:.06em}
.stay-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:52px;align-items:start}
.stay-atmosphere{min-width:0}.stay-atmosphere figure{margin:0}.stay-atmosphere img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.stay-atmosphere figcaption{font-size:12px;line-height:1.8;margin-top:10px;color:#526565}.stay-atmosphere>p{font-family:var(--serif,serif);font-size:16px;line-height:2;margin:24px 0}
.stay-room details{border-top:1px solid #c9cbc4;padding:14px 0}.stay-room summary{font-size:14px;cursor:pointer;line-height:1.8;min-height:32px;padding:5px 0}.stay-room details p,.stay-room details li{font-size:15px;line-height:1.9}.stay-room details h3{font-size:15px;margin:14px 0 8px}
.stay-reading{min-width:0}.stay-position{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;color:#586970;border-bottom:1px solid #adbbb9;padding:0 0 15px}
.stay-reading h2{font-family:var(--serif,serif);font-size:clamp(22px,2.5vw,30px);font-weight:500;line-height:1.7;margin:24px 0;scroll-margin-top:100px}
.stay-prose p{font-family:var(--serif,serif);font-size:17px;line-height:2.15;letter-spacing:.035em;margin:0 0 1.4em;overflow-wrap:anywhere}
.stay-choices{display:grid;gap:10px;margin:32px 0 22px}.stay-choices button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:60px;padding:16px 18px;border:1px solid #a9b6b4;background:#f7f8f3;color:#243e47;text-align:left;font:inherit;font-size:16px;line-height:1.7;cursor:pointer;border-radius:2px}.stay-choices button small{flex-shrink:0;font-size:12px;color:#526565}.stay-choices button:hover{background:#e4ecea;border-color:#40636c}
.stay-room :focus-visible{outline:2px solid #315d6b;outline-offset:4px}.stay-save{font-size:13px;line-height:1.8;color:#526565;margin:24px 0}.stay-notebook ul,.stay-notebook ol{padding-left:1.5em}.stay-notebook details details{margin-top:8px;padding:10px 0}.stay-notebook details details p{font-family:var(--serif,serif)}
.stay-reset{margin-top:24px}.stay-reset button{font:inherit;font-size:14px;min-height:44px;padding:10px 14px;background:transparent;border:1px solid #a9b6b4;color:#243e47;cursor:pointer;margin:0 10px 10px 0}.stay-reset p{font-size:15px;line-height:1.9}.stay-ended{padding:24px 0;border-top:1px solid #adbbb9}.stay-ended>p{font-family:var(--serif,serif);font-size:18px}.stay-ended nav{display:grid;gap:12px}.stay-ended a{font-size:15px;line-height:1.8;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.stay-room{padding:24px 20px 56px}.stay-layout{grid-template-columns:minmax(0,1fr);gap:28px}.stay-heading{margin-bottom:22px;padding-bottom:20px}.stay-atmosphere{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 18px}.stay-atmosphere figcaption{display:none}.stay-atmosphere>p{margin:0;font-size:14px;line-height:1.9}.stay-help{grid-column:1/-1;margin-top:16px}.stay-prose p{font-size:16px}.stay-choices button{align-items:flex-start;flex-direction:column;gap:4px;padding:13px 15px}.stay-reading h2{scroll-margin-top:90px}.stay-invitation{grid-template-columns:1fr;gap:16px;padding:22px}.stay-invitation img{max-height:180px}.stay-invitation h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.stay-room *{scroll-behavior:auto}}

/* The existing night photograph surrounds the reading surface. */
.stay-room{position:relative;isolation:isolate;max-width:none;min-height:90vh;padding:0 max(5%,calc((100vw - 1250px)/2)) 72px;background-color:#101f29;background-image:linear-gradient(90deg,rgba(6,19,29,.24),rgba(6,19,29,.18)),var(--stay-image,none);background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed;color:#f8f5e9}
.stay-heading{max-width:1100px;padding:26px 28px;margin:0 auto 28px;background:rgba(13,32,45,.68);border-color:#8b9da3}
.stay-layout{max-width:1100px;margin:auto;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:28px}
.stay-atmosphere,.stay-reading{padding:24px 28px;background:rgba(13,32,45,.68);border:1px solid #8b9da34d}
.stay-atmosphere>p{margin:0 0 22px;font-size:16px}
.stay-heading .eyebrow,.stay-position,.stay-save,.stay-image-credit{color:#e1e5de}
.stay-image-credit{font:13px/1.8 var(--sans)!important;margin:18px 0 0!important}
.stay-room details,.stay-position,.stay-ended{border-color:#8b9da3}
.stay-room summary,.stay-room details p,.stay-room details li{font-size:16px}
.stay-choices button{background:#122e3a;color:#fff7e1;border-color:#95a9ab;font-size:16px}
.stay-choices button small{color:#e0e3d9;font-size:14px;white-space:normal}
.stay-choices button:hover{background:#234854;border-color:#e8d299}
.stay-reset button{color:#fff5d9;border-color:#b8c6c8;background:#122e3a}
.stay-room .term-link{color:inherit;border-color:#d9c693}
.stay-room a{color:inherit}.stay-room :focus-visible{outline-color:#ffe1a0}
@media(max-width:760px){.stay-room{padding-inline:16px}.stay-heading{padding:22px 18px}.stay-layout{grid-template-columns:minmax(0,1fr);gap:20px}.stay-atmosphere{display:block}.stay-atmosphere,.stay-reading{padding:22px 18px}.stay-atmosphere>p{font-size:16px}.stay-help{margin-top:8px}}

.stays-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}.stays-book{display:block;border:1px solid #b7bbb3;color:inherit;text-decoration:none}.stays-book img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.stays-book>div{padding:22px}.stays-book h2{font:500 22px/1.7 var(--serif)}.stays-book p{font-size:16px;line-height:1.9}.stays-book span{display:block;padding:12px 0}.stays-book:hover{background:#edf0e9}.stay-checklist ul{list-style:none;padding:0}.stay-checklist li{display:flex;gap:12px;margin:16px 0}.stay-checklist li>div{flex:1;min-width:0}.discovery-mark{font-family:var(--sans);min-width:24px}.stay-checklist li details{border:0;padding:4px 0}.stay-checklist li details p{margin:6px 0}.stay-rewind{display:block;min-height:44px;padding:12px;margin:10px 0;border:1px solid #b8c6c8;color:#fff5d9;background:#122e3a;font:inherit;text-align:left;cursor:pointer}@media(max-width:900px){.stays-shelf{grid-template-columns:1fr}.stays-book{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}}@media(max-width:540px){.stays-book{display:block}}

/* Image paint belongs to the reading main, never the museum header/footer. */
.stay-prose{text-shadow:0 1px 2px #07131b80}.stay-atmosphere,.stay-reading,.stay-heading{backdrop-filter:blur(1px)}
@media(prefers-reduced-transparency:reduce){.stay-atmosphere,.stay-reading,.stay-heading{background:#0d202ded}}

.stay-route-notes{margin:1rem 0;padding:1rem;background:rgba(13,27,30,.76);color:#f4f5ef;border:1px solid rgba(255,255,255,.24);border-radius:8px}.stay-route-notes summary{cursor:pointer;font-size:1rem}.stay-route-notes dl{margin:1rem 0 0}.stay-route-notes dt{font-weight:700;margin-top:.9rem}.stay-route-notes dd{margin:.25rem 0 0;line-height:1.8;font-size:1rem}.place-journeys{margin-top:1rem}.place-journeys summary{cursor:pointer;font-size:1rem}

/* Illustrated notebook: one image, semantic tap targets, text alternatives. */
.stay-unknown{max-width:1100px;margin:0 auto 28px;background:#142f39ed;border:1px solid #95a9ab;scroll-margin-top:100px}
.stay-unknown>summary{padding:16px 20px;cursor:pointer;font:600 1rem/1.6 var(--sans)}
.stay-unknown>summary span{font-weight:400;margin-left:1em;font-size:.875rem}
.stay-map-body{padding:0 20px 20px;min-width:0}
.stay-map-help,.stay-map-note p{font-size:1rem;line-height:1.9}
.stay-map{position:relative;margin:16px 0 0;isolation:isolate}
.stay-map img{display:block;width:100%;height:auto;background:#d9c9a9}
.stay-map-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;padding:5px;border:0;background:transparent;cursor:pointer;color:#132f39}
.stay-map-pin>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid #233f45;background:#fff4d5;font:700 1rem/1 var(--sans);box-shadow:0 1px 6px #0008}
.stay-map-pin[aria-pressed=true]>span{background:#183e49;color:#fff7dc;border-color:#fff7dc}
.stay-map-caption{font:400 .875rem/1.8 var(--sans);color:#e1e5de;margin:12px 0}
.stay-map-names{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}
.stay-map-name{display:grid;grid-template-columns:24px minmax(0,1fr);text-align:left;gap:2px 8px;padding:10px;min-height:60px;background:#183741;border:1px solid #829a9f;color:#fff7e1;font:400 .875rem/1.6 var(--sans);cursor:pointer}
.stay-map-name>b{overflow-wrap:anywhere;font-weight:500}.stay-map-name>small{grid-column:2;font-size:.875rem;color:#c5d4d6}
.stay-map-name[aria-pressed=true]{background:#2d5861;border-color:#ffe1a0}
.stay-map-note{padding:18px 20px;border-left:3px solid #d9bc79;background:#0c2530;min-height:90px}
.stay-map-note h2{font:500 1.25rem/1.7 var(--serif);margin:0 0 12px}
.stay-map-status{font:.875rem/1.6 var(--sans)!important;color:#d9bc79;margin:0 0 4px}
.stay-map-record{padding:12px;border:1px solid #829a9f}
.stay-map-note [data-map-observe]{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px;background:#e9d3a4;color:#122b32;font:400 1rem/1.8 var(--sans);text-align:left;border:1px solid #f8e6c4;cursor:pointer}
.stay-open-map{margin:20px 0 8px;padding:12px 18px;background:#193c48;color:#fff7e1;border:1px solid #95a9ab;min-height:44px;font:400 1rem/1.7 var(--sans);cursor:pointer}
.stay-room #stay-scene-title:focus:not(:focus-visible){outline:none}
@media(max-width:760px){.stay-map-body{padding:0 10px 14px}.stay-map-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.stay-map-note{padding:16px 12px}.stay-unknown>summary{padding:14px 12px}.stay-map-pin{padding:7px}.stay-map-pin>span{width:30px;height:30px;font-size:.875rem}}

