Clock/styles/style.css
2022-09-10 00:01:49 -05:00

338 lines
No EOL
6 KiB
CSS

body {
background: var(--background);
background-size: 100vw 100vh;
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
transition: background 0.125s;
margin: 0;
padding: 0;
}
#back {
background-image: var(--background-image);
background-size: 128px;
background-position: center;
opacity: 0.35;
position: fixed;
height: 100vh;
width: 100vw;
}
#backconstrain {
position: fixed;
height: calc(100vh + 128px);
width: calc(100vw - 36px);
left: 20px;
top: 64px;
}
* {
font-family: monospace;
}
.header {
width: 64px;
height: 100%;
position: fixed;
left: 0;
top: 0;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-between;
align-content: stretch;
align-items: center;
z-index: 9;
transition: width 0.125s;
}
.header.wide {
width: 256px;
}
.scrim--, .scrim-over-- {
display: inline-block;
width: 100vw;
height: 100vh;
z-index: 8;
position: absolute;
top: 0;
left: 0;
background-color: transparent;
backdrop-filter: none;
pointer-events: none;
transition: background-color 0.125s, backdrop-filter 0.125s;
}
.scrim-over-- {
z-index: 10;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: center;
align-content: center;
align-items: center;
}
.header.wide ~ .scrim-- {
background-color: #0006;
backdrop-filter: blur(4px);
pointer-events: auto;
}
.header::before {
background-color: #FFFFFF40;
content: "";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
backdrop-filter: blur(8px);
}
.header div {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-content: space-around;
align-items: center;
gap: 8px;
padding: 8px;
width: 100%;
box-sizing: border-box;
height: 50%;
}
.header div:first-child {
justify-content: flex-start;
}
.header div:last-child {
justify-content: flex-end;
}
.header button {
height: 48px;
width: 100%;
border-radius: 24px;
border: none;
padding: 12px;
margin: none;
background-color: transparent;
transition: background-color 0.125s;
color: var(--foreground);
position: relative;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
}
.header.wide button {
overflow: hidden;
}
.header button:hover {
background-color: #FFFFFF40;
}
.header button::after {
position: absolute;
display: inline-block;
content: attr(data-title);
font-family: monospace;
font-size: 12px;
height: 12px;
box-sizing: content-box;
background-color: transparent;
color: transparent;
left: calc(100% + 16px);
border-radius: 4px;
top: calc(50% - 14px);
transition: color 0.125s, width 0.125s;
width: 0;
padding: 8px 0;
overflow: hidden;
}
.header:not(.wide) button:hover::after {
background-color: #202020;
color: #FFFFFF;
width: initial;
padding: 8px;
}
.header:not(.wide) button:focus::after {
background-color: #202020;
color: #FFFFFF;
width: initial;
padding: 8px;
}
.header.wide button::after {
left: 48px;
top: calc(50% - 7px);
color: var(--foreground);
width: initial;
height: 14px;
padding: 0;
font-size: 14px;
}
.header button:focus {
background-color: #FFFFFF20;
}
.header button:active {
background-color: #FFFFFF80;
}
sep {
display: inline-block;
width: 100%;
height: 0;
background-color: transparent;
border: 1px dashed var(--foreground);
margin: 4px;
z-index: 9;
}
.poplight {
position: fixed;
right: 16px;
bottom: 16px;
width: 192px;
height: 192px;
transition: bottom 0.125s;
z-index: 9;
}
.poplight.hidden {
bottom: -128px;
}
.poplight button.hide {
position: absolute;
width: 32px;
height: 32px;
right: 48px;
top: -48px;
margin: 0;
padding: 0;
border: none;
border-radius: 16px;
background-color: transparent;
color: var(--foreground);
}
.poplight button.hide::after {
position: absolute;
display: inline-block;
content: attr(data-title);
font-family: monospace;
font-size: 12px;
height: 12px;
box-sizing: content-box;
background-color: transparent;
color: transparent;
right: 0;
border-radius: 4px;
top: -48px;
transition: color 0.125s, width 0.125s;
width: 0;
padding: 8px 0;
overflow: hidden;
}
.poplight button.hide:not(:disabled):hover::after {
background-color: #202020;
color: #FFFFFF;
width: initial;
padding: 8px;
}
.poplight button.hide:not(:disabled):focus {
background-color: #FFFFFF20;
}
.poplight button.hide:disabled {
color: #808080;
}
.poplight button.hide:not(:disabled):hover {
background-color: #FFFFFF40;
}
.poplight button.hide:not(:disabled):active {
background-color: #FFFFFF80;
}
.poplight button.press {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
border-radius: 96px;
background-color: #808080;
overflow: hidden;
border: none;
font-size: 96px;
transition: top 0.125s, right 0.125s, width 0.125s, height 0.125s, background-color 0.125s, color 0.125s, font-size 0.125s;
}
.poplight.hidden button.press {
top: -48px;
right: 96px;
width: 32px;
height: 32px;
border-radius: 128px;
font-size: 24px;
color: transparent;
}
.poplight button.press.popped {
background-color: var(--main-color);
box-shadow: 0px 0px 32px 0px var(--main-color);
}
.poplight button.press::after {
position: absolute;
content: "devices";
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border-radius: 128px;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: transparent;
}
.poplight button.press:hover::after {
background-color: #ffffff40;
}
.poplight button.press:active::after {
background-color: #ffffff80;
}
.poplight button.press.popped::after {
content: "phonelink_off";
}
.poplight .drag {
position: absolute;
width: 32px;
height: 32px;
right: 0;
top: -48px;
margin: 0;
padding: 4px;
border: none;
border-radius: 16px;
box-sizing: border-box;
user-select: none;
background-color: transparent;
color: var(--foreground);
}