/* Shared presentation and accessible controls. Original artwork is preserved. */
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { -webkit-font-smoothing: antialiased; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #e9bd72; outline-offset: 5px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.wow { visibility: visible !important; }
.topnav a { padding-inline: 10px; transition: color .2s; }
.newslist a { line-height: 1.8; }
.copyright { line-height: 1.9; }
video { max-width: 100%; }
[data-video] { cursor: pointer; }
#site-dialog { box-sizing: border-box; width: min(90vw, 850px); max-height: 85vh; padding: 32px; border: 1px solid #ba955c; border-radius: 16px; background: #21191a; color: #f5e9d9; font: 16px/1.8 'Microsoft YaHei', sans-serif; }
#site-dialog::backdrop { background: #000b; }
#site-dialog h2 { margin: 0 35px 20px 0; font-size: 22px; }
.dialog-close { position: absolute; right: 14px; top: 10px; background: transparent; border: 0; color: inherit; font-size: 30px; cursor: pointer; }
.dialog-content video { width: 100%; }
.mobile-layout body { max-width: 750px; margin: auto; }
.mobile-layout .mainbox { max-width: 100%; }
.mobile-layout video { width: 100%; height: auto; }
.mobile-layout #musicbox { font-size: 16px; }
.ios-layout body { max-width: 750px; margin: auto; }
.utility-nav { display: flex; justify-content: center; gap: 24px; padding: 24px 12px; font: 14px/1.5 'Microsoft YaHei', sans-serif; background: #171114; }
.utility-nav a { color: #eed4af; }
.mobile-layout .copyright { font-size: 12px; line-height: 1.8; color: #aaa; }
.copyright { color: #aaa; }
.teselist [hidden], .newslist [hidden] { display: none !important; }
.ios-guide { padding: 40px 24px; background: linear-gradient(140deg,#40251b,#171114); color: #f5debc; font: 16px/1.8 'Microsoft YaHei',sans-serif; }
.ios-guide h1 { font-size: 30px; margin: 12px 0; }
.ios-guide ol { margin: 24px 0 0; padding-left: 24px; }
.ios-guide li { list-style: decimal; margin: 10px 0; }
.ios-guide .eyebrow { color: #d6a65a; letter-spacing: 3px; }
@media (max-width: 1450px) { .fixedbox { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
