body { margin:0; } #root { height: 100vh; width: 100vw; margin: 0; display: flex; flex-direction: column; justify-items: stretch; align-items: stretch; } #navigation { height: 50px; box-shadow: inset 0 -2px 3px 0 #888; } #view { flex: 1; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr 1fr; justify-items: center; grid-gap: 5%; padding: 5%; } .libSlot, .pecSlot { border: solid 3px #666; border-radius: 6px; user-select: none; position: relative; } .pecSlot { --square-pec-size: calc( min( min( 100vh, 100vw ), hypot( 100vh, 100vw ) ) * 0.15); height: var(--square-pec-size); width: var(--square-pec-size); } .empty { color: #666; font-size: 100%; text-align: center; } .dialog { display: block; position: absolute; top: 0; left: -100vw; height: 100vh; width: 100vw; backdrop-filter: blur(0px); transition: left 500ms, backdrop-filter 500ms; } .title_bar { height: 50px; box-shadow: inset 0 -2px 3px 0 #888; display: flex; justify-content: stretch; font-size: 32pt; user-select: none; } .title_text { text-align: center; flex: 1; } .close { display: inline-block; background: rgba(128,128,128,0.01); box-shadow: inset 2px 2px 2px 0 rgba(128,128,128,0.5); width: 50px; text-align: center; cursor: pointer; } .focused { left: 0vw; backdrop-filter: blur(5px); transition: left 500ms, backdrop-filter 500ms; } .library_body { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; grid-gap: 5%; padding: 5%; } .pec { text-align: center; height: 100%; width: 100%; } .pecImage { height: 100%; width: 100%; object-fit: contain; position: absolute; top: 0; left: 0; } .pecName { position: absolute; width: 100%; bottom: 0; left: 0; text-align: center; background: rgba(255,255,255,0.3); }