:root{
    --tile: 84px;
}

*, *::before, *::after { box-sizing: border-box; }

a, a:visited { color: inherit; text-decoration: none; }
a:hover, a:focus { color: inherit; text-decoration: underline; }
a:active { color: inherit; }

html, body { height: 100%; margin: 0; }

body{
    padding: clamp(12px, 4vw, 40px);
    background-image: url("/images/floor.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: repeat-y;
    background-color: black;
    color: white;
    font-family: Verdana, serif;
}

.musicTable{
    width: 90vw;
    height: 90vh;
    table-layout: fixed;
    border-collapse: separate;

    --gap: 10px;
    border-spacing: var(--gap);

    --inset: 4px;
    --borderW: 2px;
    --borderC: white;

    --anchorH: 64px;
}

.siteTH{
    position: relative;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    overflow: hidden;
    background: transparent;
    border: 0;
}

.siteTH::after{
    content: "";
    position: absolute;
    inset: var(--inset);
    border: var(--borderW) solid var(--borderC);
    pointer-events: none;
}

.musicTable tr:first-child { height: var(--anchorH); }
.musicTable tr:last-child{
    height: calc(90vh - var(--anchorH) - 3 * var(--gap));
}

.siteAnchors{
    vertical-align: middle;
}

.anchorNav{
    height: calc(100% - 2 * (var(--inset) + var(--borderW)));
    margin: calc(var(--inset) + var(--borderW));
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
}

.anchorLink{
    border: 2px solid white;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.anchorLink:hover{
    background: rgba(255, 255, 255, 0.12);
    text-decoration: none;
}

.musicMain{
    vertical-align: top;
}

.musicMainInner{
    width: calc(100% - 2 * (var(--inset) + var(--borderW)));
    height: calc(100% - 2 * (var(--inset) + var(--borderW)));
    margin: calc(var(--inset) + var(--borderW));

    overflow: auto;
    padding: 14px;
    text-align: left;
}

.musicMainInner :is(p,h1,h2,h3,h4,h5,h6){
    margin: 0;
    overflow-wrap: anywhere;
}

.playlistTable{
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.plColBtn{ width: var(--tile); }

.plRow{ height: var(--tile); }

.musicSelection{
    display: inline-table;
    width: auto;
    border-collapse: collapse;
    border-spacing: 0;
}

.musicSelection td{
    padding: 0;
    vertical-align: top;
}

.musicSelection td + td{
    padding-left: 12px;
    white-space: normal;
}

.anattaFont {
    width: 20%;
    higth: auto;
}