/* v163.470: preserve native controls and the page's original visual surfaces. */
body{--xixi-page-surface470:#f3f4f6}body.theme-dark{--xixi-page-surface470:#0f172a}
.header{padding-bottom:6px}
@media(max-width:600px){.header{padding-bottom:5px}}
body.theme-dark .practice-best-tooltip{background:#24446a;color:#f8fafc;border:1px solid #8db9ed;box-shadow:0 8px 24px #0007}
.v467-loading-dialog{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 32px);overflow:auto}
.practice-config-extra .search-regex-label,.practice-config-extra .practice-random-check,.practice-config-extra .practice-text-list-toggle{font-size:.82rem;font-weight:700;line-height:1.4;min-height:34px;padding:0;gap:7px;color:#475569;align-items:center}
body.theme-dark .practice-config-extra .search-regex-label,body.theme-dark .practice-config-extra .practice-random-check,body.theme-dark .practice-config-extra .practice-text-list-toggle{color:#cbd5e1}
.practice-config-extra input[type=checkbox]{appearance:auto;accent-color:#2563eb;width:16px;height:16px}
#practiceTextListToggleLabel>span{display:inline-block;white-space:nowrap;max-width:100%}
#practiceTextListToggleLabel>span[hidden]{display:none}
#practiceTextListToggleLabel{min-width:0;overflow-wrap:normal;word-break:normal}
#practiceRandomLengthPanel{width:var(--length-picker-width470,225px);max-width:calc(100vw - 24px)}
#practiceRandomLengthOptions [role=option]{gap:6px}
#rankLanguageSelectButtons467 button,#soloRankingLanguageButtons467 button{animation:none!important;transition:none!important;transform:none!important}
.v467-season-selector{flex-wrap:nowrap;justify-content:flex-end;min-width:0;max-width:100%}
.v467-season-selector>#rankSeasonLabel,.v467-season-selector>#rankRefresh467{flex:none;white-space:nowrap}
#seasonRankingPanel .v467-season-selector>#rankSeasonSelect{min-width:0;flex:1 1 140px;width:140px}
#rankRefresh467{padding:6px 14px;font-size:.85rem;white-space:nowrap}
.realtime-language-mount470{background:inherit;display:flex;align-items:center;gap:8px;margin-top:12px}
.realtime-language-mount470>select{min-width:180px;max-width:100%}
.realtime-duel-config-row:has(.realtime-duel-recommend-box){align-items:center}
.realtime-duel-config-row>.realtime-duel-recommend-box{flex:1 1 320px;min-width:0}
.realtime-duel-config-row>.realtime-duel-recommend-box+.realtime-duel-duration-readonly{margin-inline-start:auto;white-space:nowrap}
/* An opaque layer blocks scrolling content in the gaps, without repainting controls. */
.xixi-dock-surface470{position:fixed;left:0;right:0;pointer-events:auto;overflow:hidden}
.xixi-dock-surface470[hidden]{display:none}

#practiceRandomLengthOptions{max-height:min(50dvh,360px);overflow-y:auto;overscroll-behavior:contain}

/* v163.471: one no-language prompt, shared language buttons, stable duel rows. */
#practiceSetupControls.practice-list-mode.practice-no-language471 .practice-text-list-row{display:none}
#practiceSetupControls.practice-list-mode.practice-no-language471~#practiceMsg{display:block!important}
.v467-language-buttons button{animation:none!important;transition:none!important;transform:none!important}
#realtimeSetupTextRow471{gap:10px;align-items:center}
#realtimeSetupTextRow471 .realtime-language-mount470{margin-top:0;flex:0 1 auto;min-width:0}
#realtimeSetupTextRow471 #realtimeTextSearchInput{min-width:100px;width:140px;flex:0 1 140px}
#realtimeSetupTextRow471 #realtimeTextSelect{width:220px;max-width:100%}
#challengePrimaryToolbar.realtime-toolbar471{justify-content:flex-end}
#challengePrimaryToolbar.realtime-toolbar471 #challengeScoreCriteriaLink{margin-left:12px;margin-inline-start:12px}
.realtime-duel-host-config-row{display:flex;flex-wrap:wrap;align-items:end}
.realtime-duel-host-config-row>.realtime-duel-config-control{flex:1 1 160px}
.realtime-duel-host-config-row>#realtimeLobbyTextControl{flex:2 1 220px}
.realtime-host-timing471{display:flex;flex:0 0 auto;align-items:end;gap:8px;max-width:100%}
.realtime-host-timing471>.challenge-random-check{flex:0 0 auto;width:auto;min-height:38px}
.realtime-host-timing471>.realtime-duel-duration-control{width:110px;max-width:100%}
@media(max-width:600px){#realtimeSetupTextRow471 .realtime-language-mount470{max-width:100%}.realtime-duel-host-config-row>.realtime-duel-config-control{flex-basis:140px}}
