Files
n-gon-improved/style.css
landgreen 9402cf2fe0 elasticity
tech: elasticity - skin, does "crouch landings" a tiny bit more
  jump and move faster, +15% defense
  (replaces squirrel cage rotor)

tech: diaphragm -  skin, defense cycles between -33% and +100%
  requires aperture

tungsten carbide 150->200 maximum health
  but now does "crouch landings" a more
Zectron damage 80->100% and it does a bit less harm to player
flip-flop, relay switch are no longer skins

pause brings up the most recent in game console message
  in game console no longer fades out it just instantly goes on and off

bug fixes
2023-02-07 15:41:42 -08:00

1132 lines
21 KiB
CSS

:root {
--build-bg-color: #aeb6c2;
--card-color: #fafcfd;
--hover-card-color: #e5e5ed;
}
body {
font-family: "Helvetica", "Arial", sans-serif;
margin: 0;
overflow: hidden;
cursor: auto;
}
canvas {
position: absolute;
top: 0;
left: 0;
z-index: 0;
user-select: none;
}
select {
font-size: 0.8em;
border: 1px #333 solid;
border-radius: 6px;
}
select option {
background-color: #fff;
}
input {
padding: 0px 4px;
font-size: 0.8em;
border: 1px #333 solid;
border-radius: 4px;
}
a {
text-decoration: none;
color: #08c;
}
em {
opacity: 0.7;
}
#splash {
user-select: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
transition: opacity 5s ease-in;
}
*:focus {
outline: none;
}
table {
border-collapse: collapse;
width: 360px;
}
tr {
padding: 10px;
text-align: left;
}
td {
padding-left: 10px;
}
.key-input-train {
padding: 0px 5px;
border: 2px solid #444;
color: #444;
border-radius: 4px;
background-color: #d0d0d0;
text-align: center;
font-weight: 400;
}
.key-input {
padding: 3px 8px;
border: 2px solid #333;
background-color: #fff;
text-align: center;
}
.pause-table {
width: auto;
}
.key-input-pause {
width: 15px;
padding: 0px 2px;
border: 2px solid #333;
background-color: #fff;
text-align: center;
}
.key-used {
color: #777;
font-size: 80%;
}
summary {
font-size: 1.2em;
}
.SVG-button {
border: 1.5px #333 solid;
border-radius: 8px;
background-color: #fff;
}
.SVG-button:hover {
background-color: #eee;
}
#experiment-button {
position: absolute;
bottom: 4px;
right: 4px;
z-index: 12;
transition: opacity 5s ease-in;
}
#training-button {
position: absolute;
top: 4px;
right: 4px;
z-index: 12;
transition: opacity 5s ease-in;
}
#construct {
display: none;
position: absolute;
bottom: 0%;
right: 0%;
z-index: 1;
width: 250px;
height: 200px;
background-color: #fff;
color: #000;
font-size: 0.9em;
white-space: pre;
padding: 3px;
border: 1px #333 solid;
}
#flex-center{
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
#choose-grid {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 10px 1px;
margin: 0px;
border: 0px;
z-index: 12;
max-height: 99vh;
font-size: 1.3em;
display: grid;
grid-template-columns: repeat(3, 384px);
align-items: stretch;
visibility: hidden;
opacity: 0;
transition: opacity 0.25s linear;
overflow: auto;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
#choose-grid::-webkit-scrollbar {
display: none;
}
.choose-grid-module {
line-height: 160%;
background-color: var(--card-color);
font-size: 0.75em;
}
.choose-grid-module:hover {
background-color: var(--hover-card-color);
}
.choose-grid-module:hover .card-text {
background-color: var(--hover-card-color);
}
.research-select {
float: right;
margin-right:10px;
}
.pause-grid {
padding: 2px;
margin: 0px;
display: none;
grid-template-columns: 384px;
grid-auto-rows: minmax(auto, auto);
align-content: start;
align-items: start;
z-index: 2;
font-size: 1.3em;
}
#pause-grid-right {
position: absolute;
top:-2px;
right:-4px;
overflow: auto;
max-height: 100vh;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
padding: 1px;
}
#pause-grid-right::-webkit-scrollbar {
display: none;
}
#pause-grid-left {
position: absolute;
top:-2px;
left:-4px;
overflow: auto;
max-height: 100vh;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
.pause-console {
padding: 10px;
margin: 5px;
border-radius: 10px;
}
#pause-grid-left::-webkit-scrollbar {
display: none;
}
.pause-grid-module {
line-height: 160%;
background-color: var(--card-color);
font-size: 0.75em;
}
.pause-eject .card-text {
animation: techColorCycle 1s linear infinite alternate;
}
#experiment-grid {
display: flex;
justify-content: center;
padding: 0px;
margin: 0px;
border: 0px;
background-color: var(--build-bg-color);
display: none;
grid-template-columns: repeat(auto-fit, 384px);
grid-auto-flow: row;
/* grid-auto-rows: minmax(auto, auto); */
position: relative;
/* bottom: 0px; */
z-index: 10;
font-size: 1.3em;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
#experiment-grid::-webkit-scrollbar {
display: none;
}
.experiment-grid-module {
line-height: 160%;
background-color: var(--card-color);
font-size: 0.75em;
}
.experiment-grid-hide {
display: none;
}
.grid-title {
padding-bottom: 6px;
padding-top: 4px;
font-size: 1.4em;
font-weight: 600;
}
.experiment-grid-module:hover:not(.build-tech-selected, .build-field-selected, .build-gun-selected) {
background-color: var(--card-color);
}
.experiment-start-box{
background-color: var(--card-color);
/* font-size: 1em; */
position: sticky;
top:0;
z-index: 10;
align-self: start;
width: 195px;
line-height: 170%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border: 2px #333 solid;
border-top: 0px;
border-radius: 10px;
border-top-left-radius: 0px;
/* border-bottom-left-radius: 0px; */
border-top-right-radius: 0px;
padding:0.2em 0px;
height: 190px;
box-shadow: 8px 8px 7px rgba(0,0,50,0.15);
}
.card-background {
height:340px;
background-size: contain;
background-repeat: no-repeat;
display: flex;
justify-content:flex-end;
flex-direction: column;
}
.card-text {
background-color: rgba(255,255,255,1);
padding: 0.5em 1em;
border: 1px solid #444;
margin-top: -1px;
margin-right: -1px;
font-size: 0.92em;
min-height: 88px;
}
.cancel-card {
text-align: center;
font-size: 1.1em;
font-weight: 100;
justify-self: end;
border: 1px solid #444;
margin-top: -1px;
margin-right: -1px;
padding: 1px;
line-height: 160%;
background-color: var(--card-color);
}
.cancel-card:hover {
background-color: var(--hover-card-color);
}
.research-card {
font-size: 1.1em;
font-weight: 100;
border: 1px solid #444;
margin-top: -1px;
margin-right: -1px;
padding: 1px 0px 1px 10px;
line-height: 160%;
background-color: var(--card-color);
}
.research-card:hover {
background-color: var(--hover-card-color);
}
/* keeps 5 columns at 1440px */
@media (min-width: 1710px) and (max-width: 1950px) {
.experiment-grid-module, .choose-grid-module, .pause-grid-module {
line-height: 143%;
font-size: 0.68em;
}
#experiment-grid, #choose-grid, .pause-grid{
grid-template-columns: repeat(auto-fit, 340px);
}
.card-background{
height:290px;
}
.card-text {
min-height: 75px;
}
}
/* (min-width: 30em) and (max-width: 80em) */
@media (max-width: 1709px) {
.experiment-grid-module, .choose-grid-module, .pause-grid-module {
line-height: 139%;
font-size: 0.58em;
}
#experiment-grid, #choose-grid, .pause-grid{
grid-template-columns: repeat(auto-fit, 285px);
}
.card-background{
height:240px;
}
.card-text {
min-height: 64px;
}
}
/* keeps 4 columns at 1440px */
/* @media (1500px <= width < 1950px) {
.experiment-grid-module, .choose-grid-module, .pause-grid-module {
line-height: 150%;
font-size: 0.72em;
}
#experiment-grid, #choose-grid, .pause-grid{
grid-template-columns: repeat(auto-fit, 360px);
}
.card-background{
height:315px;
}
.card-text {
min-height: 82px;
}
}
@media (width < 1500px) {
.experiment-grid-module, .choose-grid-module, .pause-grid-module {
line-height: 143%;
font-size: 0.68em;
}
#experiment-grid, #choose-grid, .pause-grid{
grid-template-columns: repeat(auto-fit, 340px);
}
.card-background{
height:290px;
}
.card-text {
min-height: 75px;
}
} */
.experiment-grid-module:hover .card-text {
background-color: var(--hover-card-color);
}
.build-tech-selected .card-text{
background-color: hsl(253, 100%, 84%);
}
.build-tech-selected.experiment-grid-module:hover .card-text {
background-color: hsl(253, 100%, 81%);
}
.build-gun-selected .card-text{
background-color: hsl(218, 100%, 81%);
}
.build-gun-selected.experiment-grid-module:hover .card-text {
background-color: hsl(218, 100%, 76%);
}
.build-field-selected .card-text{
background-color: hsl(193, 100%, 75%);
}
.build-field-selected.experiment-grid-module:hover .card-text {
background-color: hsl(193, 100%, 68%);
}
.experiment-grid-disabled {
/* background-color: var(--build-bg-color); */
/* color: #000; */
opacity: 0.35;
}
.experiment-grid-disabled[data-descr] {
position: relative;
}
.experiment-grid-disabled[data-descr]:hover::after {
content: '\a \00a0 \00a0 \00a0 REQUIRES:\a \00a0 \00a0 \00a0 'attr(data-descr);
white-space: pre-wrap;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: var(--build-bg-color);
z-index: 1;
opacity: 1;
transition: opacity 0.5s ease;
}
#info {
position: absolute;
bottom: 3px;
left: 3px;
z-index: 12;
font-size: 1.5em;
transition: opacity 5s ease-in;
}
.details-div {
padding: 10px;
border-radius: 8px;
border: 2px #333 solid;
background-color: #fff;
}
#dmg {
position: absolute;
z-index: 2;
width: 100%;
height: 100%;
display: none;
/* background-color also set in mass-energy tech */
background-color: #f67;
opacity: 0;
transition: opacity 1s;
}
#health-bg {
position: absolute;
top: 15px;
left: 15px;
height: 20px;
width: 0px;
transition: width 1s ease-out;
background-color: #000;
opacity: 0.1;
z-index: 1;
pointer-events: none;
display: none;
}
#health {
position: absolute;
top: 15px;
left: 15px;
height: 20px;
width: 0px;
transition: width 1s ease-out;
opacity: 0.6;
z-index: 2;
pointer-events: none;
background-color: #f00;
}
.low-health {
animation: blink 250ms infinite alternate;
}
@keyframes blink {
from {
opacity: 0.9;
}
to {
opacity: 0.2;
}
}
/* background on title page */
#fade-out {
position: absolute;
z-index: 2;
width: 100%;
height: 100%;
background-color: #e2e9ec;
opacity: 1;
transition: opacity 3s;
pointer-events: none;
}
#guns {
position: absolute;
top: 40px;
left: 15px;
z-index: 2;
font-size: 23px;
color: #222;
background-color: rgba(255, 255, 255, 0.4);
line-height: 120%;
user-select: none;
pointer-events: none;
padding: 0px 5px 0px 5px;
border-radius: 5px;
/*border: 2px solid rgba(0, 0, 0, 0.4);*/
}
#field {
position: absolute;
top: 15px;
right: 15px;
z-index: 2;
font-size: 23px;
color: #000;
text-align: right;
opacity: 0.7;
/* line-height: 140%; */
background-color: rgba(190, 210, 245, 0.25);
user-select: none;
pointer-events: none;
padding: 0px 5px 0px 5px;
border-radius: 5px;
/*border: 2px solid rgba(0, 0, 0, 0.4);*/
}
#tech {
position: absolute;
top: 60px;
right: 15px;
z-index: 2;
font-size: 20px;
color: #222;
text-align: right;
opacity: 0.35;
line-height: 120%;
background-color: rgba(255, 255, 255, 0.4);
user-select: none;
pointer-events: none;
padding: 0px 5px 0px 5px;
border-radius: 5px;
/*border: 2px solid rgba(0, 0, 0, 0.4);*/
}
#text-log {
z-index: 2;
position: absolute;
bottom: 10px;
left: 10px;
padding: 10px;
border-radius: 4px;
line-height: 140%;
font-size: 1.15em;
color: #555;
background-color: rgba(255, 255, 255, 0.5);
/* transition: opacity 0.15s; */
pointer-events: none;
user-select: none;
}
/* color for in game console output */
/* .ammo-flash {
color: #f33;
transition: color 2s;
} */
.color-text {
color: #000;
}
.color-var {
color: hsl(253, 100%, 58%);
}
.color-symbol {
color: hsl(290, 100%, 40%);
}
.color-gun {
color: hsl(218, 100%, 58%);
}
.highlight {
border-radius: 6px;
background-color: #ff0;
padding: 3px;
}
.color-f {
color: #0ad;
letter-spacing: 1px;
}
.color-s {
color: #04f;
letter-spacing: 1px;
}
.color-d {
color: #f03;
letter-spacing: 1px;
}
.color-p {
color: #067;
letter-spacing: 1px;
}
.color-h {
color: #0b7;
letter-spacing: 1px;
}
.color-e {
color: #d60;
letter-spacing: 1px;
}
.color-m {
color: hsl(253, 100%, 50%);
letter-spacing: 1px;
}
.color-g {
color: hsl(218, 80%, 40%);
letter-spacing: 1px;
}
.color-ammo {
color: #356;
}
.color-dup {
font-variant: small-caps;
letter-spacing: 1px;
text-shadow: 1.5px -1.5px hsla(243, 100%, 38%, 0.2);
}
.color-cloaked {
letter-spacing: 2px;
animation: cloak 6s linear infinite alternate;
color: rgba(0, 0, 0, 0);
}
@keyframes cloak {
0% {
text-shadow: 0px 0px 0px #000;
opacity: 1;
}
50% {
text-shadow: 0px 0px 0px #000;
opacity: 1;
}
100% {
text-shadow: 0px 0px 15px #000;
opacity: 0;
}
}
.color-laser {
color: #f02;
font-weight: 100;
letter-spacing: -0.8px;
}
.color-plasma {
color: #c0e;
letter-spacing: 1px;
background-color: rgba(132, 0, 255, 0.06);
padding: 2px;
border-radius: 9px;
letter-spacing: 1px;
}
.color-worm {
color: #fff;
text-shadow: 1px 0px 2px #234;
}
.color-defense {
background-color: hsla(227, 9%, 71%, 0.279);
padding: 2px;
border-radius: 4px;
letter-spacing: 1px;
font-weight: 100;
}
.color-block {
background-color: rgba(0, 0, 0, 0.04);
border: 1px solid rgba(0, 0, 0, 0.5);
padding: 0.5px;
font-weight: 100;
}
.color-cancel {
background-color: var(--card-color);
border: 0.15em #444 solid;
padding: 0.2em;
border-radius: 0.2em;
font-weight: 800;
font-size: 1em;
}
.color-junk {
letter-spacing: 1px;
font-family: Lucida Console, Courier, monospace;
}
.color-r {
color: #f7b;
letter-spacing: 1px;
}
.color-flop {
text-decoration: underline;
font-weight: 100;
letter-spacing: -1px;
}
.color-alt {
text-decoration: underline;
font-weight: 100;
letter-spacing: -1px;
}
.faded {
opacity: 0.7;
font-size: 90%;
}
.circle-grid {
width: 1.35em;
height: 1.35em;
border-radius: 50%;
display: inline-block;
margin-bottom: -0.3em;
}
.junk {
background-color: hsl(254, 44%, 75%);
border-radius: 25%;
}
.research-circle {
width: 0.9em;
height: 0.9em;
border-radius: 50%;
display: inline-block;
background-color: #f7b;
border: 0.065em #fff solid;
opacity: 0.85;
margin-bottom: -0.1em;
}
.ammo-circle {
width: 0.75em;
height: 0.75em;
border-radius: 50%;
display: inline-block;
background-color: #467;
border: 0.05em #fff solid;
opacity: 0.95;
margin-bottom: -1.5px;
}
.heal-circle {
width: 0.95em;
height: 0.95em;
border-radius: 50%;
display: inline-block;
background-color: #0d9;
border: 0.05em #fff solid;
opacity: 0.85;
margin-bottom: -3px;
}
.heal-circle-energy {
width: 0.95em;
height: 0.95em;
border-radius: 50%;
display: inline-block;
background-color: #ff0;
border: 0.05em #000 solid;
opacity: 0.85;
margin-bottom: -3px;
}
.coupling-circle {
width: 0.7em;
height: 0.7em;
border-radius: 50%;
display: inline-block;
background-color: #0ae;
border: 0.05em #fff solid;
margin-bottom: -0.5px;
}
.boost-circle {
width: 0.7em;
height: 0.7em;
border-radius: 50%;
display: inline-block;
background-color: #f03;
border: 0.05em #fff solid;
opacity: 0.9;
margin-bottom: -0.5px;
}
@keyframes pulse {
0% {
border-radius: 0%;
}
100% {
border-radius: 50%;
}
}
.field {
background-color: #0cf;
}
.tech {
background-color: hsl(255, 100%, 71%);
}
.gun {
background-color: rgb(0, 80, 218);
}
.heal {
background-color: #0d9;
}
.research {
background-color: #f7b;
}
.alt {
animation: alt 8s linear infinite alternate;
font-weight: 400;
letter-spacing: 1px;
}
@keyframes alt {
0% {
text-shadow: 3px 0px 0px;
}
100% {
text-shadow: -3px 0px 0px;
}
}
.flicker {
animation: flicker 4s linear infinite;
}
@keyframes flicker {
0% {
opacity: 1;
}
80% {
opacity: 1;
}
90% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.color-coupling {
text-shadow: 0px 0px 1.5px #0cf;
letter-spacing: 1px;
font-weight: 100;
}
.box {
padding: 3px 8px 3px 8px;
border: 2px solid #444;
border-radius: 4px;
background-color: rgba(255, 255, 255, 0.5);
}
.wrapper {
display: grid;
grid-template-columns: 360px 10px;
align-self: center;
justify-content: center;
}
.grid-box {
align-self: center;
justify-self: center;
}
.right {
text-align: right;
}
.lore {
animation: bgColor 3.5s linear infinite;
}
.lore-text {
animation: textColor 3s linear infinite;
}
.entanglement {
font-size: 1.1em;
font-weight: 100;
text-align: center;
letter-spacing: 10px;
border: none;
background-color: var(--card-color);
}
.flipX {
animation: 14s anim-flipX linear infinite;
}
@keyframes anim-flipX {
0% {
transform: rotateX(0.5turn);
}
50% {
transform: rotateX(1turn);
}
100% {
transform: rotateX(0.5turn);
}
}
@keyframes fieldColorCycle {
0% {
background-color: rgb(255, 255, 255)
}
100% {
background-color: rgb(200, 255, 255)
}
}
@keyframes techColorCycle {
0% {
background-color: hsl(253, 100%, 100%)
}
100% {
background-color: hsl(253, 100%, 90%)
}
}
@keyframes bgColor {
0% {
background-color: rgb(63, 218, 216)
}
10% {
background-color: rgb(47, 201, 226)
}
20% {
background-color: rgb(28, 127, 238)
}
30% {
background-color: rgb(95, 21, 242)
}
40% {
background-color: rgb(186, 12, 248)
}
50% {
background-color: rgb(251, 7, 217)
}
60% {
background-color: rgba(255, 0, 0)
}
70% {
background-color: rgb(255, 0, 0)
}
80% {
background-color: rgb(255, 154, 0)
}
90% {
background-color: rgb(208, 222, 33)
}
100% {
background-color: rgb(79, 220, 74)
}
}
@keyframes textColor {
0% {
color: rgb(63, 218, 216)
}
10% {
color: rgb(47, 201, 226)
}
20% {
color: rgb(28, 127, 238)
}
30% {
color: rgb(95, 21, 242)
}
40% {
color: rgb(186, 12, 248)
}
50% {
color: rgb(251, 7, 217)
}
60% {
color: rgba(255, 0, 0)
}
70% {
color: rgb(255, 0, 0)
}
80% {
color: rgb(255, 154, 0)
}
90% {
color: rgb(208, 222, 33)
}
100% {
color: rgb(79, 220, 74)
}
}
.link {
color: #000;
}
.link:hover {
text-decoration: underline;
}