/* ベース設定 */
body {
    margin: 0; padding: 0;
    font-family: 'Helvetica Neue', Arial, "Hiragino Kaku Gothic ProN", sans-serif;
    background: #050714; color: #fff;
    min-height: 100vh; display: flex; justify-content: center; align-items: center; overflow-x: hidden;
}

/* オーロラ背景 */
.aurora-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; filter: blur(80px); }
.aurora { position: absolute; border-radius: 50%; opacity: 0.5; animation: flow 20s ease infinite alternate; }
.aurora1 { width: 80%; height: 60%; background: radial-gradient(circle, #00f2fe, #4facfe); top: -10%; left: -10%; }
.aurora2 { width: 70%; height: 50%; background: radial-gradient(circle, #7028ff, #302b63); bottom: -10%; right: -10%; }
.aurora3 { width: 50%; height: 50%; background: radial-gradient(circle, #00dbde, #fc00ff); top: 20%; right: 10%; opacity: 0.2; }

@keyframes flow { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(5%, 10%) scale(1.1); } }

/* コンテナ */
.glass-container {
    width: 95%; max-width: 900px; padding: 60px 20px;
    background: rgba(255, 255, 255, 0.02); backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 40px;
    text-align: center; margin: 40px 0;
}

.logo { font-size: 2.8rem; letter-spacing: 12px; background: linear-gradient(to right, #fff, #a1c4fd); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.tagline { font-size: 0.9rem; opacity: 0.7; margin-bottom: 40px; }

/* カード */
.glass-card { background: rgba(255, 255, 255, 0.04); padding: 35px; border-radius: 25px; margin: 20px 0; border-top: 1px solid rgba(255, 255, 255, 0.1); }
h2 { font-size: 1.4rem; color: #a1c4fd; margin-bottom: 15px; }

/* クラファン・セクション特有のスタイル */
.crowdfunding {
    border: 1px solid rgba(255, 74, 74, 0.3);
    background: rgba(255, 74, 74, 0.05);
}
.badge {
    background: #ff4a4a; color: white; padding: 4px 12px; border-radius: 20px;
    font-size: 0.7rem; font-weight: bold; text-transform: uppercase;
}
.cf-btn {
    background: linear-gradient(90deg, #ff4a4a, #ff7676);
    border: none; width: 250px; margin-top: 20px;
}
.cf-btn:hover { box-shadow: 0 0 20px rgba(255, 74, 74, 0.6); }

/* リリースグリッド */
.release-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; justify-items: center; }
.release-item { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.jacket-art { width: 200px; height: 200px; background: rgba(255,255,255,0.05); border-radius: 15px; overflow: hidden; border: 1px solid rgba(255,255,255,0.2); }
.jacket-art img { width: 100%; height: 100%; object-fit: cover; }

.link-btn {
    text-decoration: none; padding: 12px 20px; border-radius: 30px; font-weight: bold; font-size: 0.85rem;
    color: #fff; transition: 0.3s; border: 1px solid rgba(255,255,255,0.2); display: inline-block;
}
.linkcore { background: linear-gradient(90deg, #ff4081, #ff80ab); width: 160px; }
.tunecore { background: rgba(255, 255, 255, 0.1); width: 160px; }

/* メンバー */
.member-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 15px; margin-top: 20px; }
.member { background: rgba(0, 0, 0, 0.3); padding: 20px 10px; border-radius: 15px; border: 1px solid rgba(255, 255, 255, 0.05); }
.ai-member { border: 1px solid rgba(0, 242, 254, 0.4); background: rgba(0, 242, 254, 0.1); }
.name { font-weight: bold; margin-top: 8px; font-size: 1.1rem; }

/* 役職カラー */
.role { font-size: 0.7rem; font-weight: bold; text-transform: uppercase; display: block; }
.role-leader { color: #ffeb3b; }
.role-tech   { color: #4facfe; }
.role-vocal  { color: #ff4081; }
.role-design { color: #00e676; }
.role-illust { color: #ab47bc; }
.role-ai     { color: #00f2fe; text-shadow: 0 0 8px #00f2fe; }

footer { margin-top: 40px; font-size: 0.7rem; opacity: 0.4; }

/* アコーディオン設定 */
details summary {
    list-style: none;
    cursor: pointer;
    outline: none;
}
details summary::-webkit-details-marker {
    display: none;
}
.accordion-content {
    padding-top: 20px;
    animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
/* メンバー表示を少しコンパクトに（アコーディオン内） */
.member-grid.small {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    font-size: 0.8rem;
}