/* V4 Kártya Design — TrackMate v2 */

.card-v4 {
    width: 370px;
    height: 570px;
    perspective: 800px;
    cursor: pointer;
    display: inline-block;
}

.card-v4-inner {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-v4.flipped .card-v4-inner {
    transform: rotateY(180deg);
}

.card-v4-front, .card-v4-back {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    border-radius: 18px;
    overflow: hidden;
    padding: 16px;
    display: flex;
    flex-direction: column;
}
.card-v4-back {
    transform: rotateY(180deg);
    background: linear-gradient(160deg, var(--c2), #060a12);
    border: 2px solid color-mix(in srgb, var(--border) 27%, transparent);
}

/* Rarity colors */
.card-v4.rarity-COMMON    { --c1: #4b5563; --c2: #1f2937; --accent: #9ca3af; --border: #6b7280; --glow: #6b728066; }
.card-v4.rarity-UNCOMMON  { --c1: #166534; --c2: #052e16; --accent: #4ade80; --border: #22c55e; --glow: #22c55e55; }
.card-v4.rarity-RARE      { --c1: #1e40af; --c2: #0c1a4a; --accent: #60a5fa; --border: #3b82f6; --glow: #3b82f655; }
.card-v4.rarity-EPIC      { --c1: #6b21a8; --c2: #2e0854; --accent: #c084fc; --border: #a855f7; --glow: #a855f755; }
.card-v4.rarity-LEGENDARY { --c1: #b45309; --c2: #451a03; --accent: #fbbf24; --border: #f59e0b; --glow: #f59e0b66; }

.card-v4-front {
    background: linear-gradient(160deg, var(--c1), var(--c2));
    border: 2px solid color-mix(in srgb, var(--border) 27%, transparent);
    box-shadow: 0 4px 16px #00000066;
    transition: transform 0.3s, box-shadow 0.3s;
}
.card-v4:hover .card-v4-front {
    transform: translateY(-6px);
    box-shadow: 0 0 22px var(--glow), 0 8px 30px #00000088;
}
.card-v4.rarity-LEGENDARY:hover .card-v4-front {
    box-shadow: 0 0 36px var(--glow), 0 8px 30px #00000088;
}

/* Top rarity stripe */
.card-v4-front::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--border), transparent);
    opacity: 0.7;
}
.card-v4.rarity-LEGENDARY .card-v4-front::before {
    height: 4px;
    opacity: 1;
}

/* Header row */
.card-v4-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

/* Rarity badge */
.card-v4-rarity-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: color-mix(in srgb, var(--border) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--border) 25%, transparent);
    border-radius: 6px;
    padding: 2px 7px;
}
.card-v4-rarity-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--border);
    box-shadow: 0 0 5px var(--border);
}
.card-v4-rarity-label {
    font-size: 13px;
    color: var(--accent);
    font-weight: 900;
    letter-spacing: 0.1em;
}

/* Type icon */
.card-v4-type-icon {
    width: 44px; height: 44px;
    border-radius: 10px;
    background: #00000033;
    border: 1px solid color-mix(in srgb, var(--accent) 13%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    line-height: 1;
    flex-shrink: 0;
}

/* Card name */
.card-v4-name {
    font-size: 20px;
    font-weight: 700;
    color: #e6edf3;
    margin-bottom: 2px;
    line-height: 1.2;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Project */
.card-v4-project {
    font-size: 14px;
    color: #8b949e;
    margin-bottom: 4px;
}

/* Summary */
.card-v4-summary {
    font-size: 15px;
    color: #9ca3af;
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin-bottom: 6px;
}

/* Uses bar */
.card-v4-uses-bar {
    display: flex;
    gap: 2px;
    margin-bottom: 6px;
}
.card-v4-uses-segment {
    flex: 1;
    height: 6px;
    border-radius: 2px;
    background: #ffffff12;
}
.card-v4-uses-segment.filled {
    background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 67%, transparent), var(--accent));
}

/* Ability box */
.card-v4-ability {
    padding: 5px 9px;
    background: #ffffff08;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, var(--accent) 5%, transparent);
    margin-bottom: 6px;
}
.card-v4-ability-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--accent);
}
.card-v4-ability-desc {
    font-size: 13px;
    color: #8b949e;
}

/* XP/Power footer */
.card-v4-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #8b949e;
    margin-top: auto;
}
.card-v4-xp {
    color: #f59e0b;
    font-weight: 700;
}
.card-v4-power {
    color: #3b82f6;
    font-weight: 700;
}

/* Status badge */
.card-v4-status {
    font-size: 13px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
}
.card-v4-status.active { background: #22c55e20; color: #22c55e; }
.card-v4-status.available { background: #3b82f620; color: #3b82f6; }
.card-v4-status.completed { background: #6b728020; color: #9ca3af; }

/* Back: Skill bars */
.card-v4-back-title {
    font-size: 15px;
    font-weight: 700;
    color: #e6edf3;
    margin-bottom: 8px;
    text-align: center;
}

.card-v4-skills {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow-y: auto;
}

.card-v4-skill-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.card-v4-skill-name {
    font-size: 11px;
    color: #8b949e;
    width: 70px;
    flex-shrink: 0;
    text-align: right;
}

.card-v4-skill-bar-wrap {
    flex: 1;
    height: 11px;
    background: #0f172a;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}
.card-v4-skill-bar-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s;
}

.card-v4-skill-val {
    font-size: 11px;
    color: #8b949e;
    width: 16px;
    text-align: center;
}

/* Skill color coding */
.skill-fill-0    { background: #334155; width: 0%; }
.skill-fill-1    { background: #22c55e; width: 10%; }
.skill-fill-2    { background: #22c55e; width: 20%; }
.skill-fill-3    { background: #22c55e; width: 30%; }
.skill-fill-4    { background: #f59e0b; width: 40%; }
.skill-fill-5    { background: #f59e0b; width: 50%; }
.skill-fill-6    { background: #f59e0b; width: 60%; }
.skill-fill-7    { background: #ef4444; width: 70%; }
.skill-fill-8    { background: #ef4444; width: 80%; }
.skill-fill-9    { background: #ef4444; width: 90%; }
.skill-fill-10   { background: #a855f7; width: 100%; }

/* Back: description section */
.card-v4-back-desc {
    font-size: 13px;
    color: #9ca3af;
    margin-top: 8px;
    overflow-y: auto;
    flex: 1;
}

/* Card action buttons on back */
.card-v4-actions {
    display: flex;
    gap: 4px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.card-v4-actions button {
    flex: 1;
    font-size: 14px;
    padding: 6px 8px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    min-width: 60px;
}
.card-v4-btn-start { background: #f59e0b20; color: #f59e0b; }
.card-v4-btn-start:hover { background: #f59e0b30; }
.card-v4-btn-close { background: #22c55e20; color: #22c55e; }
.card-v4-btn-close:hover { background: #22c55e30; }
.card-v4-btn-entry { background: #3b82f620; color: #3b82f6; }
.card-v4-btn-entry:hover { background: #3b82f630; }
.card-v4-btn-pause { background: #6b728020; color: #9ca3af; }
.card-v4-btn-pause:hover { background: #6b728030; }

/* Card grid */
.card-v4-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

@media (max-width: 640px) {
    .card-v4 {
        width: 100%;
        max-width: 380px;
        height: auto;
        min-height: 570px;
    }
}

/* Filter buttons */
.card-filter-btn {
    padding: 6px 16px;
    border-radius: 8px;
    border: 1px solid #30363d;
    background: #161b22;
    color: #8b949e;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}
.card-filter-btn:hover {
    border-color: #f59e0b;
    color: #e6edf3;
}
.card-filter-btn.active {
    background: #f59e0b20;
    border-color: #f59e0b;
    color: #f59e0b;
    font-weight: 600;
}

/* Dashboard action buttons */
.card-v4-action-btn {
    background: #ffffff12;
    border: 1px solid color-mix(in srgb, var(--accent, #6b7280) 33%, transparent);
    color: var(--accent, #9ca3af);
    padding: 6px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    transition: all .15s;
}
.card-v4-action-btn:hover {
    background: #ffffff22;
}
.card-v4-action-start {
    background: color-mix(in srgb, var(--accent, #22c55e) 15%, transparent);
    color: var(--accent, #22c55e);
    width: 100%;
}
.card-v4-action-close {
    color: #ef4444;
    border-color: #ef444433;
}
.card-v4-uses-section {
    margin-bottom: 5px;
    padding: 4px 8px;
    background: #ffffff08;
    border-radius: 8px;
}
