#outcontainer { width: 100%; height: 100%; }
.grayed { -webkit-filter: grayscale(50%); filter: grayscale(50%); }

/* Revive, disconnect, error screen */
.disconnectwindow { width:640px; height:200px; max-width:100%; max-height:100%; text-align: center; }

/* Popup windows border and background */
.windowborder { background:url(../../files/gui/bbuilder_windowborder_back.png); border: 32px solid transparent; border-radius:24px; padding: 32px 32px; position:absolute; margin-left:auto; margin-right:auto; margin-top: auto; margin-bottom:auto; left: 0; right: 0; top: 0; bottom: 0; z-index:100; font-size: 20pt; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000; color:white; max-width: calc(100% - 128px); }
.windowborder { border-image: url(../../files/gui/bbuilder_windowborder.png) 48 48 fill repeat repeat; }
#deathscreen .windowborder { margin-top: initial; margin-bottomm:initial; top:50px; }

/* Popup window title, menu items and close button */
.titletext { width:100%; height:48px; position:absolute; left:-8px; top:-16px; font-size:48px; text-align:center; color:white; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000; }

.menuitem { width:106px; height:96px; float:left; position:relative; margin-top:10px; }
.menuitemtext { position:absolute; width:100%; height:20px; top:76px; font-size:20px; text-align:center; pointer-events: none; }
.menuitemtext2 { position:absolute; width:100%; text-align:center; pointer-events: none; }
.menuitemsubtitle { position:absolute; width:100%; height:14px; right: 5px; bottom:5px; line-height:14px; font-size:14px; text-align:right; pointer-events: none; }
.menuitemsmall { height: 88px; }
.menuitem.selected { border: 4px solid #ffe060; border-radius: 12px; height:124px; }
 
.closebutton { position:absolute; top:-32px; right:-32px; width:80px; height:80px; cursor:pointer; }
.closebuttonimage { position:absolute; left:24px; top:24px; width:32px; height:32px; background:url(../../files/gui/bbuilder_closebutton.png); background-size:contain; }

.backbutton { background:url(../../files/gui/bbuilder_backbutton.png); position:absolute; top:-8px; left:-16px; width:80px; height:40px; }

.likebutton { background:url(../../files/gui/bbuilder_likebutton2.png); position:absolute; bottom:5px; right:0px; width:80px; height:32px; background-size: contain; }
.unlikebutton { background:url(../../files/gui/bbuilder_unlikebutton.png); position:absolute; bottom:5px; right:0px; width:80px; height:32px; background-size: contain; }

.bigmapimage { background:url(../../files/gui/bbuilder_bigmap.jpg); position:absolute; left:0px; top:0px; width:664px; height:400px; }
.button { position:absolute; cursor:pointer; background: white; border-radius:10px; }
.button:disabled { color:lightgray; }
.statuscontent { position: relative; left: 2px; } /* due to overflow:hidden, divs inside profile status needs to be moved 2px */

#ingamedoms { position:absolute; overflow:hidden; left:0px; top:0px; width:100%; height:100%; }
#ingamedoms iframe { overflow:hidden; }

/* Position of game buttons */
#chatbutton { left:8px; top:8px;  }
#clanchatbutton { left:8px; top:48px;  }
#menubutton { left:48px; top:8px; }
#homebutton { left:128px; top:8px; }
#playerlistbutton { left:128px; top:8px; } /* playerlist button takes the home button's place */
#pmbutton { left:208px; top:8px; }
#pmbubble { width:100%; height:100%; background-size:contain; }
#coinsbutton { right:240px; top:8px; }
#helpbutton { right:200px; top:8px; }
#invitebutton { right:200px; top:8px; }
#furniturebutton { right:200px; top:8px; }
#postpicturebutton { right:160px; top:8px; }
#logoutbutton { right:160px; top:48px; }
#fullscreenbutton { right:160px; top:88px; }

/* Image definitions for game and menu buttons */
#chatbutton { background-image:url(../../files/gui/bbuilder_newbutton_chat.png); }
#clanchatbutton { background-image:url(../../files/gui/bbuilder_newbutton_clanchat.png); }
#menubutton { background-image:url(../../files/gui/bbuilder_newbutton_menu.png); }
#homebutton { background-image:url(../../files/gui/bbuilder_newbutton_home.png); }
#pmbutton { background-image:url(../../files/gui/bbuilder_newbutton_default.png); }
#pmbubble { background-image:url(../../files/gui/bbuilder_chatbubble_red.png); }
#helpbutton { background-image:url(../../files/gui/bbuilder_newbutton_help.png); }
#invitebutton { background-image:url(../../files/gui/bbuilder_newbutton_invite.png); }
#coinsbutton { background-image:url(../../files/gui/bbuilder_newbutton_buycoins.png); }
#furniturebutton { background-image:url(../../files/gui/bbuilder_newbutton_furniture.png); }
#postpicturebutton { background-image:url(../../files/gui/bbuilder_newbutton_share.png); }
#logoutbutton { background-image:url(../../files/gui/bbuilder_newbutton_logout.png); }
#fullscreenbutton { background-image:url(../../files/gui/bbuilder_newbutton_fullscreen.png); }

/* Size of game and menu buttons */
.gamebutton { background-size: auto 40px; position:absolute; width:40px; height:40px; }
.gamewidebutton { background-size: auto 40px; position:absolute; width:80px; height:40px; }
.menuitemimage { background-size: auto 64px; background-repeat: no-repeat; position:absolute; left:16px; width:64px; height:64px; margin-left:auto; margin-right:auto; pointer-events: none; }
.storymenuimage { left:24px; top:36px; }

/* Popups */
#modal_background { position: absolute; width: 100%; height: 100%; z-index: 99; background: rgba(0,0,0,0.25); opacity: 0; left: 0px; top: 0px; }
#likearrow { background: url("../../files/gui/bbuilder_likebutton.png"); width:78px; height:40px; position:absolute; left:30px; top:85px; }
#coinsarrow { background: url("../../files/gui/bbuilder_coinsarrow.png"); width:117px; height:44px; position:absolute; right:168px; top:63px; pointer-events: none; }

/* Map markers */
.pin {
  width: 120px;
  height: 20px;
  position: absolute;
  margin: -48px 0px 0px -68px;

  color: white;
  font: bold 22px Coolvetica;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
  text-align:center;
  padding: 8px 8px;
}

.friendpin {
  width: 240px;
  height: 20px;
  position: absolute;
  margin: -52px 0px 0px -128px;

  color: gold;
  font: bold 18px Coolvetica;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000;
  text-align:center;
  padding: 8px 8px;
}

/* Input */
.gamelink { color:lime; }
input[type=text], input[type=number], textarea { height:24px; font-size:21px; }
input[type=submit] { -webkit-appearance: button; width:120px; height:30px; font-size:21px; }
input[type=checkbox] { width:24px; height:24px; }

/* Images in GUI */

.pixelimage { image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor; } 
.flipximage { -moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH"; }

/* Movement help for Facebook version */

#movementhelp { background:url(../../files/gui/bbuilder_movementhelp_fb.png); margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; width:518px; height:518px; opacity: 0.8; }
#movementhelpad { position:absolute; left: 20px; top: 274px; right: 15px; bottom: 15px; color:white; font-size:19px; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; }

/* Short message */

#shortmessage { position:absolute; left: 0px; right: 0px; top: 60px; height: 30px; text-align:center; font-size: 20pt; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000; color:white; display:none; }

#pinglabel { position:absolute; left: 0px; right: 0px; bottom: 15px; height: 20px; text-align:center; font-size: 15pt; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000; color:white; pointer-events:none; display:none; }


/* PM blinking */

@-moz-keyframes blink {
    0% { opacity: 1; filter: none; }
   50% { opacity: 0; filter: alpha(opacity=0); }
  100% { opacity: 1; filter: none; }
}
@-webkit-keyframes blink {
    0% { opacity: 1; filter: none; }
   50% { opacity: 0; filter: alpha(opacity=0); }
  100% { opacity: 1; filter: none; }
}
@keyframes blink {
    0% { opacity: 1; filter: none; }
   50% { opacity: 0; filter: alpha(opacity=0); }
  100% { opacity: 1; filter: none; }
}
#pmbubble {
  -webkit-animation: blink 1s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: steps(1, end);
  -moz-animation: blink 1s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: steps(1, end);
  -ms-animation: blink 1s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: steps(1, end);
  animation: blink 1s;
  animation-iteration-count: infinite;
  animation-timing-function: steps(1, end);
}

.pmbadge { position:absolute; top: -6px; right:-6px; min-width:10px; padding:1px 2px 1px 2px; background-color:red; color:white; font-weight:bold; font-size:0.55em; border-radius:30px; box-shadow:1px 1px 1px gray; text-shadow:none; text-align:center; }

/* Winner message */

#winnercanvas { position:absolute; left:8px; top:90px; width:118px; height:60px; }

/* Admin console */

.chatnick { color: green; font-weight: 600; } 

#adminconsole, .resizablewindow { -webkit-user-select: text; user-select: text; position: absolute; left: 10px; top: 10px; width:400px; height: 240px; max-width:100%; max-height:100%; background-color:green; background-color: rgba(0,128,0,0.8); border-width: 1px; border-color: black; border-radius: 4px; border-style: solid; z-index: 1000; resize: both; overflow: auto; }
/* .resizablewindow:active { width: 0; height: 0; } */
#adminconsoletitle, .resizablewindowtitle { position: absolute; left:0px; top:0px; right:0px; height:28px; padding-left: 5px; padding-top: 4px; -webkit-user-select: none; color: white; font-family: Verdana; font-size: 16px; cursor: move; }
#adminconsoletitle::after, .resizablewindowtitle::after { content:attr(title); }
#adminconsoleclose, .resizablewindowclose { background:url(../../files/gui/bbuilder_closebutton.png); background-size:contain; position: absolute; top: 2px; right: 2px; width:24px; height: 24px; cursor: pointer; }
#adminconsoletopbar { position: absolute; left: 2px; right: 2px; top: 28px; height: 24px; }
.adminconsoletopbutton { position: relative; float: left; height:24px; width:60px; text-align: center; background-color: red; border-radius: 4px; padding: 0px 2px 0px 2px; line-height: 24px; margin-right: 2px; }
#adminconsoletext { position: absolute; left: 2px; right: 2px; bottom: 30px; top: 28px; background-color: white; color: black; font-family: Verdana; font-size: 14px; padding: 2px; border-width: 1px; border-style: solid; border-color: gray; resize: none; overflow: auto; }
#adminconsoleinputcontainer { position: absolute; left: 2px; bottom: 4px; right: 20px; height: 24px; }
#adminconsoleinput { width: 100%; height: 100%; padding: 0; padding-left: 2px; border-width: 0px; background-color: white; color: black; font-family: Verdana; font-size: 14px; border-width: 1px; border-style: solid; border-color: gray; resize: none; }
.resizablewindowcontent { position:absolute; left:0px; right:0px; top:28px;bottom:40px; overflow: auto; }
.ace_editor * { font: 16px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; }

/* Custom uploads */
.uploadstitched { padding: 10px; margin: 10px; background: #00c000; color: #fff; font-size: 21px; font-weight: bold; line-height: 1.3em; border: 2px dashed #fff; border-radius: 10px; box-shadow: 0 0 0 4px #00c000, 2px 1px 6px 4px rgba(10, 10, 0, 0.5); font-weight: normal; }
.uploaddroptext { position:absolute; left:0px; right:0px; bottom:10px; text-align:center; -webkit-user-select:none; pointer-events:none; }

/* Offerwall */
.offer .menuitemimage { border-radius:15px; }
.itembuybutton { background-size: auto 96px; background-repeat: no-repeat; position:absolute; width: 96px; height: 96px; cursor:pointer; }

/* Notifications */
#notifications, .notification {-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none;}
#notifications {width:100%;left:0px;top:64px;bottom:0px;position:absolute;overflow:hidden; pointer-events: none; }
.notification { position:relative; width:100%; height:auto; text-align:center; }
.notificationtext { position:relative; width:auto; height:auto; max-width:calc(100% - 260px); background:rgba(20,90,20,0.5); margin-right:60px; margin-bottom:4px; padding:0px 8px 0px 12px;border-radius:8px;color:rgba(255,255,255,0.8); display:inline-block; text-align:center; font-size: 18pt; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000; color:white; cursor:pointer; pointer-events: auto; }
.notificationtitle { position:relative; float:left; min-height:30px; margin-right:16px; }
.notificationbutton, .notificationbutton[type=submit] { position:relative; cursor:pointer; background:white; float:right; width:auto; min-width:60px; margin: 1px 2px 1px 0px; line-height:100%; border-radius:6px; }
.dismissnotification { background-image:url(../../files/gui/bbuilder_dismissarrow.png); background-repeat: no-repeat; position:absolute; right:6px; top:8px; width:20px; height:20px; margin-left:8px; display:inline-block; }

.pmtranslate { text-decoration:underline; color:lightblue; cursor:pointer; }
.pmtranslated { color:lightblue; }

/* Hotkeys */
#hotkeys { position:absolute; left: 0px; bottom:0px; right:128px; height:75px; overflow:hidden; }
.hotkey { float:left; position:relative; width: 75px; height:75px; background-image:url(../../files/gui/bbuilder_hotkey.png); background-size:contain; cursor:pointer; }
.hotkeynumber { color:white; position:absolute; right: 15px; top:10px; font-size:20px; pointer-events:none;  }
.hotkeyimage { width:100%; height:100%; pointer-events:none; transform: translate(10px, 2px) rotate(225deg); }

/* ShowVs spar display */

.showvswindow { background:rgba(20,90,20,0.5);padding:0px 12px 0px 12px;border-radius:8px;color:white; text-align:center; position:absolute; margin-left:auto; margin-right:auto; margin-top: auto; margin-bottom:auto; left: 0; right: 0; top: 0; bottom: 0; font-size: 28px; line-height:28px; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000; color:white; max-width:100%; max-height:100%; }
.deathwindow { width:640px; height:220px; margin-top: initial; margin-bottom: initial; top:50px; max-width:100%; max-height:100%; text-align: center; padding:20px; }
#showvs { width:600px; height:250px;  }
.showvsplayer { position:absolute; width:250px; height:100%;  }
.showvshead { background-size: 480px 200px; position:absolute; left:45px; top:32px; width:160px; height:160px; }
.showvshat { background-size: 480px 280px; position:absolute; left:45px; top:-16px; width:160px; height:240px; }
.showvsvs { position:absolute; left:250px; top: 100px; width:100px; height: 100px; font-size: 48px; line-height:48px; }
.showvsname { position:absolute; left:0px; top: 190px; width:100%; height: 60px; color:lightgray; }
#showvsplayer1 { left:0px; }
#showvsplayer2 { left:350px;  }

#showvsclans { width:360px; height:300px; background:rgba(20,90,20,0.8);  }
.showvsclan { position:absolute; left:0px; width:100%; height: 120px; font-size: 48px; line-height:48px; color:lightgray; }
.showvsclansvs { position:absolute; left:0px; top: 120px; width:100%; height: 60px; font-size: 48px; line-height:48px; }
#showvsclan1 { top:30px; }
#showvsclan2 { top:200px; }

#showvswinner { width:250px; height:330px; }
#showvsplayerw { left:10px; top:60px; height:270px; }
.showvslabel, .showvsclanlabel { position:absolute; left:0px;top:0px;width:100%;height:60px; font-size: 48px; line-height:48px; }
.showvsstreak { position:absolute; left:0px;top:235px;width:100%;height:20px; font-size: 20px; line-height:20px; font-style: italic; }

#showvsclanwinner { width:360px; height: 200px;  }
#showvsclanw { top:80px; }

/* Story interface */

#recordinterface { position:absolute; margin-left: auto; margin-top: auto; margin-right:auto; margin-bottom: auto; left:0px;right:0; top:28px;bottom:0; width:256px; height:326px; }
#recordborder { background:url(../../files/gui/bbuilder_recordborder.png); background-size:contain; position:absolute; width:256px;height:256px; left:0px;top:35px; }
#recordclosebutton { right:-24px;top:-24px; }
#recordstartbutton { background:url(../../files/gui/bbuilder_recordbutton.png); background-size:contain; position: absolute; left:88px; bottom:0px;width:80px;height:32px; cursor:pointer; }
#recordstopbutton { background:url(../../files/gui/bbuilder_recordstopbutton.png); background-size:contain; position: absolute; left:88px; bottom:0px;width:80px;height:32px; cursor:pointer; display:none; }

#recordborder.recording {
  -webkit-animation: blink 1s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation: blink 1s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -ms-animation: blink 1s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: linear;
  animation: blink 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.storycanvas { border: 4px solid #006000; border-radius:24px; -webkit-mask-image: -webkit-radial-gradient(white, black); }
.storymenu .menuitem { border: 4px solid #006000; border-radius:24px; margin-right: 8px; width: 114px; height: 114px;  }
.storymenu .menuitem.selectedstory { border: 4px solid #ffe060; }
.storymenu .menuitemtext { font-size: 18px; padding:4px; width:calc(100% - 8px); height:auto;top:0px;bottom:initial; background:rgba(0,0,0,0.4); border-radius:8px; border-top-left-radius:20px; border-top-right-radius:20px; }
.storymenu .menuitemhead { left:32px !important; top:52px !important; }
.storymenu .menuitemhat { left:32px !important; top:36px !important; }
#playlistcontainer { margin-left: -8px; }
.storysmallcontainer { border: 4px solid #006000; border-radius:6px; -webkit-mask-image: -webkit-radial-gradient(white, black); margin:-4px; overflow:hidden; position:absolute; width:144px; height:144px; }

/* New profile */

.profilefieldlabel { position:absolute; font-size:22px; }
.profilefield { position:absolute; right:0px; top:0px; }
.profilebuttons { position:absolute;left:-18px;bottom:-18px;width:100%;width:calc(100% + 36px);height:44px; }
.profilebutton { position:absolute; top:0px; height:100%; text-align:center; cursor:pointer; border: 3px solid #006000; border-radius:16px; box-sizing: border-box; background: rgba(0,0,0,0.3); }
.profilebutton.selected:before { border: solid; border-color: #006000 transparent; border-width: 0px 8px 8px 8px; top: 0px; margin-top: -11px; content: ""; left: 50%; margin-left:-8px; position: absolute; z-index: 99; }
#profilebuttonsocial { left:0px; width:33%; display:none; }
#profilebuttonprofile { left:33%; right:33%; }
#profilebuttonmore { right:0px; width:33%; }

.profilehpback { position:absolute;left:0px;top:20px;width:180px;height:22px;border: 2px solid #006000; box-sizing: border-box;border-radius:15px; }
.profilehp { position:absolute;left:0px;top:20px;height:22px;background:white; border: solid 2px #006000; box-sizing: border-box; border-radius:15px; } 

#profilecharacter { pointer-events: none; /* makes life more difficult for inspect element (also makes it not left clickable */ }

/* Identify */
#identifyscreen { position: absolute; left:0px; top:0px; width: 100%; height: 100%; z-index: 99; }
#identifybuttons { position: absolute; width:442px; height:240px; left: 50%; margin-left:-221px; top: 50%; margin-top:-60px; }
#identifyscreen .windowborder { display:none;position:absolute; width:320px; height:100px; left:50%;margin-left:-224px;top:50%;margin-top:-104px; }
#identifyscreen .backbutton { position:absolute; left: -10px; width: 160px; top:-10px; height:40px; cursor:pointer; background-size:contain; background-repeat: no-repeat; }
#identifyscreen .menuitem:hover,
#identifyscreen .backbutton:hover,
#identifyscreen input[type=submit]:hover { -webkit-filter: brightness(1.4); filter: brightness(1.4); }

#identifybuttons .menuitem { position:absolute;top:0px;margin-top:0px;height:120px;cursor:pointer; background:rgba(0,64,0,0.5); border-radius:8px; text-align:center; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 2px 0 #000, 1px 2px 0 #000; color:white; }
.identifybuttonimage { position:absolute; left:5px; width:96px;height:96px; background-size:contain; }

#identifydevicebutton.menuitem   { left:0px; }
#identifydevicebutton .identifybuttonimage   { background-image:url(../../files/gui/bbuilder_newbutton_logindevice.png); }
#identifyfacebookbutton.menuitem { left:56px; }
#identifyfacebookbutton .identifybuttonimage { background-image:url(../../files/gui/bbuilder_newbutton_loginfacebook.png); }
#identifyemailbutton.menuitem    { left:168px; }
#identifyemailbutton .identifybuttonimage    { background-image:url(../../files/gui/bbuilder_newbutton_loginemail.png); }
#identifynewuserbutton.menuitem  { left:280px; }
#identifynewuserbutton .identifybuttonimage  { background-image:url(../../files/gui/bbuilder_newbutton_loginnewuser.png); }
#identifyforumsbutton.menuitem   { left:168px; top: 128px; }
#identifyforumsbutton .identifybuttonimage   { background-image:url(../../files/gui/bbuilder_newbutton_forum.png); }

#identifyscreen label { position:absolute; left:20px; top:50px; }
#identifyscreen label#identifynewuserdesc { right:20px; top:80px; font-size:20px; text-align:center; }
#identifyscreen input[type=text], #identifyscreen input[type=password] { position:absolute; left:160px; right:20px; top:50px; height:24px; font-size:21px; }
#identifyscreen input[type=submit] { position:absolute; width: 160px; left:50%; margin-left:-80px; bottom:0px; height:32px; }
#identifyscreen input[type=submit]#identifynewusersendbutton { width:240px; margin-left:-120px;  }

#identifywait { display:none; position:absolute; width:64px;height:64px; left:50%; margin-left:-32px; top:50%; margin-top:-32px; }
#identifylinks { position:absolute; left:4px; bottom:4px; font-size:21px; color:#C0C0C0; }
#identifylinks a:link { color:white; }
#identifylinks a:visited { color:white; }

/* Trading */
.tradeitem { border: 4px solid #006000; border-radius:24px; margin-top:4px; margin-left:4px; height:88px; }
.tradeitem .menuitemtext { top: 68px; font-size: 16px; line-height:14px; }
.tradeplayername { position:absolute;text-align:center;width:100%;top:105px;font-style:italic;opacity:0.5; }
#tradechattext { position: absolute; left: 0px; right: 0px; bottom: 36px; top: 0px; background-color: white; color: black; font-family: Verdana; font-size: 14px; padding: 2px; border-width: 1px; border-style: solid; border-color: gray; resize: none; overflow: auto; text-shadow: none; }
#tradechatinputcontainer { position: absolute; left: 0px; bottom: 4px; right: 4px; height: 30px; }
#tradechatinput { position:absolute; width: 100%; height: 100%; padding: 0; padding-left: 2px; border-width: 0px; background-color: white; color: black; font-family: Verdana; font-size: 21px; border-width: 1px; border-style: solid; border-color: gray; resize: none; }
.tradebutton { width:70px; height: 70px; margin: 0 16px 0 -16px; }
.tradehistoryitem { height: 88px;  }
.tradehistoryitem .menuitemtext { font-size:18px; line-height:16px; top:64px;  }


#postpicturebutton { display:none !important; } /* story recording replaced by the video clip button */
/* Video clips (ClientTS VideoRecorder.ts): clip button in the place of the story button,
   replay overlay + preview canvas, export progress box. --safe-* are the notch / home indicator
   insets sent by the app shells (0 elsewhere). Same block in every game's css - adjust per game. */
#clipbutton { right:160px; top:8px; display:none; background-image:url(../../files/gui/bbuilder_newbutton_default.png); }
#clipbutton .clipicon { position:absolute; left:0; width:100%; top:50%; transform:translateY(-50%); text-align:center; font-size:20px; line-height:1; pointer-events:none; }
#clipoverlay { position:absolute; left:0; top:0; width:100%; height:100%; z-index:61; display:none; cursor:pointer; background:rgba(0,0,0,0.7); }
#clipcanvas { position:absolute; left:50%; top:0; height:100%; transform:translateX(-50%); box-shadow:0 0 24px rgba(0,0,0,0.8); }
#clipoverlay div { position:absolute; left:50%; top:calc(16px + var(--safe-top, 0px)); transform:translateX(-50%); background:rgba(180,20,20,0.85); color:#fff; border-radius:8px; padding:8px 16px; font-size:16px; white-space:nowrap; }
#clipprogress { position:absolute; left:50%; top:calc(16px + var(--safe-top, 0px)); transform:translateX(-50%); width:220px; background:rgba(20,36,61,0.9); border:2px solid #ffd75e; border-radius:8px; padding:6px 10px; color:#fff; font-size:14px; z-index:60; display:none; cursor:pointer; }
#clipprogress .clipprogresstrack { height:6px; background:rgba(255,255,255,0.2); border-radius:3px; margin-top:4px; overflow:hidden; }
#clipprogress .clipprogressbar { height:100%; width:0; background:#ffd75e; }
#clipprogress .clipprogresshint { font-size:11px; opacity:0.7; margin-top:2px; }

/* Player list (ClientTS PlayerList.ts): #playerlistbutton (in the place of the old home button) toggles the draggable
   #playerlist window (sections Staff / Friends / Clan / Players); #playerlistmenu is the right-click /
   long-press context menu. Same block in every game's css; the --pl-* palette below mirrors this game's
   main menu window (.windowborder / .titletext / .button) - adjust colors and positions per game. */
#playerlist, #playerlistmenu, .resizablewindow { --pl-bg:rgba(63,189,79,0.75); --pl-border:#000; --pl-outline:rgba(0,0,0,0.3); --pl-accent:#ffe060; --pl-line:rgba(0,0,0,0.35); --pl-hover:rgba(255,255,255,0.2); --pl-radius:10px; }
#playerlistbutton { display:none; background-image:url(../../files/gui/bbuilder_newbutton_friends.png); background-repeat:no-repeat; background-size:contain; }
#playerlistbutton .playerlistbuttonicon { display:none; } /* the friends button image already shows player heads */
#playerlistbutton .playerlistbuttonicon { position:absolute; left:0; width:100%; top:50%; transform:translateY(-50%); text-align:center; font-size:20px; line-height:1; pointer-events:none; }
#playerlist { position:absolute; width:260px; max-width:calc(100% - 16px); height:420px; max-height:calc(100% - 16px); z-index:59; box-sizing:border-box;
  background:var(--pl-bg); border:3px solid var(--pl-border); box-shadow:0 0 0 2px var(--pl-outline), inset 0 0 0 1px var(--pl-outline); border-radius:var(--pl-radius); color:#fff; font-size:14px;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; display:none; flex-direction:column; overflow:hidden; }
#playerlist.shown { display:flex; }
#playerlist .playerlisttitle { flex:0 0 auto; padding:5px 8px; background:rgba(0,0,0,0.2); border-bottom:2px solid var(--pl-line); cursor:move; user-select:none; -webkit-user-select:none; font-family:Augusta, sans-serif; font-size:18px; color:var(--pl-accent); touch-action:none; }
#playerlist .playerlistclose { float:right; cursor:pointer; padding:0 4px; font-family:sans-serif; font-size:15px; opacity:0.8; }
#playerlist .playerlistclose:hover { opacity:1; }
#playerlist .playerlistbody { flex:1 1 auto; overflow-y:auto; overflow-x:hidden; padding:4px 0; }
#playerlist .playerlistresize { position:absolute; right:0; bottom:0; width:18px; height:18px; cursor:nwse-resize; touch-action:none; background:linear-gradient(135deg, transparent 0 50%, var(--pl-border) 50% 60%, transparent 60% 70%, var(--pl-border) 70% 80%, transparent 80% 90%, var(--pl-border) 90% 100%); opacity:0.8; }
#playerlist .playerlistsectionhead { padding:4px 8px; cursor:pointer; color:var(--pl-accent); font-weight:bold; user-select:none; -webkit-user-select:none; border-bottom:1px solid var(--pl-line); }
#playerlist .playerlistsectionhead:hover { background:var(--pl-hover); }
#playerlist .playerlistarrow { display:inline-block; width:0; height:0; margin-right:6px; vertical-align:middle; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid var(--pl-accent); }
#playerlist .collapsed .playerlistarrow { border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:6px solid var(--pl-accent); border-right:0; }
#playerlist .collapsed .playerlistentries { display:none; }
#playerlist .playerlistcount { font-weight:normal; opacity:0.7; }
#playerlist .playerlistentry { padding:3px 8px 3px 12px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; user-select:none; -webkit-user-select:none; }
#playerlist .playerlistentry:hover { background:var(--pl-hover); }
#playerlist .playerlisticon { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; vertical-align:middle; background:#7ed957; box-shadow:0 0 0 1px rgba(0,0,0,0.6); }
#playerlist .section-staff .playerlisticon { background:#ffd75e; }
#playerlist .section-friends .playerlisticon { background:#5ec8ff; }
#playerlist .section-clan .playerlisticon { background:#c98bff; }
#playerlist .playerlistentry.self .playerlistname { font-style:italic; }
#playerlist .playerlistentry.stealth { opacity:0.55; }
#playerlist .playerlistbubble { display:inline-block; width:18px; height:16px; margin-left:6px; vertical-align:middle; background:url(../../files/gui/bbuilder_chatbubble_red.png) no-repeat center; background-size:contain; animation:playerlistblink 1s steps(1) infinite; }
@keyframes playerlistblink { 0%, 100% { opacity:1; } 50% { opacity:0.15; } }
#playerlist .playerlistlevel { float:right; font-size:11px; opacity:0.7; }
#playerlistmenu { position:absolute; display:none; min-width:150px; z-index:62; background:var(--pl-bg); border:3px solid var(--pl-border); box-shadow:0 0 0 2px var(--pl-outline), 0 4px 12px rgba(0,0,0,0.5); border-radius:var(--pl-radius); color:#fff; font-size:14px;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; overflow:hidden; }
#playerlistmenu .playerlistmenutitle { padding:5px 10px; color:var(--pl-accent); font-weight:bold; background:rgba(0,0,0,0.2); border-bottom:2px solid var(--pl-line); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
#playerlistmenu .playerlistmenuitem { padding:6px 12px; cursor:pointer; user-select:none; -webkit-user-select:none; }
#playerlistmenu .playerlistmenuitem:hover { background:var(--pl-hover); }
#playerlistmenu .playerlistmenuitem.danger { color:#ff8080; }
#playerlistmenu .playerlistmenuitem.confirm { background:rgba(255,80,80,0.4); font-weight:bold; }
#playerlist { left:8px; top:140px; }

/* Resizable windows (file browser, admin console, script editor...): same look as the staff
   player list above - palette from the --pl-* variables, !important beats the older overrides. */
.resizablewindow { background:var(--pl-bg) !important; border:3px solid var(--pl-border) !important; box-shadow:0 0 0 2px var(--pl-outline), 0 6px 20px rgba(0,0,0,0.45) !important; border-radius:var(--pl-radius) !important; color:#fff; }
.resizablewindowtitle { background:rgba(0,0,0,0.2) !important; border-bottom:2px solid var(--pl-line); box-sizing:border-box; color:var(--pl-accent) !important; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; }

/* "Go back to start!" button on the scripted map popup (clientclasses menu_map.js): opens the
   home menu. Sits on the popup window (not the scrolling map), bottom left; admin warp hint is bottom right. */
.mapgobackbutton { position:absolute; left:0; bottom:0; height:32px; line-height:32px; padding:0 14px; font-size:16px !important; white-space:nowrap; z-index:10000; /* above the map markers (z-index = map y) */ border:2px solid rgba(255,255,255,0.35); box-shadow:0 2px 4px rgba(0,0,0,0.5); }
#homebutton { display:none !important; } /* replaced by the playerlist button; "Go back to start" is on the map */
