333 lines
6.6 KiB
CSS
333 lines
6.6 KiB
CSS
:root {
|
|
--bleed-extra: 80px;
|
|
--bleed: 40px;
|
|
}
|
|
|
|
body {
|
|
/* set basic colors */
|
|
background-color: var(--surface);
|
|
color: var(--on-surface);
|
|
font-family: sans-serif;
|
|
|
|
/* Disable overflow */
|
|
overflow: hidden;
|
|
}
|
|
|
|
.bg {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
|
|
z-index: -1;
|
|
|
|
background: var(--background);
|
|
background-size: cover;
|
|
background-position: center;
|
|
}
|
|
|
|
.silhouette {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
background: radial-gradient(closest-side, rgba(0,0,0,0) 50%, rgba(0,0,0,0.3) 100%);
|
|
|
|
backdrop-filter: blur( 20px );
|
|
-webkit-backdrop-filter: blur( 20px );
|
|
|
|
mask-image: radial-gradient(closest-side, rgba(0,0,0) 50%, rgba(0,0,0,0.4) 90%, rgba(0,0,0,1.0) 100%);
|
|
-webkit-mask-image: radial-gradient(closest-side, rgba(0,0,0,0) 50%, rgba(0,0,0,0.7) 90%, rgba(0,0,0,1.0) 100%);
|
|
|
|
transition: all 400ms cubic-bezier(.47,1.64,.41,.8);
|
|
}
|
|
|
|
.silhouette.hidden {
|
|
backdrop-filter: blur( 0px );
|
|
-webkit-backdrop-filter: blur( 0px );
|
|
|
|
background: transparent;
|
|
}
|
|
|
|
/* Alignment Styles */
|
|
.top-middle {
|
|
position: absolute;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
}
|
|
|
|
.top-right {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
transition: transform 400ms cubic-bezier(.47,1.64,.41,.8);
|
|
}
|
|
|
|
.top-right.hidden {
|
|
transform: translate(200px, -200px);
|
|
}
|
|
|
|
.top-left {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
transition: transform 400ms cubic-bezier(.47,1.64,.41,.8);
|
|
}
|
|
|
|
.top-left.hidden {
|
|
transform: translate(-200px, -200px);
|
|
}
|
|
|
|
.bottom-left {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
transition: transform 400ms cubic-bezier(.47,1.64,.41,.8);
|
|
}
|
|
|
|
.bottom-left.hidden {
|
|
transform: translate(-200px, 200px);
|
|
}
|
|
|
|
.bottom-middle {
|
|
position: absolute;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
transition: transform 400ms cubic-bezier(.47,1.64,.41,.8);
|
|
}
|
|
|
|
.bottom-middle.hidden {
|
|
transform: translate(-50%, 300px);
|
|
}
|
|
|
|
|
|
.bottom-right {
|
|
position: absolute;
|
|
bottom: 0;
|
|
right: 0;
|
|
transition: transform 400ms cubic-bezier(.47,1.64,.41,.8);
|
|
}
|
|
|
|
.bottom-right.hidden {
|
|
transform: translate(200px, 200px);
|
|
}
|
|
|
|
.top-bleed {
|
|
top: var(--bleed);
|
|
}
|
|
|
|
.bottom-bleed {
|
|
bottom: var(--bleed);
|
|
}
|
|
|
|
.right-bleed {
|
|
right: var(--bleed);
|
|
}
|
|
|
|
.left-bleed {
|
|
left: var(--bleed);
|
|
}
|
|
|
|
.top-bleed-extra {
|
|
top: var(--bleed-extra);
|
|
}
|
|
|
|
.bottom-bleed-extra {
|
|
bottom: var(--bleed-extra);
|
|
}
|
|
|
|
.center-text {
|
|
text-align: center;
|
|
}
|
|
|
|
/* Text Styles */
|
|
.title {
|
|
font-size: 80px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.subtitle {
|
|
font-size: 25px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.label {
|
|
font-size: 15px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* Glassy Neumorphism */
|
|
|
|
.raised {
|
|
border-radius: 14px;
|
|
backdrop-filter: blur( 12px );
|
|
-webkit-backdrop-filter: blur( 12px );
|
|
box-shadow: var(--tl-shadow-primary-concave),
|
|
var(--br-shadow-primary-concave);
|
|
}
|
|
|
|
.raised-text {
|
|
text-shadow: var(--tl-shadow-secondary-concave),
|
|
var(--br-shadow-secondary-concave);
|
|
}
|
|
|
|
.raised-text-small {
|
|
text-shadow: var(--tl-shadow-tertiary-concave),
|
|
var(--br-shadow-tertiary-concave);
|
|
}
|
|
|
|
/* Component Styles */
|
|
#clock-box {
|
|
padding: 20px;
|
|
}
|
|
|
|
.action-btn {
|
|
width: 60px;
|
|
height: 60px;
|
|
|
|
background-color: transparent;
|
|
|
|
backdrop-filter: blur( 12px );
|
|
-webkit-backdrop-filter: blur( 12px );
|
|
|
|
color: var(--on-surface);
|
|
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
|
|
border: none;
|
|
border-radius: 50%;
|
|
outline: none;
|
|
|
|
box-shadow: var(--tl-shadow-primary-concave), var(--br-shadow-primary-concave), inset 0 0 0 0 transparent;
|
|
transition: box-shadow 200ms, transform 300ms cubic-bezier(.2,2,1,1);
|
|
|
|
margin: 15px;
|
|
}
|
|
|
|
.action-btn:hover {
|
|
color: var(--on-surface-dim);
|
|
}
|
|
|
|
.action-btn:active {
|
|
box-shadow: 0 0 0 transparent, 0 0 0 transparent, var(--tl-shadow-primary-convex), var(--br-shadow-primary-convex);
|
|
transform: scale(.9);
|
|
}
|
|
|
|
|
|
.action-btn img {
|
|
width: 25px;
|
|
height: auto;
|
|
}
|
|
|
|
#battery-icon {
|
|
background: url("../assets/svg/battery-mid.svg");
|
|
}
|
|
|
|
.input-container {
|
|
display: flex;
|
|
background: white;
|
|
border-radius: 1rem;
|
|
background-color: transparent;
|
|
|
|
backdrop-filter: blur( 2px );
|
|
-webkit-backdrop-filter: blur( 2px );
|
|
box-shadow:
|
|
var(--tl-shadow-primary-concave),
|
|
var(--br-shadow-primary-concave);
|
|
padding: 0.3rem;
|
|
gap: 0.3rem;
|
|
}
|
|
|
|
.input-container input {
|
|
border-radius: 0.8rem;
|
|
background-color: transparent;
|
|
|
|
backdrop-filter: blur( 2px );
|
|
-webkit-backdrop-filter: blur( 2px );
|
|
box-shadow:
|
|
var(--tl-shadow-primary-convex),
|
|
var(--br-shadow-primary-convex),
|
|
0px 0px 100px color-mix(in srgb, var(--primary) 0%, transparent),
|
|
0px 0px 100px color-mix(in srgb, var(--secondary) 0%, transparent);
|
|
width: 100%;
|
|
flex-basis: 100%;
|
|
padding: 1rem;
|
|
border: none;
|
|
border: 1px solid transparent;
|
|
color: white;
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
|
|
.input-container input:focus {
|
|
border: 1px solid var(--primary-dim);
|
|
outline: none;
|
|
box-shadow:
|
|
inset 0px 0px 10px color-mix(in srgb, var(--primary) 20%, transparent),
|
|
inset 0px 0px 10px color-mix(in srgb, var(--secondary) 20%, transparent),
|
|
0px 0px 100px color-mix(in srgb, var(--secondary) 20%, transparent),
|
|
0px 0px 100px color-mix(in srgb, var(--primary) 20%, transparent);
|
|
}
|
|
|
|
@media (max-width: 500px) {
|
|
.input-container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.input-container input {
|
|
border-radius: 0.8rem;
|
|
}
|
|
}
|
|
|
|
.dial-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 20px;
|
|
padding: 10px;
|
|
border-radius: 1rem;
|
|
|
|
background-color: transparent;
|
|
|
|
backdrop-filter: blur( 2px );
|
|
-webkit-backdrop-filter: blur( 2px );
|
|
|
|
border-radius: 14px;
|
|
box-shadow: var(--tl-shadow-primary-concave),
|
|
var(--br-shadow-primary-concave);
|
|
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.arrow {
|
|
cursor: pointer;
|
|
padding: 10px;
|
|
user-select: none;
|
|
pointer-events: all;
|
|
}
|
|
|
|
.items-container {
|
|
width: 200px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.items-wrapper {
|
|
display: flex;
|
|
transition: transform 0.3s ease-in-out;
|
|
}
|
|
|
|
.item {
|
|
min-width: 200px;
|
|
text-align: center;
|
|
padding: 10px;
|
|
flex-shrink: 0;
|
|
|
|
font-weight: bold;
|
|
font-size: 16px;
|
|
|
|
text-shadow: var(--tl-shadow-secondary-concave),
|
|
var(--br-shadow-secondary-concave);
|
|
}
|