/* ===== LINE UP + アーティスト詳細ポップアップ ===== */
:root{--blue:#0b5fff;--sun:#ffd21f;--coral:#ff5a4e;--ink:#101626;--card:;--line:#d6dcf0}

/* 会場・日付の切り替えタブ と アーティスト一覧 */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tabs button{font:inherit;font-weight:700;border:2px solid var(--blue);background:transparent;color:var(--ink);padding:8px 16px;border-radius:999px;cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--blue);color:#fff}
.grid .a {
    background: var(--card);
    border: 3px solid #33ff00;
    border-radius: 10px;
    padding: 28px 16px;
    /* font-family: "Dela Gothic One", sans-serif; */
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #33ff00;
}
a.am-btn {
    /* text-align: center; */
    text-decoration: none;
}

.grid .a.hl{background:var(--sun);color:#101626;font-size:24px;grid-column:span 2}
.grid .a[hidden]{display:none}
.grid .a img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px;margin-bottom:10px}
.empty{margin:16px 0 0;opacity:.7}
/* アーティスト一覧：横2列・中央揃え（奇数の最後の1人も中央に配置） */
#grid.grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1200px;margin:0 auto}
#grid.grid>a.a{box-sizing:border-box;flex:0 0 calc((100% - 16px)/2);max-width:calc((100% - 16px)/2);margin:0;text-align:center;justify-content:center}
#grid.grid>a.a[hidden]{display:none}

/* アーティスト ポップアップ */
.am{--am-bg:#000;border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;background:rgba(5,10,30,.85);color:#fff}
.am[open]{display:grid;place-items:center}
.am::backdrop{background:transparent}
body.modal-open{overflow:hidden}
.am-panel{background:var(--am-bg);width:min(1150px,calc(100% - 140px));max-height:calc(100dvh - 120px);overflow-y:auto;padding:48px 40px 56px;position:relative}
.am button{font:inherit;border:0;background:transparent;color:#fff;cursor:pointer;padding:0}
.am-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 16px);right:24px;width:48px;height:48px;z-index:2}
.am-close svg{width:100%;height:100%}
.am-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:80px;z-index:2}
.am-arrow svg{width:100%;height:100%}
.am-prev{left:24px}.am-next{right:24px}
.am-arrow[hidden]{display:none}
.am-head{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:start}
.am-name{font-family:"Dela Gothic One","Hiragino Sans",sans-serif;font-weight:400;font-size:clamp(26px,3.6vw,40px);line-height:1.15;margin:0 0 28px}
.am-btns{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.am-btn{flex:1 1 140px;text-align:center;border:1px solid #fff;border-radius:4px;padding:16px 8px;font-weight:700;letter-spacing:.04em}
.am-btn:hover{background:#fff;color:#000}
.am-sns{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}
.am-sns a{display:block;width:28px;height:28px}
.am-sns a:hover{opacity:.7}
.am-sns svg{display:block;width:100%;height:100%}
.am-photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:linear-gradient(135deg,var(--blue),var(--coral))}
.am-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.am-panel hr{border:0;border-top:1px solid #555;margin:40px 0}
.am-body{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.am-body.solo{grid-template-columns:1fr}
.am-bio{line-height:2}
.am-bio a{color:var(--sun)}
.am-sp iframe{display:block;width:100%;height:352px;border:0;border-radius:12px}
@media (max-width:768px){
.am-panel{width:calc(100% - 24px);max-height:calc(100dvh - 150px);padding:28px 20px 36px}
.am-head,.am-body{grid-template-columns:1fr;gap:24px}
.am-photo{order:-1}
.am-arrow{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);transform:none;width:32px;height:60px}
.am-prev{left:20px}.am-next{right:20px}
.am-close{right:12px}
}
@media screen and (max-width: 980px) {
    .grid .a {
    font-size: 1.7rem;
    padding: 10px;
}
}
@media screen and (min-width: 980px) {.grid .a {
    font-size: 3rem;
}}