/* FS_BLACK - per-theme override */
.ui-title,.ui-subtitle{color:#ffffff}
.ui-banner{
    border-color:rgba(255,255,255,.18);
    color:#f0f4ff
}
.ui-card,.ui-stat,.ui-panel-body{
    border-color:rgba(255,255,255,.12)
}
.ui-panel-head{
    border-color:rgba(255,255,255,.18)
}
.ui-table th{
    color:#ffffff
}
.ui-btn,.ui-button,input.ui-btn,a.ui-btn{
    border-color:rgba(255,255,255,.22)
}
.ui-badge{
    border-color:rgba(255,255,255,.18)
}

.ui-banner{background:linear-gradient(180deg,#181818,#101010);color:#4fc3f7}
.ui-btn,.ui-button,input.ui-btn,a.ui-btn{background:linear-gradient(180deg,#0f0f0f,#000)}


/* GameHub chip spacing fix */
.gamehub-meta-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:8px 0 14px 0;}
.gamehub-meta-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;text-align:center;}
.gamehub-chip{display:inline-block;padding:4px 10px;margin:0;line-height:1.35;white-space:nowrap;vertical-align:middle;}
.gamehub-action-row{text-align:center;margin-top:6px;}


/* ===== Arcade multi-theme UI patch ===== */
.arcade-portal{
    --arcade-panel-bg: rgba(0,0,0,.38);
    --arcade-panel-border: rgba(255,255,255,.10);
    --arcade-panel-border-strong: rgba(255,255,255,.16);
    --arcade-panel-shadow: 0 14px 34px rgba(0,0,0,.22);
    --arcade-text: inherit;
    --arcade-text-soft: rgba(255,255,255,.84);
    --arcade-text-muted: rgba(255,255,255,.66);
    --arcade-badge-bg: rgba(0,0,0,.52);
    --arcade-badge-border: rgba(255,255,255,.16);
    --arcade-chip-bg: rgba(255,255,255,.04);
    --arcade-chip-border: rgba(255,255,255,.14);
    --arcade-btn-bg: linear-gradient(180deg, rgba(18,18,18,.96), rgba(0,0,0,.96));
    --arcade-btn-border: rgba(255,255,255,.16);
    --arcade-btn-text: #ffffff;
    --arcade-card-radius: 18px;
    --arcade-thumb-radius: 14px;
    color: var(--arcade-text);
}

.arcade-section{margin:0 0 26px 0}
.arcade-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 12px 0;
}
.arcade-section-head h3,
.arcade-section-head > div,
.arcade-featured-title,
.arcade-card-title,
.arcade-title,
.arcade-kicker{
    color: var(--arcade-text);
}
.arcade-sub,
.arcade-featured-meta,
.arcade-card-desc,
.arcade-stat-label,
.arcade-activity-item,
.arcade-empty,
.arcade-scorebox{
    color: var(--arcade-text-soft);
}

.arcade-featured,
.arcade-card,
.arcade-panel,
.arcade-play-stage,
.arcade-champion-card,
.arcade-ui-modal-card{
    background: var(--arcade-panel-bg);
    border: 1px solid var(--arcade-panel-border);
    border-radius: var(--arcade-card-radius);
    box-shadow: var(--arcade-panel-shadow);
    overflow: hidden;
}

.arcade-grid{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap:18px;
    align-items:stretch;
}

.arcade-card{
    display:flex;
    flex-direction:column;
    min-height:100%;
}

.arcade-card-thumb,
.arcade-featured-thumb{
    position:relative;
    overflow:hidden;
    border-radius: var(--arcade-thumb-radius);
    background: rgba(0,0,0,.28);
}

.arcade-card-thumb{
    margin:12px 12px 0;
    aspect-ratio: 4 / 3;
}

.arcade-featured{
    display:grid;
    grid-template-columns: minmax(150px, 220px) 1fr auto;
    gap:20px;
    align-items:center;
    padding:16px;
}

.arcade-featured-thumb{
    width:100%;
    aspect-ratio: 4 / 3;
    min-height:140px;
}

.arcade-card-thumb img,
.arcade-featured-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center center;
    image-rendering:auto;
    transform:translateZ(0);
    transition:transform .22s ease, filter .22s ease, opacity .22s ease;
    background:#000;
}

.arcade-card:hover .arcade-card-thumb img,
.arcade-featured:hover .arcade-featured-thumb img{
    transform:scale(1.03);
    filter:contrast(1.04) saturate(1.03);
}

.arcade-card-title,
.arcade-card-desc,
.arcade-featured-title,
.arcade-featured-meta{
    padding-left:14px;
    padding-right:14px;
}

.arcade-card-title{
    margin:12px 0 8px;
    font-weight:800;
    line-height:1.15;
    min-height:2.3em;
}

.arcade-card-desc{
    margin:0 0 10px 0;
    line-height:1.35;
    min-height:3.9em;
    overflow:hidden;
}

.arcade-card-footer{
    margin-top:auto;
    padding:0 14px 14px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:10px;
}

.arcade-featured-title{
    margin:0 0 8px 0;
    font-weight:800;
    line-height:1.1;
}

.arcade-featured-meta{
    margin:0;
    line-height:1.45;
}

.arcade-badge{
    position:absolute;
    top:10px;
    left:10px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:0 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    background: var(--arcade-badge-bg);
    border:1px solid var(--arcade-badge-border);
    color:#fff;
    backdrop-filter: blur(6px);
}

.arcade-chip,
.arcade-chip:link,
.arcade-chip:visited,
.arcade-play-btn,
.arcade-play-btn:link,
.arcade-play-btn:visited{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border-radius:12px;
    border:1px solid var(--arcade-btn-border);
    background: var(--arcade-btn-bg);
    color: var(--arcade-btn-text);
    text-decoration:none;
    font-weight:700;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    box-sizing:border-box;
}

.arcade-chip:hover,
.arcade-play-btn:hover{
    transform:translateY(-1px);
    border-color: var(--arcade-panel-border-strong);
    box-shadow:0 10px 18px rgba(0,0,0,.18);
    text-decoration:none;
}

.arcade-chip-row,
.arcade-sortbar,
.arcade-hero-actions,
.arcade-toolbar{
    gap:10px;
}

.arcade-scorebox{
    text-align:right;
    line-height:1.35;
    min-width:90px;
}

.arcade-search-input,
.arcade-admin-cats-input,
.arcade-admin-cats-select,
.arcade-manual-score-input{
    border:1px solid var(--arcade-chip-border);
    background:rgba(255,255,255,.04);
    color:var(--arcade-text);
    border-radius:12px;
}

.arcade-empty{
    padding:18px;
    text-align:center;
}

@media (max-width: 980px){
    .arcade-featured{
        grid-template-columns: 1fr;
        align-items:start;
    }
    .arcade-featured-thumb{
        max-width:260px;
    }
    .arcade-card-footer{
        align-items:center;
    }
}

@media (max-width: 640px){
    .arcade-grid{
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap:14px;
    }
    .arcade-card-title{
        font-size:1.02rem;
    }
    .arcade-card-desc{
        min-height:auto;
    }
}
/* ===== /Arcade multi-theme UI patch ===== */

