machine-unlimited-mobile/css/style.css

239 lines
4.4 KiB
CSS

* { margin: 0; padding: 0 }
body {
overflow: hidden;
}
iframe {
display: block !important;
background-color: #fff;
height: calc(100vh - 4rem);
top: var(--loadProgress);
position: absolute;
width: 100vw;
}
/* The bed of the Machine */
.machine {
background: url('/images/Metal Panel.svg');
background-repeat: repeat-x;
bottom: 0;
height: 4rem;
position: fixed;
width: 100vw;
z-index: 9000;
}
/* Labels */
label {
background-color: #202123;
text-shadow: 1px -1px 0px #42464dFF, -1px 1px 0px #ffffff1A;
color: #eeeeee;
display: block;
font: 0.625rem 'Arial Rounded MT Bold';
padding: 0.0625rem 0.3125rem;
text-transform: uppercase;
transform: rotate(-5deg);
width: max-content;
}
/* The URL grater and indicators */
.link-grater {
position: absolute;
left: 4rem;
top: 0;
.grater-bed {
background: url('/images/Grater Bed.svg');
background-repeat: no-repeat;
background-position: bottom;
position: absolute;
height: 4rem;
top: -4rem;
width: 8.5rem;
&::before {
background: url('/images/Sausage.svg');
background-repeat: no-repeat;
content: ' ';
display: block;
height: 3em;
opacity: 0;
position: absolute;
transition: all 0.5s;
width: 8.125em;
}
&.drag-over::before {
opacity: 0.5;
}
}
.grater-blade {
background: url('/images/Grater Blade.svg');
height: 0.625rem;
left: var(--graterTravel);
position: absolute;
bottom: 0.625rem;
width: 3.4375rem;
z-index: 10;
}
.lever {
bottom: -2.75rem;
height: 4.4375rem;
position: absolute;
left: 12rem;
width: 6.125rem;
.stem {
background: url('/images/Lever Handle.svg');
height: 3.4375rem;
position: absolute;
width: 3.0625rem;
top: 1em;
transform: rotate(var(--leverRotation));
transform-origin: calc(100% - 3px) calc(100% - 2px);
.handle {
cursor: pointer;
height: 2.75rem;
position: absolute;
left: -0.75rem;
top: -1rem;
width: 2.75rem;
}
}
&::before {
background: url('/images/Lever Back.svg');
bottom: -0.5rem;
content: '';
height: 1.375rem;
left: 2.25rem;
position: absolute;
width: 1.375rem;
}
&::after {
background: url('/images/Lever Front.svg');
bottom: -0.5rem;
content: '';
height: 1.0625rem;
left: 2.40625rem;
position: absolute;
width: 1.0625rem;
}
}
.indicator-leds {
position: absolute;
width: max-content;
bottom: -3.3125rem;
left: 10rem;
.indicator {
display: inline-block;
height: 0.6875rem;
width: 0.6875rem;
}
}
label {
position: absolute;
bottom: -3rem;
left: 1rem;
}
}
.ready-to-grate {
background: url('/images/Red Unlit Light.svg');
}
.ready-to-load {
background: url('/images/Green Unlit Light.svg');
}
[data-current-state="readyToGrate"] .ready-to-grate {
background: url('/images/Red Lit Light.svg');
}
[data-current-state="readyToLoad"] .ready-to-load {
background: url('/images/Green Lit Light.svg');
}
/* The Link Loader Wheel and Chain Mechanism */
.chain {
background: url('/images/Chain Link.svg');
background-position-y: var(--chainOffset);
background-repeat: repeat-y;
height: 100vh;
position: fixed;
right: 1rem;
top: 0;
width: 1rem;
}
.url-loader {
position: absolute;
right: 1.5rem;
top: -3rem;
.wheel {
height: 6rem;
width: 6rem;
.body {
background: url('/images/Wheel.svg');
height: 6rem;
left: 0;
position: absolute;
top: 0;
transform: rotate(var(--wheelRotation));
width: 6rem;
}
.handle {
cursor: pointer;
height: 2.75rem;
position: absolute;
right: -1.125rem;
top: 1.625rem;
width: 2.75rem;
}
}
label {
position: absolute;
bottom: 0;
left: -4rem;
}
}
/* Make a Sausage */
.sausage {
background: url('/images/Sausage.svg');
background-position: top;
background-repeat: no-repeat;
color: #fff;
display: block;
font: 0.625rem 'Arial Rounded MT Bold';
height: calc(3rem - var(--grateLevel));
overflow: hidden;
position: absolute;
top: var(--grateLevel);
left: 0;
text-align: center;
text-transform: uppercase;
width: 8.125rem;
z-index: 0;
display: flex;
align-items: center;
justify-content: center;
}
/* Util */
.no-select {
user-select: none
}