/* Native pixels and native coordinates; viewport containment does not rearrange controls. */
.original-ui-layer{position:absolute;left:0;top:0;width:800px;height:600px;transform-origin:top left;pointer-events:none;z-index:12;overflow:visible}
.original-ui-layer[hidden]{display:none!important}
body.source-ui #chat-log{position:absolute;inset:auto;margin:0;padding:0;max-width:none;max-height:none;background:transparent;color:#e6d5b2;font:12px/15px Gulim,Dotum,monospace;pointer-events:auto}
body.source-ui #chat-form{position:absolute;inset:auto;display:block;margin:0;padding:0;gap:0;pointer-events:auto}
body.source-ui #chat-input{box-sizing:border-box;width:100%;height:24px;min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:#e6d5b2;font:12px/18px Gulim,Dotum,monospace;box-shadow:none;pointer-events:auto}
body.source-ui #chat-form button{display:none}
.source-convenience-controls{position:absolute;bottom:calc(var(--shaiam-hud-reserved-height,152px) + 8px);right:30px;display:flex;gap:3px;z-index:9;pointer-events:auto}
.source-convenience-controls button{padding:3px 6px;min-width:36px;min-height:28px;border:1px solid #705232;border-radius:0;background:#21140dcc;color:#ddc59b;font:11px/1 Gulim,Dotum,monospace;box-shadow:none}
body.source-ui #map-name{top:auto;bottom:calc(var(--shaiam-hud-reserved-height,152px) + 8px);left:35px;margin:0;padding:2px 4px;border:0;background:#170f0a99;font:11px/14px Gulim,Dotum,monospace;pointer-events:none}
body.source-ui #map-name[hidden]{display:none!important}
body.source-ui .original-ui-layer #toast{position:absolute;z-index:40;pointer-events:none;font:12px/16px Gulim,Dotum,monospace}
.original-window{position:absolute;z-index:20;width:var(--source-width);height:var(--source-height);max-width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;color:#e4d0a1;font:12px/1.2 Gulim,Dotum,monospace;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#8b6a43 #22140c;box-sizing:content-box}
.original-window[hidden]{display:none!important}
.original-window--side{right:0;top:0}
.original-window--floating{left:50%;top:50%;transform:translate(-50%,-50%)}
.original-window--floating[data-original-x]{left:var(--original-x);top:var(--original-y);transform:none}
.original-window-plane{position:relative;isolation:isolate;transform-origin:top left;zoom:var(--source-scale,1);flex:none}
.original-window-art,.original-window-content{position:absolute;inset:0;width:100%;height:100%}
.original-window-art{image-rendering:pixelated;pointer-events:none;z-index:-1}
.original-window-content{background:transparent}
.original-window button.original-hotspot{position:absolute;box-sizing:border-box;border:0;border-radius:0;padding:0;margin:0;min-width:0;min-height:0;background:transparent;color:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation}
.original-window .original-hotspot:focus-visible{outline:1px solid #f8d78b;outline-offset:-1px}
.original-window .original-hotspot:disabled{cursor:default}
.original-value{position:absolute;display:block;box-sizing:border-box;overflow:hidden;white-space:nowrap;color:#ecd7a6;font:12px/1.2 Gulim,Dotum,monospace;text-shadow:1px 1px #100903;pointer-events:none}
.original-window input,.original-window textarea,.original-window select{position:absolute;box-sizing:border-box;min-width:0;min-height:0;margin:0;padding:1px 3px;border:0;border-radius:0;background:#120b08;color:#ecd7a6;font:12px/1.25 Gulim,Dotum,monospace;box-shadow:none}
.original-window textarea{resize:none}
.original-window .original-list{position:absolute;box-sizing:border-box;overflow:auto;background:#140b08;color:#ecd7a6;scrollbar-width:thin;scrollbar-color:#8b6a43 #22140c}
.original-list .original-list-row{position:relative;display:block;width:100%;border:0;border-radius:0;background:transparent;color:#ecd7a6;font:12px/1.3 Gulim,Dotum,monospace;padding:2px 4px;text-align:left;box-shadow:none;min-height:18px;cursor:pointer}
.original-list-row[aria-selected=true]{background:#72512c;color:#fff1ce}
body.source-ui #systems-nav,body.source-ui .tools,body.source-ui #player-status{display:none!important}
body.source-ui main{padding:0;max-width:none}
body.source-ui>main>header,body.source-ui>main>footer{display:none}
body.source-ui>main{width:100%;max-width:none;height:var(--mobile-viewport-height,100dvh);min-height:0;padding:0;overflow:hidden}
body.source-ui #viewport{margin:auto;border:0;box-shadow:none}
body.source-ui .original-main-tabs{position:absolute;left:0;top:0;width:23px;height:369px;z-index:24;pointer-events:auto}
body.source-ui .original-main-tabs button{display:block;position:absolute;left:0;width:23px;height:89px;min-width:0;min-height:0;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none;color:transparent;cursor:pointer}
.original-main-tabs canvas{display:block;position:absolute;inset:0;width:23px;height:89px;image-rendering:pixelated;pointer-events:none}
.original-main-tabs button:focus-visible{outline:1px solid #f9dfa6;outline-offset:-2px}
.original-ability-tabs{position:absolute;right:272px;top:0;width:19px;height:229px;z-index:25;pointer-events:auto}
.original-ability-tabs button{position:absolute;left:0;border:0;margin:0;padding:0;background:transparent;min-width:0;min-height:0;box-shadow:none;color:transparent}
.original-ability-tabs canvas,.original-system-menu canvas{image-rendering:pixelated;pointer-events:none;display:block}
.original-system-menu{position:absolute;right:40px;top:150px;width:168px;max-height:calc(100% - 150px);overflow-y:auto;scrollbar-width:thin;z-index:23;pointer-events:auto}
.original-system-menu button{display:block;width:168px;height:37px;padding:0;margin:0 0 24px;background:transparent;border:0;box-shadow:none;border-radius:0;color:transparent}
.original-help-text{white-space:pre-wrap;padding:3px;font:12px/1.35 Gulim,Dotum,monospace}
.original-help-navigation{position:absolute;color:#ebd29d;font:12px/1.25 Gulim,Dotum,monospace;overflow:hidden}
.original-window .original-art-button{padding:0;margin:0;border:0;border-radius:0;min-width:0;min-height:0;background:transparent;box-shadow:none;color:transparent}
.original-art-button canvas{image-rendering:pixelated;pointer-events:none}
.original-battle-tools{position:absolute;left:0;top:0;width:100px;height:calc(100% - var(--shaiam-hud-reserved-height,152px));overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;pointer-events:auto;z-index:16}
.original-battle-tools[hidden],.original-battle-tools button[hidden]{display:none!important}
.original-battle-tools button{position:absolute;left:50px;width:36px;height:36px;border:0;border-radius:0;padding:0;margin:0;min-width:0;min-height:0;background:transparent;box-shadow:none;pointer-events:auto;color:transparent}
.original-battle-tools canvas{image-rendering:pixelated;pointer-events:none}
.original-battle-message{position:absolute;left:100px;right:40px;bottom:calc(var(--shaiam-hud-reserved-height,152px) + 8px);pointer-events:none;color:#e6d5b2;text-shadow:1px 1px #100903;font:12px/15px Gulim,Dotum,monospace}
body.source-ui #battle-panel{display:none!important}
body.source-ui:has(#world-ui[hidden]) .source-convenience-controls{display:none}
@media(max-height:520px){
 body.source-ui .original-main-tabs,body.source-ui .original-ability-tabs{height:calc(100% - var(--shaiam-hud-reserved-height,152px));overflow:auto;scrollbar-width:none}
}
@media(max-width:700px),(max-width:1000px) and (max-height:520px){
 .original-window{max-height:calc(100% - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-width:calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 .original-window--side{right:env(safe-area-inset-right,0px);top:env(safe-area-inset-top,0px)}
 .original-window--floating[data-original-x]{left:env(safe-area-inset-left,0px);top:env(safe-area-inset-top,0px)}
 body.source-ui .original-main-tabs{left:env(safe-area-inset-left,0px);top:env(safe-area-inset-top,0px);height:calc(100% - env(safe-area-inset-top,0px));overflow:auto;scrollbar-width:none}
 body.source-ui .original-main-tabs{height:calc(100% - var(--shaiam-hud-reserved-height,152px) - env(safe-area-inset-top,0px));width:44px}
 body.source-ui .original-main-tabs button{width:44px;height:70px}
 body.source-ui #mobile-pad{left:52px;bottom:calc(var(--shaiam-hud-reserved-height,152px) + 8px);grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:2px;opacity:.6}
 body.source-ui #mobile-pad button{min-width:44px;min-height:44px;width:44px;height:44px}
 .source-convenience-controls button{min-width:44px;min-height:44px}
 .source-convenience-controls{right:8px;display:grid;grid-template-columns:repeat(3,44px);gap:3px}
 body.source-ui #mobile-interact{display:none}
}

body.shaiam-map-open .source-convenience-controls{visibility:hidden;pointer-events:none}
body.shaiam-map-open #mobile-pad{display:none}
/* NEW utility dock is outside hidden native windows, so restoration remains reachable. */
.original-window-visibility-dock{position:absolute;left:50px;right:8px;bottom:calc(var(--shaiam-hud-reserved-height,152px) + 4px);display:flex;gap:4px;max-height:48px;overflow-x:auto;overflow-y:hidden;pointer-events:none;z-index:45;scrollbar-width:thin;overscroll-behavior:contain}
.original-window-visibility-dock:empty{display:none}
.original-window-visibility-dock button{flex:none;min-width:44px;min-height:44px;padding:4px 8px;border:1px solid #8b6a43;border-radius:0;background:#24190f;color:#efdcac;font:12px/1.2 Gulim,Dotum,monospace;touch-action:manipulation;white-space:nowrap;pointer-events:auto}
.original-window-visibility-dock button:focus-visible{outline:2px solid #f8d78b;outline-offset:-2px}
@media(max-width:700px),(max-width:1000px) and (max-height:520px){
 .original-window-visibility-dock{left:152px;bottom:min(calc(var(--shaiam-hud-reserved-height,152px) + 104px),calc(100% - 48px))}
}
