:root {
	--yellow: #ffdea7;
	--white: #9d9da1;
	--dark: #2e3225;
	--light: #4c563c;
	--orange: #d9a02e;
	--red: rgb(244, 92, 67);
}

@font-face {
	font-family: Monocraft;
	src: url(Monocraft.otf) format("opentype");
}

body {
	height: 100vh;
	overflow: hidden;
}

html {
	background-color: var(--dark);
	background-image: linear-gradient(135deg, var(--dark) 25%, transparent 25%),
		linear-gradient(225deg, var(--dark) 25%, transparent 25%),
		linear-gradient(45deg, var(--dark) 25%, transparent 25%),
		linear-gradient(315deg, var(--dark) 25%, var(--light) 25%);
	background-position: 20px 0, 20px 0, 0 0, 0 0;
	background-size: 20px 20px;
	background-repeat: repeat;
	/*background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%23404' stroke-width='1'%3E%3Cpath d='M769 229L1037 260.9M927 880L731 737 520 660 309 538 40 599 295 764 126.5 879.5 40 599-197 493 102 382-31 229 126.5 79.5-69-63'/%3E%3Cpath d='M-31 229L237 261 390 382 603 493 308.5 537.5 101.5 381.5M370 905L295 764'/%3E%3Cpath d='M520 660L578 842 731 737 840 599 603 493 520 660 295 764 309 538 390 382 539 269 769 229 577.5 41.5 370 105 295 -36 126.5 79.5 237 261 102 382 40 599 -69 737 127 880'/%3E%3Cpath d='M520-140L578.5 42.5 731-63M603 493L539 269 237 261 370 105M902 382L539 269M390 382L102 382'/%3E%3Cpath d='M-222 42L126.5 79.5 370 105 539 269 577.5 41.5 927 80 769 229 902 382 603 493 731 737M295-36L577.5 41.5M578 842L295 764M40-201L127 80M102 382L-261 269'/%3E%3C/g%3E%3Cg fill='%23505'%3E%3Ccircle cx='769' cy='229' r='5'/%3E%3Ccircle cx='539' cy='269' r='5'/%3E%3Ccircle cx='603' cy='493' r='5'/%3E%3Ccircle cx='731' cy='737' r='5'/%3E%3Ccircle cx='520' cy='660' r='5'/%3E%3Ccircle cx='309' cy='538' r='5'/%3E%3Ccircle cx='295' cy='764' r='5'/%3E%3Ccircle cx='40' cy='599' r='5'/%3E%3Ccircle cx='102' cy='382' r='5'/%3E%3Ccircle cx='127' cy='80' r='5'/%3E%3Ccircle cx='370' cy='105' r='5'/%3E%3Ccircle cx='578' cy='42' r='5'/%3E%3Ccircle cx='237' cy='261' r='5'/%3E%3Ccircle cx='390' cy='382' r='5'/%3E%3C/g%3E%3C/svg%3E");*/
	cursor: url("data:image/x-icon;base64,AAACAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAAAAAAAoMDwACAg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAIiIRAAAAAAAAAAAAAAAAACIiEQAAAAAAAAAAAAAAACIiEQAAAAAAAAAAAAAAAAAiIhEAAAAAAAAAAAAAAAAiIhEAAAAAAAAAAAAAAAAAIiIRAAAAAAAAAAAAIiIAIiIRAAAAAAAAAAAAACIiACIiEQAAAAAAAAAAAAAiIiIiEQAAAAAAAAAAAAAAIiIiIhEAAAAAAAAAAAAAACIiIhEAAAAAAAAAAAAAAAAiIiIRAAAAAAAAAAAAAAAAIiIiIhEAAAAAAAAAAAAAACIiIiIRAAAAAAAAAAAAAAAREREREQAAAAAAAAAAAAAAEREREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////8/////P////A////wP///wA///8AP//8AP///AD//DAD//wwA//wAA//8AAP//AAP//wAD//8AD///AA///wAD//8AA///AAP//wAD//8AD///AA///w=="),
		auto;
}

.container {
	display: grid;
	/*grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    grid-auto-rows: minmax(100px, auto);*/
}

.one {
	grid-column: 1 / 3;
	grid-row: 1;
	height: 100vh;
	overflow: hidden;
	max-width: 760px;
}

.two {
	grid-column: 3 / 3;
	grid-row: 1;
}

#memory-viz {
	min-width: 100%;
	background-color: ghostwhite;
}

#memory-viz ::selection {
	background: transparent;
}

#stats {
	background-color: transparent;
	padding: 4px;
	margin-top: 3px;
	width: fit-content;
	/*color: #859900;*/
	color: var(--orange);
	font-family: monospace;
}

canvas {
	image-rendering: pixelated;
}

#screen.nocursor {
	cursor: none;
}

#editor {
	overflow: scroll;
}

#mem-left-button {
	margin: 0;
}

#mem-real-button {
	margin: 0;
}

#memory-viz .row {
	color: darkslategray;
	display: flex;
	background-color: ghostwhite;
	max-width: fit-content;
	padding: 4px;
	text-align: right;
	line-height: 16px;
	font-family: monospace;
}

#memory-viz .mem-label {
	background-color: whitesmoke;
	padding: 2px;
	margin: 0 2px;
	width: 55px;
	height: 16px;
}

#memory-viz .mem-protected {
	background-color: var(--yellow);
}

#memory-viz .mem-gfx {
	color: #1c5bf5;
}

#memory-viz .mem-audio {
	color: #a020f0;
}

#memory-viz .mem-tracker {
	color: #228b22;
}

#memory-viz .mem-cell {
	background-color: white;
	padding: 2px;
	margin: 0 2px;
	width: 40px;
	height: 16px;
}

#memory-viz .mem-cell.selected {
	/*background-color: #859900;
  color: #ddd;*/
	background-color: var(--light);
	color: var(--yellow);
}

pre {
	margin: 0;
	overflow: scroll;
	max-height: 80%;
}

a {
	color: black;
	text-decoration: none;
	cursor: url("data:image/x-icon;base64,AAACAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAAAAAAAoMDwACAg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAIiIRAAAAAAAAAAAAAAAAACIiEQAAAAAAAAAAAAAAACIiEQAAAAAAAAAAAAAAAAAiIhEAAAAAAAAAAAAAAAAiIhEAAAAAAAAAAAAAAAAAIiIRAAAAAAAAAAAAIiIAIiIRAAAAAAAAAAAAACIiACIiEQAAAAAAAAAAAAAiIiIiEQAAAAAAAAAAAAAAIiIiIhEAAAAAAAAAAAAAACIiIhEAAAAAAAAAAAAAAAAiIiIRAAAAAAAAAAAAAAAAIiIiIhEAAAAAAAAAAAAAACIiIiIRAAAAAAAAAAAAAAAREREREQAAAAAAAAAAAAAAEREREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////8/////P////A////wP///wA///8AP//8AP///AD//DAD//wwA//wAA//8AAP//AAP//wAD//8AD///AA///wAD//8AA///AAP//wAD//8AD///AA///w=="),
		auto;
}

.Button {
	position: relative;
	top: 0px;
	padding: 15px 25px;
	border: solid #1a1a1a 3px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 10px 0px #1a1a1a;
	font-family: monospace;
}

.Button:hover {
	transition: 100ms ease;
	top: 2px;
	box-shadow: 0px 8px 0px #1a1a1a;
}

.Button:active {
	top: 8px;
	box-shadow: 0px 2px 0px #1a1a1a;
}

.src-area .Button.pressed {
	transition: 100ms ease;
	top: 2px;
	box-shadow: 0px 3px 0px #1a1a1a;
	color: var(--light);
}

#login-controller .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
	width: 64px;
	font-family: monospace;
}

#login-controller input {
	padding: 4px;
	border-radius: 4px;
}

.White {
	background: #fff;
}

.White:hover {
	background: #eee;
}

.White:active {
	background: #ddd;
}

.grey {
	background: var(--light);
}

.grey:hover {
	background: var(--dark);
}

.grey:active {
	background: var(--dark);
}

.red {
	background-image: linear-gradient(to right, #eb3349 0%, rgb(244, 92, 67) 51%, #eb3349 100%);
	background-position: right center;
	color: rgba(255, 200, 200, 0.85);
	text-shadow: 0 0 15px rgba(244, 92, 67, 0.75);
	transition: 0.5s;
}

.green {
	background-image: linear-gradient(to right, #16a085 0%, #1bc92c 51%, #16a085 100%);
	color: rgba(200, 255, 200, 0.85);
	text-shadow: 0 0 15px rgba(0, 255, 0, 0.5);
	transition: 0.5s;
}

.waiting {
	color: var(--orange);
}

.busy {
	color: var(--red);
}

.Button.pressed {
	top: 8px;
	box-shadow: 0px 2px 0px #1a1a1a;
}

.control-panel {
	margin: 25px 0;
	display: inline-flex;
}

.mem-ctrl {
	margin: 25px 0;
}

.mem-ctrl.top {
	margin: 4px 0 20px 0;
}

.mem-ctrl.bottom {
	margin: 12px 0 8px 0;
}

.mem-ctrl .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
}

.mem-ctrl .Button:hover {
	transition: 100ms ease;
	top: 2px;
	box-shadow: 0px 3px 0px #1a1a1a;
}

.mem-ctrl .Button:active {
	top: 4px;
	box-shadow: 0px 1px 0px #1a1a1a;
}

.viewport .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
}

.viewport .Button:hover {
	transition: 100ms ease;
	top: 2px;
	box-shadow: 0px 3px 0px #1a1a1a;
}

.viewport .Button:active {
	top: 4px;
	box-shadow: 0px 1px 0px #1a1a1a;
}

.viewport .Button.pressed {
	top: 4px;
	box-shadow: 0px 1px 0px #1a1a1a;
}

.ui-area {
	background-color: rgba(0, 0, 0, 0.2);
	padding: 16px;
	margin: 0 4px;
}

.viewport {
	display: flex;
	flex-direction: column;
	max-height: fit-content;
	padding: 8px;
	margin: 0;
}

.mem-area {
	display: flex;
	flex-direction: column;
	max-width: fit-content;
	margin: 0;
	padding: 8px;
}

.mem-area input {
	padding: 4px;
	border-radius: 4px;
}

#log {
	background-color: #002b36;
	color: #859900;
	font-family: Monocraft;
	padding: 4px;
	margin: 4px 0 10px 0;
	height: 78px;
	font-size: 12px;
	overflow: scroll;
}

#mem-address {
	width: 48px;
	font-family: monospace;
}

#mem-offset {
	width: 48px;
	font-family: monospace;
}

#mem-goto {
	width: 48px;
	font-family: monospace;
}

#mem-cell-address {
	width: 48px;
	font-family: monospace;
}

#link-address {
	width: 48px;
	font-family: monospace;
}

#save-file {
	width: 64px;
	font-family: monospace;
}

.divider {
	color: var(--white);
}

.led-off {
	display: inline-block;
	position: relative;
	top: 5px;
	width: 18px;
	height: 18px;
	background-color: #666;
	border-radius: 50%;
	box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #334 0 -1px 9px, rgba(115, 115, 125, 0.5) 0
		2px 12px;
}

.led-red {
	background-color: #f00;
	box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #441313 0 -1px 9px, rgba(255, 0, 0, 0.5) 0
		2px 12px;
	animation: blinkRed 0.5s infinite;
}

@keyframes blinkRed {
	from {
		background-color: #f00;
	}

	50% {
		background-color: #a00;
		box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #441313 0 -1px 9px, rgba(255, 0, 0, 0.5) 0
			2px 0;
	}

	to {
		background-color: #f00;
	}
}

.led-container {
	margin: 0 4px 0 0;
	display: inline-block;
}

.led-yellow {
	background-color: #ff0;
	box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #808002 0 -1px 9px, #ff0 0 2px 12px;
	animation: blinkYellow 1s infinite;
}

@keyframes blinkYellow {
	from {
		background-color: #ff0;
	}

	50% {
		background-color: #aa0;
		box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #808002 0 -1px 9px, #ff0 0 2px 0;
	}

	to {
		background-color: #ff0;
	}
}

.led-green {
	background-color: #abff00;
	box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #304701 0 -1px 9px, #89ff00 0 2px 12px;
}

.led-error {
	background-color: #f00;
	box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #441313 0 -1px 9px, rgba(255, 0, 0, 0.5) 0
		2px 12px;
}

@keyframes blinkGreen {
	from {
		background-color: #0f0;
	}

	50% {
		background-color: #0a0;
		box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 7px 1px, inset #008002 0 -1px 9px, #0f0 0 2px 0;
	}

	to {
		background-color: #0f0;
	}
}

.led-green.blink {
	animation: blinkGreen 0.5s 1;
}

.led-green.blink-cont {
	animation: blinkGreen 0.5s infinite;
}

.src-area .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
}

.src-area .Button:hover {
	transition: 100ms ease;
	top: 2px;
	box-shadow: 0px 3px 0px #1a1a1a;
}

.src-area .Button:active {
	top: 4px;
	box-shadow: 0px 1px 0px #1a1a1a;
}

.src-area input {
	padding: 4px;
	border-radius: 4px;
}

.marked {
	color: var(--orange);
}

.marked:after {
	color: var(--orange);
	content: " <";
}

#compability {
	position: absolute;
	z-index: 1000;
	width: 100vw;
	font-family: Monocraft;
	padding: 8px 0;
	background: repeating-linear-gradient(
		45deg,
		var(--dark),
		var(--dark) 10px,
		var(--orange) 10px,
		var(--orange) 20px
	);
	color: var(--yellow);
	text-align: center;
	top: 0;
	left: 0;
	text-shadow: -1px 1px 0 #000, 1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;
}

/*.editor {
    border-radius: 6px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
      0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
    font-family: "Source Code Pro", monospace;
    font-size: 14px;
    font-weight: 400;
    height: 340px;
    letter-spacing: normal;
    line-height: 20px;
    padding: 10px;
    tab-size: 4;
  }*/

/* WINDOW */
.window {
	position: fixed;
	width: 400px;
	height: fit-content;
	border: none;
	background: transparent;
	resize: both;
	overflow: auto;
	z-index: 10;
	font-family: Monocraft;
}

.window-content {
	height: calc(100% - 30px);
	background-color: var(--white);
	padding: 0 0 4px 0;
}

.window-top,
.window-top-no-bind {
	display: flex;
	justify-content: space-between;
	height: 30px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.5);
	padding: 0;
	font-size: 14px;
	line-height: 20px;
	background-color: transparent;
	user-select: none;
}

.window-top-no-bind {
	cursor: inherit;
}

.window-corner {
	clip-path: polygon(50% 0%, 100% 50%, 100% 100%, 0% 100%, 0% 0%);
	background-color: var(--white);
	height: 30px;
	width: 30px;
}

.window-header {
	padding: 5px;
	background-color: var(--white);
	width: 100%;
}

#myWindowLog .ui-area {
	display: flex;
	flex-direction: column;
	padding: 0;
}

#myWindowLog .ui-row:first-child {
	margin: 0;
}

#myWindowEditor {
	max-height: 100vh;
}

#myWindowEditor .ui-area {
	padding: 8px 0px 16px 4px;
}

.ui-row {
	margin: 10px 0;
}

#ui-stats {
	width: 200px;
	height: 140px;
}

#myEdg .ui-area {
	max-width: 400px;
	max-height: 400px;
	overflow: scroll;
	font-size: 11px;
}

#myEdg .window-content {
	overflow: hidden;
}

#myEdg .ui-area .clear {
	border: #0f0 solid 1px;
	padding: 4px;
	margin: 2px;
}

#myEdg .ui-area .draw {
	border: #002baa solid 1px;
	padding: 4px;
	margin: 2px;
}

#myEdg .ui-area .state {
	border: #f10 solid 1px;
	padding: 4px;
	margin: 2px;
}

#myEdg .ui-area .data {
	border: #ff0 solid 1px;
	padding: 4px;
	margin: 2px;
}

#edg-root {
	display: flex;
	flex-direction: column;
}

#edg-root .row {
	display: flex;
}

#sprak.ui-area {
	height: 24px;
}

#sprak.ui-area .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
}

#sprak.ui-area .Button:hover {
	transition: 100ms ease;
	top: 2px;
	box-shadow: 0px 3px 0px #1a1a1a;
}

#sprak.ui-area .Button:active {
	top: 4px;
	box-shadow: 0px 1px 0px #1a1a1a;
}

.radio {
	width: 24px;
	height: 24px;
	display: inline-block;
	padding: 2px;
	border-radius: 50%;
	overflow: hidden;
	font-size: 36px;
	line-height: 18px;
	transform: rotateZ(35deg);
	background: linear-gradient(to bottom, #bcc6cc, #eee, #bcc6cc);
	box-shadow: 1px 1px 1px 0px;
	text-shadow: 1px -1px 1px white;
	color: #000;
}

.canvas-text-editor {
	position: relative;
	overflow: hidden;
}

.canvas-text-editor textarea {
	position: absolute;
	left: -25px;
	top: -25px;
	width: 10px;
	height: 10px;
}

.canvas-text-editor canvas {
	width: 350px;
	height: 350px;
}

#koneditor {
	padding: 0;
	margin: 0;
}

.window-content.hidden {
	display: none;
}

#myPda {
	display: block;
}

#pda-controller .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
}

#vc-root {
	display: flex;
	flex-direction: column;
	width: 25%;
	overflow: scroll;
}

#vc-root .row {
	display: flex;
	padding: 0 4px;
}

#vc-panel {
	display: flex;
	flex-direction: row;
	max-height: 300px;
}

#vc-inspector {
	display: flex;
	flex-direction: column;
	width: 75%;
	overflow: scroll;
}

#myWindowVC .ui-area {
	max-width: 400px;
	max-height: 400px;
	overflow: hidden;
	font-size: 11px;
	padding: 4px;
}

#myEdg .window-content {
	overflow: hidden;
}

.highlight {
	border: 1px solid var(--yellow);
}

#myWindowBrain .ui-row:first-child {
	margin: 0;
}

.brain-row {
	margin: 15px 0;
}

#brain-md-output {
	background-color: #002b36;
	color: #859900;
	font-family: monospace;
	padding: 4px;
	margin: 4px 0 10px 0;
	height: 78px;
	font-size: 12px;
	overflow: scroll;
	height: 200px;
}

#brain-value-ask {
	width: 350px;
}

#name-save-field {
	width: 96px;
	font-family: monospace;
}

#myWindowSound .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
}

#sfx-viz {
	margin: 0 4px;
}

#sfx-cell-address {
	width: 48px;
	font-family: monospace;
	padding: 4px;
	border-radius: 4px;
}

/* MOBILE TAB SYSTEM */
@media (max-width: 800px) {
	.mobile-tab-bar {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		display: flex;
		flex-wrap: wrap;
		background: linear-gradient(180deg, var(--light) 0%, var(--dark) 100%);
		border-top: 4px solid var(--orange);
		padding: 4px;
		gap: 2px;
		height: auto;
		max-height: 120px;
		overflow-y: auto;
		z-index: 9999;
		box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.5);
	}

	.mobile-tab-button {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex: 1;
		min-width: 70px;
		height: 56px;
		background: linear-gradient(135deg, var(--light) 0%, #3a4630 100%);
		border: 2px solid var(--white);
		padding: 4px;
		cursor: pointer;
		font-family: Monocraft, monospace;
		font-size: 10px;
		color: var(--yellow);
		text-align: center;
		transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
		box-shadow: inset -2px -2px 0 rgba(0, 0, 0, 0.4), inset 2px 2px 0 rgba(255, 255, 255, 0.1);
		overflow: hidden;
	}

	.mobile-tab-button:hover {
		background: linear-gradient(135deg, #5a6b50 0%, #464d40 100%);
		transform: translate(-1px, -1px);
		box-shadow: inset -2px -2px 0 rgba(0, 0, 0, 0.5), inset 2px 2px 0 rgba(255, 255, 255, 0.15), 0
			3px 6px rgba(0, 0, 0, 0.3);
	}

	.mobile-tab-button.active {
		background: linear-gradient(135deg, var(--orange) 0%, #b87a1f 100%);
		border-color: var(--yellow);
		color: var(--dark);
		font-weight: bold;
		transform: translateY(-2px);
		box-shadow: inset -2px -2px 0 rgba(0, 0, 0, 0.2), inset 2px 2px 0 rgba(255, 255, 255, 0.3), 0
			6px 12px rgba(217, 160, 46, 0.4);
		text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2);
	}

	.mobile-tab-button:active {
		transform: translateY(0);
		box-shadow: inset -2px -2px 0 rgba(0, 0, 0, 0.5), inset 2px 2px 0 rgba(255, 255, 255, 0.1),
			inset 0 0 0 1px rgba(0, 0, 0, 0.5);
	}

	.tab-icon {
		font-size: 20px;
		line-height: 1;
		margin-bottom: 2px;
		display: block;
	}

	.tab-label {
		font-size: 9px;
		line-height: 1.2;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		width: 100%;
	}

	/* Hide all windows on mobile by default */
	.window {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		height: calc(100vh - 130px) !important;
		display: none !important;
		margin: 0 !important;
		max-width: none !important;
		border-radius: 0 !important;
	}

	.window-top {
		display: none;
	}

	/* Make content fill the window */
	.window-content {
		width: 100% !important;
		height: 100% !important;
		display: block !important;
		overflow: auto !important;
	}

	.ui-area {
		width: 100%;
		height: 100%;
		overflow: auto;
	}

	/* Show selected window */
	.window.mobile-visible {
		display: block !important;
	}

	/* Adjust body for tab bar */
	body {
		padding-bottom: 130px;
	}
}

#tracker-controls .Button {
	padding: 5px 10px;
	border-radius: 20px;
	margin: 0 5px 0 0;
	box-shadow: 0px 5px 0px #1a1a1a;
}

/* Pattern selector buttons */
.pattern-selector {
	display: inline-flex;
	gap: 2px;
	flex-wrap: wrap;
}

.pattern-btn {
	position: relative;
	width: 28px;
	height: 28px;
	padding: 0;
	border: solid #1a1a1a 2px;
	border-radius: 4px;
	background-color: #fff;
	color: #1a1a1a;
	font-family: monospace;
	font-size: 12px;
	font-weight: bold;
	cursor: pointer;
	top: 0px;
	box-shadow: 0px 3px 0px #1a1a1a;
	transition: all 100ms ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pattern-btn:hover {
	top: 1px;
	box-shadow: 0px 2px 0px #1a1a1a;
	background-color: #eee;
}

.pattern-btn:active {
	top: 2px;
	box-shadow: 0px 1px 0px #1a1a1a;
}

.pattern-btn.active {
	top: 2px;
	box-shadow: 0px 1px 0px #1a1a1a;
	background-color: var(--orange);
	color: #fff;
	font-weight: bold;
}

/* Tempo Knob Styles */
.tempo-slider-container {
	display: flex;
	align-items: center;
	gap: 8px;
}

.tempo-slider {
	width: 100px;
	height: 24px;
	appearance: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	margin: 0;
	flex-shrink: 0;
}

/* WebKit browsers (Chrome, Safari) */
.tempo-slider::-webkit-slider-thumb {
	appearance: none;
	width: 16px;
	height: 24px;
	background: linear-gradient(to right, #1a1a1a, #333);
	border: solid #1a1a1a 1px;
	border-radius: 2px;
	cursor: pointer;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
}

.tempo-slider::-webkit-slider-runnable-track {
	width: 100%;
	height: 6px;
	background: linear-gradient(to right, #e0e0e0, #b0b0b0);
	border: solid #1a1a1a 1px;
	border-radius: 2px;
}

/* Firefox */
.tempo-slider::-moz-range-thumb {
	width: 16px;
	height: 24px;
	background: linear-gradient(to right, #1a1a1a, #333);
	border: solid #1a1a1a 1px;
	border-radius: 2px;
	cursor: pointer;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
}

.tempo-slider::-moz-range-track {
	background: linear-gradient(to right, #e0e0e0, #b0b0b0);
	border: solid #1a1a1a 1px;
	border-radius: 2px;
	height: 6px;
}

.tempo-field {
	width: 50px;
	padding: 4px 8px;
	border: solid #1a1a1a 2px;
	border-radius: 4px;
	background: #fff;
	font-family: monospace;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	color: #1a1a1a;
	flex-shrink: 0;
}

#tracker-controls .ui-row {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 8px;
}
