*{box-sizing:border-box}
:root{color-scheme:light;--paper:#f8f4eb;--ink:#322418;--bronze:#916636;--line:#d9c9ae;font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;color:var(--ink);background:var(--paper)}
body{margin:0;min-height:100svh;display:flex;align-items:center;justify-content:center}
button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}
main{width:100%}
.scene{position:relative;width:min(100%,calc(100svh * 1672 / 941));aspect-ratio:var(--ratio);margin:auto;isolation:isolate;container-type:inline-size}
.scene-art{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hotspot{position:absolute;display:block;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;outline:0;color:transparent;cursor:pointer;transition:background-color .18s,border-color .18s,box-shadow .18s}
.hotspot:hover{border-color:rgba(168,123,56,.65);background:rgba(255,230,172,.075);box-shadow:0 0 22px rgba(221,177,90,.15),inset 0 0 18px rgba(255,229,167,.12)}
.hotspot:focus-visible{outline:2px solid #9a662d;outline-offset:3px;background:rgba(255,237,198,.13)}
body[data-page="general"] .hotspot:hover{background:rgba(196,155,88,.10);box-shadow:none}
.scene-search{position:absolute;display:flex;align-items:stretch;border-radius:999px;margin:0}
.scene-search button{width:13%;border:0;border-radius:50%;background:transparent;flex-shrink:0}
.scene-search input{min-width:0;flex:1;border:0;border-radius:0 999px 999px 0;background:transparent;color:var(--ink);padding:0 5% 0 .3%;outline:0;font-size:1.02cqw;letter-spacing:.02em}
.scene-search:focus-within{outline:1px solid var(--bronze);outline-offset:2px}
.scene-search input:focus,.scene-search input.has-query{background:#faf7f0}
.scene-search button:focus-visible{outline:2px solid var(--bronze)}
.search-tip{display:none;position:absolute;right:10px;top:calc(100% + 10px);font-size:13px;padding:6px 10px;border:1px solid var(--line);background:var(--paper);color:var(--bronze);white-space:nowrap;pointer-events:none}
.scene-search:focus-within .search-tip{display:block}
.skip-link{position:fixed;top:10px;left:12px;transform:translateY(-160%);z-index:30;background:var(--paper);border:1px solid var(--bronze);padding:12px 18px;border-radius:4px;text-decoration:none}
.skip-link:focus{transform:none}
.accessible-navigation{position:fixed;top:0;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.accessible-navigation:focus-within,.accessible-navigation:target{position:relative;width:min(100%,1080px);height:auto;clip:auto;white-space:normal;overflow:visible;padding:24px;margin:0 auto}
.accessible-navigation header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.accessible-navigation h2{font-size:28px;font-weight:500;margin:0}
.accessible-navigation header a,.accessible-navigation header button{font-size:15px;text-decoration:none;color:var(--bronze);border:0;background:transparent;padding:8px 0}
.accessible-navigation p{line-height:1.8;color:#77634c;font-size:15px}
.accessible-navigation nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.directory-item{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:19px 6px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-decoration:none;min-height:60px}
.directory-item span{font-size:17px}.directory-item small{font-size:11px;color:#8d785e;white-space:nowrap}
.directory-item:hover,.directory-item:focus-visible{background:#efe5d5;outline:1px solid var(--bronze)}
dialog{border:1px solid #c4ac86;border-radius:9px;padding:0;background:#faf7ef;color:var(--ink);width:min(690px,calc(100vw - 32px));max-height:88svh;box-shadow:0 26px 100px #20170866}
dialog::backdrop{background:rgba(28,22,15,.54);backdrop-filter:blur(3px)}
.dialog-shell{padding:28px 32px}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.dialog-header h2{margin:0;font-size:29px;font-weight:500;letter-spacing:.08em}
.close-dialog{border:0;background:transparent;color:#856a48;padding:10px;font-size:14px}
.close-dialog:focus-visible{outline:2px solid var(--bronze)}
.dialog-search{display:flex;gap:10px;margin:0 0 18px}
.dialog-search input{width:100%;min-width:0;border:1px solid #c4b295;background:#fffdf7;border-radius:4px;padding:12px 14px;font-size:17px;outline-offset:3px}
.dialog-search button,.primary-link{border:1px solid #80613a;border-radius:4px;background:#705335;color:#fffaf1;padding:10px 19px;white-space:nowrap;font-size:15px;text-decoration:none}
.dialog-intro,.availability-copy{color:#74624f;font-size:15px;line-height:1.9;margin:12px 0 20px}
.availability-tag{display:inline-block;font-size:13px;padding:4px 9px;color:#8d704b;border:1px solid #d1bfa3;border-radius:3px;margin:0 0 2px}
.availability-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.secondary-link{border:1px solid #c8b596;border-radius:4px;background:none;color:#715332;padding:10px 19px;font-size:15px;text-decoration:none}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.filters button{border:1px solid #d5c5ad;color:#786044;background:transparent;padding:6px 16px;border-radius:999px;font-size:14px}
.filters button[aria-pressed="true"]{background:#eadbc4;border-color:#a4865b;color:#4b361e}
.result-status{font-size:13px;color:#8a775f;min-height:20px;margin:12px 0}
.search-results{display:grid;max-height:43svh;overflow:auto;overscroll-behavior:contain;padding:0 7px 0 0;gap:0}
.search-result{display:block;text-align:left;border:0;border-bottom:1px solid #e5d9c9;background:transparent;padding:15px 7px;text-decoration:none;color:var(--ink);font:inherit}
.search-result strong{font-weight:500;display:block;font-size:18px;line-height:1.6}
.search-result small{color:#8a7155;font-size:13px;display:block;line-height:1.6;margin-top:3px}
.search-result:hover,.search-result:focus-visible{background:#f0e6d6;outline:1px solid #b79970}
.result-empty{padding:28px 4px;line-height:1.9;color:#806a50}
.load-more{display:block;margin:16px auto 0;border:1px solid #b39a78;background:none;padding:9px 20px;border-radius:4px;color:#715332}
.noscript-note{padding:15px;text-align:center}
@media(max-width:760px){
 main{width:100%}.scene{width:100%}
 /* Keep the illustrated navigation at every width; text directory is opt-in via keyboard skip link. */
 .accessible-navigation:focus-within,.accessible-navigation:target{padding:24px 20px 36px}
 .accessible-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
 .directory-item{display:block;min-height:73px;padding:14px 3px}.directory-item span{display:block;font-size:16px}.directory-item small{display:block;margin-top:7px}
 .dialog-shell{padding:23px 20px}.dialog-header h2{font-size:24px}.dialog-search input{font-size:16px}.dialog-search button{padding:10px 14px}.search-results{max-height:46svh}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

[hidden]{display:none!important}
