/* A native, readable guide also works when WebGL or JavaScript is unavailable. */
.museum-guide { position:fixed; inset-inline-end:20px; top:160px; z-index:11; max-width:180px; color:#f3eee4; font-family:system-ui,sans-serif; font-size:13px; }
.museum-guide summary { cursor:pointer; padding:12px 18px; border:1px solid #d8bc8570; border-radius:14px; background:#111922ee; font-weight:700; }
.museum-guide summary:focus-visible, .museum-guide a:focus-visible { outline:2px solid #edd096; outline-offset:4px; }
.museum-guide[open] { inset:20px; margin:auto; width:min(900px,calc(100% - 40px)); height:calc(100% - 40px); max-width:none; overflow:auto; border:1px solid #d8bc8570; border-radius:18px; background:#0b141ff5; box-shadow:0 20px 100px #000b; touch-action:pan-y; }
.museum-guide[open] summary { position:sticky; top:0; z-index:1; border-width:0 0 1px; border-radius:0; background:#172232; }
.museum-guide[open] summary::after { content:' ×'; float:inline-end; font-size:20px; }
.museum-guide-body { padding:24px; }
.museum-guide-body h2 { margin:0 0 16px; font-size:clamp(22px,4vw,32px); line-height:1.25; }
.museum-guide-body h3 { margin:32px 0 12px; color:#e9ce9a; font-size:19px; }
.museum-guide-body p { line-height:1.8; margin:12px 0; color:#bcc8d4; white-space:pre-line; }
.museum-guide-body a { color:#e9ce9a; }
.museum-trophy-list { list-style:none; padding:0; }
.museum-trophy-list li { margin:12px 0; padding:16px; border:1px solid #d8bc8533; border-radius:12px; }
.museum-trophy-list h4 { font-size:17px; margin:0; }
.museum-guide-sources { font-size:12px; }
.museum-directory-link { display:block; margin-top:24px; }
.museum-app-card { border:1px solid #d8bc8555; border-radius:16px; padding:24px; margin:24px 0; background:linear-gradient(120deg,#33291955,#10233366); }
.museum-app-card h2 { color:#f4e7c9; font-size:clamp(22px,3vw,30px); line-height:1.3; margin:0 0 12px; }
.museum-app-card p { color:#bdc9d4; line-height:1.8; }
.museum-app-card a.museum-play-link { display:inline-flex; padding:14px 20px; margin-top:8px; border-radius:10px; background:#edd096; color:#111922; font-weight:750; text-decoration:none; line-height:1.5; }
.museum-more-clubs, .museum-independent { font-size:13px; color:#a5b3c0; line-height:1.8; }
.museum-directory { margin:0; background:#050b11; color:#f3eee4; font-family:system-ui,sans-serif; }
.museum-directory * { box-sizing:border-box; }
.museum-directory-header, .museum-directory main, .museum-directory-footer { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.museum-directory-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:28px 0; border-bottom:1px solid #ffffff16; }
.museum-brand { color:#fff; font-size:23px; font-weight:800; text-decoration:none; }
.museum-brand span { color:#5ce1eb; }
.museum-directory-header nav { display:flex; flex-wrap:wrap; gap:8px; }
.museum-directory-header nav a { color:#aab9c4; text-decoration:none; padding:7px; border-radius:6px; font-size:12px; }
.museum-directory-header nav a[aria-current] { color:#edd096; background:#d9b87518; }
.museum-directory-intro { padding:50px 0 10px; max-width:900px; }
.museum-directory-intro h1 { font-size:clamp(30px,5vw,54px); letter-spacing:-.025em; line-height:1.15; margin:14px 0 24px; }
.museum-directory-intro > p:last-child, .museum-directory-guide > p { color:#aab9c4; font-size:17px; line-height:1.9; max-width:80ch; }
.museum-directory .ms-museum-section { margin-bottom:32px; }
.museum-directory .ms-museum-intro h2 { margin-top:0; }
.museum-directory-guide { padding:16px 0; }
.museum-directory-guide h2 { font-size:27px; }
.museum-directory-footer { padding:24px 0 36px; font-size:13px; color:#aab9c4; }
.museum-directory-footer a { color:#edd096; }
@media(max-width:600px) { .museum-guide { top:150px; inset-inline-end:12px; max-width:160px; } .museum-guide[open] { inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); } .museum-guide-body { padding:20px; } .museum-app-card { padding:20px; } }
