/* ═══════════════════════════════════════════════════════
   theme-fancy.css  —  ornate card theme
   ═══════════════════════════════════════════════════════ */

.theme-fancy {
    font-family: 'Rajdhani', sans-serif;
    padding: 10px;
}

.theme-fancy #header {
    background: linear-gradient(135deg, rgba(20,10,40,0.88), rgba(10,5,25,0.92));
    border: 1px solid rgba(168,85,247,0.4);
    border-left: 3px solid #a855f7;
    border-radius: 6px;
    box-shadow: 0 0 18px rgba(168,85,247,0.15), inset 0 1px 0 rgba(255,255,255,0.05);
}

.theme-fancy #header .title {
    font-family: 'Cinzel', serif;
    font-size: 13px;
    color: #d8b4fe;
    letter-spacing: 0.18em;
}

.theme-fancy #header .game-label { color: #7c3aed; font-size: 10px; }

.theme-fancy #feed { gap: 5px; }

.theme-fancy .entry {
    padding: 7px 12px 8px;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.07);
    position: relative;
    overflow: hidden;
    animation: fancyIn 0.32s cubic-bezier(0.22,1,0.36,1) both;
    line-height: 1.4;
}

.theme-fancy .entry.removing {
    animation: fancyOut 0.3s ease-out forwards;
}

/* per-type card skins */
.theme-fancy .entry.prog {
    background: linear-gradient(135deg, rgba(30,20,0,0.9), rgba(15,10,0,0.88));
    border-color: rgba(245,197,66,0.35);
    border-left: 3px solid var(--prog);
    box-shadow: 0 2px 16px rgba(245,197,66,0.12), inset 0 1px 0 rgba(245,197,66,0.08);
}

.theme-fancy .entry.useful {
    background: linear-gradient(135deg, rgba(0,25,12,0.9), rgba(0,12,6,0.88));
    border-color: rgba(74,222,128,0.3);
    border-left: 3px solid var(--useful);
    box-shadow: 0 2px 16px rgba(74,222,128,0.1), inset 0 1px 0 rgba(74,222,128,0.06);
}

.theme-fancy .entry.trap {
    background: linear-gradient(135deg, rgba(30,5,5,0.9), rgba(15,2,2,0.88));
    border-color: rgba(248,113,113,0.3);
    border-left: 3px solid var(--trap);
    box-shadow: 0 2px 16px rgba(248,113,113,0.12), inset 0 1px 0 rgba(248,113,113,0.06);
}

.theme-fancy .entry.normal {
    background: linear-gradient(135deg, rgba(10,8,25,0.9), rgba(5,4,15,0.88));
    border-color: rgba(165,180,252,0.2);
    border-left: 3px solid rgba(99,102,241,0.5);
    box-shadow: 0 2px 12px rgba(99,102,241,0.08);
}

/* shimmer sweep on prog items */
.theme-fancy .entry.prog::after {
    content: '';
    position: absolute;
    top: 0; left: -100%; width: 60%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(245,197,66,0.06), transparent);
    animation: shimmer 2.5s ease-in-out 0.3s infinite;
    pointer-events: none;
}

@keyframes shimmer { to { left: 160%; } }

.theme-fancy .item-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: nowrap;
    overflow: hidden;
}

.theme-fancy .fancy-badge {
    font-family: 'Cinzel', serif;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.14em;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
    text-shadow: var(--outline);
}

.theme-fancy .entry.prog   .fancy-badge { background: rgba(245,197,66,0.2);  color: var(--prog);   border: 1px solid rgba(245,197,66,0.3); }
.theme-fancy .entry.useful .fancy-badge { background: rgba(74,222,128,0.18); color: var(--useful); border: 1px solid rgba(74,222,128,0.28); }
.theme-fancy .entry.trap   .fancy-badge { background: rgba(248,113,113,0.2); color: var(--trap);   border: 1px solid rgba(248,113,113,0.28); }

.theme-fancy .item-name {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    text-shadow: var(--outline);
}

.theme-fancy .entry.prog   .item-name { color: var(--prog); }
.theme-fancy .entry.useful .item-name { color: var(--useful); }
.theme-fancy .entry.trap   .item-name { color: var(--trap); }
.theme-fancy .entry.normal .item-name { color: var(--normal); }

.theme-fancy .fancy-meta {
    font-size: 11px;
    margin-top: 3px;
    color: var(--loc);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.03em;
    text-shadow: var(--outline);
}

.theme-fancy .slot-name { font-weight: 700; font-size: 12px; text-shadow: var(--outline); }
.theme-fancy .fancy-sep { color: rgba(148,163,184,0.4); margin: 0 2px; }

@keyframes fancyIn {
    from { opacity:0; transform:translateY(-8px) scale(0.97); }
    to   { opacity:1; transform:none; }
}

@keyframes fancyOut {
    to { opacity:0; transform:scale(0.96) translateX(-4px); max-height:0; padding:0 12px; margin:0; }
}
