@charset "utf-8";
:root {
    --logo-width: 550px;
    --logo-height: 85px;
    --hover-transition: 0.2s;
}

body {
    background: url("../img/p_da0602_s_da06025.jpg");
    font-family: メイリオ, Meiryo;
    background-color: #fefcf9;
    color: #2c1d0e;
    margin: 0;
}

a {
    color: #663300;
}
a:hover {
    transition: var(--hover-transition);
    color: #ff0033;
}

.container {
    width: 90%;
    background: rgba(255,255,255,0.9);
    margin: 32px auto 0;
    padding-top: 28px;
    border-radius: 6px;
}

.logo-bar {
    width: 100%;
    text-align: center;
}

.site-logo {
    font-family: "游ゴシック Medium", メイリオ, Meiryo;
    display: inline-block;
    width: var(--logo-width);
    max-width: 90%;
    height: var(--logo-height);
    background: url('../img/logo.png') center/cover no-repeat;
    line-height: var(--logo-height);
    font-size: 44px;
    font-weight: bold;
    letter-spacing: 12px;
    color: #000;
    text-decoration: none;
    border: none;
    position: relative;
}

a.site-logo:hover {
    color: #000;
    transition: 0;
}

.top {
    width: 90%;
    margin: 38px auto 0;
}

.top ul {
    list-style: none;
    text-align: center;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    border-top: 3px solid #996633;
    border-bottom: 3px solid #996633;
}

.top li {
    display: inline-block;
}

.top a {
    text-decoration: none;
    font-size: 24px;
    padding: 0 38px;
    width: 100%;
    color: #663300;
}

.top a:hover {
    transition: 0.5s;
    background-color: #996633;
    color: rgba(255,255,255,0.9);
}

.main {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 32px 16px;
}

h1 {
    font-size: 14px;
    color: #fff;
    border-bottom: 1px solid #666;
    border-radius: 3px;
    margin-top: 32px;
    margin-bottom: 8px;
    padding: 6px 12px;
    background-color: rgba(153,102,51,0.9);
}

.selectors {
    border-bottom: 2px solid #996633;
    padding: 8px 0;
    margin-bottom: 4px;
}

.selected-tags {
    min-height: 34px;
}

table {
    width: 100%;
    border-collapse: separate;
    border-left: 1px solid #5c4c3e;
    border-right: 1px solid #5c4c3e;
    border-bottom: 1px solid #5c4c3e;
    border-spacing: 0;
    overflow-x: scroll;
}
th, td {
    text-align: center;
    height: fit-content;
    border: 1px solid #5c4c3e;
    padding: 8px 10px;
    vertical-align: middle;
}
th {
    background-color: #e6ded0;
    position: sticky;
    top: 0;
    z-index: 10;
}
th::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    border-top: 2px solid #5c4c3e;
    border-bottom: 1px solid #5c4c3e;
}

.table-container {
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    border: 1px solid #ccc;
}

th.level {
    font-size: 14px;
}

th.gauge {
    font-size: 14px;
}

.work_no {
    min-width: max-content;
}

.song_name {
    width: 25%;
    min-width: 200px;
    word-break: break-word;
}

.artist {
    width: 12%;
}

.difficulty_name {
    word-break: break-word;
}

.key {
    width: max-content;
}

.level {
    width: max-content;
}

.gauge {
    width: max-content;
    word-break: keep-all;
}

.duration {
    width: max-content;
}

.notes {
    width: 8%;
}

td.tags {
    text-align: left;
    width: 22%;
}

.clickable-cell {
    position: relative;
    padding: 6px 10px;
    vertical-align: middle;
}

.clickable-cell::before {
    content: attr(data-title);
    visibility: hidden;
    white-space: pre-wrap;
}

.clickable-cell:hover {
    transition: var(--hover-transition);
    background: #E6DAC5;
}

.full-link {
    position: absolute;
    display: flex;
    inset: 0;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    text-decoration: underline;
    white-space: normal;
    cursor: pointer;
}

.full-link:hover {
    transition: var(--hover-transition);
    background: none;
}

.tag {
    display: inline-block;
    padding: 2px 6px;
    background: #f4e6cc;
    border-radius: 4px;
    margin: 3px 5px 3px auto;
    cursor: pointer;
}
.tag:hover {
    transition: 0;
    background: #C08A53;
    color: white;
}

.tag.active {
    background: #cfa57f;
    color: white;
}
.tag-remove {
    margin-left: 5px;
    cursor: pointer;
    color: red;
}
.gauge-score {
    color: black;
}

.level {
    font-weight: bold;
}

/* .rank-10 { background: #8B0000; }
.rank-9 { background: #B22222; }
.rank-8 { background: #DC143C; }
.rank-7 { background: #FF4500; }
.rank-6 { background: #FF8C00; }
.rank-5 { background: #FFA500; }
.rank-4 { background: #F4C542; }
.rank-3 { background: #32CD32; }
.rank-2 { background: #00BFFF; }
.rank-1 { background: #9370DB; } */

/* .level-1  { background: #BFFFDF; color: #000; font-weight: bold; }
.level-2  { background: #D4F88A; color: #000; font-weight: bold; }
.level-3  { background: #F6F372; color: #000; font-weight: bold; }
.level-4  { background: #FFDE5A; color: #000; font-weight: bold; }
.level-5  { background: #FFC342; color: #000; font-weight: bold; }
.level-6  { background: #FFA726; color: #000; font-weight: bold; }
.level-7  { background: #FF7A1E; color: #000; font-weight: bold; }
.level-8  { background: #FF5630; color: #fff; font-weight: bold; }
.level-9  { background: #E23B28; color: #fff; font-weight: bold; }
.level-10 { background: #C12C22; color: #fff; font-weight: bold; }
.level-11 { background: #8F1C17; color: #fff; font-weight: bold; }
.level-12 { background: #730705; color: #fff; font-weight: bold; } */
