diff --git a/.gitignore b/.gitignore
index c827e24bf..84fbc1448 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ Netburner.txt
/dist/*.map
/tests/*.map
/tests/*.bundle.*
+/tests/*.css
diff --git a/dist/engine.css b/dist/engine.css
new file mode 100644
index 000000000..70b39c3c2
--- /dev/null
+++ b/dist/engine.css
@@ -0,0 +1,2037 @@
+#terminal-container {
+ position: fixed;
+ margin-left: 10%;
+ height: 100%;
+ width: 99%;
+ overflow: auto;
+ overflow-y: scroll;
+}
+
+#terminal {
+ padding-top: 10px;
+ padding-left: 10px;
+ height: auto;
+ width: 70%;
+ font-size: 16px;
+ overflow: auto;
+ overflow-y: scroll;
+ background-color: var(--my-background-color);
+ table-layout:fixed;
+}
+
+#terminal-input {
+ background-color: var(--my-background-color);
+ color: var(--my-font-color);
+ transition: height 1s;
+}
+
+.terminal-input {
+ display: inline-block;
+ padding: 0px !important;
+ margin: 0px !important;
+ border: 0px;
+ background-color: var(--my-background-color);
+ font-size: 16px;
+ outline: none;
+ color: var(--my-font-color);
+}
+
+.terminal-line {
+ width: 70%;
+ word-wrap: break-word;
+ hyphens:auto;
+ -webkit-hyphens: auto;
+ -moz-hyphens: auto;
+}
+
+#terminal-input-td {
+ display: flex;
+}
+
+#terminal-input-header {
+ white-space: pre;
+}
+
+#terminal-input-text-box {
+ flex: 1 1 auto;
+}
+
+:root{
+ --my-font-color: #66ff33;
+ --my-background-color: #000000;
+ --my-highlight-color: #ffffff;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ font-size: 16px;
+ font-family: 'Lucida Console', 'Lucida Sans Unicode', 'Fira Mono', 'Consolas', 'Courier New', Courier, monospace, 'Times New Roman';
+}
+
+body {
+ background-color: var(--my-background-color);
+}
+
+p,
+pre,
+h2,
+.text {
+ color: var(--my-font-color);
+}
+
+h1 {
+ font-size: 22px;
+ color: var(--my-font-color);
+}
+
+ul {
+ padding: 2px;
+ list-style-type: none;
+}
+
+li {
+ list-style-type: none;
+}
+
+span {
+ margin: 4px;
+ padding: 4px;
+}
+
+#entire-game-container {
+ background-color:transparent;
+}
+
+/* Disable border highlight on elements */
+input:focus,
+textarea:focus,
+button:focus,
+td:focus,
+tr:focus {
+ outline:none;
+}
+
+/* Main navigation menu */
+.mainmenu {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ width: 10%;
+ position: fixed;
+ height: 100%;
+ overflow: auto;
+
+ border: 0;
+ border-bottom: 1px solid #000000;
+ border-radius: 0;
+ background-color: #333;
+}
+
+/* Default buttons */
+.mainmenu>li a {
+ display: block;
+ color: #e6e6e6;
+ background-color: #555;
+ padding: 16px;
+ text-decoration: none;
+}
+
+/* Hovering makes them lighter */
+.mainmenu>li a:hover,
+.mainmenu>li a:hover:not(.active),
+.mainmenu>li a:focus {
+ background-color: #777;
+ color: white;
+}
+
+/* Panel headers can become active, and they are "lighter" than the rest */
+.mainmenu>li a.active {
+ background-color: #777;
+ color: white;
+}
+
+.mainmenu>li a.active:hover {
+ background-color:#aaa;
+}
+
+/* Plus and minus signs */
+.mainmenu-accordion-header:after {
+ content: '\2795';
+ font-size: 13px;
+ color: white;
+ float: right;
+ margin-left: 5px;
+}
+
+.mainmenu-accordion-header.opened:after {
+ content: "\2796";
+}
+
+.mainmenu-accordion-header.opened {
+ background-color:#222;
+}
+
+/* Slide down transition */
+.mainmenu-accordion-panel {
+ max-height: 0;
+ opacity: 1;
+ transition: max-height 0.2s ease-out;
+}
+
+/* Borders */
+.mainmenu-accordion-header {
+ border:2px solid white;
+}
+
+/* Make html links ("a" elements) nice looking buttons with this class */
+a:link, a:visited {
+ color:white;
+}
+
+.a-link-button {
+ text-decoration: none;
+ background-color: #555;
+ color: #FFFFFF;
+ padding: 5px;
+ margin: 5px;
+ border: 1px solid #333333;
+
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+}
+
+.a-link-button:hover {
+ background-color: #666;
+}
+
+.a-link-button:active {
+ -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
+ -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
+ box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
+}
+
+/* Make anchor tags ("a" elements) inactive (not clickable) */
+.a-link-button-inactive {
+ text-decoration: none;
+ background-color: #333;
+ color: #FFFFFF;
+ padding: 5px;
+ margin: 5px;
+ border: 1px solid #333333;
+ cursor: default;
+}
+
+.a-link-button-inactive:hover .tooltiptext,
+.a-link-button-inactive:hover .tooltiptexthigh,
+.a-link-button-inactive:hover .tooltiptextleft {
+ visibility: visible;
+}
+
+.a-link-button-inactive:active {
+ pointer-events: none;
+}
+
+/* Make anchor tags ("a" elements) for activated actions */
+.a-link-button-bought {
+ text-decoration: none;
+ background-color: #00AA00;
+ color: #FFFFFF;
+ padding: 5px;
+ margin: 5px;
+ border: 1px solid #00AA00;
+ cursor: default;
+}
+
+.a-link-button-bought:hover .tooltiptext,
+.a-link-button-bought:hover .tooltiptexthigh,
+.a-link-button-bought:hover .tooltiptextleft {
+ visibility: visible;
+}
+
+.a-link-button-bought:active {
+ pointer-events: none;
+}
+
+.dropdown {
+ color:white;
+ background-color:black;
+}
+
+.text-input {
+ color:white;
+ background-color:black;
+}
+
+/* Notification icon (for create program right now only) */
+#create-program-tab {
+ position:relative;
+}
+#create-program-notification {
+ font-size: 10px;
+
+ position: absolute; /* Position the badge within the relatively positioned button */
+ top: 0;
+ right: 0;
+}
+
+.notification-on {
+ background-color: #fa3e3e;
+ color: white;
+ border-radius: 2px;
+ padding: 1px 3px;
+}
+
+.notification-off {
+ background-color: #333;
+ color: #333;
+ border-radius: 0px;
+ padding: 0px;
+}
+
+/* Tool tips (when hovering over an element */
+.tooltip {
+ position: relative;
+ display: inline-block;
+}
+
+.tooltip .tooltiptext {
+ visibility: hidden;
+ width: 300px;
+ background-color: var(--my-background-color);
+ border: 2px solid var(--my-highlight-color);;
+ color: white;
+ text-align: center;
+ padding: 4px;
+ left: 101%;
+
+ position: absolute;
+ z-index: 99;
+}
+
+/* Same thing as a normal tooltip except its a bit higher */
+.tooltip .tooltiptexthigh {
+ visibility: hidden;
+ width: 300px;
+ background-color: var(--my-background-color);
+ border: 2px solid var(--my-highlight-color);;
+ color: white;
+ text-align: center;
+ padding: 4px;
+ left: 101%;
+ bottom:-25%;
+
+ position: absolute;
+ z-index: 99;
+}
+
+/* Similar to a normal tooltip except its positioned on the left of the elemnt
+ rather than the right to avoid exceeding the elements normal width */
+.tooltip .tooltiptextleft {
+ visibility: hidden;
+ width: 300px;
+ background-color: var(--my-background-color);
+ border: 2px solid var(--my-highlight-color);;
+ color: white;
+ text-align: center;
+ padding: 4px;
+ left: 40%;
+ bottom:-10%;
+
+ position: absolute;
+ z-index: 99;
+}
+
+.tooltip:hover .tooltiptext,
+.tooltip:hover .tooltiptexthigh,
+.tooltip:hover .tooltiptextleft {
+ visibility: visible;
+}
+
+/* help tip. Question mark that opens popup with info/details */
+.help-tip {
+ content:'?';
+ padding:1px;
+ margin-left:3px;
+ color:#fff;
+ border:1px solid white;
+ border-radius:5px;
+ display:inline-block;
+}
+
+.help-tip:hover {
+ background-color: #888;
+}
+
+.help-tip:active {
+ -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
+ -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
+ box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
+}
+
+/* Flashing button (Red) */
+@-webkit-keyframes glowing {
+ 0% { background-color: #B20000; -webkit-box-shadow: 0 0 3px #B20000; }
+ 50% { background-color: #FF0000; -webkit-box-shadow: 0 0 40px #FF0000; }
+ 100% { background-color: #B20000; -webkit-box-shadow: 0 0 3px #B20000; }
+}
+
+@-moz-keyframes glowing {
+ 0% { background-color: #B20000; -moz-box-shadow: 0 0 3px #B20000; }
+ 50% { background-color: #FF0000; -moz-box-shadow: 0 0 40px #FF0000; }
+ 100% { background-color: #B20000; -moz-box-shadow: 0 0 3px #B20000; }
+}
+
+@-o-keyframes glowing {
+ 0% { background-color: #B20000; box-shadow: 0 0 3px #B20000; }
+ 50% { background-color: #FF0000; box-shadow: 0 0 40px #FF0000; }
+ 100% { background-color: #B20000; box-shadow: 0 0 3px #B20000; }
+}
+
+@keyframes glowing {
+ 0% { background-color: #B20000; box-shadow: 0 0 3px #B20000; }
+ 50% { background-color: #FF0000; box-shadow: 0 0 40px #FF0000; }
+ 100% { background-color: #B20000; box-shadow: 0 0 3px #B20000; }
+}
+
+.flashing-button {
+ -webkit-animation: glowing 1500ms infinite;
+ -moz-animation: glowing 1500ms infinite;
+ -o-animation: glowing 1500ms infinite;
+ animation: glowing 1500ms infinite;
+}
+
+/* Blinking Cursor */
+/* ----- blinking cursor animation ----- */
+.typed-cursor{
+ opacity: 1;
+ -webkit-animation: blink 0.95s infinite;
+ -moz-animation: blink 0.95s infinite;
+ -ms-animation: blink 0.95s infinite;
+ -o-animation: blink 0.95s infinite;
+ animation: blink 0.95s infinite;
+}
+
+@-keyframes blink{
+ 0% { opacity:1; }
+ 50% { opacity:0; }
+ 100% { opacity:1; }
+}
+@-webkit-keyframes blink{
+ 0% { opacity:1; }
+ 50% { opacity:0; }
+ 100% { opacity:1; }
+}
+@-moz-keyframes blink{
+ 0% { opacity:1; }
+ 50% { opacity:0; }
+ 100% { opacity:1; }
+}
+@-ms-keyframes blink{
+ 0% { opacity:1; }
+ 50% { opacity:0; }
+ 100% { opacity:1; }
+}
+@-o-keyframes blink{
+ 0% { opacity:1; }
+ 50% { opacity:0; }
+ 100% { opacity:1; }
+}
+
+/* Status text */
+@-webkit-keyframes status-text{
+ from{
+ opacity:1;
+ top:0px;
+ }
+ to{
+ opacity:0;
+ top:0px;
+ }
+}
+
+.status-text{
+ display:inline;
+ position:fixed;
+ top:0px;
+ -webkit-animation:status-text 3s 1;
+ background-color: transparent;
+ height: 15%;
+}
+
+#status-text-container {
+ background-color: transparent;
+}
+
+#status-text {
+ font-size: 20px;
+ color: #FFFFFF;
+ right: 0;
+ bottom: 0;
+ padding: 4px;
+ margin-right: 14px;
+ background-color: transparent;
+ z-index: 2;
+ width: auto;
+}
+
+/* Character Overview */
+#character-overview-wrapper {
+ position: relative;
+}
+#character-overview-container {
+ display: none;
+ position: absolute; /* Stay in place */
+ right: 0;
+ top: 0;
+ height: 205px; /* Full height */
+ /*margin: 50% auto;*/
+ padding: 5px;
+ border: 2px solid var(--my-highlight-color);
+ width: 19%;
+ overflow: auto; /* Enable scroll if needed */
+ background-color: #444; /* Fallback color */
+ z-index: 1;
+}
+
+#character-overview-text {
+ padding: 4px;
+ margin: 8px;
+ color: white;
+ background-color: #444;
+}
+
+#character-overview-save-button,
+#character-overview-options-button {
+ color: #aaa;
+ font-size: 14px;
+ font-weight: bold;
+ -webkit-border-radius: 12px;
+ -moz-border-radius: 12px;
+ border-radius: 12px;
+ -moz-box-shadow: 1px 1px 3px #000;
+ -webkit-box-shadow: 1px 1px 3px #000;
+ box-shadow: 1px 1px 3px #000;
+ height: 22px;
+ background-color:black;
+}
+
+#character-overview-save-button:hover,
+#character-overview-save-button:focus,
+#character-overview-options-button:hover,
+#character-overview-options-button:focus {
+ color: white;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+#character-overview-options-button {
+ display: inline;
+}
+
+/* Scan analyze links from AutoLink */
+.scan-analyze-link {
+ cursor:pointer;
+ color:#FFFFFF;
+ text-decoration:underline;
+}
+.scan-analyze-link:hover {
+ text-decoration:none;
+}
+
+/* Accordion menus (Header with collapsible panel) */
+.accordion-header {
+ background-color: #444;
+ font-size: 20px;
+ color: white;
+ margin: 6px 6px 0px 6px;
+ padding: 6px;
+ cursor: pointer;
+ width: 80%;
+ text-align: left;
+ border: none;
+ outline: none;
+}
+
+.accordion-header.active,
+.accordion-header:hover {
+ background-color: #555;
+}
+
+.accordion-header.active:hover {
+ background-color: #666;
+}
+
+.accordion-header:after {
+ content: '\2795'; /* "plus" sign (+) */
+ font-size: 13px;
+ color: white;
+ float: right;
+ margin-left: 5px;
+}
+
+.accordion-header.active:after {
+ content: "\2796"; /* "minus" sign (-) */
+ font-size: 13px;
+ color: white;
+ float: right;
+ margin-left: 5px;
+}
+
+.accordion-panel {
+ margin: 0px 6px 6px 6px;
+ padding: 0px 6px 6px 6px;
+ width: 75%;
+ margin-left: 5%;
+ display: none;
+ background-color: #555;
+ overflow-y:auto;
+ overflow-x:none;
+}
+
+.accordion-panel div,
+.accordion-panel ul,
+.accordion-panel p,
+.accordion-panel ul > li {
+ background-color: #555;
+}
+
+/* CSS for different main menu pages, such as character info, script editor, etc (but excluding
+ terminal which has its own page) */
+
+.generic-menupage-container {
+ height: 100%;
+ padding-left: 10px;
+ margin-left: 10%;
+ width: 99%;
+ overflow-y: scroll;
+}
+
+/* Character Info */
+#character-container {
+ padding-top: 10px;
+ position: fixed;
+}
+
+/* Script Editor */
+#script-editor-container {
+ background-color:transparent;
+}
+#javascript-editor {
+ margin: 10px;
+
+ height: 80%;
+ width: 100%;
+ margin-left: 6px;
+
+ padding-left: 6px;
+ padding-top: 6px;
+ padding-bottom: 6px;
+
+ border: 2px solid var(--my-highlight-color);
+ z-index: 1;
+ font-family: 'Lucida Console', 'Lucida Sans Unicode', 'Fira Mono', 'Consolas', 'Courier New', Courier, monospace, 'Times New Roman';
+}
+
+.ace_line,
+.ace_line * {
+ background-color:transparent;
+ margin:0px;
+ padding:0px;
+}
+
+.ace_text-input {
+ font-size:16px;
+ background-color:transparent;
+}
+
+/* This temp element is used for auto adjusting filename field */
+.tmp-element {
+ visibility: hidden;
+ white-space: pre;
+}
+
+#script-editor-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+#script-editor-buttons-wrapper {
+ width: 100%;
+ padding-right: 0xp;
+ margin-right: 0px;
+}
+
+#script-editor-wrapper {
+ height:100%;
+ width: 70%;
+ background:transparent;
+}
+
+#script-editor-filename-wrapper {
+ background-color: #555;
+ margin-left: 6px;
+ margin-right: 0px;
+ padding-left: 6px;
+ width: 100%;
+ border: 2px solid var(--my-highlight-color);
+}
+
+#script-editor-filename-tag {
+ display: inline-block;
+ padding-top: 10px;
+ padding-bottom: 0px;
+ float:center;
+ background-color: #555;
+ color: white;
+}
+
+#script-editor-filename {
+ background-color: #555;
+ display: inline-block;
+ float: center;
+ resize: none;
+ color: white;
+ margin: 4px;
+
+ padding: 2px;
+
+ border: 2px solid var(--my-highlight-color);
+ -webkit-box-shadow:
+ inset 0 0 8px rgba(0,0,0,0.1),
+ 0 0 16px rgba(0,0,0,0.1);
+ -moz-box-shadow:
+ inset 0 0 8px rgba(0,0,0,0.1),
+ 0 0 16px rgba(0,0,0,0.1);
+ box-shadow:
+ inset 0 0 8px rgba(0,0,0,0.1),
+ 0 0 16px rgba(0,0,0,0.1);
+}
+
+#script-editor-status {
+ float: left;
+ color: #ffffff;
+}
+
+#script-editor-options-panel {
+ position:absolute;
+ right: 9%;
+ bottom:15%;
+ border:2px solid white;
+ width:19%;
+ background-color:#444;
+ padding:2px;
+ overflow:auto;
+ z-index: 1;
+ color: white;
+}
+
+#script-editor-options-panel fieldset {
+ margin-top:8px;
+ margin-bottom:8px;
+ padding: 2px;
+ font-size:12px;
+}
+
+/* Active scripts */
+.active-scripts-list {
+ list-style-type: none;
+}
+
+#active-scripts-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+#active-scripts-text,
+#active-scripts-total-prod {
+ width: 70%;
+ margin: 6px;
+ padding: 4px;
+}
+
+.active-scripts-server-header {
+ background-color: #444;
+ font-size: 20px;
+ color: white;
+ margin: 6px 6px 0px 6px;
+ padding: 6px;
+ cursor: pointer;
+ width: 60%;
+ text-align: left;
+ border: none;
+ outline: none;
+}
+
+.active-scripts-server-header.active,
+.active-scripts-server-header:hover {
+ background-color: #555;
+}
+
+.active-scripts-server-header.active:hover {
+ background-color: #666;
+}
+
+.active-scripts-server-header:after {
+ content: '\2795'; /* "plus" sign (+) */
+ font-size: 13px;
+ color: white;
+ float: right;
+ margin-left: 5px;
+}
+
+.active-scripts-server-header.active:after {
+ content: "\2796"; /* "minus" sign (-) */
+ font-size: 13px;
+ color: white;
+ float: right;
+ margin-left: 5px;
+}
+
+.active-scripts-server-panel {
+ margin: 0px 6px 6px 6px;
+ padding: 0px 6px 6px 6px;
+ width: 55%;
+ margin-left: 5%;
+ display: none;
+}
+
+.active-scripts-server-panel div,
+.active-scripts-server-panel ul,
+.active-scripts-server-panel ul > li {
+ background-color: #555;
+}
+
+.active-scripts-script-header {
+ background-color: #555;
+ color: var(--my-font-color);
+ padding: 4px;
+ padding-left: 10px;
+ cursor: pointer;
+ width: auto;
+ text-align: left;
+ border: none;
+ outline: none;
+}
+
+.active-scripts-script-header:hover,
+.active-scripts-script-header.active:hover {
+ background-color: #666;
+}
+
+.active-scripts-script-header.active {
+ background-color: #555;
+}
+
+.active-scripts-script-header:after {
+ content: '\2795'; /* "plus" sign (+) */
+ font-size: 13px;
+ color: var(--my-font-color);
+ float: right;
+ margin-left: 5px;
+}
+
+.active-scripts-script-header.active:after {
+ content: "\2796"; /* "minus" sign (-) */
+ font-size: 13px;
+ color: var(--my-font-color);
+ float: right;
+ margin-left: 5px;
+}
+
+.active-scripts-script-panel {
+ padding: 0 18px;
+ background-color: #555;
+ width: auto;
+ display: none;
+ margin-bottom: 6px;
+}
+
+.active-scripts-script-panel p,
+.active-scripts-script-panel h2,
+.active-scripts-script-panel ul,
+.active-scripts-script-panel li {
+ background-color: #555;
+ width: auto;
+ color: white;
+ margin-left: 5%;
+}
+
+.active-scripts-button {
+ color: #aaa;
+ font-size: 16px;
+ font-weight: bold;
+ -webkit-border-radius: 12px;
+ -moz-border-radius: 12px;
+ border-radius: 12px;
+ -moz-box-shadow: 1px 1px 3px #000;
+ -webkit-box-shadow: 1px 1px 3px #000;
+ box-shadow: 1px 1px 3px #000;
+ margin: 4px;
+ padding: 4px;
+ background-color:black;
+}
+
+.active-scripts-button:hover,
+.active-scripts-button:focus {
+ color: white;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+/* Hacknet Nodes */
+#hacknet-nodes-container {
+ position: fixed;
+ padding: 10px;
+}
+
+#hacknet-nodes-text,
+#hacknet-nodes-container li {
+ margin: 10px;
+ padding: 10px;
+}
+
+#hacknet-nodes-container li {
+ float: left;
+ overflow: hidden;
+ white-space: nowrap;
+}
+
+#hacknet-nodes-list {
+ list-style: none;
+ width: 82vw;
+}
+
+#hacknet-nodes-money {
+ margin: 10px;
+ float: left;
+}
+
+#hacknet-nodes-money-multipliers-div {
+ display: inline-block;
+ width: 70vw;
+}
+
+#hacknet-nodes-multipliers {
+ float: right;
+}
+
+#hacknet-nodes-purchase-button {
+ display: inline-block;
+}
+
+.hacknet-node {
+ margin: 6px;
+ padding: 6px;
+ width: 34vw;
+ border: 2px solid var(--my-highlight-color);
+ -webkit-box-shadow:
+ inset 0 0 8px rgba(0,0,0,0.1),
+ 0 0 16px rgba(0,0,0,0.1);
+ -moz-box-shadow:
+ inset 0 0 8px rgba(0,0,0,0.1),
+ 0 0 16px rgba(0,0,0,0.1);
+ box-shadow:
+ inset 0 0 8px rgba(0,0,0,0.1),
+ 0 0 16px rgba(0,0,0,0.1);
+}
+
+.hacknet-node-container {
+ display: inline-table;
+}
+
+.hacknet-node-container .row {
+ display: table-row;
+ height: 30px;
+}
+
+.hacknet-node-container .row p {
+ display: table-cell;
+}
+
+.hacknet-node-container .upgradable-info {
+ display: inline-block;
+ margin: 0 4px; /* Don't want the vertical margin/padding, just left & right */
+ padding: 0 4px;
+ width: 48px; /* Four times font-size */
+}
+
+.menu-page-text {
+ width: 70vw;
+}
+
+/* World */
+#world-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+
+#world-city-name,
+#world-city-desc {
+ padding: 4px;
+ margin: 4px;
+}
+
+/* Create program */
+#create-program-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+#create-program-page-text,
+#create-program-list {
+ width: 70%;
+}
+
+/* Factions and Faction (Single Faction page) */
+#factions-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+#faction-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+.faction-work-div {
+ width: 70%;
+ height: 100%;
+}
+
+.faction-work-div-wrapper {
+ overflow:hidden;
+ border: 2px solid #333;
+ padding: 6px;
+ margin: 6px;
+ width:70%;
+}
+
+#faction-donate-amount-txt,
+#faction-donate-input {
+ padding: 6px;
+ margin: 6px;
+ display: inline-block;
+ color: var(--my-font-color);
+ background-color:black;
+}
+
+#faction-donate-amount-txt {
+ width:50%;
+}
+
+#faction-container p,
+#faction-container pre {
+ padding: 6px;
+ margin: 6px;
+}
+
+#faction-container pre {
+ width: 70%;
+ white-space: pre-wrap; /* Since CSS 2.1 */
+ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+}
+
+/* Faction Augmentations */
+#faction-augmentations-container{
+ position: fixed;
+ padding-top: 10px;
+}
+
+#faction-augmentations-container p,
+#faction-augmentations-container a,
+#faction-augmentations-container ul,
+#faction-augmentations-container h1{
+ margin: 8px;
+ padding: 4px;
+}
+
+/* World */
+#world-container li {
+ margin: 0 0 15px 0;
+ list-style-type: none;
+}
+
+/* Augmentations */
+#augmentations-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+.augmentations-list button,
+.augmentations-list div {
+ color: var(--my-font-color);
+ padding: 8px;
+ text-decoration: none;
+}
+
+/* Tutorial */
+#tutorial-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+#tutorial-text {
+ width: 70%;
+ margin: 10px;
+}
+
+#tutorial-container a {
+ width: 50%;
+}
+
+/* Dev menu */
+#dev-menu-container {
+ position: fixed;
+ padding-top: 10px;
+}
+
+#dev-menu-text {
+ width: 70%;
+ margin: 10px;
+}
+
+#dev-menu-container a {
+ width: 50%;
+}
+
+/* Location */
+#location-container {
+ position: fixed;
+ padding: 6px;
+ overflow-x: hidden;
+}
+
+#location-container a {
+ display:inline-block;
+ width: 30%;
+}
+
+#location-slums-description {
+ width: 70%;
+ margin: 10px;
+}
+
+#location-return-to-world-button {
+ margin: 10px;
+ padding: 6px;
+}
+
+#location-container * {
+ margin: 10px 5px 10px 5px;
+}
+
+#location-job-reputation, #location-company-favor {
+ display: inline;
+}
+
+/* Infiltration */
+#infiltration-container {
+ position: fixed;
+ padding: 6px;
+}
+#infiltration-left-panel,
+#infiltration-right-panel {
+ display:inline-block;
+ border: 1px solid white;
+ width: 35%;
+ height: 75%;
+ top: 10px;
+ overflow-y: auto;
+ overflow-x: auto;
+}
+
+#infiltration-faction-select {
+ color:white;
+}
+
+#infiltration-left-panel p,
+#infiltration-right-panel p {
+ margin: 4px;
+}
+
+#infiltration-buttons .a-link-button {
+ display:inline;
+ width: 25%;
+}
+
+/* Stock market */
+#stock-market-container {
+ position: fixed;
+ padding: 6px;
+}
+
+#stock-market-container p {
+ padding: 10px;
+ margin: 10px;
+ width: 70%;
+}
+
+#stock-market-container a {
+ margin: 10px;
+}
+
+.stock-market-input {
+ display: inline-block;
+ padding: 4px;
+ margin: 2px;
+ background-color: black;
+ border: 1px solid white;
+ color: var(--my-font-color);
+}
+
+.stock-market-position-text {
+ color:white;
+ display:inline-block;
+}
+
+.stock-market-order-list {
+ overflow-y:auto;
+ max-height: 100px;
+}
+
+.stock-market-order-cancel-btn {
+ background-color: black;
+ border: 1px solid white;
+ color: var(--my-font-color);
+ margin: 2px;
+ padding: 0px;
+}
+
+/* Gang */
+#gang-container {
+ position: fixed;
+ padding: 6px;
+}
+
+#gang-management-subpage > p {
+ padding: 4px;
+}
+
+.gang-member-info-div {
+ float:left;
+ background-color: #555;
+}
+
+/* Both Work in progress and BitNode stuff */
+.generic-fullscreen-container {
+ color: var(--my-font-color);
+ width: 99%;
+ height: 100%;
+}
+
+#work-in-progress-container {
+ position: fixed;
+}
+
+#work-in-progress-text {
+ color: var(--my-font-color);
+ width: 70%;
+ margin: 10px;
+}
+
+#work-in-progress-cancel-button {
+ color: #aaa;
+ float: left;
+ font-size: 20px;
+ font-weight: bold;
+ -webkit-border-radius: 12px;
+ -moz-border-radius: 12px;
+ margin: 10px;
+ padding: 5px;
+ border-radius: 12px;
+ border: 3px solid white;
+ -moz-box-shadow: 1px 1px 3px #000;
+ -webkit-box-shadow: 1px 1px 3px #000;
+ box-shadow: 1px 1px 3px #000;
+}
+
+#work-in-progress-cancel-button:hover,
+#work-in-progress-cancel-button:focus {
+ color: white;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+#red-pill-container,
+#cinematic-text-container {
+ position: fixed;
+}
+
+.bitnode {
+ color:blue;
+}
+.bitnode-destroyed {
+ color:red;
+}
+.bitnode:hover,
+.bitnode-destroyed:hover {
+ color:white;
+}
+
+/* Pop-up boxes */
+.popup-box-container {
+ display: none; /* Hidden by default */
+ position: fixed; /* Stay in place */
+ z-index: 10; /* Sit on top */
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow:auto;
+ background-color: rbga(var(--my-background-color), 0.4);
+}
+
+.popup-box-content {
+ background-color: var(--my-background-color);
+ margin: 15% auto;
+ padding: 12px;
+ border: 5px solid var(--my-highlight-color);
+ width: 70%;
+ color: var(--my-font-color);
+}
+
+.popup-box-button,
+.popup-box-button-inactive {
+ color: #aaa;
+ float: right;
+ font-size: 16px;
+ font-weight: bold;
+ padding: 2px;
+ margin: 6px;
+ border: 1px solid white;
+ background-color:black;
+}
+
+.popup-box-button:hover,
+.popup-box-button:focus {
+ color: var(--my-font-color);
+ text-decoration: none;
+ cursor: pointer;
+}
+
+.popupbox-button-inactive {
+ pointer-events: none;
+ cursor: default;
+}
+
+#yes-no-text-input-box-input {
+ color: var(--my-font-color);
+ border: 1px solid white;
+ background-color:black;
+}
+
+.dialog-box-container,
+#log-box-container {
+ display: block;
+ position: absolute;
+ z-index: 10;
+ width: 50%;
+ height: auto;
+ max-height: 40%;
+ top: 40%;
+ left: 50%;
+ margin: -10% 0 0 -25%;
+ overflow: auto;
+ background-color: var(--my-background-color);
+ border: 5px solid var(--my-highlight-color);
+}
+
+.dialog-box-content,
+#log-box-content {
+ z-index: 2;
+ background-color: var(--my-background-color);
+ padding: 10px;
+}
+
+.dialog-box-close-button {
+ float: right;
+ color: #aaa;
+ font-size: 20px;
+ font-weight: bold;
+ -webkit-border-radius: 12px;
+ -moz-border-radius: 12px;
+ border-radius: 12px;
+ -moz-box-shadow: 1px 1px 3px #000;
+ -webkit-box-shadow: 1px 1px 3px #000;
+ box-shadow: 1px 1px 3px #000;
+}
+
+#log-box-close {
+ position: fixed;
+ right: 27%;
+}
+
+#log-box-kill-script {
+ right: 11%;
+ position: relative;
+}
+
+#log-box-close, #log-box-kill-script {
+ float:right;
+ display:inline-block;
+}
+
+.dialog-box-close-button:hover,
+.dialog-box-close-button:focus,{
+ color: white;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+/* Faction invitation box */
+#faction-invitation-box-container {
+ transition: opacity 400ms ease-in;
+}
+#faction-invitation-box-warning {
+ margin: 4px;
+ padding: 4px;
+}
+
+/* Infiltration-box */
+#infiltration-box-sell,
+#infiltration-box-faction {
+ display: block;
+ padding: 8px;
+ margin: 8px;
+}
+
+#infiltration-faction-select {
+ background-color:black;
+}
+
+/* Generic Yes No Box */
+#yes-no-text-input-box-input {
+ color: white;
+}
+
+/* Game Options */
+#game-options-container {
+ transition: opacity 400ms ease-in;
+}
+
+#game-options-content {
+ background-color: var(--my-background-color);
+ margin: 15% auto;
+ padding: 10px;
+ border: 5px solid var(--my-highlight-color);
+ width: 60%;
+ color: var(--my-font-color);
+}
+
+#game-options-left-panel,
+#game-options-right-panel {
+ display: inline-block;
+ width: 49%;
+}
+
+#game-options-close-button {
+ color: #aaa;
+ float: right;
+ margin: 4px;
+ padding: 4px;
+ font-size: 20px;
+ font-weight: bold;
+ -webkit-border-radius: 12px;
+ -moz-border-radius: 12px;
+ border-radius: 12px white;
+ -moz-box-shadow: 1px 1px 3px #000;
+ -webkit-box-shadow: 1px 1px 3px #000;
+ box-shadow: 1px 1px 3px #000;
+}
+
+#game-options-close-button:hover,
+#game-options-close-button:focus {
+ color: white;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+#game-options-left-panel fieldset {
+ padding:2px;
+ margin:2px;
+}
+
+#import-game-file-selector {
+ display:none;
+}
+
+/* interactivetutorial.css */
+#interactive-tutorial-wrapper {
+ position:relative;
+}
+
+#interactive-tutorial-container {
+ display: none;
+ position: absolute; /* Stay in place */
+ right: 0;
+ top: 0;
+ height: 400px; /* Full height */
+ padding: 10px;
+ border: 5px solid #FFFFFF;
+ width: 20%;
+ overflow: auto; /* Enable scroll if needed */
+ background-color: #444; /* Fallback color */
+ color: white;
+}
+
+#interactive-tutorial-container > strong {
+ background-color: #444;
+}
+
+#interactive-tutorial-text {
+ padding: 4px;
+ margin: 4px;
+ color: white;
+ background-color: #444;
+}
+
+#interactive-tutorial-exit,
+#interactive-tutorial-next,
+#interactive-tutorial-back {
+ color: #aaa;
+ font-size: 20px;
+ font-weight: bold;
+ -webkit-border-radius: 12px;
+ -moz-border-radius: 12px;
+ border-radius: 12px;
+ -moz-box-shadow: 1px 1px 3px #000;
+ -webkit-box-shadow: 1px 1px 3px #000;
+ box-shadow: 1px 1px 3px #000;
+ background-color:black;
+}
+
+#interactive-tutorial-exit {
+ float: left;
+}
+
+#interactive-tutorial-back {
+ margin-right: 20%;
+ float: right;
+}
+
+#interactive-tutorial-next {
+ float: right;
+}
+
+#interactive-tutorial-exit:hover,
+#interactive-tutorial-exit:focus,
+#interactive-tutorial-next:hover,
+#interactive-tutorial-next:focus,
+#interactive-tutorial-back:hover,
+#interactive-tutorial-back:focus {
+ color: white;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+@-webkit-keyframes LOADERSPINNER {
+ 0% { -webkit-transform: translate(-50%,-50%) rotate(0deg); }
+ 100% { -webkit-transform: translate(-50%,-50%) rotate(360deg); }
+}
+@-moz-keyframes LOADERSPINNER {
+ 0% { -moz-transform: translate(-50%,-50%) rotate(0deg); }
+ 100% { -moz-transform: translate(-50%,-50%) rotate(360deg); }
+}
+@-ms-keyframes LOADERSPINNER {
+ 0% { -ms-transform: translate(-50%,-50%) rotate(0deg); }
+ 100% { -ms-transform: translate(-50%,-50%) rotate(360deg); }
+}
+@-o-keyframes LOADERSPINNER {
+ 0% { -o-transform: translate(-50%,-50%) rotate(0deg); }
+ 100% { -o-transform: translate(-50%,-50%) rotate(360deg); }
+}
+@keyframes LOADERSPINNER {
+ 0% { transform: translate(-50%,-50%) rotate(0deg); }
+ 100% { transform: translate(-50%,-50%) rotate(360deg); }
+}
+
+@-webkit-keyframes LOADERLABEL {
+ 0% { opacity: 1.0; -webkit-transform: translate(-50%,-50%) scale(1.0); }
+ 5% { opacity: 0.5; -webkit-transform: translate(-50%,-50%) scale(0.5); }
+ 95% { opacity: 0.5; -webkit-transform: translate(-50%,-50%) scale(0.5); }
+ 100% { opacity: 1.0; -webkit-transform: translate(-50%,-50%) scale(1.0); }
+}
+@-moz-keyframes LOADERLABEL {
+ 0% { opacity: 1.0; -moz-transform: translate(-50%,-50%) scale(1.0); }
+ 5% { opacity: 0.5; -moz-transform: translate(-50%,-50%) scale(0.5); }
+ 95% { opacity: 0.5; -moz-transform: translate(-50%,-50%) scale(0.5); }
+ 100% { opacity: 1.0; -moz-transform: translate(-50%,-50%) scale(1.0); }
+}
+@-ms-keyframes LOADERLABEL {
+ 0% { opacity: 1.0; -ms-transform: translate(-50%,-50%) scale(1.0); }
+ 5% { opacity: 0.5; -ms-transform: translate(-50%,-50%) scale(0.5); }
+ 95% { opacity: 0.5; -ms-transform: translate(-50%,-50%) scale(0.5); }
+ 100% { opacity: 1.0; -ms-transform: translate(-50%,-50%) scale(1.0); }
+}
+@-o-keyframes LOADERLABEL {
+ 0% { opacity: 1.0; -o-transform: translate(-50%,-50%) scale(1.0); }
+ 5% { opacity: 0.5; -o-transform: translate(-50%,-50%) scale(0.5); }
+ 95% { opacity: 0.5; -o-transform: translate(-50%,-50%) scale(0.5); }
+ 100% { opacity: 1.0; -o-transform: translate(-50%,-50%) scale(1.0); }
+}
+@keyframes LOADERLABEL {
+ 0% { opacity: 1.0; transform: translate(-50%,-50%) scale(1.0); }
+ 5% { opacity: 0.5; transform: translate(-50%,-50%) scale(0.5); }
+ 95% { opacity: 0.5; transform: translate(-50%,-50%) scale(0.5); }
+ 100% { opacity: 1.0; transform: translate(-50%,-50%) scale(1.0); }
+}
+
+*, *:before, *:after {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ vertical-align: top;
+}
+.loaderoverlay {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background: rgba(255,255,255,1.0);
+}
+.loaderoverlay .loaderspinner,
+.loaderoverlay .loaderspinner:before,
+.loaderoverlay .loaderspinner:after {
+ border: 20px solid rgba(0,0,0,0);
+ border-top: 20px solid #ccc;
+ border-bottom: 20px solid #ccc;
+ border-radius: 1000px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+}
+.loaderoverlay .loaderspinner:before,
+.loaderoverlay .loaderspinner:after {
+ content: "";
+}
+.loaderoverlay .loaderspinner {
+ width: 200px;
+ height: 200px;
+ -webkit-animation: LOADERSPINNER 5s linear infinite;
+ -moz-animation: LOADERSPINNER 5s linear infinite;
+ -ms-animation: LOADERSPINNER 5s linear infinite;
+ -o-animation: LOADERSPINNER 5s linear infinite;
+ animation: LOADERSPINNER 5s linear infinite;
+}
+.loaderoverlay .loaderspinner:before {
+ width: 160px;
+ height: 160px;
+ -webkit-animation: LOADERSPINNER 10s linear infinite;
+ -moz-animation: LOADERSPINNER 10s linear infinite;
+ -ms-animation: LOADERSPINNER 10s linear infinite;
+ -o-animation: LOADERSPINNER 10s linear infinite;
+ animation: LOADERSPINNER 10s linear infinite;
+}
+.loaderoverlay .loaderspinner:after {
+ width: 120px;
+ height: 120px;
+ -webkit-animation: LOADERSPINNER 5s linear infinite;
+ -moz-animation: LOADERSPINNER 5s linear infinite;
+ -ms-animation: LOADERSPINNER 5s linear infinite;
+ -o-animation: LOADERSPINNER 5s linear infinite;
+ animation: LOADERSPINNER 5s linear infinite;
+}
+.loaderoverlay .loaderlabel {
+ color: #66ff33;
+ text-transform: uppercase;
+ font-family: sans-serif;
+ font-size: 22px;
+ font-weight: 700;
+ letter-spacing: 2px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ -webkit-animation: LOADERLABEL 5s linear infinite;
+ -moz-animation: LOADERLABEL 5s linear infinite;
+ -ms-animation: LOADERLABEL 5s linear infinite;
+ -o-animation: LOADERLABEL 5s linear infinite;
+ animation: LOADERLABEL 5s linear infinite;
+}
+button[type="button"] {
+ padding: 0.5rem 1rem;
+ position: absolute;
+ z-index: 1;
+ bottom: 10px;
+ left: 50%;
+ -webkit-transform: translateX(-50%);
+ -moz-transform: translateX(-50%);
+ -ms-transform: translateX(-50%);
+ -o-transform: translateX(-50%);
+ transform: translateX(-50%);
+}
+
+/* Customize */
+.loaderoverlay {
+ background: #000;
+}
+.loaderoverlay .loaderspinner,
+.loaderoverlay .loaderspinner:before,
+.loaderoverlay .loaderspinner:after {
+ border-top-color: #66ff33!important;
+ border-bottom-color:#66ff33 !important;
+}
+.loaderoverlay .loaderlabel {
+ color: #66ff33;
+}
+/* css for Missions */
+
+/* Hacking missions */
+#mission-container {
+ overflow:hidden;
+}
+
+.hack-mission-grid {
+ display: grid;
+ /*grid-template-columns: 11% 11% 11% 11% 11% 11% 11% 11%;*/
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
+ /*grid-template-rows: 10% 10% 10% 10% 10% 10% 10% 10%;*/
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
+ grid-gap: 2.5%;
+ height: 90%;
+ position:absolute;
+ width: 100%;
+ overflow-y:auto;
+ padding-right: 10px;
+}
+
+.hack-mission-grid::-webkit-scrollbar {
+ display:none;
+}
+
+.hack-mission-node {
+ z-index:5;
+ background-color:gray;
+ align-self: center;
+ justify-self: center;
+ display:inline-block;
+}
+
+.hack-mission-node p {
+ margin-top:8px;
+ color:white;
+ font-size:12px;
+ text-align:center;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.hack-mission-player-node {
+ color:white;
+ background-color:blue;
+}
+
+.hack-mission-player-node-active {
+ border: 2px solid white;
+ background-color: #6666ff;
+}
+
+.hack-mission-enemy-node {
+ color:white;
+ background-color:red;
+}
+
+.hack-mission-cpu-node {
+ width:100%;
+ height:100%;
+ -moz-border-radius: 50%;
+ -webkit-border-radius: 50%;
+ border-radius: 50%;
+}
+
+.hack-mission-firewall-node {
+ width:90%;
+ height:100%;
+}
+
+.hack-mission-database-node {
+ width: 100%;
+ height: 90%;
+ -webkit-transform: skew(20deg);
+ -moz-transform: skew(20deg);
+ -o-transform: skew(20deg);
+}
+
+.hack-mission-database-node p {
+ -webkit-transform: skew(-20deg);
+ -moz-transform: skew(-20deg);
+ -o-transform: skew(-20deg);
+ color:white;
+ font-size:12px;
+ margin-top: 8px;
+ text-align:center;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.hack-mission-transfer-node {
+ width: 100%;
+ height: 90%;
+ -webkit-transform: skew(-20deg);
+ -moz-transform: skew(-20deg);
+ -o-transform: skew(-20deg);
+}
+
+.hack-mission-transfer-node p {
+ -webkit-transform: skew(20deg);
+ -moz-transform: skew(20deg);
+ -o-transform: skew(20deg);
+ color:white;
+ font-size:12px;
+ margin-top: 8px;
+ text-align:center;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.hack-mission-spam-node,
+.hack-mission-shield-node {
+ height:100%;
+ width: 100%;
+}
+
+/* Non-map related DOM elements */
+
+/* Element at the top of the Hacking Mission page (intro page, start button, guide buttons, etc.) */
+.hack-mission-header-element {
+ margin: 6px;
+}
+
+.hack-mission-action-buttons-container {
+ border: 2px solid white;
+}
+
+#cmpy-mgmt-container p,
+#cmpy-mgmt-container a,
+#cmpy-mgmt-container div {
+ font-size: 13px;
+}
+
+
+/* Header tabs */
+.cmpy-mgmt-header-tab {
+ display: inline-block;
+ color: white;
+ background-color:#555;
+ border:1px solid white;
+ padding: 4px;
+}
+
+.cmpy-mgmt-header-tab:hover {
+ background-color: #666;
+}
+
+.cmpy-mgmt-header-tab.current {
+ background-color: #777;
+}
+
+/* Switch between Cities */
+.cmpy-mgmt-city-tab {
+ display:inline-block;
+ color: white;
+ background-color: #555;
+ border: 1px solid white;
+ padding: 4px;
+}
+
+.cmpy-mgmt-city-tab:hover {
+ background-color: #666;
+}
+
+.cmpy-mgmt-city-tab.current {
+ background-color: #777;
+}
+
+/* Panels */
+#cmpy-mgmt-panel {
+ height: 90%;
+}
+
+.cmpy-mgmt-industry-left-panel,
+.cmpy-mgmt-industry-right-panel {
+ display:inline-block;
+ width: 45%;
+ height: 100%;
+ top: 10px;
+ overflow-y: auto;
+ overflow-x: auto;
+}
+
+.cmpy-mgmt-industry-overview-panel {
+ border: 1px solid white;
+ color: var(--my-font-color);
+ display:inline-block;
+ width: 100%;
+}
+
+.cmpy-mgmt-employee-panel {
+ border: 1px solid white;
+ display:block;
+ width:100%;
+}
+
+.cmpy-mgmt-warehouse-panel {
+ border: 1px solid white;
+ display:inline-block;
+ width:100%;
+}
+
+/* Hiring new employees*/
+.cmpy-mgmt-find-employee-option {
+ border:1px solid white;
+ margin: 6px;
+}
+
+.cmpy-mgmt-find-employee-option:hover {
+ background-color:#3d4044;
+}
+
+/* Warehouse */
+.cmpy-mgmt-warehouse-material-div {
+ padding:2px;
+ border:1px solid white;
+}
+
+.cmpy-mgmt-warehouse-product-div {
+ padding:2px;
+ border:1px solid white;
+}
+
+/* Exporting materials/products */
+.cmpy-mgmt-existing-export {
+ border:1px solid white;
+ border-radius:25px;
+ margin:4px;
+ padding:4px;
+}
+
+.cmpy-mgmt-existing-export:hover {
+ background-color:#333333;
+}
+
+
+/* Upgrades */
+.cmpy-mgmt-upgrade-container {
+ border:1px solid white;
+ width: 60%;
+ margin:4px;
+}
+
+.cmpy-mgmt-upgrade-div {
+ display:inline-block;
+ border:1px solid white;
+ margin:2px;
+ padding:6px;
+ border-radius:25px;
+ font-size:"12px";
+ color:var(--my-font-color);
+}
+
+.cmpy-mgmt-upgrade-div:hover {
+ background-color:#333333;
+}
+
+#bladeburner-container p,
+#bladeburner-container pre,
+#bladeburner-container a,
+#bladeburner-container div,
+#bladeburner-container td {
+ font-size: 13px;
+}
+
+.bladeburner-action {
+ border:1px solid white;
+ margin:7px;
+ padding:7px;
+ white-space: pre-wrap;
+}
+
+.bladeburner-action pre {
+ white-space: pre-wrap;
+}
+
+/* Whatever action is currently active */
+.bladeburner-active-action {
+ border:4px solid white;
+}
+
+/* Action & Skills panel navigation button */
+.bladeburner-nav-button {
+ border:1px solid white;
+ color:white;
+ padding:2px;
+ margin:2px;
+}
+
+.bladeburner-nav-button:hover {
+ background-color:#3d4044;
+}
+
+.bladeburner-nav-button-inactive {
+ border:1px solid white;
+ padding:2px;
+ margin:2px;
+ text-decoration: none;
+ background-color: #555;
+ cursor: default;
+ pointer-events: none;
+}
+
+/* Bladeburner Console */
+.bladeburner-console-div {
+ display:inline-block;
+ width:40%;
+ border:1px solid white;
+ overflow:auto;
+ height:100%;
+ position:absolute;
+}
+
+.bladeburner-console-table {
+ height:auto;
+ overflow:auto;
+ table-layout:fixed;
+ width:100%;
+}
+
+.bladeburner-console-input-row {
+ transition: height 1s;
+ width:100%;
+}
+
+.bladeburner-console-input-cell {
+ display: flex;
+}
+
+.bladeburner-console-input {
+ display: inline-block;
+ padding: 0px !important;
+ margin: 0px !important;
+ border: 0px;
+ background-color: var(--my-background-color);
+ font-size: 13px;
+ outline: none;
+ color: var(--my-font-color);
+ flex: 1 1 auto;
+}
+
+.bladeburner-console-line {
+ word-wrap: break-word;
+ hyphens:auto;
+ -webkit-hyphens: auto;
+ -moz-hyphens: auto;
+}
+
+
+/*# sourceMappingURL=engine.css.map*/
\ No newline at end of file
diff --git a/index.html b/index.html
index 7a3e9439f..7e109ea2f 100644
--- a/index.html
+++ b/index.html
@@ -14,16 +14,7 @@
-
-
-
-
-
-
-
-
-
-
+