/* === Glassmorphism theme (opt-in) === */
.theme-glass {
    --glass-bg: rgba(255,255,255,0.10);
    --glass-stroke: rgba(255,255,255,0.25);
    --text: #EAF0FF;
    --muted: #b4bdd0;
    --chip: rgba(255,255,255,0.12);
    --panel: rgba(255,255,255,0.14);
    --panel-strong: rgba(255,255,255,0.92);
    --shadow: 0 10px 40px rgba(36, 24, 72, 0.45);
    --accent-blue: #3B82F6;
    --accent-green: #27ae60;
    --accent-yellow: #f59e0b;
    --disabled-gray: #9AA3B2;
    color: var(--text);
    background:
        radial-gradient(1200px 800px at -10% -20%, rgba(187,134,252,0.25) 0%, transparent 60%),
        radial-gradient(900px 700px at 120% 0%, rgba(99,102,241,0.25) 0%, transparent 60%),
        linear-gradient(160deg, #1B1830 0%, #251F3F 100%);
}

/* Panels with strong readability: card description and game log */
.theme-glass .card-description,
.theme-glass .game-log {
    background: var(--panel-strong) !important;
    color: #1f2937 !important;
    border: 1px solid rgba(17,24,39,0.15) !important;
    box-shadow: 0 8px 24px rgba(17,24,39,0.15) !important;
}
.theme-glass .game-log-header { background: #111827; color: #fff; border-bottom: none; }
.theme-glass .log-entry { background: rgba(17,24,39,0.04); border-left-color: #6366f1; color: #111827; }
.theme-glass .log-card-name { color: #111827; }
.theme-glass .log-effect-name { color: #4b5563; }

.theme-glass .card-description.ongoing-effect-description {
    background:
        radial-gradient(circle at 12% 0%, rgba(147, 197, 253, 0.26), transparent 42%),
        rgba(245, 249, 255, 0.96) !important;
    border-color: rgba(37, 99, 235, 0.45) !important;
}

.theme-glass .card-description.ongoing-effect-description-block {
    background:
        radial-gradient(circle at 12% 0%, rgba(252, 165, 165, 0.26), transparent 42%),
        rgba(255, 246, 246, 0.96) !important;
    border-color: rgba(220, 38, 38, 0.45) !important;
}

.theme-glass .card-description.ongoing-effect-description-shield {
    background:
        radial-gradient(circle at 12% 0%, rgba(134, 239, 172, 0.28), transparent 42%),
        rgba(242, 253, 246, 0.96) !important;
    border-color: rgba(22, 163, 74, 0.45) !important;
}

/* Selection outlines and glows */
.theme-glass .card.place-selected {
    border: 3px solid var(--accent-green) !important;
    box-shadow: 0 0 0 3px rgba(39,174,96,0.25), 0 10px 24px rgba(0,0,0,0.35) !important;
    transform: translateY(-6px);
}
.theme-glass .card.place-selected.cost-satisfied {
    border: 3px solid var(--accent-yellow) !important;
    box-shadow: 0 0 0 3px rgba(245,158,11,0.25), 0 10px 24px rgba(0,0,0,0.35) !important;
}

/* Action buttons: blue when enabled, gray when disabled */
.theme-glass .action-btn {
    background: linear-gradient(180deg, rgba(59,130,246,0.9), rgba(59,130,246,0.7));
    border: 1px solid rgba(59,130,246,0.9);
    color: #fff;
}
.theme-glass .action-btn:disabled {
    background: linear-gradient(180deg, rgba(156,163,175,0.8), rgba(156,163,175,0.6)) !important;
    border-color: rgba(156,163,175,0.9) !important;
    color: rgba(255,255,255,0.85) !important;
    cursor: not-allowed;
    box-shadow: none !important;
}

/* General glass panels */
.theme-glass .center-status-pill,
.theme-glass .opponent-area,
.theme-glass .player-area,
.theme-glass .place-field,
.theme-glass .place-score-panel,
.theme-glass .graveyard {
    background: var(--panel) !important;
    border: 1px solid var(--glass-stroke) !important;
    box-shadow: var(--shadow) !important;
    color: var(--text) !important;
}

/* Cards */
.theme-glass .card,
.theme-glass .graveyard-card,
.theme-glass .deck {
    background: linear-gradient(160deg, rgba(255,255,255,0.22), rgba(255,255,255,0.10));
    border: 1px solid var(--glass-stroke);
    box-shadow: var(--shadow);
    color: var(--text);
}

.theme-glass .card.back {
    background:
      linear-gradient(135deg, rgba(99,102,241,0.35), rgba(187,134,252,0.35)),
      repeating-linear-gradient(45deg, rgba(255,255,255,0.10) 0 6px, rgba(255,255,255,0.03) 6px 12px);
}

.theme-glass .menu-content,
.theme-glass .log-content {
    background: var(--panel-strong);
    border: 1px solid rgba(17,24,39,0.15);
    color: #111827;
    box-shadow: 0 8px 24px rgba(17,24,39,0.15);
}

.theme-glass .turn-status-text { background: var(--panel); border: 1px solid var(--glass-stroke); color: var(--text); }
.theme-glass .graveyard-cards::before,
.theme-glass .place-field-cards::before { color: rgba(255,255,255,0.10); }

/* Deck: single back card sized like hand, no double layer */
.theme-glass .deck { 
    background: transparent !important; 
    border: none !important; 
    width: auto !important; 
    height: auto !important; 
    box-shadow: none !important; 
}
.theme-glass #deck .card.back:not(.cg-card) {
    width: 86px; 
    height: 129px; 
    background:
      linear-gradient(135deg, #2c3e50, #34495e);
    border: 2px solid #1a252f;
    color: #fff;
}

/* Hands and stacked cards: opaque white for readability over stacking */
.theme-glass .hand .card:not(.cg-card),
.theme-glass .place-stack .card:not(.cg-card),
.theme-glass .graveyard-card:not(.cg-card) { 
    background: #ffffff !important; 
    color: #111827 !important; 
    border: 2px solid #333 !important; 
    box-shadow: 0 2px 6px rgba(0,0,0,0.25) !important; 
}

/* Opponent hand back cards remain back-pattern but opaque */
.theme-glass #opponent-hand .card.back:not(.cg-card) {
    background: linear-gradient(45deg, #2c3e50, #34495e) !important; 
    color: #fff !important; 
    border: 2px solid #1a252f !important; 
}
