/* reset CSS */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
* {
    cursor: url('img/cupcursor.cur');
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

@font-face {
  font-family: "CupFont";
  src: url("grenda.otf");
}

:root {
	--particley:  0;
	--particlex:  0;
}

html,body
{
	width:100%;
	height:100%;
}

body
{
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: moz-none;
	-ms-user-select: none;
	user-select: none;
	
	color:#fff;
	background:#000 url(img/darkNoise.png);
	/*font-family:Tahoma,Arial,sans-serif;*/
	font-family: CupFont, Arial, sans-serif;
	font-size:13px;
}

small
{
	font-size:80%;
}

a,a:visited
{
	text-decoration:underline;
	cursor:pointer;
	color:#ccc;
}
a:hover
{
	text-shadow:0px 0px 3px #fff;
	color:#fff;
}
a:active
{
	opacity:0.8;
	background:transparent;
}

.inset
{
	box-shadow:0px 0px 12px #000 inset;
}

.title,.section
{
	/*font-family: 'Kavoon', Georgia,serif;*/
	font-family: CupFont, Arial, sans-serif;
	font-size:28px;
	text-shadow:0px 0px 4px #000;
	color:#fff;
}

#cupGlitch {
	position: absolute;
	z-index: 9999997;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 0, 0, 0.3); 
	pointer-events: none;
	visibility: hidden;
}

#horrorVignette {
	position: absolute;
	z-index: 9999999;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	box-shadow: inset 0 0 2050px rgba(0, 0, 0, 1);
	pointer-events: none;
	visibility: hidden;
}

.section
{
	padding:16px;
	width:100%;
	text-align:center;
}
.subsection
{
	padding:8px 0px;
	font-size:14px;
}
.subsection div.title
{
	font-size:22px;
	padding:8px 16px;
	width:100%;
	border-bottom:1px solid #999;
	margin-bottom:8px;
}
.update .title
{
	color:#69c;
}
.update.small .title
{
	font-size:16px;
	opacity:0.8;
	color:#fff;
}
.listing
{
	padding:3px 16px;
	font-size:13px;
}
.listing b
{
	font-weight:bold;
	opacity:0.6;
}
.listing small
{
	font-size:11px;
	opacity:0.9;
}
/*.Clparticle {
  position: absolute;
  pointer-events: none;
  width: 10px;
  height: 10px;
  background-image: url('img/goldcupcake.png');
  background-size: cover;
  z-index: 9999999;
  animation: Clparticle 1s ease-out;
}
@keyframes Clparticle {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(5);
    opacity: 0;
  }
}*/
.listing label
{
	font-size:12px;
	border-bottom:1px solid #fff;
	opacity:0.5;
	padding-left:16px;
	padding-bottom:2px;
	position:relative;
	left:-4px;
	top:-2px;
}
#bakeryNameAnchor
{
	position:absolute;
	left:0px;
	top:10%;
	width:100%;
	z-index:200;
}
#bakeryName
{
	position:absolute;
	left:0px;
	bottom:8px;
	left:12.5%;
	width:75%;
	text-align:center;
	font-size:20px;
	background:#000;
	background:rgba(0,0,0,0.4);
	border-radius:12px;
	padding:4px 0px;
	cursor:pointer;
}
#bakeryName:hover
{
	text-shadow:0px 0px 8px #fff;
}
.hidden
{
	visibility:hidden;
}
.listing:hover .hidden
{
	visibility:visible;
}

a.option, .info a
{
	display:inline-block;
	border:1px solid #ccc;
	background:#000;
	margin:2px 4px 2px 0px;
	color:#ccc;
	font-size:12px;
	padding:4px 8px;
	text-decoration:none;
}
a.option:hover, .info a:hover
{
	border-color:#fff;
	color:#fff;
	text-shadow:none;
}
a.option:active, .info a:active
{
	background-color:#333;
}
a.option.warning:hover
{
	border-color:#f33;
	color:#f33;
}
a.option.warning:active
{
	background-color:#300;
}
.info a
{
	border-color:#666;
	background:#eee;
	color:#666;
	padding:2px 6px;
}
.info a:hover
{
	border-color:#000;
	background-color:#fff;
	color:#000;
}
.info a:active
{
	background-color:#999;
}

.warning, a.option.warning
{
	color:#c00;
	border-color:#c00;
}

#backgroundLayers, #backgroundLayers div
{
	width:100%;
	height:100%;
	position:absolute;
	left:0px;
	top:0px;
}

#backgroundLayer1
{
	background:url(img/bgBlue.jpg);
}
#backgroundLayer2
{
	background:#000 url(img/darkNoise.png);
}

/*#goldenef {
	position: absolute;
	visibility: hidden;
	width: 100%;
	height: 100%;
	object-fit: fill;
}*/

#goldenef {
	position:absolute;
	left:30%;
	padding-left:16px;
	margin-right:15px;
	top:0px;
	right:318px;
	bottom:0px;
	min-width:100px;
	overflow-y: hidden;
	overflow-x:hidden;
	/*background: radial-gradient(ellipse at center, rgba(255, 225, 0, 0) 0%, rgba(255, 225, 0, 0.3) 80%);*/
	box-shadow: inset 0 0 250px rgba(255, 255, 0, 0.25);
	visibility: hidden;
	z-index: 99999999;
	pointer-events: none;
}

@keyframes pulse {
	0% {
		transform: scale(0.6);
	}

	50% {
		transform: scale(1.2);
	}

	100% {
		transform: scale(0.6);
	}
}

.pulse-animation {
	animation: pulse 2s infinite;
}

#backgroundLeftCanvas
{
	position:absolute;
	left:0px;
	top:0px;
}

#topBar
{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:32px;
	background:url(img/darkNoise.png);
	box-shadow:0px -4px 8px #666 inset;
	color:#ccc;
}
#topBar div
{
	margin:6px 8px;
}
#topBar a
{color:#fff;}

#javascriptError
{
	position:absolute;
	left:0px;
	top:0px;
	right:0px;
	bottom:0px;
	background:url(img/darkNoise.png);
	text-align:center;
	z-index:100000000000;
	line-height:150%;
	font-size:20px;
}
#game
{
	position:absolute;
	left:0px;
	top:32px;
	right:0px;
	bottom:0px;
	overflow:hidden;
}
#sectionLeft
{
	position:absolute;
	left:30%;
	padding-left:16px;
	margin-right:15px;
	top:0px;
	right:318px;
	bottom:0px;
	min-width:100px;
	overflow-y: hidden;
	overflow-x:hidden;
}

#sectionMiddle
{
	position:absolute;
	left:0px;
	top:0px;
	width:30%;
	bottom:0px;
	min-width:100px;
	overflow:hidden;
	overflow-y:scroll;
}
#game.onMenu #sectionMiddle
{
	background:#000 url(img/darkNoise.png);
}
#logButton:hover{right:-8px;}
#logButton{padding:14px 16px 10px 0px;}
#logButton{bottom:16px;right:-16px;}

#modsButton:hover{right:-8px;}
#modsButton{padding:14px 16px 10px 0px;}
#modsButton{top:0px;right:-16px;}

#sectionRight
{
	height:100%;
	position:absolute;
	top:0px;
	right:0px;
	overflow-x:hidden;
	overflow-y:scroll;
}

#sectionLeft .blackGradient
{
	background:url(img/blackGradient.png) repeat-x bottom;
	position:absolute;
	left:0px;
	right:0px;
	top:300px;
	height:640px;
}
#sectionLeft .blackFiller
{
	background:#000;
	position:absolute;
	left:0px;
	right:0px;
	top:940px;
	bottom:0px;
}

#tooltipAnchor
{
	position:absolute;
	z-index:1000000000;
	display:none;
}
#tooltip
{
	position:absolute;
	background: rgba(0, 0, 0, 0.8);
	padding:4px 8px;
	margin:4px;
	border:0px ridge #d2e248;
	border-color:#c7cd6e #a48836 #845a36 #a48836;
	border-radius:0px;
	box-shadow:0px 0px 1px 2px rgba(0,0,0,0.5),0px 2px 4px rgba(0,0,0,0.25),0px 0px 6px 1px rgba(0,0,0,0.5) inset;
	text-shadow:0px 1px 1px #000;
	color:#ccc;
}

#tooltip b
{
	color:#fff;
	font-weight:bold;
}
#tooltip .name
{
	font-weight:bold;
	font-size:110%;
	color:#fff;
	margin:2px 0px;
}
.description
{
	margin:4px 0px;
}
#tooltip q
{
	display:block;
	position:relative;
	text-align:right;
	margin-top:8px;
	font-style:italic;
	opacity:0.7;
}
q:before
{
	display:inline-block;
	content:"\"";
}
q:after
{
	display:inline-block;
	content:"\"";
}


.price
{
	font-weight:bold;
	color:#6f6;
	padding-left:18px;
	position:relative;
}
.price.disabled, .disabled .price
{
	color:#f66;
}
.price:before
{
	content:'';
	display:block;
	position:absolute;
	left:0px;
	top:2px;
	background:url(img/money.png);
	width:16px;
	height:16px;
}
.price.plain
{
	color:#fff;
	display:inline-block;
}
.price.plain:before
{
	top:0px;
}



.resetsCount
{
	font-weight:bold;
	color:#6f6;
	padding-left:18px;
	position:relative;
}
.resetsCount.disabled, .disabled .resetsCount
{
	color:#f66;
}
.resetsCount:before
{
	content:'';
	display:block;
	position:absolute;
	left:0px;
	top:2px;
	background:url(img/resetIcon.png);
	background-size: cover;
	width:16px;
	height:16px;
}
.resetsCount.plain
{
	color:#fff;
	display:inline-block;
}
.resetsCount.plain:before
{
	top:0px;
}



#cupcakeAnchor
{
	position:absolute;
	left:50%;
	top:40%;
}
#bigcupcake
{
	width:256px;
	height:256px;
	position:absolute;
	left:-128px;
	top:-128px;
	background:url(img/perfectcupcake.png);
	background-size:256px 256px;
	cursor:pointer;
	z-index:10;
	-webkit-transition: opacity 0.1s ease-out,-webkit-transform 0.1s ease-out;
	-moz-transition: opacity 0.1s ease-out,-moz-transform 0.1s ease-out;
	-ms-transition: opacity 0.1s ease-out,-ms-transform 0.1s ease-out;
	-o-transition: opacity 0.1s ease-out,-o-transform 0.1s ease-out;
	transition: opacity 0.1s ease-out,transform 0.1s ease-out;
}
.elderWrath #bigcupcake
{
	background:url(img/imperfectcupcake.png);
	background-size:256px 256px;
}
#bigcupcake:hover
{
	-webkit-transform:scale(1.05,1.05);opacity:0.9;
	-moz-transform:scale(1.05,1.05);opacity:0.9;
	-ms-transform:scale(1.05,1.05);opacity:0.9;
	-o-transform:scale(1.05,1.05);opacity:0.9;
	transform:scale(1.05,1.05);opacity:0.9;
}
#bigcupcake:active
{
	-webkit-transform:scale(0.98,0.98);opacity:1;
	-moz-transform:scale(0.98,0.98);opacity:1;
	-ms-transform:scale(0.98,0.98);opacity:1;
	-o-transform:scale(0.98,0.98);opacity:1;
	transform:scale(0.98,0.98);opacity:1;
}
#cupcakeShine
{
	width:512px;
	height:512px;
	position:absolute;
	left:-256px;
	top:-256px;
	background:url(img/shine.png);
	background-size:100%;
	z-index:5;
	opacity:0.5;
}
#cupcakeNumbers{position:absolute;top:-80px;}
.cupcakeNumber
{
	position:absolute;
	pointer-events:none;
	left:-100px;
	top:0px;
	width:200px;
	z-index:100;
	text-align:center;
	text-shadow:none;
}
#cupcakeCursors{position:absolute;z-index:5;}
.cursor
{
	width:32px;
	height:32px;
	position:absolute;
	background:url(img/cursor.png);
}
.cupcakeParticle
{
	width:64px;
	height:64px;
	margin-left:-32px;
	margin-top:-32px;
	position:absolute;
	background:url(img/smallcupcakes.png);
	opacity:0;
}
#particles {position:absolute;left:0px;top:0px;}
.particle
{
	position:absolute;
	pointer-events:none;
	left:-200px;
	bottom:0px;
	width:400px;
	z-index:100000000;
	text-align:center;
	text-shadow:0px 0px 6px #000;
	font-size:24px;
}
#cupcakeShower
{
	position:absolute;
	width:100%;
	height:100%;
	z-index:2;
}
#coffee
{
	width:100%;
	height:0%;
	position:absolute;
	left:0px;
	bottom:0px;
	z-index:100;
}
.coffeeLayer
{
	width:100%;
	height:100%;
	position:absolute;
	left:0px;
	top:0px;
	background-repeat:repeat-x;
}
#cupcakes
{
	position:absolute;
	left:0px;
	top:15%;
	width:100%;
	text-align:center;
	z-index:200;
	background:#000;
	background:rgba(0,0,0,0.4);
	padding:2px 0px;
}

.separatorLeft, .separatorRight
{
	width:16px;
	height:100%;
	background:url(img/panelVertical.png) repeat-y;
	position:absolute;
	top:0px;
	bottom:0px;
	z-index:100;
}
.separatorLeft
{
	left:30%;
}
.separatorRight
{
	right:317px;
}
.separatorBottom
{
	width:100%;
	height:16px;
	background:url(img/panelHorizontal.png) repeat-x;
	position:absolute;
	left:0px;
	bottom:0px;
}

.button
{
	background:#000 url(img/darkNoise.png);
	box-shadow:0px 0px 3px #666 inset,0px 0px 4px #000;
	position:absolute;
	z-index:100;
	width:64px;
	height:24px;
	text-align:center;
	font-size:18px;
	cursor:pointer;
	
	-webkit-transition: left 0.1s ease-out,right 0.1s ease-out,box-shadow 0.1s ease-out;
	-moz-transition: left 0.1s ease-out,right 0.1s ease-out,box-shadow 0.1s ease-out;
	-ms-transition: left 0.1s ease-out,right 0.1s ease-out,box-shadow 0.1s ease-out;
	-o-transition: left 0.1s ease-out,right 0.1s ease-out,box-shadow 0.1s ease-out;
	transition: left 0.1s ease-out,right 0.1s ease-out,box-shadow 0.1s ease-out;
}
.button:hover
{
	box-shadow:0px 0px 12px #ccc inset,0px 0px 4px #000;
	z-index:1000;
}

#prefsButton:hover,#statsButton:hover{left:-8px;}
#prefsButton,#statsButton{padding:14px 0px 10px 16px;}
#prefsButton{top:0px;left:-16px;}

#statsButton{bottom:16px;left:-16px;}

#logButton:hover{right:-8px;}
#logButton{padding:14px 16px 10px 0px;}
#logButton{bottom:16px;right:-16px;}

#modsButton:hover{right:-8px;}
#modsButton{padding:14px 16px 10px 0px;}
#modsButton{top:0px;right:-16px;}

#game.onMenu #menu{display:block;}
#game.onMenu .row{display:none;}
#menu
{
	display:none;
	z-index:1000000;
	position:absolute;
	left:16px;
	right:0px;
	top:112px;
	bottom:0px;
	/*box-shadow:0px 0px 24px #000 inset;
	background:#000 url(img/darkNoise.png);*/
}

#comments
{
	padding:16px;
	text-align:center;
	position:relative;
	padding-bottom:32px;
	font-size:16px;
	height:64px;
	overflow:hidden;
}
#commentsText
{
	padding:0px 64px;
}
#commentsText q
{
	font-style:italic;
}
#commentsText sig
{
	font-size:70%;
	display:block;
	text-align:center;
	opacity:0.7;
}
#commentsText sig:before
{
	content:"-";
	padding-left:64px;
}

.row
{
	height:128px;
	position:relative;
	padding-bottom:32px;
	display:none;
	overflow:hidden;
}
.row.enabled{display:block;}
.row .content
{
	width:100%;
	height:128px;
	position:absolute;
	overflow-x:hidden;
	overflow-y:hidden;
	padding-bottom:16px;
}
.row .background
{
	background:#999;
	position:absolute;
	left:0px;
	top:0px;
	height:100%;
	z-index:1;
	min-width:100%;
}
.row .backgroundLeft,.row .backgroundRight
{
	width:128px;
	height:128px;
	position:absolute;
	top:0px;
}
.row .backgroundLeft
{
	left:0px;
}
.row .backgroundRight
{
	right:0px;
}
.row .objects
{
	position:absolute;
	z-index:10;
  	display: none;
}
.row .special
{
	position:absolute;
	z-index:1000000;
	width:100%;
	top:0px;
	bottom:16px;
	background:#000 url(img/mapBG.jpg) fixed;
	/*display:none;*/
}
.row .specialButton
{
	visibility:hidden;
	display:none;
	position:absolute;
	top:0px;
	left:0px;
	width:128px;
	height:128px;
	z-index:200000;
}
a.control
{
	position:absolute;
	width:48px;
	height:48px;
	background:url(img/control.png) no-repeat;
	opacity:0.8;
}
a.control:hover{opacity:1;}
a.control.west{left:0px;top:48px;background-position:0px -48px;}
a.control.east{left:96px;top:48px;background-position:-96px -48px;}
a.control.north{left:48px;top:0px;background-position:-48px 0px;}
a.control.south{left:48px;top:96px;background-position:-48px -96px;}
a.control.middle{left:48px;top:48px;background-position:-48px -48px;}
.map
{
	position:absolute;
	left:0px;
	top:0px;
	overflow:hidden;
	background:#000;
}
.map .tile, .map .thing
{
	width:16px;
	height:16px;
	position:absolute;
	left:0px;
	top:0px;
}
.map .tile {background:url(img/mapTiles.png) no-repeat;z-index:100;}
.map .thing {background:url(img/mapIcons.png) no-repeat;z-index:200;}
.special .fighter {position:absolute;width:96px;height:96px;}
.row .info, #sectionLeft .info
{
	/*visibility:hidden;*/
	-webkit-transition: opacity 0.1s ease-out;
	-moz-transition: opacity 0.1s ease-out;
	-ms-transition: opacity 0.1s ease-out;
	-o-transition: opacity 0.1s ease-out;
	transition: opacity 0.1s ease-out;
	opacity:0;
	position:absolute;
	top:0px;
	left:0px;
	height:112px;
	padding:8px;
	z-index:100000;
	font-size:12px;
	line-height:125%;
	background:url(img/infoBG.png);
	color:#666;
	box-shadow:0px 0px 4px #000;
}
.row .info:after
{
	width:16px;
	height:128px;
	position:absolute;
	right:-16px;
	top:0px;
	background:url(img/infoBGfade.png) repeat-y;
	display:block;
	content:'';
}
#sectionLeft .info
{
	border-radius:16px;
	padding:24px 8px 8px 24px;
	left:-16px;
	top:-16px;
	height:auto;
}
/*.row:hover .info, #sectionLeft:hover .info, .row:hover .specialButton
{
	visibility:visible;
	opacity:1;
}*/
.row .info, #sectionLeft:hover .info, .row:hover .specialButton
{
	visibility:visible;
	opacity:1;
}
.row .object
{
	position:absolute;
	width:64px;
	height:64px;
}
#sectionLeftInfo
{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
}


#storeTitle
{
	text-align:center;
	padding:8px;
	width:284px;
}
#upgrades
{
	height:60px;
	width:300px;
	position:relative;
	overflow-y:hidden;
}
#upgrades:hover
{
	height:auto;
	min-height:60px;
}
.crate
{
	width:60px;
	height:60px;
	display:inline-block;
	cursor:pointer;
	opacity:0.6;
	position:relative;
	background:#000;
	float:left;
}
.crate:before
{
	content:'';
	position:absolute;
	left:0px;
	top:0px;
	width:60px;
	height:60px;
	display:block;
	background:url(img/upgradeFrame.png);
	z-index:10;
}
.icon
{
	width:48px;
	height:48px;
	display:inline-block;
	margin:0px 4px;
}
.icon,.crate
{
	background-image:url('img/icons20.png');
}
.achievement
{
	opacity:0.4;
}
.crate.enabled
{
	opacity:1;
}
.crate:hover:before
{
	box-shadow:0px 0px 6px #fff inset,0px 0px 1px #000;
	z-index:20;
}
.crate:hover
{
	background-color:#200e0a;
}
.product
{
	width:300px;
	height:64px;
	cursor:pointer;
	opacity:0.6;
	background:url(img/storeTile3.jpg);
	position:relative;
}
.product:nth-child(4n-3) {background-position:0px 64px;}
.product:nth-child(4n-2) {background-position:0px 128px;}
.product:nth-child(4n-1) {background-position:0px 192px;}
.product:hover
{
	box-shadow:0px 0px 16px #fff inset,0px 0px 1px #000;
	z-index:20;
}
.product.enabled:active
{
	box-shadow:0px 0px 16px #000 inset;
}
.product.enabled
{
	opacity:1;
}
.product .icon
{
	width:64px;
	height:64px;
	position:absolute;
	left:0px;
	top:0px;
}
.product .content
{
	display:inline-block;
	position:absolute;
	left:64px;
	top:6px;
	right:0px;
	bottom:6px;
	padding:4px;
	text-shadow:0px 0px 6px #000,0px 1px 1px #000;
}
.product .content .owned
{
	position:absolute;
	right:12px;
	top:6px;
	font-size:40px;
	opacity:0.2;
	color:#000;
	text-shadow:0px 0px 8px #fff;
}

.goldencupcake
{
	cursor:pointer;
	position:absolute;
	z-index:10000000000;
	display:none;
	filter:drop-shadow(0px 4px 4px rgba(0,0,0,0.75));
	-webkit-filter:drop-shadow(0px 4px 4px rgba(0,0,0,0.75));
}

.goldencupcake
{
	width:96px;
	height:96px;
	background:url(img/goldcupcake.png);
}

.goldencupcake:hover
{
	filter:brightness(125%) drop-shadow(0px 3px 4px rgba(0,0,0,0.5));
	-webkit-filter:brightness(125%) drop-shadow(0px 3px 4px rgba(0,0,0,0.5));
}

.darkchoccupcake
{
	cursor:pointer;
	position:absolute;
	z-index:10000000000;
	display:none;
	filter:drop-shadow(0px 4px 4px rgba(0,0,0,0.75));
	-webkit-filter:drop-shadow(0px 4px 4px rgba(0,0,0,0.75));
}

.darkchoccupcake
{
	width:96px;
	height:96px;
	background:url(img/darkCupcake.png);
}

.darkchoccupcake:hover
{
	filter:brightness(125%) drop-shadow(0px 3px 4px rgba(0,0,0,0.5));
	-webkit-filter:brightness(125%) drop-shadow(0px 3px 4px rgba(0,0,0,0.5));
}

.devileye
{
	cursor:pointer;
	position:absolute;
	z-index:10000000000;
	display:none;
	filter:drop-shadow(0px 4px 4px rgba(0,0,0,0.75));
	-webkit-filter:drop-shadow(0px 4px 4px rgba(0,0,0,0.75));
}

.devileye
{
	width:96px;
	height:96px;
	background:url(img/devileye.png);
}

.devileye:hover
{
	filter:brightness(60%) drop-shadow(0px 3px 4px rgba(0,0,0,0.5));
	-webkit-filter:brightness(60%) drop-shadow(0px 3px 4px rgba(0,0,0,0.5));
}


#versionNumber
{
	position:absolute;
	left:31%;
	bottom:0px;
	opacity:0.5;
	margin:8px;
	right: 318px;
	font-size:25px;
	z-index:100000000;
}

#alert
{
	display:none;
	position:fixed;
	bottom:-16px;
	left:-16px;
	z-index:100000000000;
	padding:8px 8px 24px 24px;
	font-size:14px;
	background:#990;
	border-radius:16px;
	color:#fff;
	box-shadow:0px 0px 4px #000;
}

#support
{
	width:280px;
	text-align:center;
	margin:16px auto;
}
#supportComment
{
	opacity:0.5;
	margin:8px;
}

.noFancy *
{
	text-shadow:none!important;
	box-shadow:none!important;
}
.noFancy .price
{
	text-shadow:0px 0px 4px #000,0px 1px 0px #000!important;
}
#effecteffects {
	visibility: hidden;
	position: fixed;
	width: 180px;
	height: 150px;
	background-image: url('img/shinespace.png');
	background-size: cover;
	right: -5px;
	bottom: -5px;
}
#effectcounter {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	border: dashed red;
	visibility: hidden;
	width: 100px;
	height: 50px;
	border-color: #ffd500;
	background-image: url('img/darkNoise.png');
	background-size: cover;
	right: 30px;
	bottom: 30px;
}
#effecttext {
	font-size: 25px;
}
* {
    cursor: url('img/cupcursor.cur'), auto;
}

.row .info
{
    /*opacity:0;*/
    position:absolute;
    top:0px;
    left:0px;
    height:112px;
    padding:8px;
    /*width:100%;*/
    z-index:100000;
    font-size:16px;
    line-height:125%;
    /*background:transparent;*/
    color: black;
    box-shadow:0px 0px 4px #000;
}

.sellButton {
	position: absolute;
  	right: 40px;
  	top: 50%;
    transform: translateY(-50%);
  	z-index: 999999999;
}

.sellButton a {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    
    width: 100px;
    height: 50px;
    
    display: flex;
    justify-content: center;
    align-items: center;
  
  	font-size: 14px;
    
    background: #4f0b0b;
    border: 3px solid red;
  	border-radius: 6px;
    color: red;
    
    text-decoration: none;
    
    transition: background-color 0.3s ease;
  	transition: border 0.3s ease;
  	transition: color 0.3s ease;
}

.sellButton a:hover {
    background-color: rgba(255, 0, 0, 1);
  	border: 3px solid white;
  	color: white;
}

#upgradeSaveWindow h2, #upgradeSelectionWindow h2 {
    margin-top: 0; 
}

#upgradeSaveSlotsContainer .listing {
    transition: background-color 0.2s ease-in-out;
}
#upgradeSaveSlotsContainer .listing:hover {
    background-color: rgba(255, 255, 255, 0.05); 
}

#upgradeSaveSlotsContainer .listing .icon {
    width: 48px; 
    height: 48px;
    /*margin-right: 10px;
    flex-shrink: 0;*/
    /*background-size: 48px 48px;*/
    /*image-rendering: pixelated;*/ 
}

#upgradeSelectionWindow .crate.upgrade {
    border: 1px solid #444;
    background-color: rgba(0,0,0,0.3);
    transition: border-color 0.2s, background-color 0.2s;
}
#upgradeSelectionWindow .crate.upgrade:hover {
    border-color: #888;
    background-color: rgba(255,255,255,0.1);
}
#upgradeSelectionWindow .crate.upgrade .icon { 
    width: 32px;
    height: 32px;
    /*margin: 0 auto; */
}

@keyframes fadeInScaleUp {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.9); 
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

#upgradeSaveWindow {
    background: radial-gradient(ellipse at center, rgba(30, 30, 50, 0.95) 0%, rgba(10, 10, 20, 0.98) 100%);
    border: 1px solid rgba(255, 215, 0, 0.3);
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.2), 0 0 30px rgba(100, 100, 255, 0.1) inset;
    backdrop-filter: blur(3px); 
}

#upgradeSaveWindow h2 {

    text-shadow: 0 0 5px #FFD700, 0 0 10px #FFD700, 0 0 15px #ff8c00; 
    letter-spacing: 1px;
    padding-bottom: 10px;
    border-bottom: 1px dashed rgba(255, 215, 0, 0.4);
}

#upgradeSaveSlotsContainer .listing {
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px dashed rgba(200, 200, 255, 0.2);
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.2s ease-out;
    position: relative; 
    overflow: hidden; 
}

#upgradeSaveSlotsContainer .listing:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 215, 0, 0.5);
    transform: translateX(5px); 
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.15);
}

#upgradeSaveSlotsContainer .listing::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.2) 0%, rgba(255, 215, 0, 0) 70%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: width 0.4s ease-out, height 0.4s ease-out, opacity 0.4s ease-out;
    z-index: 0; 
}

#upgradeSaveSlotsContainer .listing:hover::before {
    width: 250%; 
    height: 250%;
    opacity: 1;
}

#upgradeSaveSlotsContainer .listing .icon {
    filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.3));
    transition: transform 0.3s ease;
}
#upgradeSaveSlotsContainer .listing:hover .icon {
    transform: scale(0.66) rotate(-5deg); 
}

#upgradeSaveSlotsContainer .listing span { 
    position: relative; 
    z-index: 1;
}
#upgradeSaveSlotsContainer .listing .option { 
    background-color: rgba(255, 0, 0, 0.1);
    border-color: rgba(255, 0, 0, 0.4);
    transition: background-color 0.3s, border-color 0.3s, transform 0.2s;
    position: relative;
    z-index: 1;
}
#upgradeSaveSlotsContainer .listing .option:hover {
    background-color: rgba(255, 0, 0, 0.3);
    border-color: #ff6b6b;
    transform: scale(1.1);
}

#upgradeSelectionWindow {
    background: radial-gradient(ellipse at center, rgba(40, 20, 60, 0.95) 0%, rgba(15, 5, 25, 0.98) 100%);
    border: 1px solid rgba(144, 238, 144, 0.3); 
    box-shadow: 0 0 15px rgba(144, 238, 144, 0.2), 0 0 30px rgba(100, 200, 255, 0.1) inset;
    backdrop-filter: blur(2px);
}

#upgradeSelectionWindow h2 {

    text-shadow: 0 0 5px #90EE90, 0 0 10px #90EE90, 0 0 15px #50c878; 
    letter-spacing: 0.5px;
    padding-bottom: 10px;
    border-bottom: 1px dashed rgba(144, 238, 144, 0.4);
}

@keyframes staggerChildrenEntrance {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

#upgradeSelectionWindow div[style*="flex-wrap: wrap"] { 

    perspective: 800px; 
}

#upgradeSelectionWindow .crate.upgrade {

    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), 
                box-shadow 0.3s ease-out,
                border-color 0.3s ease-out,
                opacity 0.3s ease-out; 
    opacity: 0; 
    transform: scale(0.7) rotateY(30deg); 
    will-change: transform, opacity; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

#upgradeSelectionWindow .crate.upgrade:hover {
    transform: scale(1.15) rotateY(0deg) translateZ(20px); 
    border-color: #90EE90;
    box-shadow: 0 5px 15px rgba(144, 238, 144, 0.4);
    z-index: 10; 
}

#upgradeSelectionWindow .crate.upgrade.enabled:hover { 
     border-color: #FFD700; 
}




#slotMachineBackground {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    backdrop-filter: blur(5px);
    z-index: 100000;
    opacity: 0;
    transition: opacity 0.5s;
}

#slotMachineWindow {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    width: 90vw;
    max-width: 600px;
    background: linear-gradient(145deg, #4a0e60, #2c0b3a);
    border: 3px solid #ffd700;
    border-radius: 20px;
    box-shadow: 0 0 15px 5px #ffd700, 0 0 35px 10px rgba(255, 215, 0, 0.5), inset 0 0 10px rgba(255,255,255,0.2);
    z-index: 100001;
    color: white;
    font-family: 'Oswald', sans-serif;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.5s, transform 0.5s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

.slot-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #ffd700;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.slot-title {
    font-size: 2em;
    font-weight: bold;
    color: #ffd700;
    text-shadow: 0 0 5px #ffd700, 0 0 10px #ff8c00;
}

.slot-close {
    font-size: 1.5em;
    cursor: pointer;
    padding: 5px 10px;
}

.slot-balance-display {
    display: flex;
    justify-content: space-around;
    background: rgba(0,0,0,0.3);
    padding: 10px;
    border-radius: 8px;
    font-size: 1.2em;
    margin-bottom: 15px;
}

.slot-transfer-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.slot-deposit-section, .slot-withdraw-section {
    display: flex;
    width: 100%;
}

.slot-transfer-section input {
    flex-grow: 1;
    padding: 8px 12px;
    border-radius: 5px 0 0 5px;
    border: 2px solid #ffd700;
    border-right: none;
    background: #fff;
    color: #000;
    box-sizing: border-box;
    font-size: 1em;
    font-family: 'Oswald', sans-serif;
}

.slot-transfer-section button {
    padding: 8px 15px;
    border-radius: 0 5px 5px 0;
    font-weight: bold;
    cursor: pointer;
    border-width: 2px;
    border-style: solid;
    border-left: none;
    box-sizing: border-box;
    font-size: 1em;
    font-family: 'Oswald', sans-serif;
}

#depositButton {
    background: linear-gradient(to bottom, #ffd700, #ff8c00);
    color: #333;
    border-color: #ff8c00;
}

#withdrawButton {
    background: linear-gradient(to bottom, #4da6ff, #0073e6);
    color: white;
    border-color: #0073e6;
}

#slotMachineBody {
    background: linear-gradient(to bottom, #111, #333);
    padding: 20px;
    border-radius: 10px;
    border: 2px solid #aaa;
    position: relative;
}

#slotMachineReels {
    display: flex;
    justify-content: space-around;
    height: 3.75em;
    overflow: hidden;
    background: #000;
    border-radius: 5px;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.8);
}

.slot-reel-container {
    width: 30%;
    height: 100%;
    overflow: hidden;
    filter: blur(1.5px);
}

.slot-reel {
    font-size: 3em;
    line-height: 1.25em;
    text-align: center;
}

#winLine {
    position: absolute;
    top: 50%;
    left: 10px;
    right: 10px;
    height: 4px;
    background: rgba(255, 0, 0, 0.7);
    transform: translateY(-50%);
    box-shadow: 0 0 5px red;
}

.slot-controls {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.bet-control {
    width: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.bet-control input[type="range"] {
    flex-grow: 1;
}

#spinButton {
    padding: 15px 40px;
    font-size: 1.8em;
    font-weight: bold;
    background: linear-gradient(180deg, #4CAF50 0%, #388E3C 100%);
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 5px 0 #2E7D32;
    transition: all 0.1s;
}

#spinButton:active, #spinButton.disabled {
    transform: translateY(3px);
    box-shadow: 0 2px 0 #2E7D32;
}

#spinButton.disabled {
    background: #555;
    box-shadow: 0 5px 0 #333;
    cursor: not-allowed;
}

#winMessage {
    text-align: center;
    font-size: 2em;
    font-weight: bold;
    margin-top: 15px;
    height: 1.5em;
    transition: all 0.3s;
}

#winMessage.win {
    color: #4CAF50;
    text-shadow: 0 0 10px #4CAF50;
}

#winMessage.jackpot {
    color: #ffd700;
    text-shadow: 0 0 15px #ffd700;
    animation: jackpot-pulse 1s infinite;
}

@keyframes jackpot-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}