.panel {
    position: relative;
    box-sizing: border-box;

    margin: 22px;

    --barHeight: 30px;
    --circleDiameter: 11px;
    --circleColor: var(--panelBorderColor);

    background: #fff;

    display: flex;
    flex-direction: column;

    border-radius: var(--border-radius);
    box-shadow: 0 7px 15px hsla(var(--color-primary-hue), var(--color-primary-saturation), var(--color-primary-brightness), 15%);
    border: solid var(--panelBorderColor) 1px;

    > .content {
        display: flex;
        flex-direction: column;
        gap: var(--base-gap);
        justify-content: center;

        > img {
            float: left;
        }
    }

    &.padding > .content {
        padding: var(--gap-bigger);
    }

    &.centered {
        width: min-content;
        min-width: min(100%, var(--content-width-narrower));
        margin-left: auto;
        margin-right: auto;
    }

    &.opaque {
        background: var(--color-base-faint);
        color: #fff;
    }
}
