/* Keep labels centred in their own controls, independent of the native frame. */
body.desktop-client #window-world .world-map-list [data-map-guide] {
 display:flex;align-items:center;justify-content:center;text-align:center;
 padding:4px 8px;line-height:1.3;white-space:nowrap;background-image:none;
}
body.desktop-client.touch-client:has(.client-window) #touch-target-switch,
body.desktop-client.touch-client:has(#panel[open]) #touch-target-switch {display:none!important}
/* Source-panel coordinates are relative to the frame, not the sidecar. */
body.desktop-client #client-windows .single-native-window.source-window .window-header {
 left:0;right:auto;width:var(--native-board-width);pointer-events:none;
}
body.desktop-client #client-windows .single-native-window.source-window .window-header [data-close] {
 margin:0;pointer-events:auto;
}
/* Each scrolling row owns its socket; the baked stationary sockets are covered. */
body.desktop-client #panel[data-native-panel=shop] .merchant-item-list {
 background:#101510;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;
 padding:0;clip-path:inset(0);touch-action:pan-y;
}
body.desktop-client #panel[data-native-panel=shop] .merchant-item-list>button {
 display:flex;align-items:center;gap:6px;flex-shrink:0;box-sizing:border-box;
 min-height:36.6px;padding:2px 3px;border:0;border-bottom:1px solid #80765955;
 border-radius:0;background:none;overflow:hidden;
}
body.desktop-client.touch-client #panel[data-native-panel=shop] .merchant-item-list>button {min-height:44px}
body.desktop-client #panel[data-native-panel=shop] .merchant-item-list>button.selected {background:#b6a06b20}
body.desktop-client #panel[data-native-panel=shop] .merchant-item-slot {
 display:flex;align-items:center;justify-content:center;flex:0 0 32px;
 width:32px;height:32px;box-sizing:border-box;border:1px solid #ab9570;
 border-radius:2px;background:#090d09;box-shadow:inset 0 0 0 1px #534c36,0 1px 1px #0008;
}
body.desktop-client #panel[data-native-panel=shop] .merchant-item-slot .native-item-icon {flex-shrink:0}
body.desktop-client:is(.touch-client,:not(.touch-client)) #client-windows #window-character .native-context-popover {width:230px;height:min(344px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
body.desktop-client #window-character .native-context-popover>.native-frame-body {padding:6px 10px;overflow:auto}
body.desktop-client #window-character .stat-allocation {gap:3px;margin:0;padding:0 0 6px}
body.desktop-client #window-character .stat-allocation-row {
 display:grid;grid-template-columns:1fr 30px 36px 36px;align-items:center;gap:4px;
 min-height:36px;font-size:13px;
}
body.desktop-client #window-character .stat-allocation-row output {text-align:center;color:#f4dfaa}
body.desktop-client:is(.touch-client,:not(.touch-client)) #client-windows #window-character .native-frame-body .stat-allocation button:not([data-detail-close]) {
 display:flex;justify-content:center;align-items:center;text-align:center;line-height:1;min-width:36px;min-height:36px;
 padding:3px 6px;border:1px solid #84724e;border-radius:2px;background:#a08a5212;
 box-shadow:inset 0 1px #c5b38b22,inset 0 -1px #0008;color:#eddbac;font-size:14px;margin:0;
}
body.desktop-client #window-character .stat-allocation-note {margin:2px 0;font-size:11px}
body.desktop-client #window-character .stat-allocation-actions {display:flex;justify-content:flex-end;gap:6px}
body.desktop-client #window-character .character-extras {font-size:11px;padding:4px 0}
body.desktop-client #window-character .character-more {font-size:11px;margin:3px 0}
body.desktop-client #window-character .character-more summary {cursor:pointer;color:#d6c396}
body.desktop-client #window-character .native-context-popover .npc-actions {gap:4px;margin:3px 0}
body.desktop-client #window-character .native-context-popover .npc-actions button {font-size:11px;min-height:28px;padding:3px 6px}
body.desktop-client.touch-client #window-character .mobile-stat-entry {
 left:calc(283px - 48px / var(--native-board-scale,1));top:213px;
 width:calc(44px / var(--native-board-scale,1));height:calc(36px / var(--native-board-scale,1));
 border:1px solid #84724e;border-radius:2px;background:#a08a5212;box-shadow:inset 0 1px #c5b38b22;
 font-size:calc(11px / var(--native-board-scale,1));
}

.equipment-warning{color:#ffbe9f!important;font-weight:600;line-height:1.5!important;border-left:2px solid #cb8865;padding-left:7px;overflow-wrap:anywhere}.equipment-actions button:disabled{cursor:not-allowed}

.native-item-popover .equipment-warning{color:#8b2917!important;border-color:#9c4b2c;text-shadow:none}
