.screens-2011 { position: fixed; inset: 0; z-index: 150; color: #eee; font: 11px Arial, sans-serif; background: #080c12; }
.screens-2011[hidden], .screens-2011 [hidden] { display: none !important; }
.screens-2011 .screen-ui { position: absolute; inset: 0; }
.screens-2011 .screen-panel { position: absolute; transform-origin: top left; pointer-events: auto; }
.screens-2011 .screen-frame { pointer-events: none; }
.screens-2011 .screen-preview { position: absolute; inset: 0; }
.screens-2011 .screen-preview canvas { display: block; }
.screens-2011 .screen-stage { position: absolute; inset: 0; }
.screens-2011 .screen-stage canvas { display: block; width: 100%; height: 100%; }
.screens-2011 .screen-lobby-fade { position: absolute; inset: 0; pointer-events: none; }
.screens-2011 .btn-2011 { cursor: pointer; }
.screens-2011 .btn-2011:focus-visible { outline: 1px solid #e1bd74; }
.screens-2011 .screen-edit, .screens-2011 .screen-combo { position: absolute; border: 0; border-radius: 0; padding: 1px 3px; margin: 0; background: transparent; color: #eee; font: inherit; box-shadow: none; }
.screens-2011 .screen-edit:focus { outline: 1px solid #859595; }
.screens-2011 .screen-slider { position: absolute; padding: 0; margin: 0; accent-color: #b5b8bb; height: 14px; }
.screens-2011 .screen-inert { pointer-events: none !important; opacity: .48; }
.screens-2011 .screen-status { position: absolute; bottom: 5%; width: 100%; text-align: center; color: #ddd; pointer-events: none; }
.screens-2011 .screen-character-list, .screens-2011 .screen-server-list, .screens-2011 .screen-keymap { position: absolute; }
.screens-2011 .screen-tree-row { cursor: pointer; }
.screens-2011 .screen-tree-row.selected { outline: 1px solid #95835c; outline-offset: -1px; background-color: #71674755; }
.screens-2011.screen-settings { background: #0005; z-index: 160; pointer-events: auto; }
.screens-2011 .screen-option-note { position: absolute; margin: 0; font-size: 10px; color: #b3bac0; line-height: 23px; text-align: center; }
.screens-2011 .screen-keymap { overflow: auto; line-height: 21px; padding: 0 6px; }
.screens-2011 .controls-keymap-2011 { padding: 0; scrollbar-width: thin; }
.controls-key-group-2011 > summary { cursor:pointer; padding:1px 5px; color:#ddecf2; background:#29303966; }
.controls-key-row-2011 { display:grid; grid-template-columns:minmax(0,1fr) 110px 110px; gap:3px; min-height:21px; padding:0 5px; border-bottom:1px solid #59647133; }
.controls-key-row-2011 > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.controls-key-2011 { font:inherit; font-size:11px; padding:0 2px; color:#eee; border:1px solid transparent; background:transparent; cursor:pointer; }
.controls-key-2011:hover,.controls-key-2011:focus-visible,.controls-key-2011[aria-pressed="true"] { background:#71674755; border-color:#95835c; outline:none; }
.controls-sticky-2011 { position:absolute; font-size:10px; display:flex; align-items:center; gap:3px; white-space:nowrap; }
.loading.loading-2011 { background: #000; z-index: 2147483647; transition: none; opacity: 1; pointer-events: auto; touch-action: none; }
.world-loading-active body > :not(#loading):not(script):not(style):not(link) { visibility: hidden !important; }
.loading-2011 .loading-brand { position: absolute; opacity: .5; margin: 0; }
.loading-2011 .loading-brand img { width: 100%; height: 100%; object-fit: contain; }
.loading-2011 .loading-line { position: absolute; left: 30%; top: 89%; width: 40%; height: 6px; border: 1px solid #757d86; background: #0a1018; }
.loading-2011 .loading-line span { background: #aeb8ca; }
.loading-2011 #loading-text { position: absolute; left: 0; top: 91%; width: 100%; text-align: center; font: 11px Arial, sans-serif; }
/* H_dlg_loading has only J_icn_loading: retain progress for accessibility,
   without inventing a visible progress bar, map caption or tips panel. */
.loading-2011:not(.error) .loading-line, .loading-2011:not(.error) #loading-text { display: none; }
#hud[data-player-hp="false"] .overhead2011.hero .oh-hp, #hud[data-monster-hp="false"] .overhead2011.enemy .oh-hp { display: none !important; }
#hud .screen-extra-hidden .qs-ex, #hud .screen-extra-hidden .qs-ex-bg { display: none !important; }

.screens-2011 .screen-delete-warning, .screens-2011 .screen-delete-target { position: absolute; line-height: 14px; text-align: center; overflow: hidden; }
.screens-2011 .screen-class-text { position: absolute; overflow-y: auto; color: #eee; padding: 0 3px; font-size: 11px; line-height: 14px; scrollbar-width: thin; }
.screens-2011 .screen-class-text p { margin: 0 0 8px; }
.screens-2011 .screen-class-name { text-align: center; color: #3d97f3; }
.screens-2011 .screen-class-requirements { color: #fba002; }
.screens-2011 .screen-modal-shade { position: absolute; inset: 0; z-index: 29; pointer-events: auto; }
