#s2047-isometric-interior{position:fixed;inset:0;z-index:2147483600;display:none;background:rgba(0,4,10,.96);font-family:Arial,sans-serif;color:#fff}
#s2047-isometric-interior[data-open="1"]{display:block}
.s2047-interior-shell{position:absolute;inset:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #4ebbe5;border-radius:14px;background:#07131f;box-shadow:0 20px 90px #000}
.s2047-interior-shell header{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:6px 14px 6px 108px;background:#0c2638;border-bottom:1px solid #32677d}
.s2047-interior-shell h2{margin:0;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s2047-interior-shell header button{border:0;background:transparent;color:#fff;font-size:34px;line-height:1;width:48px;height:44px}
.s2047-interior-shell canvas{display:block;width:100%;height:100%;min-width:0;min-height:0;touch-action:none}
.s2047-interior-controls{min-height:188px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:8px;background:#0a1d2b;border-top:1px solid #32677d}
.s2047-interior-dpad{width:178px;height:178px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:5px;border-radius:26px;background:rgba(3,13,23,.76);border:2px solid rgba(255,255,255,.35);box-shadow:0 14px 34px rgba(0,0,0,.55);backdrop-filter:blur(8px);touch-action:none}
.s2047-interior-dpad button{min-width:0;min-height:0;border:2px solid #ffe177;border-radius:13px;background:linear-gradient(145deg,#18384d,#071725);color:#fff;font-size:27px;font-weight:950;line-height:1;box-shadow:inset 0 1px 2px rgba(255,255,255,.2),0 4px 10px rgba(0,0,0,.35);touch-action:none}
.s2047-interior-dpad button.is-pressed{transform:translateY(2px);background:#ffe177;color:#182000}
.s2047-interior-up{grid-column:2;grid-row:1}.s2047-interior-left{grid-column:1;grid-row:2}.s2047-interior-fire{grid-column:2;grid-row:2;border-radius:50%!important;background:radial-gradient(circle at 35% 28%,#ff7474,#b51414 62%,#650606)!important}.s2047-interior-right{grid-column:3;grid-row:2}.s2047-interior-down{grid-column:2;grid-row:3}
.s2047-interior-actions{display:flex;align-items:flex-end;justify-content:flex-end;flex:1;height:178px}
.s2047-interior-exit{min-width:150px;height:72px;padding:0 22px;border:2px solid #ff9ca0;border-radius:18px;background:#783337;color:#fff;font-size:20px;font-weight:900;box-shadow:0 5px 0 #3b1518;touch-action:manipulation}
.s2047-interior-open body{overflow:hidden}
@media(max-width:700px){.s2047-interior-shell{inset:max(4px,env(safe-area-inset-top)) 4px max(4px,env(safe-area-inset-bottom)) 4px}.s2047-interior-shell header{padding-left:105px;min-height:54px}.s2047-interior-shell h2{font-size:16px}.s2047-interior-controls{min-height:174px;gap:8px;padding:5px}.s2047-interior-dpad{width:160px;height:160px}.s2047-interior-actions{height:160px}.s2047-interior-exit{min-width:112px;height:64px;font-size:17px}}
@media(max-width:390px){.s2047-interior-dpad{width:148px;height:148px}.s2047-interior-actions{height:148px}.s2047-interior-exit{min-width:96px;padding:0 12px}}

/* v5.66.0 interior polish */
.s2047-interior-toast{position:absolute;left:50%;bottom:205px;z-index:8;transform:translate(-50%,14px);opacity:0;pointer-events:none;max-width:min(86vw,420px);padding:10px 16px;border:1px solid #6bd7f5;border-radius:999px;background:rgba(4,20,31,.94);color:#fff;font-weight:800;text-align:center;transition:opacity .2s ease,transform .2s ease}
.s2047-interior-toast[data-show="1"]{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){.s2047-interior-toast{bottom:185px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.s2047-interior-toast{transition:none}}


/* v5.67.0 interior depth, anchoring and camera polish */
.s2047-interior-shell canvas{image-rendering:auto}
.s2047-interior-shell{isolation:isolate}
.s2047-interior-shell header{z-index:4}
.s2047-interior-controls{z-index:5}
@media(max-width:700px){
  .s2047-interior-shell header{padding-right:105px;text-align:center;justify-content:center}
  .s2047-interior-shell h2{max-width:calc(100vw - 230px);text-align:center}
}

/* v5.68.0 walk-through interior exits */
.s2047-interior-controls{justify-content:flex-start}
.s2047-interior-actions,.s2047-interior-exit{display:none!important}
@media(max-width:700px){.s2047-interior-controls{justify-content:flex-start}}

/* v5.69.0 proper walk-through doors and complete indoor action controls */
.s2047-interior-controls{justify-content:space-between!important;align-items:flex-end!important;gap:12px!important}
.s2047-interior-action-panel{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:8px;width:min(244px,46vw);align-self:flex-end}
.s2047-interior-action-panel button{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:50px;padding:7px 9px;border:2px solid rgba(224,239,255,.72);border-radius:18px;background:rgba(5,24,34,.94);color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.42);font-size:13px;font-weight:800;line-height:1.05;text-align:left;touch-action:manipulation}
.s2047-interior-action-panel button:first-child{grid-column:1/-1}
.s2047-interior-action-panel b{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:rgba(255,216,77,.16);color:#ffd84d;font-size:18px}
.s2047-interior-action-panel button:active{transform:scale(.97);background:rgba(18,67,83,.98)}
@media(max-width:700px){
 .s2047-interior-controls{min-height:174px!important;padding:5px!important;gap:8px!important}
 .s2047-interior-action-panel{width:min(228px,49vw);gap:7px}
 .s2047-interior-action-panel button{min-height:48px;padding:7px 8px;font-size:12px}
}
@media(max-width:390px){
 .s2047-interior-action-panel{width:48vw;gap:5px}
 .s2047-interior-action-panel button{min-height:44px;padding:5px 6px;font-size:11px;border-radius:14px}
 .s2047-interior-action-panel b{flex-basis:25px;width:25px;height:25px;font-size:15px}
}

/* v5.70.0 indoor player, transparent doorway and full action controls repair */
.s2047-interior-controls{display:grid!important;grid-template-columns:minmax(148px,178px) minmax(0,244px)!important;justify-content:space-between!important;align-items:end!important;width:100%!important;box-sizing:border-box!important}
.s2047-interior-dpad{grid-column:1!important;flex:none!important}
.s2047-interior-action-panel{grid-column:2!important;display:grid!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:7!important;min-width:0!important;max-width:100%!important}
@media(max-width:700px){
 .s2047-interior-controls{grid-template-columns:160px minmax(0,1fr)!important}
 .s2047-interior-action-panel{width:100%!important}
}
@media(max-width:390px){
 .s2047-interior-controls{grid-template-columns:148px minmax(0,1fr)!important;gap:5px!important}
 .s2047-interior-action-panel{width:100%!important}
}


/* v5.71.1 definitive indoor player and action-control recovery */
.s2047-interior-controls{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:10px!important;width:100%!important;box-sizing:border-box!important;overflow:visible!important}
.s2047-interior-dpad{flex:0 0 178px!important}
.s2047-interior-action-panel{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important;flex:0 1 244px!important;width:244px!important;max-width:calc(100% - 188px)!important;z-index:20!important}
@media(max-width:700px){
 .s2047-interior-controls{padding:5px!important;gap:8px!important}
 .s2047-interior-dpad{flex-basis:160px!important;width:160px!important;height:160px!important}
 .s2047-interior-action-panel{flex-basis:calc(100% - 168px)!important;width:calc(100% - 168px)!important;max-width:calc(100% - 168px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .s2047-interior-action-panel button{min-width:0!important;overflow:hidden!important}
 .s2047-interior-action-panel span{white-space:normal!important}
}
@media(max-width:390px){
 .s2047-interior-dpad{flex-basis:148px!important;width:148px!important;height:148px!important}
 .s2047-interior-action-panel{flex-basis:calc(100% - 153px)!important;width:calc(100% - 153px)!important;max-width:calc(100% - 153px)!important}
}

/* v5.71.2 reliable indoor action panel and seating */
.s2047-interior-controls{position:relative!important;display:grid!important;grid-template-columns:160px minmax(190px,1fr)!important;align-items:end!important;gap:10px!important;min-height:174px!important}
.s2047-interior-dpad{grid-column:1!important;width:160px!important;height:160px!important;flex:none!important}
.s2047-interior-action-panel{grid-column:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-self:end!important;width:100%!important;max-width:320px!important;min-width:190px!important;margin-left:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;clip:auto!important;overflow:visible!important;z-index:30!important}
.s2047-interior-action-panel button{display:flex!important;visibility:visible!important;opacity:1!important;min-width:0!important}
@media(max-width:430px){
 .s2047-interior-controls{grid-template-columns:148px minmax(0,1fr)!important;gap:6px!important;min-height:162px!important}
 .s2047-interior-dpad{width:148px!important;height:148px!important}
 .s2047-interior-action-panel{min-width:0!important;max-width:none!important;gap:5px!important}
 .s2047-interior-action-panel button{min-height:43px!important;padding:5px!important;font-size:11px!important;border-radius:13px!important}
 .s2047-interior-action-panel b{display:none!important}
}


/* v5.71.3 mobile indoor action controls: unclipped and reliable */
.s2047-interior-shell{overflow:hidden!important}
.s2047-interior-controls{
  display:grid!important;
  grid-template-columns:minmax(132px,38%) minmax(0,62%)!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  padding:6px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.s2047-interior-dpad{
  grid-column:1!important;
  width:min(160px,100%)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  justify-self:start!important;
}
.s2047-interior-action-panel{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  align-self:stretch!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:minmax(42px,1fr)!important;
  gap:6px!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.s2047-interior-action-panel button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:42px!important;
  padding:5px 7px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.s2047-interior-action-panel button:first-child{grid-column:1/-1!important}
.s2047-interior-action-panel span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:430px){
 .s2047-interior-controls{grid-template-columns:minmax(126px,39%) minmax(0,61%)!important;gap:5px!important;padding:5px!important;min-height:158px!important}
 .s2047-interior-dpad{width:min(148px,100%)!important}
 .s2047-interior-action-panel{gap:4px!important;grid-auto-rows:minmax(40px,1fr)!important}
 .s2047-interior-action-panel button{min-height:40px!important;padding:4px 6px!important;font-size:10.5px!important;border-radius:12px!important}
 .s2047-interior-action-panel b{display:none!important}
}
@media(max-width:360px){
 .s2047-interior-controls{grid-template-columns:124px minmax(0,1fr)!important}
 .s2047-interior-action-panel button{font-size:10px!important;padding:3px 4px!important}
}


/* v5.71.4 indoor controls: reliable input and top HUD stacking */
html.s2047-interior-open #s2047-isometric-interior{
  z-index:2147483646!important;
  pointer-events:auto!important;
}
html.s2047-interior-open .s2047-interior-shell,
html.s2047-interior-open .s2047-interior-controls,
html.s2047-interior-open .s2047-interior-action-panel{
  pointer-events:auto!important;
}
html.s2047-interior-open .s2047-interior-controls{
  position:relative!important;
  z-index:2147483647!important;
  isolation:isolate!important;
}
html.s2047-interior-open .s2047-interior-action-panel,
html.s2047-interior-open .s2047-interior-action-panel button{
  position:relative!important;
  z-index:2147483647!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
/* Full-screen menu shells may remain mounted, but only their visible toggle may receive input indoors. */
html.s2047-interior-open #s2047-hamburger-shell-v51217,
html.s2047-interior-open #s2047-v51220-shell,
html.s2047-interior-open #s2047-main-options-shell-v5300{
  pointer-events:none!important;
}
html.s2047-interior-open #s2047-hamburger-shell-v51217 button,
html.s2047-interior-open #s2047-v51220-shell button,
html.s2047-interior-open #s2047-main-options-shell-v5300 button{
  pointer-events:auto!important;
}


/* v5.71.5: action controls sit above both hamburger controls and receive taps directly. */
html.s2047-interior-open .s2047-interior-controls,
html.s2047-interior-open .s2047-interior-action-panel,
html.s2047-interior-open .s2047-interior-action-panel button{
  z-index:2147483647!important;
  pointer-events:auto!important;
}
html.s2047-interior-open #s2047-hamburger-shell-v51217,
html.s2047-interior-open #s2047-v51220-shell,
html.s2047-interior-open #s2047-main-options-shell-v5300{
  z-index:2147483500!important;
}


/* v5.73.0 universal sit control and compact inventory layout */
.s2047-interior-action-panel button:first-child{grid-column:auto!important}
.s2047-interior-action-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.s2047-interior-action-panel .s2047-interior-inventory,
.s2047-interior-action-panel .s2047-interior-sit{min-height:42px!important;padding-top:5px!important;padding-bottom:5px!important}
.s2047-interior-action-panel .s2047-interior-inventory span,
.s2047-interior-action-panel .s2047-interior-sit span{white-space:nowrap!important}
@media(max-width:430px){
 .s2047-interior-action-panel .s2047-interior-inventory,
 .s2047-interior-action-panel .s2047-interior-sit{min-height:36px!important;font-size:10px!important}
}
