.gw-dekor { width:min(1020px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); margin:auto; padding:20px; box-sizing:border-box; border:1px solid #d9c8ab; border-radius:20px; background:#fffaf0; color:#334337; font:14px/1.5 system-ui,sans-serif; box-shadow:0 18px 70px #19281955; }
.gw-dekor::backdrop { background:#162a24aa; }
.gw-dekor header,.gw-dekor footer { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.gw-dekor header h2 { flex:1; margin:0; font-size:21px; }
.gw-dekor button,.gw-dekor select { min-height:44px; border:1px solid #b9c9b7; border-radius:10px; padding:9px 12px; background:#f1f5e8; color:#24432c; font:inherit; cursor:pointer; }
.gw-dekor button:hover:not(:disabled) { background:#dcebcf; }
.gw-dekor button:disabled,.gw-dekor select:disabled { opacity:.48; cursor:default; }
.gw-dekor button:focus-visible,.gw-dekor select:focus-visible { outline:3px solid #306e80; outline-offset:2px; }
.gw-dekor-utama { display:grid; grid-template-columns:minmax(0,1fr) 255px; gap:20px; }
.gw-dekor-view { min-width:0; }
/* The legacy game canvas rule is absolute + 100% !important. Contain this second
   canvas explicitly so it cannot cover the editor's real pointer controls. */
.gw-dekor canvas { display:block; position:relative; inset:auto; width:100%!important; height:350px!important; border-radius:14px; touch-action:pan-y; }
.gw-dekor canvas[hidden] { display:none; }
.gw-dekor-frame { position:relative; }
.gw-dekor-drag-caption { position:absolute; inset:auto 8px 8px; margin:0; padding:6px 9px; border-radius:8px; background:#fffaf0f2; color:#24432c; font-size:13px; line-height:1.4; pointer-events:none; }
.gw-dekor-drag-caption[hidden] { display:none; }
.gw-dekor-view small { display:block; margin:8px 0; }
.gw-dekor-view button { margin-top:8px; }
.gw-dekor-kontrol h3 { margin:8px 0; font-size:15px; }
.gw-dekor-katalog { display:grid; gap:6px; }
.gw-dekor-kontrol label { display:block; margin-top:12px; }
.gw-dekor select { display:block; width:100%; }
.gw-dekor-aksi { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:8px 0; }
.gw-dekor-posisi,.gw-dekor-info { color:#53624c; }
.gw-dekor-posisi { min-height:42px; }
.gw-dekor-status { flex:1; min-width:180px; }
.gw-dekor footer { margin-top:12px; padding-top:8px; border-top:1px solid #ddd4c0; }
@media(max-width:650px) {
  .gw-dekor { padding:14px; width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  .gw-dekor-utama { grid-template-columns:1fr; gap:8px; }
  .gw-dekor canvas { height:240px!important; }
  .gw-dekor-katalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gw-dekor-katalog button { padding:6px; }
  .gw-dekor-status { flex-basis:100%; margin:4px 0; }
}
/* W3a private instance toolbar: world controls stay, public chat/presence do not. */
#gw-interior{position:fixed;z-index:110;top:16px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 24px));box-sizing:border-box;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff8e9;color:#352e24;border:1px solid #d8ceb8;border-radius:18px;padding:12px 16px;box-shadow:0 8px 30px #382e2326;font-family:Nunito,sans-serif}
#gw-interior strong{font-size:17px}#gw-interior span{flex:1 1 180px;font-size:12px}
#gw-interior button{padding:10px 14px;border:1px solid #ccd4bb;border-radius:11px;background:#eef3e5;color:#324c37;font:800 13px Nunito,sans-serif;cursor:pointer;min-height:42px}
#gw-interior button:disabled{opacity:.5;cursor:wait}#gw-interior button:focus-visible{outline:3px solid #488064;outline-offset:2px}
.gw-kantor-aktif #hud,.gw-kantor-aktif #hamburger-menu,.gw-kantor-aktif #arena-door,.gw-kantor-aktif #gw-timku,.gw-kantor-aktif #lbl-layer,.gw-kantor-aktif #bottom-bar,.gw-kantor-aktif #chat-panel,.gw-kantor-aktif #emiga-dunia,.gw-kantor-aktif #harian-kartu{display:none!important}
.gw-kantor-periksa #c,.gw-kantor-periksa #gw-dekor{visibility:hidden!important}
#gw-interior-pesan{position:fixed;inset:35% 12% auto;z-index:150;background:#fff8e9;color:#352e24;padding:24px;border-radius:18px;text-align:center}
@media(max-width:600px){#gw-interior{top:8px;padding:10px;gap:6px}#gw-interior strong{font-size:15px}#gw-interior span{flex-basis:100%;font-size:11px}#gw-interior button{flex:1} }
