pokemon-showdown-client/play.pokemonshowdown.com/style/client2.css
Guangcong Luo bee9e8e629 Preact minor updates batch 15
Minor
- Fix `/help` for server commands
- Fix multiline DMs
- Redesign collapsed userlists
- Refactor topbar to use display:table and inline-blocks, instead of
  floats and manual margin calculations
  - I nearly used flexbox, but fake tables work just as well so I
    figure why not. The old client actually manually calculates margin
    to do the thing where the right tabbar expands to the right and
    then to the left and it's nice to not to need that anymore.
- Document `.gray` in STYLING
- Convert all buttons that make sense as links to <a class="button">
  - That would be all the main menu links, plus the
    usercount/battlecount in Rooms.
- Fix dismissing popups in iOS Safari
- Add an icon for being disconnected

Trivial
- Fix stars in the old client format dropdown
- Use "Cmd" instead of "Ctrl" on Macs in the chat formatting panel
- Fix some code style in panel-popups
- Update supported browser list in README
- Add Preact keys where they make sense
  - For the most part I think requiring keys is too strict. I still
    think they're unnecessary or actively detrimental for any list
    that isn't long/complex and also rearranged ever.
- ESLint: Set no-shadow to warn
2025-04-25 11:38:45 +00:00

2329 lines
45 KiB
CSS

/*********************************************************
* Global
*********************************************************/
html, body {
margin: 0;
padding: 0;
height: 100%;
overflow: visible;
}
body {
color: white;
font-size: 11pt;
font-family: Verdana, Helvetica, Arial, sans-serif;
/* see https://pokemonshowdown.com/credits */
background: #344b6c url(../fx/client-bg-charizards.jpg) no-repeat left center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.pad {
margin: 0;
padding: 5px 15px;
}
.pad p {
margin: 9px 0;
}
.buttonbar {
margin-top: 1em;
text-align: center;
}
.dark .tabbar a.button,
.dark .tabbar a.button:hover,
.dark .header-vertical .tablist a.button,
.dark .header-vertical .tablist a.button:hover {
box-shadow: inset 0.5px 1px 1px rgba(255, 255, 255, 0.5);
}
.dark .tabbar a.button:active,
.dark .tabbar a.button.cur,
.dark .tabbar a.button.cur:hover,
.dark .tabbar a.button.cur:active,
.dark .header-vertical .tablist a.button:active,
.dark .header-vertical .tablist a.button.cur,
.dark .header-vertical .tablist a.button.cur:hover,
.dark .header-vertical .tablist a.button.cur:active {
box-shadow: none;
}
pre {
white-space: pre-wrap;
word-wrap: break-word;
}
.construction {
background: repeating-linear-gradient(
-45deg,
#d9ca28,
#d9ca28 10px,
#292824 10px,
#292824 20px
);
padding: 15px;
}
.construction-inner {
background: #d9ca28;
padding: 5px 10px;
font-weight: bold;
color: black;
}
/*********************************************************
* Header
*********************************************************/
.scroll-snap-enabled {
scroll-snap-type: x mandatory;
}
.scroll-snap-enabled .header-vertical {
scroll-snap-align: start;
}
.scroll-snap-enabled .mini-header {
scroll-snap-align: end;
}
.header {
position: relative;
height: 50px;
background: url(../fx/client-topbar-bg.png) repeat-x left top scroll;
}
.header h1 {
margin: 0;
padding: 0;
}
.header .logo {
display: block;
margin: 0;
}
.header-vertical {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 193px;
padding-right: 7px;
background: rgba(255,255,255,.3);
}
.dark .header, .dark .header-vertical {
background: rgba(0,0,0,.30);
}
.userbar {
position: absolute;
top: 12px;
right: 12px;
}
.header-vertical .userbar {
right: auto;
top: auto;
left: 12px;
bottom: 12px;
width: 170px;
word-wrap: break-word;
}
.userbar .username {
font-weight: bold;
color: black;
text-shadow: 1px 1px 0 #f8f8f8, 1px -1px 0 #f8f8f8, -1px 1px 0 #f8f8f8, -1px -1px 0 #f8f8f8;
}
.dark .userbar .username, .dark .mini-header-right {
color: #DDD;
text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000;
}
.username {
cursor: pointer;
}
@media (max-width: 500px) {
.usernametext {
display: none
}
.header-vertical .usernametext {
display: inline;
}
}
.userbar button.icon {
height: 25px;
width: 27px;
font-size: 16px;
text-align: center;
padding: 0;
}
.userbar button.icon i {
margin: 0 -5px;
}
.mini-header, .maintabbarbottom {
background: #f8f8f8;
border: solid 1px #AAAAAA;
color: black;
}
.maintabbarbottom {
content: "";
display: block;
position: absolute;
left: 0;
right: 0;
top: 49px;
height: 6px;
border-left-width: 0;
border-right-width: 0;
margin: -1px 0 0 0;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.mini-header {
position: absolute;
left: 199px;
right: 0;
top: 0;
padding: 0;
height: 24px;
line-height: 24px;
border-left: 0;
border-right: 0;
border-top: 0;
overflow: hidden;
}
.mini-header i.text, .tablist i.text {
font-size: 11px;
font-style: normal;
font-weight: bold;
border: 1px solid #777;
padding: 1px 3px;
border-radius: 5px;
vertical-align: middle;
margin-top: -2px;
display: inline-block;
line-height: 12px;
}
.tablist .roomtab-battle i.text {
display: block;
border: 0;
padding: 3px 0 0;
}
.mini-header-right, .mini-header-left {
float: right;
background: transparent;
color: inherit;
font-family: inherit;
font-size: inherit;
line-height: inherit;
border: 0;
border: 1px solid #777;
border-width: 0 0 0 1px;
padding: 0 6px;
}
.mini-header-left {
float: left;
border-width: 0 1px 0 0;
margin-right: 5px;
}
.mini-header-left.notifying {
color: #AA6600;
}
.dark .mini-header-left.notifying {
color: #72bcda;
}
/* for debugging */
/* .scroll-snap-enabled .maintabbarbottom {
background: green !important;
} */
.header-vertical .scrollable-part {
position: absolute;
top: 0;
bottom: 50px;
left: 0;
right: 7px;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.header-vertical .maintabbarbottom {
top: 0;
bottom: 0;
left: auto;
right: 0;
width: 6px;
height: auto;
border-top: 0;
border-bottom: 0;
border-left-width: 1px;
border-right-width: 1px;
margin: 0;
}
.dark .mini-header, .dark .maintabbarbottom {
background: #555555;
border-color: #34373b;
color: #DDDDDD;
}
.dark .maintabbarbottom {
border-bottom-color: #5A5A5A;
}
.tabbar {
display: block;
list-style: none;
margin: 0;
padding: 2px 0 0 0;
text-align: left;
color: white;
text-shadow: 0 1px 0 black;
font-size: 10pt;
line-height: 100%;
}
.tabbar.maintabbar {
/* margin-left: 52px; */
padding: 0;
margin-right: 180px;
overflow: hidden;
white-space: nowrap;
}
.maintabbar .inner-1 {
display: table; /* ;) */
width: 100%;
height: 49px;
line-height: 49px;
}
.maintabbar .inner-2 {
display: table-row;
}
.header .overflow {
position: absolute;
bottom: 0;
right: 180px;
z-index: 12;
}
.header .overflow .button {
height: 37px;
width: 32px;
font-size: 12pt;
margin: 0;
border-radius: 0;
}
.button.subtle-notifying .fa-comment-o:before,
.button.notifying .fa-comment-o:before {
content: "\f0e6";
}
.tabbar ul {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
.tabbar .maintabbar-left, .tabbar .maintabbar-right {
display: table-cell;
list-style: none;
margin: 0;
padding: 0;
}
.tabbar .maintabbar-right {
padding-right: 1px;
}
.tabbar li {
display: inline-block;
vertical-align: bottom;
line-height: normal;
}
.tabbar a.button {
display: inline-block; /* to align it with the close button */
height: 28px;
min-width: 52px;
white-space: nowrap;
position: relative;
padding: 3px 2px 3px 2px;
margin: 0 -1px 0 0;
border-radius: 0;
box-shadow: inset 0 -1px 2px rgba(255,255,255,1);
font-size: 11px;
}
.tabbar a.button i {
display: block;
text-align: center;
margin: 1px auto 0 auto;
font-style: normal;
font-size: 14px;
height: 14px;
}
.tabbar a.button i.rooms-plus {
margin: 7px auto -6px auto;
}
.tabbar a.button i.text {
font-size: 11px;
margin-right: 8px;
padding-left: 0;
overflow: hidden;
font-weight: bold;
}
.tabbar a.button i.text + span {
margin-right: -6px;
}
.tabbar a.button:hover,
.tablist a.button:hover,
.tabbar a.button:focus,
.tablist a.button:focus {
z-index: 10;
}
.tabbar a.button.cur,
.tabbar a.button.cur:hover {
box-shadow: none;
border-bottom: 0;
padding-top: 3px;
padding-bottom: 5px;
}
.tabbar li:first-child a.button, .tabbar li.home-li a.button, .tabbar li.home-li + li a.button {
border-top-left-radius: 5px;
margin-left: 6px;
}
.tabbar li:last-child a.button, .tabbar li.home-li a.button {
border-top-right-radius: 5px;
}
.tabbar a.closable {
padding-right: 8px;
}
.tabbar .closebutton {
display: inline-block;
margin: 0 0 0 -17px;
width: 17px;
text-align: left;
top: 3px;
vertical-align: top;
position: relative;
z-index: 11;
}
.tabbar a.cur + .closebutton {
top: 2px;
}
.closebutton,
.maximizebutton,
.minimizebutton {
text-decoration: none;
font-size: 14px;
color: #999999;
text-shadow: none;
border: 0;
padding: 0;
margin: 0;
background: transparent;
cursor: pointer;
}
.closebutton:hover {
color: #BB2222;
}
.dark .closebutton:hover {
color: #EE7777;
}
.minimizebutton:hover,
.maximizebutton:hover,
summary:hover .expandbutton,
.mini-window-header:hover .minimizebutton {
color: #333333;
}
.dark .minimizebutton:hover,
.dark .maximizebutton:hover,
.dark summary:hover .expandbutton,
.dark .mini-window-header:hover .minimizebutton {
color: #CCCCCC;
}
.mini-window-header .closebutton:hover + button + .minimizebutton,
.mini-window-header .maximizebutton:hover + .minimizebutton {
color: #999999 !important;
}
.closebutton:active,
.maximizebutton:active,
.minimizebutton:active {
color: #661111;
}
.collapsed .minimizebutton .fa-minus-circle:before {
/** replace the minus with a plus when PM is minimized */
content: "\f055";
}
.tablist li, .tablist ul {
/** tablist is the menu that's displayed when the window is too wide for all the tabs */
list-style: none;
margin: 0;
padding: 0;
}
.tablist ul {
padding: 5px 8px;
width: 200px;
}
.tablist li {
clear: both;
margin: -1px 0 0 0;
padding: 0;
}
.tablist .button {
position: relative;
box-shadow: inset 0 0px 2px rgba(255,255,255,1);
font-size: 11pt;
padding: 4px 28px 4px 6px;
width: auto;
height: 18px;
text-align: left;
border-radius: 0;
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tablist .button.roomtab-battle {
height: auto;
}
.tablist li:first-child .button {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.tablist li:last-child .button {
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.header-vertical .tablist ul {
padding: 3px 0 4px 5px;
width: auto;
}
.header-vertical .tablist li .button {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right-width: 0;
margin: 0 1px 0 2px;
box-shadow: none;
}
.tablist li .button.cur {
margin: 0;
}
.tablist .closebutton {
display: block;
float: right;
margin-top: -28px;
margin-right: 4px;
padding: 5px 0 0 0;
height: 23px;
font-size: 16px;
width: 24px;
text-align: center;
position: relative;
z-index: 11;
}
/*********************************************************
* Rooms
*********************************************************/
.ps-room {
position: absolute;
display: block;
top: 56px;
left: 0;
right: 0;
bottom: 0;
border-left: 1px solid #AAAAAA;
margin-left: -1px;
}
.scrollable {
overflow: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior-block: contain;
}
.ps-room.ps-room-light, .ps-room-light {
background: rgba(242,247,250,.85);
color: black;
}
.ps-room.ps-room-opaque, .ps-room-opaque {
background: #EEF2F5;
color: black;
}
.ps-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #CCCCCC;
background: rgba(212, 212, 212, .5);
overflow: auto;
-webkit-overflow-scrolling: touch;
z-index: 20;
overscroll-behavior-block: contain;
}
.ps-popup {
position: absolute;
top: auto; right: auto; left: auto; bottom: auto;
text-align: left;
background: #E1E8E8;
color: black;
border: 1px solid #999999;
border-radius: 6px;
box-shadow: inset 1px 1px 0 #ffffff, inset -1px -1px 0 #DDDDDD, 2px 2px 3px rgba(0,0,0,.2);
z-index: 20;
}
.ps-overlay .ps-popup {
position: static;
margin: 80px auto 20px auto;
max-width: 320px;
}
.ps-popup p,
.ps-popup h3 {
margin: 7px 0;
}
.ps-popup h3 {
font-size: 12pt;
}
p.or {
font-size: 12pt;
font-style: italic;
font-weight: bold;
color: #444444;
margin: 20px 0;
text-align: center;
}
p.or:before,
p.or:after {
content: "";
font-size: 10px;
padding: 0 0 0 85px;
margin: 0 9px 0 0;
border-bottom: 1px solid #777777;
position: relative;
top: -7px;
}
p.or:after {
margin: 0 0 0 9px;
}
.ps-popup p.error {
font-weight: bold;
color: #EE4422;
}
.options {
margin: -2px 0 -1px 0;
padding: 0;
list-style: none;
font-size: 8pt;
float: left;
}
.options .option {
display: block;
width: 224px;
box-sizing: border-box;
}
.options h3 {
margin: 5px 0 0 -2px;
padding: 1px 0;
font-size: 8pt;
color: #579;
}
.options li:first-child h3 {
margin-top: 0;
}
@media (max-height:590px) {
.options h3 {
margin-top: 2px;
}
.options {
margin: -3px 0 -2px 0;
}
}
@media (max-height:518px) {
.options h3 {
margin-top: 1px;
}
}
/*********************************************************
* Main menu
*********************************************************/
.mainmenu {
position: sticky;
top: 0;
min-height: 100%;
}
.mainmenu-left {
padding: 25px 0 51px 0;
width: 300px;
}
.mainmenu-right {
position: absolute;
top: 25px;
right: 0;
width: 300px;
}
.mainmenu-mini-windows {
/* slightly overlaps with leftmenu but less than the margins */
position: absolute;
left: 295px;
top: 0;
width: 312px;
min-height: 2px;
padding: 25px 0 51px 0;
z-index: 1;
}
.mainmenu-footer {
position: absolute;
bottom: 0;
left: 0;
padding: 0 0 15px 20px;
color: #BBBBBB;
text-shadow: 0 0 3px black, 0 0 3px black, 0 0 3px black;
}
.mainmenu-footer blockquote {
margin: 0 0 1em 0;
padding: 0;
}
.mainmenu-footer small {
font-size: 9pt;
}
.mainmenu-footer small small {
font-size: 8pt;
}
.mainmenu-footer a {
text-decoration: underline;
color: #99BBEE;
}
.mainmenu-footer a:hover {
text-decoration: underline;
color: #CCDDFF;
}
.mainmenu.tiny-layout, .mainmenu-mini-windows.tiny-layout {
position: static;
left: 0;
top: 0;
width: auto;
min-height: auto;
}
.mainmenu-mini-windows.tiny-layout {
padding-bottom: 0;
}
.tiny-layout .mainmenu-left, .tiny-layout .mainmenu-right {
width: auto;
}
.tiny-layout .mainmenu-footer {
position: static;
}
@media (max-width:1087px) {
.mainmenu-left {
padding-bottom: 0;
}
.mainmenu-right {
position: static;
top: 0;
padding-bottom: 51px;
}
}
.battleform {
width: 230px;
text-align: left;
margin: 0 auto;
}
.battleform .buttonbar {
text-align: center;
}
.mini-window {
margin: 0 auto 12px;
width: 312px;
}
.mini-window-header {
background: rgba(248,248,248,.8);
color: #777777;
margin: 0;
padding: 2px 3px 2px 5px;
font-size: 11pt;
border: 1px solid #AAAAAA;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
cursor: pointer;
}
.mini-window-header:hover {
color: #333333;
}
.mini-window.collapsed .mini-window-header {
border-radius: 5px;
}
.mini-window-header.notifying {
border-color: #AA8866;
background: #E3C3A3;
}
.dark .mini-window-header.notifying {
background: #417589;
color: #BBBBBB;
}
.mini-window-header.notifying:hover {
border-color: #604020;
background: #CFAF8F;
}
.dark .mini-window-header.notifying:hover {
background: #417589;
}
.mini-window-header .closebutton,
.mini-window-header .maximizebutton,
.mini-window-header .minimizebutton {
float: right;
margin: -2px -4px 0 0;
width: 22px;
height: 21px;
font-size: 16px;
}
.mini-window-header small {
color: #888888;
font-weight: normal;
vertical-align: 1px;
}
.mini-window .mini-window-contents {
position: relative;
height: 300px;
border: 1px solid #AAAAAA;
border-top: 0;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.mini-window-body {
min-height: 100px;
max-height: 300px;
background: rgba(242,247,250,.925);
color: black;
word-wrap: break-word;
border: 1px solid #AAAAAA;
border-top: 0;
}
.mini-window-body {
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.pm-buttonbar {
padding-bottom: 3px;
}
.mini-window.collapsed .mini-window-contents,
.mini-window.collapsed .mini-window-body {
display: none;
}
.mini-window.focused .mini-window-header,
.mini-window.focused .mini-window-contents,
.mini-window.focused .mini-window-body {
border-color: #555555;
}
.mini-window.focused .mini-window-header,
.mini-window.focused .mini-window-header:hover {
background: #f8f8f8;
color: #222222;
}
.dark .mini-window-header {
background: rgba(50,50,50,.8);
color: #AAA;
}
.dark .mini-window-header:hover {
color: #CCC;
}
.dark .mini-window.focused .mini-window-header,
.dark .mini-window.focused .mini-window-header:hover {
background: #222;
color: #EEE;
}
.challenge {
margin: 0 5px 5px;
background: #fcd2b3;
border: 1px solid #f57b21;
border-radius: 5px;
color: #682f05;
padding: 1px 5px;
}
.challenge p {
margin: 4px 0;
}
.newsentry {
font-size: 9pt;
padding: 1px 10px;
}
.newsentry + .newsentry {
border-top: 1px solid #AAAAAA;
}
.unread {
background: rgba(255,240,130,0.33);
}
.mainmessage {
display: block;
padding: 10px 15px;
margin: 30px 40px;
max-width: 400px;
border-radius: 20px;
background: rgba(201, 207, 219, .8);
color: black;
}
.menugroup {
display: block;
padding: 10px 0;
margin: 0 auto 30px auto;
max-width: 250px;
border-radius: 20px;
background: rgba(0,0,0,.2);
backdrop-filter: blur(4px);
color: white;
text-shadow: 0 1px 0 black;
text-align: center;
}
form.menugroup {
max-width: 270px;
}
.mainmessage p,
.menugroup p {
margin: 10px 0;
}
.mainmenu.button {
box-sizing: border-box;
font-size: 12pt;
display: inline-block;
padding: 5px 7px 3px 7px;
width: 200px;
text-shadow: 0 -1px 0 hsl(210,40%,10%);
box-shadow: 0 1px 2px rgba(0,0,0,.2), inset 0 1px 1px rgba(255,255,255,.8);
/* default colors */
color: #FFFFFF;
border: solid 1px #AAAAAA;
background: #779EC5;
background: hsl(210,40%,62%);
background: linear-gradient(to bottom, hsl(210,40%,72%), hsl(210,40%,52%));
border-color: hsl(210,40%,40%);
}
.mainmenu.button.big {
width: 230px;
height: 50px;
padding: 0;
font-size: 14pt;
}
.mainmenu.button.big small {
display: block;
font-size: 9pt;
}
.mainmenu.button:hover {
background: #5485B6;
background: hsl(210,40%,52%);
background: linear-gradient(to bottom, hsl(210,40%,62%), hsl(210,40%,42%));
border-color: hsl(210,40%,21%);
}
.mainmenu.button:active {
box-shadow: 0 1px 2px rgba(0,0,0,.2), inset 0 -1px 1px rgba(255,255,255,.3), inset 0 1px 1px rgba(0,0,0,.4);
background: #406B96;
background: hsl(210,40%,42%);
background: linear-gradient(to bottom, hsl(210,40%,42%), hsl(210,40%,58%));
border-color: hsl(210,40%,21%);
}
.mainmenu.button.disabled,
.mainmenu.button.disabled:hover,
.mainmenu.button.disabled:active {
cursor: default;
background: #EEEEEE;
border-color: #CCCCCC;
border-style: solid;
border-width: 1px;
color: #999999;
text-shadow: none;
box-shadow: 0 1px 2px rgba(0,0,0,.1);
}
.button.mainmenu1 { background: linear-gradient(to bottom, hsl(5,40%,72%), hsl(5,40%,52%)); border-color: hsl(5,40%,40%); }
.button.mainmenu1:hover { background: linear-gradient(to bottom, hsl(5,40%,62%), hsl(5,40%,42%)); }
.button.mainmenu1:active { background: linear-gradient(to bottom, hsl(5,40%,42%), hsl(5,40%,58%)); }
.button.mainmenu2 { background: linear-gradient(to bottom, hsl(30,40%,72%), hsl(30,40%,52%)); border-color: hsl(30,40%,40%); }
.button.mainmenu2:hover { background: linear-gradient(to bottom, hsl(30,40%,62%), hsl(30,40%,42%)); }
.button.mainmenu2:active { background: linear-gradient(to bottom, hsl(30,40%,42%), hsl(30,40%,58%)); }
.button.mainmenu3 { background: linear-gradient(to bottom, hsl(60,40%,62%), hsl(60,40%,42%)); border-color: hsl(60,40%,40%); }
.button.mainmenu3:hover { background: linear-gradient(to bottom, hsl(60,40%,52%), hsl(60,40%,32%)); }
.button.mainmenu3:active { background: linear-gradient(to bottom, hsl(60,40%,32%), hsl(60,40%,48%)); }
.button.mainmenu4 { background: linear-gradient(to bottom, hsl(130,40%,72%), hsl(130,40%,52%)); border-color: hsl(130,40%,40%); }
.button.mainmenu4:hover { background: linear-gradient(to bottom, hsl(130,40%,62%), hsl(130,40%,42%)); }
.button.mainmenu4:active { background: linear-gradient(to bottom, hsl(130,40%,42%), hsl(130,40%,58%)); }
.button.mainmenu5 { background: linear-gradient(to bottom, hsl(210,40%,72%), hsl(210,40%,52%)); border-color: hsl(210,40%,40%); }
.button.mainmenu5:hover { background: linear-gradient(to bottom, hsl(210,40%,62%), hsl(210,40%,42%)); }
.button.mainmenu5:active { background: linear-gradient(to bottom, hsl(210,40%,42%), hsl(210,40%,58%)); }
.button.mainmenu6 { background: linear-gradient(to bottom, hsl(270,40%,72%), hsl(270,40%,52%)); border-color: hsl(270,40%,40%); }
.button.mainmenu6:hover { background: linear-gradient(to bottom, hsl(270,40%,62%), hsl(270,40%,42%)); }
.button.mainmenu6:active { background: linear-gradient(to bottom, hsl(270,40%,42%), hsl(300,40%,58%)); }
/*********************************************************
* Ladder
*********************************************************/
.table-header {
position: relative;
position: sticky;
top: 0;
}
.ladder table, .ladder td, .ladder th,
.table, .table td, .table th {
border-collapse: collapse;
border: 1px solid #BBBBBB;
}
.ladder td, .ladder th,
.table td, .table th {
padding: 3px 5px;
}
.ladder th, .table th {
text-align: left;
font-size: 9pt;
background: #EEEEEE;
color: #111111;
}
.hidden {
display: none;
}
/*********************************************************
* Room list
*********************************************************/
.roomcounters {
max-width: 480px;
margin: 8px 0 15px 0;
text-align: center;
}
@media (max-width: 382px) {
.roomcounters {
margin: 38px 0 15px 0;
}
}
.roomcounters .button {
margin: 0 auto;
width: 118px;
height: 52px;
padding: 6px 0 0 0;
text-align: center;
vertical-align: middle;
font-size: 10pt;
position: relative;
}
.roomcounters .button strong {
display: block;
font-size: 18pt;
font-weight: normal;
}
.roomcounters .usercount {
display: block;
width: 49px;
height: 63px;
position: absolute;
left: -30px;
bottom: -5px;
background: url(https://play.pokemonshowdown.com/sprites/gen5/meloetta.png) center no-repeat;
}
.roomcounters .button:hover .usercount {
background: url(https://play.pokemonshowdown.com/sprites/gen5ani/meloetta.gif) center no-repeat;
}
.roomcounters .battlecount {
display: block;
width: 46px;
height: 76px;
position: absolute;
right: -30px;
bottom: -10px;
background: url(https://play.pokemonshowdown.com/sprites/gen5/meloetta-pirouette.png) center no-repeat;
}
.roomcounters .button:hover .battlecount {
background: url(https://play.pokemonshowdown.com/sprites/gen5ani/meloetta-pirouette.gif) center no-repeat;
}
.roomlist {
max-width: 480px;
text-align: left;
list-style: none;
margin: 0;
padding: 0;
}
.roomlist .subrooms {
font-size: 8pt;
padding-left: 20px;
margin: -5px 0 4px;
}
.roomlist .subrooms i.fa-level-up {
margin-right: 5px;
}
.roomlist .subrooms a.blocklink {
display: inline-block;
margin: 0;
vertical-align: middle;
font-size: 8pt;
}
/*********************************************************
* Chat
*********************************************************/
.chat-log {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 40px;
font-size: 10pt;
word-wrap: break-word;
overflow: auto;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
overscroll-behavior-block: contain;
}
.chat-log, .readable-bg {
background: rgba(242,247,250,.5);
color: black;
}
.chat-log-add {
position: absolute;
bottom: 0;
left: 0;
right: 0;
min-height: 36px;
padding: 3px 4px 0 4px;
border-top: 1px solid #AAAAAA;
}
.debug {
display: none;
}
.highlighted {
background: rgba(255,200,80,0.33);
}
.chat.highlighted {
margin-left: -8px;
margin-right: -8px;
padding-left: 8px;
padding-right: 8px;
}
.revealed {
background-color: #C8FDEA;
}
.message-pm {
color: #007100;
}
.message-pm .pmnote {
cursor: pointer;
}
.chat-log .inner,
.pm-log .inner {
padding: 24px 8px 6px 8px;
}
.chatbox {
margin: 0 10px 0 80px;
padding: 5px 0 0 0;
}
.chatbox.nolabel {
margin: 0 10px 0 2px;
padding: 5px 0 5px 0;
}
.chatbox label {
float: left;
margin-left: -78px;
padding-top: 2px;
width: 73px;
text-align: right;
overflow: hidden;
white-space: pre;
font-weight: bold;
font-size: 8pt;
}
.chatbox.nolabel label {
display: none;
}
.chatbox .textbox {
display: block;
height: 1.1em;
width: 100%;
resize: none;
font-size: 9pt;
font-family: Verdana, Helvetica, Arial, sans-serif;
overflow-x: hidden;
overflow-wrap: break-word;
}
.chatbox pre.textbox {
margin: 0;
height: auto;
}
pre.textbox.textbox-empty[placeholder]:before {
content: attr(placeholder);
color: #777;
position: absolute;
cursor: text;
}
/* Tournaments */
.tournaments-info > ul {
list-style: none;
margin: 0;
padding: 0;
}
.tournament-wrapper {
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 30px;
line-height: 30px;
text-align: center;
border-bottom: 1px #aaa solid;
}
.tournament-wrapper.active {
display: block;
}
.tournament-title {
display: block;
cursor: pointer;
font: inherit;
font-weight: bold;
height: 30px;
border: 0;
padding: 0;
background: transparent;
width: 100%;
text-align: left;
overflow: hidden;
white-space: nowrap;
}
.tournament-title:hover {
background: rgba(242, 247, 250, 0.85);
}
.dark .tournament-title:hover {
background: rgba(50, 50, 50, 0.85);
}
.tournament-title i.fa {
float: right;
line-height: 30px;
padding-right: 5px;
}
.tournament-status {
background: rgba(242, 247, 250, 0.85);
border-right: 1px #aaa solid;
padding: 0 5px;
margin-right: 5px;
line-height: 30px;
font-weight: normal;
display: inline-block;
font-size: 11px;
}
.tournament-box {
position: absolute;
top: 2em;
left: 0;
right: 0;
z-index: 1;
line-height: 1em;
border-bottom: 1px #aaa solid;
border-right: 1px #aaa solid;
background-color: rgba(242, 247, 250, 0.85);
overflow: auto;
overscroll-behavior-block: contain;
transform-origin: top;
transform: scaleY(0);
touch-action: none;
transition: transform 0.15s ease-out;
}
.tournament-box.active {
transform: scaleY(1);
transition: transform 0.15s ease-out;
}
.tournament-bracket {
max-height: 200px;
overflow: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior-block: contain;
font-size: 8pt;
}
.tournament-popout-link {
position: absolute;
bottom: 0.5em;
right: 0.5em;
}
.tournament-close-link {
position: absolute;
top: 0.5em;
right: 0.5em;
}
.tournament-popout-bracket {
width: 100%;
height: 100%;
max-height: 90vh;
}
.tournament-bracket-table {
margin: 0 auto;
empty-cells: hide;
border-bottom: 1px #aaa solid;
border-collapse: collapse;
}
.tournament-bracket-table td, .tournament-bracket-table th {
border: 1px #aaa solid;
padding: 5px;
}
.tournament-bracket-table td {
white-space: nowrap;
}
.tournament-bracket-table .empty,
.tournament-bracket-table .tournament-bracket-table-cell-null {
border-width: 0;
}
.tournament-bracket-table-cell-result-win {
background-color: rgba(128, 196, 128, 0.7);
color: black;
}
.tournament-bracket-table-cell-result-draw {
background-color: rgba(255, 196, 128, 0.7);
color: black;
}
.tournament-bracket-table-cell-result-loss {
background-color: rgba(255, 128, 128, 0.7);
color: black;
}
.tournament-bracket-tree {
text-align: center;
}
.tournament-bracket-tree-link {
fill: none;
stroke: #aaa;
}
.tournament-bracket-tree-link-active {
stroke: #aa0;
stroke-width: 3px;
}
.tournament-bracket-tree-abbreviated {
fill: #999;
}
.tournament-bracket-tree-node rect {
/* Note: Due to SVG limitations, dimensions and border radii are in client-chat-tournament.js (nodeSize) */
fill: rgba(178, 194, 210, 0.7);
stroke: rgba(74, 77, 80, 0.7);
color: black;
}
.tournament-bracket-tree-node a rect {
fill: hsla(219, 93%, 77%, 0.7);
stroke: hsla(219, 100%, 25%, 0.7);
color: black;
}
.tournament-bracket-tree-node a:hover rect {
fill: hsla(218, 38%, 82%, 0.7);
stroke: hsla(219, 68%, 35%, 0.7);
color: black;
}
.tournament-bracket-tree-node-match-available rect,
.tournament-bracket-tree-node-match-challenging rect {
fill: hsla(294, 36%, 71%, 0.7);
stroke: hsla(294, 68%, 35%, 0.7);
color: black;
}
.tournament-bracket-tree-node rect.tournament-bracket-tree-win {
fill: rgba(128, 196, 128, 0.7);
stroke: rgba(0, 128, 0, 0.7);
color: black;
}
.tournament-bracket-tree-node rect.tournament-bracket-tree-loss,
.tournament-bracket-tree-node rect.tournament-bracket-tree-draw {
fill: hsla(219, 0%, 71%, 0.7);
stroke: hsla(219, 0%, 35%, 0.7);
color: black;
}
.tournament-bracket-tree-node text, .tournament-bracket-tree-node {
font-size: 8.5pt;
text-anchor: middle;
font-weight: bold;
}
.tournament-bracket-tree-node a {
color: #248;
}
.tournament-bracket-tree-node a text, .tournament-bracket-tree-node a:hover text {
fill: #248;
}
.tournament-bracket-tree-team-win {
font-weight: bold;
}
.tournament-bracket-tree-team-loss, .tournament-bracket-tree-team-draw, .tournament-bracket-tree-score {
font-weight: normal;
}
.tournament-tools {
padding: 1px 10px;
border-top: 1px #aaa solid;
}
.tournament-tools p {
margin: 0.5em 0;
}
.tournament-team {
padding-bottom: 5px;
}
.tournament-challenge-user,
.tournament-challenged-message,
.tournament-challenging-message,
.tournament-challengeby {
font-size: 9pt;
padding-bottom: 5px;
}
.tournament-tools .button {
font-size: 9pt;
}
.tournament-message-create,
.tournament-message-start,
.tournament-message-forceend,
.tournament-message-end-winner {
font-weight: bold;
}
.tournament-message-end-bracket {
font-weight: normal !important;
max-height: 400px;
overflow: hidden;
text-align: center;
}
/* Userlist */
.userlist {
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 145px;
height: auto;
border-right: 1px solid #AAAAAA;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.userlist-hidden {
width: auto;
border-right: 0;
bottom: auto;
overflow: visible;
}
.userlist-hidden .button.button-middle {
margin: -1px -1px 0 0;
}
.userlist-static {
position: static;
border-right: 0;
}
.userlist-count {
text-align: center;
padding: 2px 0;
}
.chat-log.hasuserlist,
.chat-log-add.hasuserlist,
.tournament-wrapper.hasuserlist {
left: 146px;
}
.userlist ul,
.userlist li {
display: block;
list-style-type: none;
margin: 0;
padding: 0;
text-align: left;
}
.userlist-hidden ul {
display: none;
}
.userlist li {
font: 10pt Verdana, sans-serif;
white-space: nowrap;
}
.userlist li em.group {
font-style: normal;
font-size: 8pt;
color: #AAAAAA;
display: block;
float: left;
text-align: center;
padding: 1px 0 0 1px;
width: 14px;
}
.userlist li button {
box-sizing: border-box;
display: block;
overflow: hidden;
height: auto;
background: transparent;
border: 0;
padding: 1px 0;
margin: 0;
height: 21px;
width: 100%;
white-space: nowrap;
font: 9pt Verdana, sans-serif;
text-align: left;
}
/* Remove Firefox's magic padding */
.userlist li button::-moz-focus-inner {
padding: 0;
}
.userlist li button:hover {
background: #dce4ec;
}
.userlist li button:active {
background: #ccd4dc;
}
.userlist li.cur {
background: white;
}
.userlist li.cur button,
.userlist li.cur button:hover {
background: white;
margin: 0 0 0 -1px;
}
/*********************************************************
* Battle
*********************************************************/
.ps-room .battle-userlist {
left: 641px;
}
.ps-room .battle-log {
position: absolute;
top: 0;
left: 640px;
right: 0;
bottom: 40px;
height: auto;
width: auto;
word-wrap: break-word;
border-right: 0;
border-top: 0;
border-bottom: 0;
}
/* I like this one (bottom-aligns chat logs) but it's controversial */
/* .battle-log, .chat-log {
display: flex;
flex-direction: column;
justify-content: flex-end;
} */
/* these two bottom-align controls in the mobile UI, while leaving everything else at the top */
.battle-log {
display: flex;
flex-direction: column;
}
.battle-log .inner-preempt {
flex-grow: 1;
}
.ps-room .battle-log-add {
position: absolute;
bottom: 0;
left: 640px;
right: 0;
top: auto;
min-height: 36px;
height: auto;
width: auto;
padding: 3px 4px 0 4px;
border-right: 0;
border-bottom: 0;
}
.ps-room .battle {
border-top: 0;
border-left: 0;
border-right: 0;
top: 0;
left: 0;
transform-origin: top left;
-webkit-transform-origin: top left;
}
.ps-room .foehint {
transform-origin: top left;
-webkit-transform-origin: top left;
}
.battle-controls {
position: absolute;
top: 370px;
left: 0;
width: 640px;
}
.battle-chat-toggle {
display: none;
}
.battle-log .battle-controls {
top: 0;
position: static;
width: auto;
padding-bottom: 6px;
}
.battle-log .movecontrols, .battle-log .shiftcontrols, .battle-log .switchcontrols {
max-width: 330px;
margin: 0 auto;
}
.timerbutton {
float: right;
}
.timerbutton-on,
.timerbutton-on:hover {
color: #992222;
border-color: #992222;
}
.timerbutton-on:hover {
border-color: #661111;
}
.timerbutton-critical,
.timerbutton-critical:hover {
color: #ffffff;
font-weight: bold;
border-color: #BB2222;
background: #BB2222;
text-shadow: none;
}
.dark .timerbutton-on,
.dark .timerbutton-on:hover {
color: #EE6666;
border-color: #EE6666;
}
.dark .timerbutton-critical,
.dark .timerbutton-critical:hover {
color: #ffffff;
font-weight: bold;
border-color: #BB2222;
background: #BB2222;
text-shadow: none;
}
.battle-controls p {
margin: 2px 0 8px 0;
padding: 0 8px;
}
.battle-controls .whatdo {
margin-top: -2px;
padding: 0 8px;
font-size: 9pt;
line-height: 2;
color: #555555;
}
.battle-controls .whatdo small {
padding: 1px 2px;
border: 1px solid #999999;
border-radius: 4px;
}
.battle-controls .whatdo small.weak {
color: #AAAA22;
border-color: #AAAA22;
}
.battle-controls .whatdo small.critical {
color: #EE4433;
border-color: #EE4433;
}
.small-layout .battle-userlist,
.small-layout .battle-log,
.small-layout .battle-log-add {
display: none;
}
.small-layout .battle-chat-toggle {
display: block;
position: absolute;
top: 4px;
left: 151px;
font-size: 14px;
padding: 3px 6px;
}
.small-layout .battle-chat-toggle[name=showChat] {
left: auto;
right: 6px;
}
.small-layout.showing-chat .battle,
.small-layout.showing-chat .battle-controls {
display: none;
}
.small-layout.showing-chat .battle-userlist,
.small-layout.showing-chat .battle-log,
.small-layout.showing-chat .battle-log-add {
left: 0;
display: block;
}
.shiftselect,
.moveselect,
.switchselect {
font-weight: bold;
font-style: italic;
color: #555555;
font-size: 12pt;
margin: 0;
padding: 9px 7px 0 7px;
}
.shiftselect {
color: #445588;
}
.moveselect {
color: #884422;
}
.switchselect {
color: #445588;
}
.switchmenu button {
position: relative;
display: block;
float: left;
width: 102px;
min-height: 30px;
margin-right: 4px;
font: 9pt Verdana, sans-serif;
padding: 5px 5px 5px 0;
white-space: pre;
overflow: hidden;
}
.switchmenu button .picon {
float: left;
margin: -6px -3px -6px -4px;
opacity: 0.8;
}
.switchmenu button .hpbar {
position: absolute;
display: block;
border: 1px solid #AAA;
background: #EEE;
height: 2px;
bottom: 2px; left: 4px; right: 2px;
border-radius: 2px;
opacity: .8;
}
/* The declaration order of these three hpbar* classes is significant. */
.switchmenu button .hpbar span {
display: block;
height: 1px;
background: #0A6;
border-top: 1px solid #3C0;
border-radius: 1px;
}
.switchmenu button .hpbar-yellow span {
border-top-color: #a5aa53;
background-color: #a2a822;
}
.switchmenu button .hpbar-red span {
border-top-color: #faa;
background-color: #f55;
}
/****************/
.switchmenu button .status {
position: absolute;
display: block;
right: 2px;
bottom: 1px;
width: 5px;
height: 5px;
padding: 0;
border-radius: 2px;
border: 1px solid #C2C2C2;
opacity: 1.0;
}
.status {
color: white;
border-radius: 3px;
padding: 0 2px;
}
.status.brn {
background: #EE5533;
}
.status.psn, .status.tox {
background: #A4009A;
}
.status.par {
background: #9AA400;
}
.status.slp {
background: #AA77AA;
}
.status.frz {
background: #009AA4;
}
.movebutton {
float: left;
display: block;
width: 155px;
margin-right: 4px;
height: 40px;
font: 10pt/100% Verdana, sans-serif;
position: relative;
padding: 6px 4px 0 4px;
}
.movebutton small {
color: #777777;
}
.movebutton small.type {
padding-top: 3px;
float: left;
font-size: 8pt;
}
.movebutton small.pp {
padding-top: 2px;
float: right;
font-size: 8pt;
}
.megaevo-box {
clear: both;
padding-top: 10px;
text-align: center;
}
.megaevo {
clear: both;
display: block;
width: 180px;
margin: 0 auto 0;
position: relative;
top: 6px;
left: -7px;
padding: 2px;
text-align: center;
cursor: pointer;
border: 1px solid #BBB;
border-radius: 3px;
color: #333;
background: transparent;
font-size: 10pt;
font-weight: bold;
}
.megaevo:hover {
border-color: #888;
background: #E5E5E5;
color: black;
}
.dark .megaevo {
color: #EEE;
border-color: #888;
}
.dark .megaevo:hover {
color: #FFF;
background: #333;
border-color: #BBB;
}
.megaevo:has(:checked),
.dark .megaevo:has(:checked) {
text-shadow: -1px -1px 0 #FFF, 1px 1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF;
color: black;
background-image: linear-gradient(120deg,
hsl(0, 100%, 75%) 0%,
hsl(36, 100%, 75%) 10%,
hsl(64, 100%, 75%) 20%,
hsl(118, 100%, 83%) 30%,
hsl(179, 100%, 80%) 40%,
hsl(188, 100%, 79%) 50%,
hsl(212, 100%, 77%) 60%,
hsl(260, 100%, 77%) 70%,
hsl(284, 100%, 76%) 80%,
hsl(308, 100%, 76%) 90%,
hsl(0, 100%, 75%) 100%
);
}
.megaevo input {
width: 16px;
height: 16px;
vertical-align: -1px;
cursor: pointer;
}
.switchmenu,
.movemenu {
display: block;
margin-right: -10px;
padding-left: 4px;
}
.switchmenu:after {
content: '';
display: block;
clear: both;
}
.switchmenu button,
.movebutton {
position: relative;
outline: none;
text-align: center;
text-decoration: none;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
border-radius: 5px;
margin-top: 4px;
box-shadow: 0 1px 2px rgba(0,0,0,.2), inset 0 -1px 2px rgba(255,255,255,1);
/* default colors */
color: #000000;
border: solid 1px #AAAAAA;
background: #e3e3e3;
background: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
}
.switchmenu button:hover,
.movebutton:hover {
background: #cfcfcf;
background: linear-gradient(to bottom, #f2f2f2, #cfcfcf);
border-color: #606060;
}
.switchmenu button:active,
.movebutton:active,
.switchmenu button.pressed,
.movebutton.pressed {
background: linear-gradient(to bottom, #cfcfcf, #f2f2f2);
}
.switchmenu button.disabled,
.switchmenu button:disabled,
.movebutton:disabled {
cursor: default;
background: #F3F3F3 !important;
border-color: #CCCCCC !important;
-webkit-box-shadow: none !important;
-moz-box-shadow: none !important;
box-shadow: none !important;
color: #777777 !important;
}
/*********************************************************
* Team Selector
*********************************************************/
.select, .team {
width: 246px;
height: 32px;
padding: 0 5px;
font-size: 9pt;
text-align: left;
font-family: Verdana, Helvetica, Arial, sans-serif;
white-space: nowrap;
cursor: pointer;
border-radius: 4px;
border: 1px solid #888888;
background: #EEEEEE;
box-shadow: inset 0 1px 0 #FFFFFF;
background: linear-gradient(to bottom, #edf2f8, #d7e3ec);
color: black;
box-sizing: border-box;
position: relative;
}
.team {
height: 49px;
overflow: hidden;
}
.team:focus {
outline: 0 none;
border: 1px solid #004488;
box-shadow: inset 0px 1px 2px #D2D2D2, 0px 0px 5px #2266AA;
}
.select.teamselect {
height: 49px;
white-space: nowrap;
overflow: hidden;
}
.teamselect .team {
margin: -1px 0 0 -6px;
width: 226px;
}
.teamselect:disabled .team {
background: transparent;
box-shadow: none;
}
.team strong {
display: block;
font-size: 8pt;
padding-top: 2px;
text-align: center;
}
.team em {
display: block;
padding-top: 16px;
}
.team strong span {
font-style: normal;
font-weight: normal;
}
.teamselect:disabled strong {
color: #777777;
}
.dark .teamselect:disabled strong {
color: #505050;
}
.team small {
display: block;
text-align: center;
/* individual pokemon in a team have margin-right -4px so this compensates */
margin: 0 -1px 0 -5px;
}
.team small span {
margin-right: -4px;
}
.select:hover, .team.team-hover, button.team:hover {
border-color: #555555;
background: #FFFFFF;
background: linear-gradient(to bottom, #dce4ec, #c6d3e0);
}
.select:active, .team:active, button.team:active {
border-color: #777777;
background: #DDDDDD;
box-shadow: none;
background: linear-gradient(to bottom, #d1dce6, #e7edf2);
}
.select:before {
position: absolute;
top: 8px;
right: 6px;
padding: 0;
font-size: 14px;
content: "\f0d7";
font-family: FontAwesome;
-webkit-font-smoothing: antialiased;
color: #777777;
}
.select.teamselect:before {
top: 16px;
}
.select:disabled {
border-color: #999999;
background: rgba(220,220,220,.65);
color: #555555;
box-shadow: none;
}
.select:disabled .team {
border-color: #999999;
cursor: default;
}
.select:disabled:before {
color: #AAAAAA;
}
.select:disabled small {
opacity: 0.7;
}
.select.preselected,
.select:disabled.preselected {
color: black;
}
.teamlist .team, .teamdropdown .team {
display: inline-block;
width: 300px;
vertical-align: middle;
}
.teamlist .dragging button {
visibility: hidden;
}
.teamlist .dragging .team {
opacity: 0.4;
}
.teamlist .team small {
display: block;
}
/*********************************************************
* Popups
*********************************************************/
.ps-popup .label {
width: 210px;
margin: 0 auto;
}
.ps-popup .textbox {
width: 200px;
}
.userstatus {
font-style: italic;
font-size: 8pt;
word-wrap: break-word;
overflow: hidden;
max-height: 21pt;
display: block;
}
.usergroup {
color: #333;
font-size: 8pt;
font-weight: bold;
}
.dark .usergroup {
color: #BBB;
}
.userdetails {
min-height: 80px;
width: 191px;
padding: 1px 1px 1px 86px;
margin: 5px 0;
}
.userdetails img {
float: left;
margin-left: -85px;
}
.userdetails .rooms {
font-size: 8pt;
}
.userdetails .offline {
color: red;
}
.trainersprite.yours {
cursor: pointer;
}
.buttonbar {
clear: both;
}
.bglist {
margin: 0 -7px;
}
.avatarlist button,
.formlist button,
.bglist button {
display: block;
float: left;
margin: 2px;
padding: 2px;
border: 1px solid transparent;
border-radius: 4px;
box-shadow: none;
background: transparent;
}
.avatarlist button {
width: 80px;
height: 80px;
background: transparent url(https://play.pokemonshowdown.com/sprites/trainers-sheet.png) no-repeat scroll 0px 0px;
}
.bglist button span {
display: block;
width: 144px;
height: 90px;
background: url(../fx/client-bgsheet.png) no-repeat scroll 0px 0px;
}
.avatarlist button.cur,
.formlist button.cur,
.bglist button.cur {
border-color: #999999;
}
.avatarlist button:hover,
.avatarlist button.cur:hover,
.formlist button:hover,
.formlist button.cur:hover,
.bglist button:hover,
.bglist button.cur:hover {
border: 1px solid #8899AA;
background-color: #F1F4F9;
box-shadow: 1px 1px 1px #D5D5D5;
}
.volume {
min-height: 34px;
}
.volume label {
font-size: 9pt;
}
.volume em {
display: block;
font-size: 9pt;
color: #555555;
width: 150px;
height: 20px;
margin: 2px;
}
.volume input {
display: block;
width: 150px;
height: 20px;
margin: 2px;
}
.preview {
float: right;
}
/*********************************************************
* Dark mode!
*********************************************************/
.dark .ps-room.ps-room-light,
.dark .ps-room-light,
.dark .tournament-box,
.dark .tournament-status,
.dark .tournament-toggle,
.dark .pm-log-add {
background: rgba(0,0,0,.8);
color: #DDD;
}
.dark .mini-window-body {
background: rgba(0,0,0,.9);
color: #DDD;
backdrop-filter: blur(4px);
}
.dark .userlist-maximized {
background: #333333;
color: #DDD;
}
.dark .ps-room.ps-room-opaque,
.dark .battle-log-add {
background: #444444;
color: #DDD;
}
.dark .userlist-minimized {
background: #444444;
color: #4488EE;
}
.dark .userlist-minimized .userlist-count:hover,
.dark .userlist-maximized .userlist-count:hover {
background: #666666;
}
.dark .moveselect button {
color: #AA6644;
}
.dark .switchselect button {
color: #6677AA;
}
.dark .whatdo {
color: #999999;
}
.dark .chat-log, .dark .readable-bg {
background: rgba(0,0,0,.5);
color: #DDD;
backdrop-filter: blur(4px);
}
/* popups */
.dark .ps-popup {
background: #0D151E;
color: #DDD;
border-color: #34373b;
box-shadow: 2px 2px 3px rgba(0,0,0,.5), inset 0.5px 1px 1px rgba(255, 255, 255, 0.5);
}
.dark .changeform i {
border-color: #bbb;
color: #bbb;
background: rgba(0,0,0,.5);
}
.dark .changeform i:hover {
border-color: #EEE;
color: #EEE;
}
.dark .ps-overlay {
background: rgba(40, 40, 40, .5);
}
/* semi-generic */
.dark .select, .dark .team {
border-color: #000000;
box-shadow: none;
background: linear-gradient(to bottom, rgba(227, 239, 251, 0.85), rgba(118, 128, 140, 0.85));
color: black;
}
.dark .select:hover, .dark .team.team-hover, .dark button.team:hover {
border-color: #000000;
background: #FFFFFF;
color: black;
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(161, 175, 189, 0.85));
}
.dark .select:active, .dark .team:active, .dark button.team:active {
border-color: #000000;
box-shadow: none;
background: linear-gradient(to bottom, rgba(161, 175, 189, 0.85), rgba(255, 255, 255, 0.85));
}
.dark .select:disabled {
border-color: #888888;
background: linear-gradient(to bottom, rgba(227, 239, 251, 0.6), rgba(193, 199, 207, 0.6));
color: #444444;
box-shadow: none;
}
.dark .select:disabled .team {
border-color: #888888;
}
.dark .select:before {
color: #000000;
}
.dark .select:disabled:before {
color: #888888;
}
/* main menu */
.dark .mini-window.focused .mini-window-header,
.dark .mini-window.focused .mini-window-body,
.dark .mini-window.focused .mini-window-contents {
border-color: #CCC;
}
/* chat */
.dark .userlist strong,
.dark .userlist span {
text-shadow: 1px 1px 0 #222222;
}
.dark .userlist li button:hover {
background: #222222;
}
.dark .userlist li button:active {
background: black;
}
.dark .highlighted {
background: rgba(120,220,255,0.28);
}
.dark .message-pm {
color: #00af00;
}
.dark .revealed {
background: rgba(0,255,200,0.18);
}
.dark a.ilink {
color: #4488EE;
}
.dark .chat.mine {
background: rgba(255,255,255,0.05);
}