/* Studio and admin shared interface */
.lbms-wrap {
    --lbms-admin-bg: #f6f8fc;
    --lbms-admin-surface: rgba(255,255,255,0.92);
    --lbms-admin-text: #0f172a;
    --lbms-admin-muted: #64748b;
    --lbms-admin-border: rgba(15, 23, 42, 0.10);
    --lbms-admin-accent: #4f46e5;
    --lbms-admin-accent-2: #06b6d4;
    --lbms-admin-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
    color: var(--lbms-admin-text);
}

.lbms-wrap[data-lbms-skin="dark"] {
    --lbms-admin-bg: #070b16;
    --lbms-admin-surface: rgba(10, 16, 31, 0.82);
    --lbms-admin-text: #e5eefc;
    --lbms-admin-muted: #a0acc3;
    --lbms-admin-border: rgba(148, 163, 184, 0.18);
    --lbms-admin-accent: #7c8cff;
    --lbms-admin-accent-2: #22d3ee;
    --lbms-admin-shadow: 0 22px 52px rgba(0, 0, 0, 0.34);
}

.lbms-wrap[data-lbms-skin="neon"] {
    --lbms-admin-bg: #040711;
    --lbms-admin-surface: rgba(10, 15, 29, 0.74);
    --lbms-admin-text: #ebf8ff;
    --lbms-admin-muted: #95bddb;
    --lbms-admin-border: rgba(0, 243, 255, 0.22);
    --lbms-admin-accent: #00f3ff;
    --lbms-admin-accent-2: #ff40e0;
    --lbms-admin-shadow: 0 24px 60px rgba(0, 243, 255, 0.10);
}

.lbms-wrap {
    background:
        radial-gradient(circle at top right, rgba(79, 70, 229, 0.08), transparent 32%),
        var(--lbms-admin-bg);
    border-radius: 28px;
}

.lbms-wrap .lbms-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .95fr);
    gap: 20px;
    align-items: start;
}

.lbms-panel,
.lbms-pro-card,
.lbms-settings-card {
    background: var(--lbms-admin-surface);
    border: 1px solid var(--lbms-admin-border);
    border-radius: 24px;
    padding: 22px;
    box-shadow: var(--lbms-admin-shadow);
    backdrop-filter: blur(18px);
}

.lbms-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 16px;
    margin-bottom: 16px;
}

.lbms-panel-head h2,
.lbms-panel-head h3,
.lbms-settings-card h2,
.lbms-pro-card h2 {
    margin: 0 0 6px;
}

.lbms-panel-head p,
.lbms-settings-card p {
    margin: 0;
    color: var(--lbms-admin-muted);
}

.lbms-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.lbms-type-card {
    border: 1px solid var(--lbms-admin-border);
    border-radius: 16px;
    padding: 12px 10px;
    background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06));
    color: var(--lbms-admin-text);
    cursor: pointer;
    font-weight: 700;
    min-width: 0;
}

.lbms-type-card.is-active {
    background: linear-gradient(135deg, var(--lbms-admin-accent), var(--lbms-admin-accent-2));
    color: #fff;
    border-color: transparent;
}

.lbms-field,
.lbms-settings-card label {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.lbms-field > span,
.lbms-settings-card label > span {
    font-weight: 700;
}

.lbms-advanced {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid var(--lbms-admin-border);
    background: rgba(255,255,255,0.04);
}

.lbms-advanced summary {
    cursor: pointer;
    font-weight: 700;
}

.lbms-advanced-grid,
.lbms-settings-grid,
.lbms-inline-grid {
    display: grid;
    gap: 12px;
}

.lbms-advanced-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-top: 12px;
}

.lbms-advanced-grid label,
.lbms-toggle {
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid var(--lbms-admin-border);
    background: rgba(255,255,255,0.05);
}

.lbms-toggle {
    grid-auto-flow: column;
    grid-template-columns: 18px 1fr;
    align-items: start;
}

.lbms-actions-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.lbms-actions-row select {
    min-width: 180px;
    min-height: 48px;
}

.lbms-result-box {
    min-height: 180px;
    border: 1px solid var(--lbms-admin-border);
    border-radius: 20px;
    padding: 16px;
    background: rgba(255,255,255,0.06);
    overflow: hidden;
}

.lbms-result-box audio,
.lbms-result-box img {
    max-width: 100%;
}

.lbms-result-box .notice {
    margin: 0;
}

.lbms-mini-card,
.lbms-support-cta,
.lbms-legal-note,
.lbms-studio-notice {
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid var(--lbms-admin-border);
    background: rgba(255,255,255,0.05);
}

.lbms-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.lbms-settings-card {
    display: grid;
    gap: 12px;
}

.lbms-settings-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.lbms-settings-card textarea,
.lbms-settings-card input,
.lbms-settings-card select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.lbms-inline-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.lbms-settings-card .lbms-toggle {
    margin: 0;
}

@media (max-width: 1100px) {
    .lbms-wrap .lbms-grid,
    .lbms-settings-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 782px) {
    .lbms-panel,
    .lbms-pro-card,
    .lbms-settings-card {
        padding: 16px;
    }

    .lbms-actions-row select,
    .lbms-settings-card input,
    .lbms-settings-card select,
    .lbms-settings-card textarea {
        width: 100%;
    }
}

.lbms-result-card {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.lbms-result-card-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 12px;
}

.lbms-result-card-head h3 {
    margin: 8px 0 0;
    font-size: 1.25rem;
    line-height: 1.2;
}

.lbms-result-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.lbms-result-meta p {
    margin: 0;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid var(--lbms-admin-border);
    background: rgba(255,255,255,0.05);
}

.lbms-result-card audio {
    width: 100%;
    max-width: 100%;
    display: block;
}


/* v1.2.3 engine + download controls */
.lbms-custom-model-field { display: none; }
.lbms-custom-model-field.is-visible { display: grid; }
.lbms-custom-model-field input { width: 100%; }

.lbms-download-note {
    margin: 10px 0 0;
    color: var(--lbms-muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.lbms-secondary-button {
    opacity: 0.92;
}

.lbms-result-card {
    display: grid;
    gap: 14px;
    border: 1px solid var(--lbms-admin-border, var(--lbms-border));
    border-radius: 24px;
    padding: 18px;
    background: var(--lbms-admin-surface, var(--lbms-surface));
    box-shadow: var(--lbms-admin-shadow, var(--lbms-shadow-soft));
}

.lbms-result-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.lbms-result-card h3 {
    margin: 6px 0 0;
}

.lbms-result-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.lbms-result-meta p {
    margin: 0;
    color: var(--lbms-muted, var(--lbms-admin-muted));
}

.lbms-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}


/* v1.2.5 consumer/admin polish */
.lbms-result-box {
    container-type: inline-size;
}
.lbms-result-card {
    grid-template-columns: minmax(180px, .52fr) minmax(0, 1fr);
    gap: 18px;
}
.lbms-result-visual {
    aspect-ratio: 1 / 1;
    min-width: 0;
}
.lbms-result-card-body {
    min-width: 0;
}
.lbms-result-actions {
    display: flex;
    flex-wrap: wrap;
}
@container (max-width: 640px) {
    .lbms-result-card {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 782px) {
    .lbms-wrap {
        border-radius: 18px;
    }
    .lbms-type-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .lbms-result-card {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 10px;
        border-radius: 18px;
    }
    .lbms-result-card h3 {
        font-size: .98rem;
    }
    .lbms-result-meta {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 8px;
    }
    .lbms-result-meta p {
        font-size: .72rem;
    }
    .lbms-result-actions .lbms-button,
    .lbms-result-actions a {
        font-size: .72rem;
        min-height: 38px;
    }
}


/* v1.2.7 compact generated-result skin */
.lbms-result-card,
.lbms-result-main,
.lbms-result-content,
.lbms-result-player,
.lbms-result-actions,
.lbms-result-license { box-sizing: border-box; min-width: 0; }
.lbms-result-card { display:block; padding:0; border:1px solid var(--lbms-admin-border, var(--lbms-border)); border-radius:20px; overflow:hidden; background:var(--lbms-admin-surface, var(--lbms-surface)); box-shadow:var(--lbms-admin-shadow, var(--lbms-shadow-soft)); }
.lbms-result-main { display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; padding:12px; align-items:start; }
.lbms-result-artwork-wrap { width:96px; aspect-ratio:1/1; min-width:0; }
.lbms-result-artwork { display:block; width:100%; height:100%; object-fit:cover; border-radius:14px; }
.lbms-result-content { display:grid; gap:7px; align-content:start; }
.lbms-result-heading h3 { margin:2px 0 0; font-size:.94rem; line-height:1.18; overflow-wrap:anywhere; }
.lbms-result-genre { display:inline-block; max-width:100%; font-size:.62rem; line-height:1; padding:4px 7px; border-radius:999px; border:1px solid var(--lbms-border); color:var(--lbms-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lbms-result-meta-inline { display:flex; flex-wrap:wrap; gap:5px 9px; color:var(--lbms-muted); font-size:.64rem; line-height:1.25; }
.lbms-result-meta-inline span { min-width:0; overflow-wrap:anywhere; }
.lbms-result-meta-inline b { color:var(--lbms-text); font-weight:700; }
.lbms-result-player { width:100%; min-width:0; padding:7px 8px; border:1px solid var(--lbms-border); border-radius:12px; background:rgba(255,255,255,.045); }
.lbms-mini-player-controls { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:7px; min-width:0; }
.lbms-mini-play { width:28px !important; height:28px !important; min-width:28px !important; padding:0 !important; border:0 !important; border-radius:50% !important; display:grid !important; place-items:center; font-size:.63rem !important; line-height:1 !important; }
.lbms-mini-player-main { min-width:0; display:grid; gap:3px; }
.lbms-mini-progress { width:100% !important; min-width:0 !important; margin:0 !important; height:12px !important; accent-color:var(--lbms-accent); }
.lbms-mini-player-bottom { min-width:0; display:grid; grid-template-columns:auto minmax(26px,1fr) auto 24px; gap:5px; align-items:center; }
.lbms-mini-time { font-size:.58rem; line-height:1; color:var(--lbms-muted); white-space:nowrap; }
.lbms-mini-mute { width:24px !important; height:24px !important; min-width:24px !important; padding:0 !important; border:0 !important; background:transparent !important; font-size:.68rem !important; }
.lbms-result-actions { display:flex; flex-wrap:wrap; gap:5px; margin:0; }
.lbms-result-actions .lbms-button,
.lbms-result-actions a.lbms-button { min-height:28px; height:28px; padding:0 8px !important; border-radius:999px !important; font-size:.62rem !important; line-height:1 !important; white-space:nowrap; }
.lbms-result-actions .lbms-button span { line-height:1; }
.lbms-result-license { display:flex; flex-wrap:wrap; gap:4px; align-items:baseline; padding-top:1px; min-width:0; font-size:.58rem; line-height:1.25; color:var(--lbms-muted); }
.lbms-license-label { font-weight:700; color:var(--lbms-text); }
.lbms-license-value { overflow-wrap:anywhere; }
.lbms-download-note { font-size:.61rem; line-height:1.2; margin:0; }
.lbms-result-footer { display:none !important; }
@media (max-width: 560px) {
  .lbms-result-main { grid-template-columns:72px minmax(0,1fr); gap:9px; padding:9px; }
  .lbms-result-artwork-wrap { width:72px; }
  .lbms-result-content { gap:6px; }
  .lbms-result-heading h3 { font-size:.84rem; }
  .lbms-result-meta-inline { font-size:.57rem; gap:4px 7px; }
  .lbms-result-player { padding:6px 7px; }
  .lbms-mini-player-controls { grid-template-columns:26px minmax(0,1fr); gap:6px; }
  .lbms-mini-play { width:26px !important; height:26px !important; min-width:26px !important; }
  .lbms-result-actions .lbms-button,
  .lbms-result-actions a.lbms-button { min-height:25px; height:25px; padding:0 7px !important; font-size:.56rem !important; }
  .lbms-result-license { font-size:.53rem; }
}
@media (max-width: 360px) {
  .lbms-result-main { grid-template-columns:58px minmax(0,1fr); gap:7px; padding:7px; }
  .lbms-result-artwork-wrap { width:58px; }
  .lbms-result-heading h3 { font-size:.77rem; }
  .lbms-result-meta-inline { font-size:.52rem; }
  .lbms-mini-player-bottom { grid-template-columns:auto minmax(18px,1fr) auto 22px; gap:4px; }
  .lbms-mini-time { font-size:.51rem; }
  .lbms-result-actions { gap:4px; }
  .lbms-result-actions .lbms-button,
  .lbms-result-actions a.lbms-button { padding:0 6px !important; font-size:.52rem !important; }
}


/* v1.2.8 desktop/phone layout hardening */
.lbms-wrap,
.lbms-wrap * { box-sizing:border-box; }
.lbms-wrap { width:100%; max-width:100%; min-width:0; overflow-x:hidden; }
.lbms-wrap .lbms-panel-head h2,
.lbms-wrap .lbms-panel-head h3,
.lbms-wrap .lbms-settings-card h2,
.lbms-wrap .lbms-pro-card h2 {
    font-size:15px !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.lbms-wrap .lbms-panel-head p,
.lbms-wrap .lbms-settings-card p,
.lbms-wrap .lbms-field > span,
.lbms-wrap .lbms-settings-card label > span,
.lbms-wrap .lbms-model-capability-note {
    font-size:11px !important;
    line-height:1.4 !important;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.lbms-wrap .lbms-advanced-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.lbms-wrap .lbms-grid {
    grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);
    align-items:start;
}
.lbms-wrap input,
.lbms-wrap select,
.lbms-wrap textarea,
.lbms-wrap button {
    max-width:100%;
}
.lbms-wrap .lbms-result-box { min-width:0; overflow:hidden; }
.lbms-wrap .lbms-result-card { min-width:0; max-width:100%; overflow:hidden; }
.lbms-wrap .lbms-result-content,
.lbms-wrap .lbms-result-main { min-width:0; max-width:100%; }
.lbms-wrap .lbms-result-card h3 { font-size:15px !important; overflow-wrap:anywhere; word-break:break-word; }
.lbms-wrap .lbms-result-meta-inline,
.lbms-wrap .lbms-result-license { font-size:11px !important; line-height:1.35; overflow-wrap:anywhere; }
.lbms-wrap .lbms-result-actions .lbms-button,
.lbms-wrap .lbms-result-actions a,
.lbms-wrap .lbms-result-actions button { font-size:11px !important; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
@media (max-width:960px) {
    .lbms-wrap .lbms-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
    .lbms-wrap .lbms-advanced-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:520px) {
    .lbms-wrap .lbms-advanced-grid { grid-template-columns:1fr !important; }
}
