/* =============================================================
   THEME PICKER — theme-agnostic, works across all themes
   ============================================================= */
.theme-picker { position: relative; display: inline-flex; align-items: center; }
.theme-pick-btn {
    display: inline-flex; align-items: center; gap: .4rem;
    background: rgba(128,128,128,.15); border: 1px solid rgba(128,128,128,.25);
    border-radius: 20px; padding: .25rem .65rem .25rem .4rem;
    cursor: pointer; font-size: .75rem; color: inherit;
    transition: background .2s;
}
.theme-pick-btn:hover { background: rgba(128,128,128,.28); }
.theme-pick-preview {
    display: inline-flex; width: 18px; height: 18px; border-radius: 50%;
    overflow: hidden; border: 1px solid rgba(255,255,255,.2); flex-shrink: 0;
}
.theme-pick-preview span { flex: 1; height: 100%; }
.theme-pick-panel {
    display: none; position: absolute; top: calc(100% + 8px); right: 0;
    background: #1a1a24; border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px; padding: .6rem; min-width: 210px;
    box-shadow: 0 12px 40px rgba(0,0,0,.5); z-index: 9999;
}
.theme-pick-panel.open { display: block; }
.theme-pick-header {
    font-size: .65rem; letter-spacing: 1.5px; font-weight: 700;
    color: rgba(255,255,255,.4); padding: .2rem .4rem .5rem;
    font-family: 'Barlow', sans-serif; text-transform: uppercase;
}
.theme-pick-option {
    display: flex; align-items: center; gap: .6rem;
    padding: .45rem .5rem; border-radius: 8px; cursor: pointer;
    transition: background .15s; border: 1px solid transparent;
}
.theme-pick-option:hover { background: rgba(255,255,255,.08); }
.theme-pick-option.active { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }
.theme-pick-swatch {
    width: 28px; height: 28px; border-radius: 50%; overflow: hidden;
    flex-shrink: 0; border: 2px solid rgba(255,255,255,.15);
    display: flex;
}
.theme-pick-swatch span { flex: 1; height: 100%; }
.theme-pick-info { display: flex; flex-direction: column; }
.theme-pick-name {
    font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.9);
    font-family: 'Barlow', sans-serif; line-height: 1.2;
}
.theme-pick-type {
    font-size: .68rem; color: rgba(255,255,255,.4);
    font-family: 'Barlow', sans-serif;
}
.theme-pick-check {
    margin-left: auto; color: rgba(255,255,255,.8); font-size: .8rem;
}
.theme-pick-divider {
    height: 1px; background: rgba(255,255,255,.08);
    margin: .4rem 0;
}
