: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: 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); }

.playlistTable td{
    padding: 0;
    vertical-align: middle;
}

.playlistName{
    padding-right: 14px;   /* gap between name box and button */
}

.playlistText{
    height: var(--tile);
    border: 2px solid white;
    padding: 0 16px;

    display: flex;
    align-items: center;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.playlistAction{
    width: var(--tile);
}

.playlistBtn{
    width: var(--tile);
    height: var(--tile);

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid white;
    background: transparent;
    color: white;
    text-decoration: none;
    box-sizing: border-box;
}

.playlistBtn:hover{
    background: rgba(255, 255, 255, 0.12);
    text-decoration: none;
}

.plSpacer td{
    height: 12px;          /* row gap */
    padding: 0;
    border: 0;
    line-height: 0;
    font-size: 0;
}

.musicMainInner .playlistTable{
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.musicMainInner .playlistTable tr{
    height: auto;              /* cancel any old tr height rules */
}

.musicMainInner .playlistTable td{
    height: auto;              /* cancel any old td height rules */
    padding: 0;
    vertical-align: middle;
}

.musicMainInner .playlistTable tr.plRow{
    height: var(--tile);
}

.musicMainInner .playlistTable td.playlistName{
    padding-right: 14px;
}

.musicMainInner .playlistTable td.playlistAction{
    width: var(--tile);
}

.musicMainInner .playlistTable .playlistText{
    width: 100%;
    height: var(--tile);
    border: 2px solid white;
    padding: 0 16px;

    display: flex;
    align-items: center;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.musicMainInner .playlistTable .playlistBtn:hover{
    background: rgba(255, 255, 255, 0.12);
    text-decoration: none;
}

.musicMainInner .playlistTable tr.plSpacer{
    height: 12px;
}

.musicMainInner .playlistTable tr.plSpacer td{
    height: 12px;
    padding: 0 !important;
    border: 0 !important;
    line-height: 0;
    font-size: 0;
}

.anattaFont {
    width: 20%;
    higth: auto;
}
