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); }