body {
    background: rgb(27, 29, 35);
    font-size: 3vw;
}
lamp-window {
    display: block;
    position: fixed;
    top: var(--gap);
    right: var(--gap);
    bottom: var(--gap);
    left: var(--gap);
}
lamp-window grid-layout {
    height: 100%;
    width: 100%;
    pointer-events: all;
}

lamp-window .text-output { 
    background: white;
    margin: calc(var(--border)/2);
    border-radius: 1.5vmin;
    padding: var(--border) calc(var(--border) * 2);
    font-size: 1.7em;
}

.symbol .text {
    font-size: 4.2em;
}

lamp-window .grid-icon {
  --shadow-color: transparent;
}

.lamp-layout {
    --gap: 0.5px;
}

.lamp-layout .grid-icon .content {
    position: absolute;
    --b1: var(--border);
    top: var(--b1);
    left: var(--b1);
    right: var(--b1);
    bottom: var(--b1);
    flex-direction: column;
    width: calc(100% - var(--b1) * 2);
    height: calc(100% - var(--b1) * 2);
    flex-direction: column-reverse;
    gap: var(--b1);
}

.lamp-layout .grid-icon .content .symbol {
    height: 100%;
    position: relative;
}
.lamp-layout .grid-icon .content .symbol img, 
.lamp-layout .grid-icon .content .symbol svg {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    height: 100%;
    width: 100%;
    object-fit: contain;
}
.lamp-layout .grid-icon .content .display-value {
    padding-top: calc(var(--b1) * 1);
}