terrazzo-terminal 0.2.8

A simple web-based terminal emulator built on Terrazzo.
div.resize-bar {
    position: relative;
    width: 100%;
    height: 0;
    z-index: 100;

    >div {
        --padding: 3px;
        --width: 5px;
        position: absolute;
        top: calc(-1 * var(--padding));
        width: 100%;
        padding-top: var(--padding);
        padding-bottom: var(--padding);
        cursor: row-resize;
        z-index: 1;

        >img.resize-icon {
            position: absolute;
            right: 0;
            width: 1.5rem;
            height: 1.5rem;
            z-index: 2;
            filter: invert(1);

            &.resize-icon-show {
                top: var(--width);
                cursor: s-resize;
            }

            &.resize-icon-hide {
                bottom: var(--width);
                cursor: n-resize;
            }
        }

        >div {
            position: absolute;
            width: 100%;
            height: 0;
            top: 50%;
            transform: translateY(-50%) scaleY(1);
            transform-origin: center;
            transition-duration: 0.2s;

            &.resize-bar-hidden {
                display: none;
                visibility: hidden;
            }
        }

        &:hover>div {
            height: var(--width);
            background-color: var(--color);
        }
    }
}

div.logs-panel {
    flex: 0 0 auto;
    position: relative;
    max-height: 14rem;
    overflow: auto;
    padding: calc(var(--padding) / 2) var(--padding);
    border-top: 1px solid var(--color);
    background: color-mix(in srgb, var(--background-color) 92%, var(--color) 8%);
}

ol.logs-list {
    margin: 0;
    padding-left: calc(var(--padding) * 2);

    li.log-item {
        margin: 0;
        padding: calc(var(--padding) / 8) 0;

        display: flex;
        flex-direction: row;

        .log-level {
            display: inline-block;
            min-width: 4rem;
            font-weight: 700;
        }

        .log-message {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
    }


    li.log-item:hover {
        .log-message {
            white-space: normal;
            overflow: visible;
            text-overflow: unset;
        }
    }
}