/* Override the legacy `select { color:black !important }`, including popup options.
   Keep native select semantics, keyboard navigation and the phone's system picker. */
html:lang(zh) body,html:lang(zh) :is(h1,h2,h3,h4,p,label,button,select),
html:lang(ko) body,html:lang(ko) :is(h1,h2,h3,h4,p,label,button,select) {
    font-family:Arial,"Microsoft YaHei","Malgun Gothic","Noto Sans CJK SC","Noto Sans KR",sans-serif;
    font-variant:normal;word-break:normal;overflow-wrap:anywhere;
}
body select {
    box-sizing:border-box; min-height:44px; max-width:100%; padding:10px 38px 10px 12px;
    border:1px solid #9c7943; border-radius:9px; background-color:#21180f !important;
    color:#f6dfb1 !important; color-scheme:dark; font:14px/1.4 Arial,sans-serif;
    font-variant:normal; text-transform:none; cursor:pointer;
    box-shadow:inset 0 1px 0 #ffffff08; transition:border-color .15s ease,box-shadow .15s ease;
}
body select:not([multiple]):not([size]) {
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23f6dfb1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center; background-size:16px;
}
body select option, body select optgroup { background:#21180f !important; color:#f6dfb1 !important; font:14px/1.5 Arial,sans-serif; }
body select:hover:not(:disabled) { border-color:#d6ac63; }
body select:focus-visible { outline:2px solid #f2cd88; outline-offset:3px; box-shadow:0 0 0 4px #d6ac6324; }
/* A disabled picker still conveys its current value, including in WebViews. */
body select:disabled {
    opacity:1; cursor:not-allowed; border-color:#705b3d;
    background-color:#19140e !important; color:#f6dfb1 !important;
    -webkit-text-fill-color:#f6dfb1 !important;
}
body select option:disabled, body select optgroup:disabled {
    opacity:1; color:#d9c49f !important; -webkit-text-fill-color:#d9c49f !important;
}
body select[multiple], body select[size] { padding-right:12px; }
.gameLanguagePicker { position:fixed; right:12px; top:calc(8px + env(safe-area-inset-top,0px)); z-index:2002; display:flex; align-items:center; gap:10px; padding:6px 8px 6px 12px; border:1px solid #92713c; border-radius:12px; background:linear-gradient(140deg,#342619,#1c150d); color:#f0d297; font:13px Arial,sans-serif; box-shadow:0 4px 18px #0005; }
.gameLanguagePicker select { width:auto; min-width:112px; margin:0; }
.gameLanguageLinks { display:block; padding:0; min-width:164px; }
.gameLanguageLinks summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:8px 12px; cursor:pointer; list-style:none; }
.gameLanguageLinks summary::-webkit-details-marker { display:none; }
.gameLanguageLinks summary::after { content:'⌄'; font-size:18px; }
.gameLanguageLinks summary strong { font-weight:normal; }
.gameLanguageLinks nav { border-top:1px solid #92713c; padding:6px; max-height:65vh; overflow:auto; }
.gameLanguageLinks a { display:block; padding:12px; min-height:44px; box-sizing:border-box; border-radius:6px; color:#f6dfb1!important; font:14px/1.4 Arial,sans-serif; text-decoration:none; }
.gameLanguageLinks a:hover,.gameLanguageLinks a[aria-current] { background:#f2cd8824; }
.gameLanguageLinks :is(summary,a):focus-visible { outline:2px solid #f2cd88; outline-offset:2px; }
body:has(#gameElement) > .gameLanguagePicker { display:none; }
.gameMenuLanguage { display:flex; align-items:center; gap:8px; margin:0 0 0 auto; color:#d9bd8a; font:13px Arial,sans-serif; }
.gameMenuLanguage select { width:auto; min-width:112px; margin:0; }
.gameMenuWindow .gameMenuLanguage + .closeMenu { margin-left:8px; }
@media(max-width:760px){ .gameMenuLanguage { gap:6px; } .gameMenuLanguage .gameMenuLanguageLabel { display:none; } .gameMenuLanguage select { min-width:100px; } .gameMenuWindow .gameMenuLanguage + .closeMenu { margin-left:0; } }
@media(max-width:360px){ .gameMenuBrand { font-size:14px; } .gameMenuWindow .menuContent > div:first-child { gap:6px; padding-inline:8px; } .gameMenuLanguage select { min-width:88px; padding-left:8px; } }
@media(prefers-reduced-motion:reduce){ body select { transition:none; } }
/* Trajan has no Japanese glyphs; use the system's Japanese sans-serif family. */
html[lang="ja"] body, html[lang="ja"] body *:not(.fa) { font-family:"Yu Gothic","Meiryo","Hiragino Kaku Gothic ProN",sans-serif !important; letter-spacing:normal; text-transform:none; }
@media(forced-colors:active){ body select { appearance:auto !important; background-image:none !important; color:CanvasText !important; background-color:Canvas !important; } body select:disabled, body select option:disabled, body select optgroup:disabled { color:CanvasText !important; -webkit-text-fill-color:CanvasText !important; } }
