Files
dusklight/res/rml/overlay.rcss
T
2026-09-09 22:14:46 -06:00

423 lines
7.3 KiB
Plaintext

*, *:before, *:after {
box-sizing: border-box;
}
body {
overflow: visible;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
font-family: var(--font-family-body);
font-weight: normal;
font-size: var(--font-size-2xl);
color: var(--color-text);
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: stretch;
z-index: 2;
pointer-events: none;
}
fps,
pipeline-progress,
toast {
position: absolute;
border-width: 1dp;
background-color: rgba(var(--color-surface-rgb), 80%);
}
fps,
pipeline-progress {
border-color: var(--color-border);
}
toast {
border-color: var(--toast-border-color);
top: 40dp;
right: 40dp;
display: flex;
flex-flow: column;
border-radius: var(--radius-window);
overflow: hidden;
backdrop-filter: blur(5dp);
box-shadow: 0 0 15dp 3dp;
filter: opacity(0);
transform: scale(0.9);
transform-origin: center;
transition: filter transform 0.2s cubic-in-out;
padding: 18dp var(--space-xl);
gap: var(--space-sm);
}
toast[open] {
filter: opacity(1);
transform: scale(1);
}
b {
font-weight: bold;
}
toast heading {
display: flex;
gap: 18dp;
align-items: center;
font-family: var(--font-family-heading);
font-size: var(--font-size-xl);
font-weight: bold;
text-transform: uppercase;
color: var(--toast-heading-color);
}
toast heading > toast-title {
flex: 1 0 auto;
}
toast heading > row {
flex: 1 0 auto;
display: flex;
align-items: center;
gap: var(--space-xs);
}
toast message {
display: flex;
flex-flow: column;
gap: var(--space-sm);
}
toast message row {
display: flex;
}
toast message row.muted {
opacity: 0.5;
}
toast.mod-installed row {
align-items: center;
gap: var(--space-md);
}
mod-icon {
flex: 0 0 42dp;
width: 42dp;
height: 42dp;
overflow: hidden;
border-radius: var(--radius-panel);
background-color: rgba(var(--color-control-rgb), 45%);
color: rgba(var(--color-text-rgb), 45%);
font-family: var(--font-family-icons);
font-size: var(--font-size-4xl);
decorator: text("" center center);
}
mod-icon img {
width: 100%;
height: 100%;
border-radius: var(--radius-panel);
}
mod-info {
display: flex;
flex-flow: column;
min-width: 0;
gap: var(--space-xs);
}
mod-name {
color: var(--color-white);
}
toast.mod-installed small {
font-size: var(--font-size-sm);
color: rgba(var(--color-text-rgb), 55%);
}
toast.mod-installed small.version {
margin-left: var(--space-sm);
}
progress {
height: 4dp;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
}
progress fill {
background-color: rgba(var(--color-accent-rgb), 80%);
}
pipeline-progress {
left: 12dp;
bottom: 12dp;
display: flex;
flex-flow: column;
z-index: 100;
min-width: 260dp;
max-width: 90%;
padding: 10dp var(--space-lg) var(--space-md);
border-radius: var(--radius-control);
overflow: hidden;
filter: opacity(0);
transition: filter 0.2s linear-in-out;
pointer-events: none;
}
pipeline-progress[open] {
filter: opacity(1);
}
pipeline-status {
display: flex;
align-items: center;
gap: var(--space-sm);
font-size: var(--font-size-xl);
font-weight: normal;
white-space: nowrap;
}
icon.pipeline-spinner {
width: 1.2em;
height: 1.2em;
line-height: 1.2em;
font-size: 1.2em;
color: var(--color-accent);
text-align: center;
transform-origin: center;
animation: 1s linear infinite pipeline-spinner-spin;
}
toast.achievement,
toast.warning {
--toast-border-color: var(--color-accent);
--toast-heading-color: var(--color-accent);
}
toast.controller-warning {
top: auto;
right: auto;
bottom: 40dp;
left: 50%;
width: 440dp;
max-width: 90%;
transform: translateX(-50%) scale(0.9);
}
toast.controller-warning[open] {
transform: translateX(-50%) scale(1);
}
toast.controller-warning {
--toast-heading-color: var(--color-accent);
}
toast.menu-notification {
top: 40dp;
right: auto;
bottom: auto;
left: 50%;
max-width: 90%;
transform: translateX(-50%) scale(0.9);
}
toast.menu-notification[open] {
transform: translateX(-50%) scale(1);
}
toast.menu-notification message {
align-items: center;
text-align: center;
}
toast.menu-notification message row {
align-items: center;
gap: 6dp;
}
icon {
font-family: var(--font-family-icons);
font-weight: normal;
display: inline-block;
vertical-align: middle;
}
icon.arrow-forward {
width: 1.2em;
height: 1.2em;
font-size: 1.2em;
decorator: text("" center center);
}
icon.trophy {
width: 1.2em;
height: 1.2em;
font-size: 1.2em;
decorator: text("" center center);
}
icon.controller {
width: 1.2em;
height: 1.2em;
font-size: 1.2em;
decorator: text("" center center);
}
icon.warning {
width: 1.2em;
height: 1.2em;
font-size: 1.2em;
decorator: text("" center center);
}
icon.download-done {
width: 1.2em;
height: 1.2em;
font-size: 1.2em;
decorator: text("" center center);
}
fps {
display: none;
z-index: 99;
font-size: var(--font-size-xl);
font-weight: bold;
padding: 9dp var(--space-md);
border-radius: var(--radius-control);
pointer-events: none;
white-space: nowrap;
}
speedrun-timer {
display: none;
position: absolute;
bottom: 0;
right: 0;
z-index: 99;
background-color: rgba(var(--color-black-rgb), 65%);
padding: var(--space-2xs) var(--space-xs);
pointer-events: none;
font-family: var(--font-family-monospace);
font-size: var(--font-size-md);
color: var(--color-white);
white-space: nowrap;
}
speedrun-timer[open] {
display: block;
}
speedrun-rta {
display: none;
}
speedrun-rta[open] {
display: block;
}
speedrun-igt {
display: block;
}
fps[open] {
display: block;
}
fps[corner=tl] {
top: 12dp;
left: 12dp;
}
fps[corner=tr] {
top: 12dp;
right: 12dp;
}
fps[corner=bl] {
bottom: 12dp;
left: 12dp;
}
fps[corner=br] {
bottom: 12dp;
right: 12dp;
}
logo {
position: absolute;
width: 100dp;
height: 100dp;
bottom: 40dp;
left: 40dp;
opacity: 0;
transition: opacity 0.5s linear-in-out;
}
logo[open] {
opacity: 0.65;
}
logo img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
filter: drop-shadow(rgba(var(--color-black-rgb), 53.333333%) 0 0 14dp);
transform-origin: center;
}
logo img.inner {
animation: 24s linear-in-out infinite logo-inner-spin;
}
logo img.outer {
animation: 8s linear-in-out infinite logo-outer-spin;
}
@keyframes logo-inner-spin {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
@keyframes logo-outer-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes pipeline-spinner-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@media (max-height: 640dp) {
toast {
top: 20dp;
right: 20dp;
}
toast.controller-warning {
bottom: 20dp;
}
toast.menu-notification {
top: 20dp;
}
}