/* ============================================================
   Community pages: 天文行事曆 / 關於我們 / 成員名錄 / 搜尋
   ============================================================ */

/* ── 共用 ── */
.filter-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 14px; border-radius: var(--radius-full);
    font-size: 0.75rem; font-weight: var(--font-weight-medium);
    color: var(--color-text-muted); border: 1px solid transparent;
    transition: all var(--transition-fast);
}
.filter-btn:hover { color: var(--color-text); background: var(--color-surface); }
.filter-btn.active { color: var(--color-accent-text); background: var(--color-accent); }
.filter-btn.active .ev-dot { background: currentColor; }
.gallery-sort {
    display: flex; gap: 2px; padding: 3px; border-radius: var(--radius-full);
    background: var(--color-surface); border: 1px solid var(--color-border);
}
.sort-btn {
    display: inline-flex; align-items: center; gap: 5px; padding: 4px 12px;
    border-radius: var(--radius-full); font-size: 0.72rem; font-weight: var(--font-weight-medium);
    color: var(--color-text-muted); transition: all var(--transition-fast); white-space: nowrap;
}
.sort-btn:hover { color: var(--color-text); }
.sort-btn.active { color: var(--color-text); background: var(--color-surface-elevated); box-shadow: var(--shadow-sm); }

/* 事件類型顏色 */
.ev-chip {
    display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px;
    border-radius: var(--radius-full); font-size: 0.68rem; font-weight: var(--font-weight-semibold);
    letter-spacing: 0.02em; white-space: nowrap;
}
.ev-chip-amber  { background: rgba(243,159,90,0.14);  color: var(--color-amber); }
.ev-chip-rose   { background: rgba(174,68,90,0.16);   color: #e0788b; }
.ev-chip-purple { background: rgba(140,90,200,0.18);  color: #b79cf0; }
.ev-chip-blue   { background: rgba(90,150,240,0.16);  color: #86b4f5; }
.ev-chip-slate  { background: rgba(160,170,190,0.16); color: #b8c0d0; }
.ev-chip-green  { background: rgba(63,179,127,0.16);  color: #5fcf9a; }
:root[data-theme="light"] .ev-chip-rose   { color: #a63d52; }
:root[data-theme="light"] .ev-chip-purple { color: #6b3fb5; }
:root[data-theme="light"] .ev-chip-blue   { color: #2f66c2; }
:root[data-theme="light"] .ev-chip-slate  { color: #56607a; }
:root[data-theme="light"] .ev-chip-green  { color: #22875a; }
:root[data-theme="light"] .ev-chip-amber  { color: #b8631f; }
.ev-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.ev-dot-amber { background: var(--color-amber); } .ev-dot-rose { background: #e0788b; }
.ev-dot-purple { background: #b79cf0; } .ev-dot-blue { background: #86b4f5; }
.ev-dot-slate { background: #b8c0d0; } .ev-dot-green { background: #5fcf9a; }

/* ═══════════ 天文行事曆 ═══════════ */
.ev-page { padding-bottom: var(--space-2xl); }
.ev-header { padding-bottom: var(--space-lg); }

.ev-next {
    position: relative; overflow: hidden;
    display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-xl);
    padding: var(--space-xl); border-radius: var(--radius-xl);
    background: var(--color-surface); border: 1px solid var(--color-border);
    box-shadow: var(--shadow-md); margin-bottom: var(--space-xl);
}
.ev-next-glow {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(600px 280px at 0% 0%, var(--color-accent-soft), transparent 70%),
        radial-gradient(500px 260px at 100% 100%, rgba(102,37,73,0.18), transparent 70%);
}
:root[data-theme="light"] .ev-next-glow {
    background:
        radial-gradient(600px 280px at 0% 0%, rgba(243,159,90,0.18), transparent 70%),
        radial-gradient(500px 260px at 100% 100%, rgba(232,188,185,0.4), transparent 70%);
}
.ev-next-left, .ev-next-right { position: relative; min-width: 0; }
.ev-next-label {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 0.68rem; font-weight: var(--font-weight-semibold); letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--color-accent); margin-bottom: 10px;
}
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--color-accent); box-shadow: 0 0 0 0 var(--color-accent); animation: live-pulse 2s ease-out infinite; }
@keyframes live-pulse { 0% { box-shadow: 0 0 0 0 rgba(243,159,90,0.5); } 100% { box-shadow: 0 0 0 9px rgba(243,159,90,0); } }
.ev-next-title { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: var(--font-weight-bold); letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 10px; }
.ev-next-desc { font-size: 0.86rem; line-height: 1.7; color: var(--color-text-secondary); margin-bottom: var(--space-md); max-width: 52ch; }
.ev-next-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 0.75rem; color: var(--color-text-muted); }
.ev-zhr { font-size: 0.68rem; font-weight: var(--font-weight-semibold); color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.ev-date { font-variant-numeric: tabular-nums; }

.ev-next-right { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: var(--space-lg); }
.ev-countdown { display: flex; align-items: flex-start; gap: 6px; }
.ev-cd-unit { display: flex; flex-direction: column; align-items: center; min-width: 56px; }
.ev-cd-num {
    font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: var(--font-weight-bold);
    letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums;
    color: var(--color-text);
}
.ev-cd-lbl { font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-muted); margin-top: 6px; }
.ev-cd-sep { font-size: 1.6rem; line-height: 1; color: var(--color-text-muted); padding-top: 4px; opacity: 0.5; }
.ev-countdown.is-now .ev-cd-num { color: var(--color-accent); }
.ev-next-actions { display: flex; gap: var(--space-sm); flex-wrap: wrap; justify-content: flex-end; }

.ev-toolbar { display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; margin-bottom: var(--space-xl); }
.ev-filters { display: flex; gap: 4px; flex-wrap: wrap; }

.ev-timeline { display: flex; flex-direction: column; gap: var(--space-2xl); }
.ev-month-head { display: flex; align-items: center; gap: var(--space-md); margin-bottom: var(--space-md); }
.ev-month-num {
    font-size: 2.2rem; font-weight: var(--font-weight-bold); letter-spacing: -0.04em; line-height: 1;
    color: var(--color-text-muted); opacity: 0.35; font-variant-numeric: tabular-nums;
}
.ev-month-name { font-size: 1rem; font-weight: var(--font-weight-semibold); }
.ev-month-count { font-size: 0.72rem; color: var(--color-text-muted); }

.ev-list { display: flex; flex-direction: column; gap: var(--space-sm); }
.ev-card {
    display: flex; gap: var(--space-md); padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-lg); background: var(--color-surface);
    border: 1px solid var(--color-border); box-shadow: var(--shadow-sm);
    transition: border-color var(--transition-fast), transform var(--transition-base), box-shadow var(--transition-base);
}
.ev-card:hover { border-color: var(--color-text-muted); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.ev-card.is-past { opacity: 0.55; }
.ev-card.is-past:hover { opacity: 0.85; }
.ev-card.is-today { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }
.ev-card.is-highlight { background: linear-gradient(135deg, var(--color-accent-soft), transparent 60%), var(--color-surface); }
.ev-card-date {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    width: 56px; flex-shrink: 0; padding: 6px 0; border-radius: var(--radius-md);
    background: var(--color-surface-elevated); border: 1px solid var(--color-border-subtle);
}
.ev-card-day { font-size: 1.5rem; font-weight: var(--font-weight-bold); line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.ev-card-wd { font-size: 0.62rem; color: var(--color-text-muted); margin-top: 4px; letter-spacing: 0.04em; }
.ev-card.is-today .ev-card-date { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-text); }
.ev-card.is-today .ev-card-wd { color: inherit; opacity: 0.8; }
.ev-card-body { flex: 1; min-width: 0; }
.ev-card-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.ev-tag-tw { font-size: 0.66rem; color: var(--color-text-muted); padding: 2px 8px; border-radius: var(--radius-full); border: 1px dashed var(--color-border); }
.ev-remaining { margin-left: auto; font-size: 0.72rem; font-weight: var(--font-weight-medium); color: var(--color-text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ev-card.is-today .ev-remaining { color: var(--color-accent); }
.ev-card-title { font-size: 0.98rem; font-weight: var(--font-weight-semibold); margin-bottom: 4px; }
.ev-card-desc { font-size: 0.8rem; line-height: 1.65; color: var(--color-text-secondary); }
.ev-card-actions { display: flex; gap: var(--space-md); margin-top: 8px; }
.ev-action { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; color: var(--color-text-muted); transition: color var(--transition-fast); }
.ev-action:hover { color: var(--color-accent); }
.ev-action svg { width: 12px; height: 12px; }
.ev-note { font-size: 0.72rem; color: var(--color-text-muted); line-height: 1.6; margin-top: var(--space-2xl); max-width: 70ch; }

@media (max-width: 860px) {
    .ev-next { grid-template-columns: 1fr; gap: var(--space-lg); padding: var(--space-lg); }
    .ev-next-right { align-items: flex-start; }
    .ev-next-actions { justify-content: flex-start; }
    .ev-cd-unit { min-width: 48px; }
}
@media (max-width: 480px) {
    .ev-card { padding: var(--space-md); gap: var(--space-sm); }
    .ev-card-date { width: 48px; }
    .ev-remaining { margin-left: 0; width: 100%; }
}

/* ═══════════ 關於我們 ═══════════ */
.about-page { padding-bottom: var(--space-2xl); }
.about-hero { position: relative; overflow: hidden; padding: var(--space-4xl) 0 var(--space-3xl); text-align: center; }
.about-hero-bg {
    position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background:
        radial-gradient(800px 400px at 50% -10%, rgba(243,159,90,0.14), transparent 65%),
        radial-gradient(600px 320px at 15% 60%, rgba(102,37,73,0.22), transparent 70%),
        radial-gradient(600px 320px at 85% 60%, rgba(69,25,82,0.25), transparent 70%);
}
:root[data-theme="light"] .about-hero-bg {
    background:
        radial-gradient(800px 400px at 50% -10%, rgba(243,159,90,0.2), transparent 65%),
        radial-gradient(600px 320px at 15% 60%, rgba(232,188,185,0.45), transparent 70%),
        radial-gradient(600px 320px at 85% 60%, rgba(174,68,90,0.12), transparent 70%);
}
.about-hero-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.about-flag { width: 72px; height: 72px; object-fit: contain; margin-bottom: var(--space-md); filter: drop-shadow(0 6px 20px rgba(0,0,0,0.3)); }
.about-hero h1 { font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: var(--font-weight-bold); letter-spacing: -0.02em; margin: 6px 0 var(--space-md); }
.about-lead { font-size: 0.95rem; line-height: 1.8; color: var(--color-text-secondary); max-width: 56ch; margin-bottom: var(--space-xl); }
.about-stats { display: flex; gap: var(--space-2xl); }
.about-stat { display: flex; flex-direction: column; align-items: center; }
.about-stat-num { font-size: 2rem; font-weight: var(--font-weight-bold); letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.about-stat-lbl { font-size: 0.68rem; color: var(--color-text-muted); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 6px; }

.about-section { margin-top: var(--space-3xl); }
.about-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
.about-card {
    padding: var(--space-lg); border-radius: var(--radius-xl);
    background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-fast);
}
.about-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--color-text-muted); }
.about-card-icon { width: 40px; height: 40px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-md); }
.about-card-icon svg { width: 20px; height: 20px; }
.about-card-icon.t-amber { background: rgba(243,159,90,0.14); color: var(--color-amber); }
.about-card-icon.t-rose { background: rgba(174,68,90,0.16); color: #e0788b; }
.about-card-icon.t-purple { background: rgba(140,90,200,0.18); color: #b79cf0; }
.about-card-icon.t-green { background: rgba(63,179,127,0.16); color: #5fcf9a; }
:root[data-theme="light"] .about-card-icon.t-rose { color: #a63d52; }
:root[data-theme="light"] .about-card-icon.t-purple { color: #6b3fb5; }
:root[data-theme="light"] .about-card-icon.t-green { color: #22875a; }
:root[data-theme="light"] .about-card-icon.t-amber { color: #b8631f; }
.about-card h3 { font-size: 0.98rem; font-weight: var(--font-weight-semibold); margin-bottom: 6px; }
.about-card p { font-size: 0.82rem; line-height: 1.7; color: var(--color-text-secondary); }
.about-card-link { display: inline-block; margin-top: 10px; font-size: 0.78rem; color: var(--color-accent); font-weight: var(--font-weight-medium); }
.about-card-link:hover { color: var(--color-accent-hover); }

.about-timeline { list-style: none; position: relative; padding-left: 28px; }
.about-timeline::before { content: ''; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--color-border); }
.about-tl-item { position: relative; padding-bottom: var(--space-xl); }
.about-tl-item:last-child { padding-bottom: 0; }
.about-tl-dot {
    position: absolute; left: -28px; top: 6px; width: 16px; height: 16px; border-radius: 50%;
    background: var(--color-accent); border: 3px solid var(--color-bg); box-shadow: 0 0 0 2px var(--color-accent-soft);
}
.about-tl-item.is-future .about-tl-dot { background: var(--color-surface-elevated); box-shadow: 0 0 0 2px var(--color-border); }
.about-tl-year { font-size: 0.68rem; font-weight: var(--font-weight-semibold); letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); margin-bottom: 4px; }
.about-tl-item.is-future .about-tl-year { color: var(--color-text-muted); }
.about-tl-body h4 { font-size: 0.95rem; font-weight: var(--font-weight-semibold); margin-bottom: 4px; }
.about-tl-body p { font-size: 0.82rem; line-height: 1.7; color: var(--color-text-secondary); max-width: 60ch; }

.about-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-md); }
.team-card {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: var(--space-lg); border-radius: var(--radius-xl);
    background: var(--color-surface); border: 1px solid var(--color-border);
    transition: transform var(--transition-base), border-color var(--transition-fast);
}
.team-card:hover { transform: translateY(-3px); border-color: var(--color-text-muted); }
.team-name { font-size: 0.92rem; font-weight: var(--font-weight-semibold); margin-top: var(--space-sm); }
.team-handle { font-size: 0.72rem; color: var(--color-text-muted); }
.team-role { margin-top: 8px; text-transform: uppercase; font-size: 0.62rem; }
.team-bio { font-size: 0.76rem; line-height: 1.6; color: var(--color-text-secondary); margin-top: 8px; }

.about-cta { margin-top: var(--space-3xl); }
.about-cta-inner {
    position: relative; overflow: hidden; text-align: center;
    padding: var(--space-2xl) var(--space-xl); border-radius: var(--radius-xl);
    background: linear-gradient(135deg, rgba(69,25,82,0.5), rgba(102,37,73,0.35)), var(--color-surface);
    border: 1px solid var(--color-border);
}
:root[data-theme="light"] .about-cta-inner { background: linear-gradient(135deg, rgba(232,188,185,0.5), rgba(243,159,90,0.18)), var(--color-surface); }
.about-cta h2 { font-size: 1.5rem; font-weight: var(--font-weight-bold); letter-spacing: -0.02em; margin-bottom: 8px; }
.about-cta p { font-size: 0.88rem; color: var(--color-text-secondary); max-width: 48ch; margin: 0 auto var(--space-lg); line-height: 1.7; }
.about-cta-actions { display: flex; gap: var(--space-sm); justify-content: center; flex-wrap: wrap; }
.about-cta .btn { padding: 10px 20px; font-size: 0.85rem; }

@media (max-width: 768px) {
    .about-grid { grid-template-columns: 1fr; }
    .about-stats { gap: var(--space-xl); }
    .about-hero { padding: var(--space-3xl) 0 var(--space-2xl); }
}

/* ═══════════ 成員名錄 ═══════════ */
.members-page { padding-bottom: var(--space-2xl); }
.members-header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap; }
.members-total { font-size: 0.78rem; color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.members-toolbar { display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; margin-bottom: var(--space-xl); }
.members-search {
    display: flex; align-items: center; gap: 8px; flex: 1; min-width: 220px; max-width: 360px;
    padding: 0 12px; border-radius: var(--radius-full);
    background: var(--color-surface); border: 1px solid var(--color-border);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.members-search:focus-within { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }
.members-search svg { width: 15px; height: 15px; color: var(--color-text-muted); flex-shrink: 0; }
.members-search input {
    flex: 1; min-width: 0; border: none; background: transparent; padding: 9px 0;
    font-family: var(--font-primary); font-size: 0.82rem; color: var(--color-text); outline: none;
}
.members-search input::placeholder { color: var(--color-text-muted); }
.members-clear { font-size: 0.7rem; color: var(--color-text-muted); padding: 4px; }
.members-clear:hover { color: var(--color-text); }

.members-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.member-card {
    display: block; border-radius: var(--radius-xl); overflow: hidden;
    background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-fast);
}
.member-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--color-text-muted); }
.member-cover { height: 84px; background: var(--color-surface-elevated); overflow: hidden; position: relative; }
.member-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.member-cover.no-cover { background: linear-gradient(135deg, var(--color-deep-purple), var(--color-plum) 60%, var(--color-rose)); opacity: 0.55; }
.member-body { padding: 0 var(--space-md) var(--space-md); position: relative; }
.member-avatar { margin-top: -40px; margin-bottom: 8px; border: 3px solid var(--color-surface); box-shadow: var(--shadow-sm); }
.member-name-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.member-name { font-size: 0.95rem; font-weight: var(--font-weight-semibold); }
.member-name-row .badge { font-size: 0.6rem; text-transform: uppercase; }
.member-discord { width: 14px; height: 14px; color: #5865F2; }
.member-handle { font-size: 0.72rem; color: var(--color-text-muted); margin-bottom: 6px; }
.member-bio { font-size: 0.78rem; line-height: 1.6; color: var(--color-text-secondary); margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.member-stats { display: flex; gap: 12px; font-size: 0.72rem; color: var(--color-text-muted); padding-top: 8px; border-top: 1px solid var(--color-border-subtle); }
.member-stat b { color: var(--color-text); font-weight: var(--font-weight-semibold); }
.member-joined { font-size: 0.66rem; color: var(--color-text-muted); margin-top: 6px; }
.members-empty { text-align: center; padding: var(--space-3xl) 0; color: var(--color-text-muted); font-size: 0.85rem; }

@media (max-width: 1024px) { .members-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .members-grid { grid-template-columns: 1fr; } .members-toolbar { flex-direction: column; align-items: stretch; } .members-search { max-width: none; } }

/* ═══════════ 搜尋 ═══════════ */
.search-page { padding-bottom: var(--space-2xl); }
.search-form {
    display: flex; align-items: center; gap: 10px;
    padding: 6px 6px 6px 16px; border-radius: var(--radius-xl);
    background: var(--color-surface); border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm); margin-bottom: var(--space-lg);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.search-form:focus-within { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }
.search-form svg { width: 18px; height: 18px; color: var(--color-text-muted); flex-shrink: 0; }
.search-form input {
    flex: 1; min-width: 0; border: none; background: transparent; padding: 10px 0;
    font-family: var(--font-primary); font-size: 1rem; color: var(--color-text); outline: none;
}
.search-form input::placeholder { color: var(--color-text-muted); }
.search-form .btn { padding: 9px 18px; }
.search-summary { font-size: 0.8rem; color: var(--color-text-muted); margin-bottom: var(--space-xl); }
.search-empty { display: flex; flex-direction: column; align-items: center; gap: var(--space-md); padding: var(--space-3xl) 0; color: var(--color-text-muted); }
.search-empty svg { width: 40px; height: 40px; opacity: 0.5; }
.search-group { margin-bottom: var(--space-2xl); }
.search-group-n { font-weight: var(--font-weight-normal); margin-left: 4px; opacity: 0.7; }
.search-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }
.sg-card { border-radius: var(--radius-lg); overflow: hidden; background: var(--color-surface); border: 1px solid var(--color-border); transition: transform var(--transition-base), border-color var(--transition-fast); }
.sg-card:hover { transform: translateY(-2px); border-color: var(--color-text-muted); }
.sg-thumb { aspect-ratio: 4/3; background: var(--color-surface-elevated); }
.sg-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sg-body { padding: 10px 12px; }
.sg-title { font-size: 0.82rem; font-weight: var(--font-weight-semibold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sg-meta { display: flex; justify-content: space-between; align-items: center; font-size: 0.68rem; color: var(--color-text-muted); margin-top: 4px; }
.search-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.sl-item {
    display: flex; align-items: center; gap: var(--space-md); padding: 12px 14px;
    border-radius: var(--radius-lg); background: var(--color-surface); border: 1px solid var(--color-border);
    transition: border-color var(--transition-fast), background var(--transition-fast);
}
.sl-item:hover { border-color: var(--color-text-muted); background: var(--color-surface-elevated); }
.sl-body { flex: 1; min-width: 0; }
.sl-title { font-size: 0.88rem; font-weight: var(--font-weight-semibold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sl-sub { font-size: 0.72rem; color: var(--color-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.sl-arrow { width: 14px; height: 14px; color: var(--color-text-muted); flex-shrink: 0; }
.search-members { display: flex; flex-wrap: wrap; gap: 8px; }
.sm-chip {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px;
    border-radius: var(--radius-full); background: var(--color-surface); border: 1px solid var(--color-border);
    transition: border-color var(--transition-fast);
}
.sm-chip:hover { border-color: var(--color-text-muted); }
.sm-name { font-size: 0.8rem; font-weight: var(--font-weight-medium); }
.sm-handle { font-size: 0.7rem; color: var(--color-text-muted); }
@media (max-width: 1024px) { .search-gallery-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .search-gallery-grid { grid-template-columns: repeat(2, 1fr); } .search-form .btn span { display: none; } }

/* 系統為亮色且未手動選主題時（無 data-theme），套用同一組亮色覆寫 */
@media (prefers-color-scheme: light) {
    :root:not([data-theme]) .ev-chip-rose   { color: #a63d52; }
    :root:not([data-theme]) .ev-chip-purple { color: #6b3fb5; }
    :root:not([data-theme]) .ev-chip-blue   { color: #2f66c2; }
    :root:not([data-theme]) .ev-chip-slate  { color: #56607a; }
    :root:not([data-theme]) .ev-chip-green  { color: #22875a; }
    :root:not([data-theme]) .ev-chip-amber  { color: #b8631f; }
    :root:not([data-theme]) .about-card-icon.t-rose   { color: #a63d52; }
    :root:not([data-theme]) .about-card-icon.t-purple { color: #6b3fb5; }
    :root:not([data-theme]) .about-card-icon.t-green  { color: #22875a; }
    :root:not([data-theme]) .about-card-icon.t-amber  { color: #b8631f; }
    :root:not([data-theme]) .ev-next-glow {
        background:
            radial-gradient(600px 280px at 0% 0%, rgba(243,159,90,0.18), transparent 70%),
            radial-gradient(500px 260px at 100% 100%, rgba(232,188,185,0.4), transparent 70%);
    }
    :root:not([data-theme]) .about-hero-bg {
        background:
            radial-gradient(800px 400px at 50% -10%, rgba(243,159,90,0.2), transparent 65%),
            radial-gradient(600px 320px at 15% 60%, rgba(232,188,185,0.45), transparent 70%),
            radial-gradient(600px 320px at 85% 60%, rgba(174,68,90,0.12), transparent 70%);
    }
    :root:not([data-theme]) .about-cta-inner { background: linear-gradient(135deg, rgba(232,188,185,0.5), rgba(243,159,90,0.18)), var(--color-surface); }
}

/* ── 成員卡上的星穹遠征進度 ── */
.member-rpg { display: flex; align-items: center; gap: 10px; margin: 10px 0 4px; padding: 8px 10px; border-radius: 10px;
  background: rgba(120,90,220,.12); border: 1px solid rgba(150,110,255,.3); }
.member-rpg-planet { width: 34px; height: 34px; image-rendering: pixelated; flex-shrink: 0; }
.member-rpg b { display: block; font-size: .82rem; }
.member-rpg small { display: block; opacity: .72; font-size: .7rem; line-height: 1.4; }
.member-rpg .member-rpg-zone { opacity: .55; }

/* 成員卡上的 Discord 名稱 */
.member-discord-name { display: inline-flex; align-items: center; gap: 5px; margin-top: 2px;
  font-size: .78rem; color: #8ea1ff; opacity: .95; }
.member-discord-name svg { width: 14px; height: 14px; flex-shrink: 0; }
