:root {
	--sidebar-width: calc(2vw + 38.4px);
	--bgcolor: #000;
	--text-color: #ccc;
	--circle-color: #888;
	--top-offset: 0;
	--hover-color: #b4b4f2;
	--green-timer: #54fa00;
	--red-timer: #f09;
	--address-bar-adjuster: 56px;
	--cc-font-size: 1.5vw;
	--settings-row-height: calc(var(--cc-font-size) * 1.2);
	--settings-row-padded: calc(var(--settings-row-height) - 2px);
	box-sizing: border-box;
	color-scheme: light dark;
}

body {
	background: var(--bgcolor);
	font-size: var(--cc-font-size);
	font-family: Lucida Console, Inconsolata, Consolas, Courier, monospace;
	color: var(--text-color);
}

#ccinput {
	all: unset;
	background: var(--bgcolor);
	color: var(--text-color);
  position: fixed;
  left: 0;
  top: 0;
  opacity: 0;
}

#playarea {
	margin: 0 calc(var(--sidebar-width) + 1vw) 0 2vw;
}

.ccParserContainer {
	all: unset;
	position: relative;
}

.mobileAdjuster {
	height: 0px;
	width: 100%;
	margin-top: var(--address-bar-adjuster);
}

.mobileAdjuster.nomargin {
	margin-top: 0px;
}

.clalign-helper {
	all: unset;
	width: var(--clalign-table-width);
}

.sidebar {
	position: fixed;
	right: 0;
	top: var(--top-offset);
	margin-right: 0.6vw;
	width: var(--sidebar-width);
}

.sidebar > * {
	width: var(--sidebar-width);
	height: var(--sidebar-width);
	padding-bottom: 0;
}

.sidebar svg * {
	stop-color: var(--text-color);
	stop-opacity:1;
}
#gearIcon path {
  fill: url(#gearicon-filler);
}
#mobIcon path {
	fill: var(--text-color);
	opacity: 1;
}
.sidebar svg circle {
  fill: var(--circle-color);
}
.sidebar #mobIcon path:hover, .sidebar svg circle:hover {
	fill: var(--hover-color);
}
.sidebar svg:hover * {
	stop-color: var(--hover-color);
	cursor: pointer;
}
.sidebar #about:hover {
	color: var(--hover-color);
	cursor: pointer;
}
.buttonrow {
	width: max-content;
	margin: 0 auto;
}
.buttonrow > * {
	font-size: 80%;
	margin: 0 0.6ch;
}
.buttonrow:last-child {
	padding-right: 2.5ch;
}
.transparent {
	opacity: 0 !important;
	stop-opacity: 0 !important;
}
.settings {
  position: fixed;
  top: var(--top-offset);
  right: var(--sidebar-width);
  margin-right: inherit;
  background-color: var(--text-color);
  color: var(--bgcolor);
  max-width: 80vw;
  width: max-content;
  height: auto;
  max-height: calc(100vh - 2.75ch);
  padding: 0.26em 1.4ch 0.26em 1ch;
  margin-top: 1ch;
  font-size: 80%;
  border-radius: 0.85em;
	display: none;
	overflow-y: auto;
	color-scheme: light;
}
.noscrollbar {
	-ms-overflow-style: none; /* Edge */
 	scrollbar-width: none; /* Firefox */
}
.noscrollbar::-webkit-scrollbar{
  display: none; /* Chrome */
}

#ccCursor {
	all: unset;
	width: 1ch;
	height: 0.17ch;
	background: var(--text-color);
	position: relative; /* ugh */
	display: inline-block; /* sigh */
	left: -1ch;
	bottom: -0.3ch;
	animation: blink 0.242s linear infinite;
}

#ccCursor.noflicker {
	animation: none;
}

#ccinvisible, .rsp-space {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.cc-appear-even {
	all: unset;
	display: none !important;
}

.cc-appear-odd {
	all: unset;
	display: inline;
}

.linebreak {
	all: unset;
  display: inline-block;
}
/* Classic rodent implementation
 * Unfathomably ugly but works
 * I tried a thousand other things... */
.linebreak[data-minpit="72"] {
	display: block;
}
.linebreak[data-minpit="71"] {
	display: block;
}
.linebreak[data-minpit="70"] {
	display: block;
}
.linebreak[data-minpit="69"] {
	display: block;
}
.linebreak[data-minpit="68"] {
	display: block;
}
.linebreak[data-minpit="67"] {
	display: block;
}
.linebreak[data-minpit="66"] {
	display: block;
}
.linebreak[data-minpit="65"] {
	display: block;
}
.linebreak[data-minpit="64"] {
	display: block;
}
.linebreak[data-minpit="63"] {
	display: block;
}
.linebreak[data-minpit="62"] {
	display: block;
}
.linebreak[data-minpit="61"] {
	display: block;
}
.linebreak[data-minpit="60"] {
	display: block;
}
.linebreak[data-minpit="59"] {
	display: block;
}
.linebreak[data-minpit="58"] {
	display: block;
}
.linebreak[data-minpit="57"] {
	display: block;
}
.linebreak[data-minpit="56"] {
	display: block;
}
.linebreak[data-minpit="55"] {
	display: block;
}
.linebreak[data-minpit="54"] {
	display: block;
}
.linebreak[data-minpit="53"] {
	display: block;
}
.linebreak[data-minpit="52"] {
	display: block;
}
.linebreak[data-minpit="51"] {
	display: block;
}
.linebreak[data-minpit="50"] {
	display: block;
}
.linebreak[data-minpit="49"] {
	display: block;
}
.linebreak[data-minpit="48"] {
	display: block;
}
.linebreak[data-minpit="47"] {
	display: block;
}
.linebreak[data-minpit="46"] {
	display: block;
}
.linebreak[data-minpit="45"] {
	display: block;
}
.linebreak[data-minpit="44"] {
	display: block;
}
.linebreak[data-minpit="43"] {
	display: block;
}
.linebreak[data-minpit="42"] {
	display: block;
}
.linebreak[data-minpit="41"] {
	display: block;
}
.linebreak[data-maxpit="55"] {
	display: none;
}
.linebreak[data-maxpit="54"] {
	display: none;
}
.linebreak[data-maxpit="53"] {
	display: none;
}
.linebreak[data-maxpit="52"] {
	display: none;
}
.linebreak[data-maxpit="51"] {
	display: none;
}
.linebreak[data-maxpit="50"] {
	display: none;
}
.linebreak[data-maxpit="49"] {
	display: none;
}
.linebreak[data-maxpit="48"] {
	display: none;
}
.linebreak[data-maxpit="46"] {
	display: none;
}
.linebreak[data-maxpit="45"] {
	display: none;
}
.linebreak[data-maxpit="44"] {
	display: none;
}
.linebreak[data-maxpit="43"] {
	display: none;
}
.linebreak[data-maxpit="42"] {
	display: none;
}
.linebreak[data-maxpit="41"] {
	display: none;
}
.linebreak[data-maxpit="40"] {
	display: none;
}
.rsp-space[data-maxpit="55"] {
	display: inline;
}
.rsp-space[data-maxpit="54"] {
	display: none !important;
}
.rsp-space[data-maxpit="53"] {
	display: none !important;
}
.rsp-space[data-maxpit="52"] {
	display: none !important;
}
.rsp-space[data-maxpit="51"] {
	display: none !important;
}
.rsp-space[data-maxpit="50"] {
	display: none !important;
}
.rsp-space[data-maxpit="49"] {
	display: none !important;
}
.rsp-space[data-maxpit="48"] {
	display: none !important;
}
.rsp-space[data-maxpit="46"] {
	display: none !important;
}
.rsp-space[data-maxpit="45"] {
	display: none !important;
}
.rsp-space[data-maxpit="44"] {
	display: none !important;
}
.rsp-space[data-maxpit="43"] {
	display: none !important;
}
.rsp-space[data-maxpit="42"] {
	display: none !important;
}
.rsp-space[data-maxpit="41"] {
	display: none !important;
}
.rsp-space[data-maxpit="40"] {
	display: none !important;
}
.rsp-space[data-minpit="55"] {
	display: inline;
}
.rsp-space[data-minpit="54"] {
	display: inline;
}
.rsp-space[data-minpit="53"] {
	display: inline;
}
.rsp-space[data-minpit="52"] {
	display: inline;
}
.rsp-space[data-minpit="51"] {
	display: inline;
}
.rsp-space[data-minpit="50"] {
	display: inline;
}
.rsp-space[data-minpit="49"] {
	display: inline;
}
.rsp-space[data-minpit="48"] {
	display: inline;
}
.rsp-space[data-minpit="46"] {
	display: inline;
}
.rsp-space[data-minpit="45"] {
	display: inline;
}
.rsp-space[data-minpit="44"] {
	display: inline;
}
.rsp-space[data-minpit="43"] {
	display: inline;
}
.rsp-space[data-minpit="42"] {
	display: inline;
}
.rsp-space[data-minpit="41"] {
	display: inline;
}

.settings table, .settings tr, .settings td {
	all: unset;
	border-spacing: 0;
	border-collapse: collapse;
}
.settings tr {
	display: block;
	border: none;
	height: var(--settings-row-height) !important;
}
.settings td {
  position: relative;
  display: table-cell;
  border: none;
  max-height: var(--settings-row-height);
}
.settings td:first-child {
	max-width: 3.9ch;
	min-width: 3.9ch;
	padding: 0;
	margin: 0 0 0;
}
.settings td:last-child {
	padding: 0;
	margin: 0;
}
.settings td:first-child *:first-child {
	position: absolute;
  top: 0;
  right: calc(var(--fake-width) / 55); /* fixed for all values of ch */
}
.settings td * {
	height: var(--settings-row-height);
	box-sizing: border-box;
}
input[type="checkbox"] {
	vertical-align: top;
	display: table-cell;
	font-size: 1em;
	width: calc((13px + var(--settings-row-padded)) / 2);
	margin: 0;
  padding: 0;
  float: right;
  box-sizing: border-box;
  height: var(--settings-row-padded);
}
input[type="number"] {
	-moz-appearance: textfield;
	margin-top: 0px;
	padding: 1px 2px 1px 1px;
  height: var(--settings-row-padded);
	width: calc(3.1ch + 8px);
	text-align: right;
	font-size: 80%;
	float: right;
	box-sizing: border-box;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
 -webkit-appearance: none;
  margin: 0;
}
.settings label {
	float: right;
	width: max-content;
	line-height: var(--settings-row-height);
}
.settings .cc-numrow label {
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

@keyframes blink {
	0% {opacity: 1; }
	50% {opacity: 1; }
	50.01% {opacity: 0; }
	100% {opacity: 0; }
}

#about {
	position: relative;
	font-weight: bold;
	font-family: Courier, monospace;
	font-size: var(--sidebar-width);
	top: calc(0px - var(--sidebar-width) / 7) !important;
}

.center {
	text-align: center;	
}

.align-right {
	text-align: right;
}

.hidden {
  all: unset;
  position: relative;
  font-size: inherit;
  bottom: 100vh;
  display: none;
}

#cctimer {
	position: fixed;
	right: calc(var(--sidebar-width) + 1vw);
	top: 0;
	padding: 1.1vw 2vw 0.5vw 1.1vw;
	color: var(--green-timer);
	vertical-align: middle;
	width: max-content;
	height: calc(var(--sidebar-width) / 2);
	background-color: var(--bgcolor);
}

.invisible {
	display: none;
}

/* Responsive Framework */
.row {
	width: 100%;
}
.srow {
	width: 99%;
}

/* Desktop View */
@media (min-width: 600px) {
  .col-lg-4, .col-lg-6, .col-lg-12 {
  	float: left;
  }
  .col-lg-4 {
    width: 33.33%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-12 {
    width: 100%;
  }
	.lg-rfloat {
		float: right;
	}
	body {
	  overflow-y: scroll;
	}
	.onlymobile {
		display: none !important;
	}
}

/* Tiny devices only */
@media (max-width: 599px) {
  .col-sm-4, .col-sm-6, .col-sm-12 {
    float: left;
  }
  .col-sm-4 {
    width: 33.33%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-12 {
    width: 100%;
  }
 	:root {
 		--settings-row-height: calc(max(var(--cc-font-size) * 1.2, 20px));
 	}
  body {
  	font-family: Inconsolata, Consolas, Courier, monospace;
  	-ms-overflow-style: none;
  }
  html {
  	scrollbar-width: none;
  }
  body::-webkit-scrollbar{
    display: none;
  }
  .settings {
  	font-size: var(--cc-font-size);
  }
  .settings td:first-child *:first-child {
    right: calc(var(--fake-width)/44); /* fixed for all values of ch */
  }
  input[type="number"] {
  	font-size: 85%;
  	padding-right: 1px;
  	width: calc(3.1ch + 7px);
  }
  .nomobile {
  	display: none !important;
  }
}
@media (min-width: 376px) {
  .settings tr.cc-numrow:first-of-type {
  	margin-top: -2px;
  }
}