/* A legible maker's signature over the illustrated rooftops. */
body #menu.menu[data-mode][data-mode=title] .edition{display:block;isolation:isolate;bottom:max(6px,env(safe-area-inset-bottom));padding:8px 14px;font:400 clamp(12px,1vw,14px)/1.3 Oswald,Arial,sans-serif;letter-spacing:.14em;color:#e5d2a6;text-transform:none;text-shadow:0 1px 2px #020d13,0 0 7px #020d13}
body #menu.menu[data-mode][data-mode=title] .edition::before{content:none}
body #menu.menu[data-mode=levels] .level-number{font-size:28px;line-height:1;top:12px;left:16px;color:#e8cf9c;letter-spacing:.015em}
body #menu.menu[data-mode=levels] .level-number::after{content:none}
body #menu.menu[data-mode=levels] .level-tile{padding-top:45px}
body #menu.menu[data-mode=levels][data-level-layout=stack] .level-number{font-size:28px;top:18px;left:17px}
body #menu.menu[data-mode=levels][data-level-layout=stack] .level-tile{padding:14px 16px 37px 68px}
body #menu.menu[data-mode=levels][data-level-layout=stack] .level-rating{left:68px}
/* The selected level supplies the warmer author-plaque palette. */
body #menu.menu[data-mode=about] #creditsPane .about-credits>div{border-color:#dcc38b;box-shadow:inset 0 0 0 4px #0c262c,inset 0 0 0 5px #cbb27d77,0 0 24px #c8a45b0c;background:radial-gradient(ellipse at 50% 0,#a3915940,transparent 75%),linear-gradient(150deg,#30494a,#122d34)}
/* Language and rating dialogs use the same frame and footer as the menus. */
#languagePicker,#ratingGuide{display:flex;align-items:center;justify-content:center;height:100dvh;padding:max(22px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#031015ed;backdrop-filter:blur(8px)}
.menu-dialog-frame{width:min(880px,100%);height:min(860px,100%);min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}
#languagePicker .language-heading,#ratingGuide .language-heading{min-height:48px;padding:0;border:0;justify-content:flex-start}
#languagePicker .language-heading h2,#ratingGuide .language-heading h2{font:400 32px/1.25 Oswald,Arial,sans-serif;letter-spacing:.015em;color:#eddfbe;text-align:start}
#languagePicker .language-sheet,#ratingGuide .language-sheet{grid-row:2;align-self:start;width:100%;height:auto;min-height:0;max-height:100%;margin:0;padding:26px 30px;border:1px solid #9aa68b88;border-radius:3px 14px 3px 14px;background:radial-gradient(ellipse at 12% 0,#55736932,transparent 65%),linear-gradient(150deg,#23424af7,#102a32fc);box-shadow:inset 0 0 0 4px #091e27,inset 0 0 0 5px #9aa58630,0 6px 16px #010b102b}
#languagePicker .language-sheet{display:flex;flex-direction:column;overflow:hidden;gap:0}
#languagePicker .language-options{flex:0 1 auto;min-height:0;grid-template-columns:repeat(var(--language-columns,2),minmax(0,1fr));gap:8px;padding:3px;overflow:auto;scrollbar-gutter:stable both-edges}
#languagePicker .language-option{min-width:0;white-space:normal;overflow-wrap:break-word;text-transform:none}
#ratingGuide .rating-sheet{display:block;overflow:auto;scrollbar-gutter:stable;touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aa9a6c #0b232b}
#ratingGuide .rating-rule:first-child{border-top:0;padding-top:0}
#ratingGuide .rating-rule{padding-block:19px}
.menu-dialog-footer{grid-row:3;display:flex;align-items:center;justify-content:center}
#languagePicker #languageClose,#ratingGuide #ratingClose{min-width:150px;min-height:48px;width:auto;max-width:100%;margin:0;padding:11px 30px;border:1px solid #a6ad8b99;border-radius:3px 12px 3px 12px;background:linear-gradient(145deg,#2b4650,#142f38);box-shadow:inset 0 0 0 3px #0b252d,inset 0 0 0 4px #a4a78633;color:#e7d8ae;font:500 18px/1.25 Oswald,Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase;cursor:pointer}
#languagePicker #languageClose:hover,#ratingGuide #ratingClose:hover{background:linear-gradient(145deg,#3c5754,#213d44);border-color:#dfc58f;color:#ffedbf}
.menu-dialog-footer button:focus-visible,#ratingContent:focus-visible{outline:2px solid #edcf93;outline-offset:4px}
html:is(:lang(ar),:lang(hi),:lang(ja),:lang(ko),:lang(zh)) :is(#languagePicker,#ratingGuide) :is(.language-heading h2,.menu-dialog-footer button){font-family:Arial,sans-serif;letter-spacing:0}
@media(max-width:599px){
 #languagePicker,#ratingGuide{padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .menu-dialog-frame{gap:12px}
 #languagePicker .language-heading h2,#ratingGuide .language-heading h2{font-size:29px}
 #languagePicker .language-sheet,#ratingGuide .language-sheet{padding:22px 20px}
 #ratingGuide .rating-rule{grid-template-columns:76px minmax(0,1fr);gap:12px}
 #ratingGuide .rule-stars{font-size:22px;letter-spacing:1px}
 #ratingGuide p{font-size:18px}
}
@media(min-width:550px) and (max-height:519px){
 #languagePicker,#ratingGuide{padding-block:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-bottom))}
 .menu-dialog-frame{gap:8px}
 #languagePicker .language-heading,#ratingGuide .language-heading{min-height:44px}
 #languagePicker .language-heading h2,#ratingGuide .language-heading h2{font-size:25px}
 #languagePicker .language-sheet,#ratingGuide .language-sheet{padding:18px 24px}
}
