/* KCP 0.0.108: clickable live search, compact rows and cleaner player lists */
.portal-live-result{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:.7rem;text-align:left}
.portal-live-result img,.live-result-fallback{width:44px;height:44px;border-radius:10px;object-fit:cover;background:#111;display:grid;place-items:center;color:#fff;font-weight:1000}
.portal-live-result.live-all{grid-template-columns:1fr}
.live-result-copy{display:grid;min-width:0;gap:.08rem}
.live-result-copy em{color:var(--muted);font-style:normal;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-results-grid{gap:.55rem}
.music-result-card{grid-template-columns:58px minmax(0,1fr) auto;padding:.62rem .72rem}
.result-cover{width:58px;height:58px}
.result-meta h3{font-size:1.05rem;-webkit-line-clamp:1}
.result-actions button,.result-actions .button-link,.song-card button,.track-row button{min-width:66px;padding:.46rem .72rem;font-size:.86rem}
.track-row{grid-template-columns:34px 48px minmax(0,1fr) auto}
.track-row img{width:48px;height:48px}
.track-row strong{font-size:.98rem}
.track-row span{font-size:.84rem}
.genre-pills,.artist-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem}
.genre-pills a,.artist-list a{border-radius:14px;text-align:center;min-height:56px;display:grid;place-items:center}
.creator-dashboard{display:grid;gap:1.1rem}
.creator-dashboard h1{margin:.1rem 0;font-size:clamp(2.2rem,4vw,4rem);line-height:.98}
.creator-dashboard .muted{max-width:820px}
.dashboard-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.dashboard-card{display:grid;gap:.35rem;padding:1rem;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid var(--line);box-shadow:0 14px 38px rgba(0,0,0,.18)}
.dashboard-card:hover{transform:translateY(-2px);background:#282831}
.dashboard-card strong{font-size:clamp(2rem,4vw,3.2rem);line-height:.9;color:#fff}
.dashboard-card span{font-weight:1000;font-size:1.05rem}
.dashboard-card small{color:var(--muted);font-weight:750}
.dashboard-card.warn{background:linear-gradient(180deg,rgba(255,188,86,.14),rgba(255,255,255,.035))}
.dashboard-card.listener{background:linear-gradient(180deg,rgba(121,201,67,.14),rgba(255,255,255,.035))}
.quick-action-panel,.creator-table-card,.creator-edit-form,.creator-dashboard .card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:18px;padding:1rem}
.quick-action-panel h2,.creator-dashboard .card h2{margin:.1rem 0 .75rem}
.quick-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}
.button-link.secondary{background:#30303a;color:#fff}
.dashboard-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.compact-list{display:grid;gap:.5rem}
.compact-list a{display:grid;gap:.1rem;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:14px;padding:.75rem}
.compact-list a:hover{background:#282831}
.compact-list span{color:var(--muted);font-size:.9rem}
.creator-table-card{overflow:auto}
.creator-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}
.creator-table th,.creator-table td{padding:.8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.creator-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.creator-table td small{display:block;color:var(--muted);margin-top:.2rem}
.creator-table tr:last-child td{border-bottom:0}
.creator-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.creator-actions form{margin:0}
.creator-actions a,.creator-actions button{background:#30303a;color:#fff;border-radius:999px;padding:.45rem .75rem;font-size:.86rem;font-weight:900}
.creator-actions button{background:#3b1f2a;color:#ffb3c2}
.badge{display:inline-flex;border-radius:999px;padding:.25rem .55rem;background:#2f2f38;color:#fff;font-weight:900;text-transform:capitalize;font-size:.82rem}
.creator-edit-form{display:grid;gap:.85rem;max-width:860px}
.creator-edit-form label{display:grid;gap:.35rem;color:var(--muted);font-weight:900}
.creator-edit-form input,.creator-edit-form textarea{width:100%;background:#fff;color:#111}
@media(max-width:760px){
  .music-result-card{grid-template-columns:52px minmax(0,1fr)}
  .result-cover{width:52px;height:52px}
  .result-actions{grid-column:1/-1}
  .track-row{grid-template-columns:30px minmax(0,1fr);gap:.5rem}
  .track-row img{display:none}
  .song-card{grid-template-columns:50px minmax(0,1fr)}
  .song-card button{grid-column:1/-1}
  .kmusic-player{max-height:86px}
  .genre-pills,.artist-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-card-grid,.dashboard-two-col{grid-template-columns:1fr}
  .quick-actions .button-link,.quick-actions button{width:100%;text-align:center}
}

/* KCP 1.0.2: tighter imported-music parity, playable-only catalog polish */
.kmusic-shell{grid-template-columns:minmax(220px,250px) minmax(0,1fr) minmax(250px,300px);gap:.85rem}
.kmusic-main,.kmusic-content,.music-section,.album-hero,.song-card,.music-result-card,.track-row{min-width:0}
.kmusic-queue.is-closed{display:none}
.kmusic-queue .queue-head button{width:38px;height:38px;border-radius:999px;padding:0;display:grid;place-items:center;font-size:1.25rem}
.kmusic-content{padding-bottom:7.5rem}
.music-section{padding:1.1rem;border-radius:20px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}
.section-head h1{margin:.1rem 0;font-size:clamp(2rem,4vw,3.6rem);line-height:1}
.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.85rem}
.genre-card{display:grid;gap:.45rem;min-height:118px;padding:1rem;border-radius:18px;background:linear-gradient(135deg,rgba(101,70,255,.95),rgba(235,54,151,.82));color:#fff;text-decoration:none;box-shadow:0 18px 38px rgba(0,0,0,.22);position:relative;overflow:hidden}
.genre-card:after{content:"";position:absolute;right:-24px;bottom:-26px;width:92px;height:92px;border-radius:999px;background:rgba(255,255,255,.16)}
.genre-card:hover{transform:translateY(-2px)}
.genre-card span{font-size:1.2rem;font-weight:1000;position:relative;z-index:1}
.genre-card strong{font-size:.9rem;position:relative;z-index:1}
.genre-card em{font-style:normal;color:rgba(255,255,255,.78);font-size:.9rem;line-height:1.35;position:relative;z-index:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.song-card,.music-result-card,.track-row{overflow:hidden}
.song-card strong,.result-meta h3,.track-row strong,.queue-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.song-card span,.result-meta p,.track-row span,.queue-item span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.track-row{padding:.65rem .75rem;border-radius:16px}
.track-row button,.song-card button,.music-result-card button{border-radius:999px;white-space:nowrap}
.music-result-card{align-items:center;border-radius:18px}
.result-actions{display:flex;gap:.45rem;align-items:center;justify-content:flex-end}
.portal-live-results{max-height:min(420px,70vh);overflow:auto}
.portal-live-result{border-radius:14px}
.kmusic-player{left:calc(250px + .85rem);right:calc(300px + .85rem);height:82px;grid-template-columns:52px minmax(140px,1fr) 38px 48px 38px auto minmax(120px,1fr) auto 38px 80px}
.kmusic-player img{width:52px;height:52px;border-radius:12px}
.play-main{width:48px;height:48px;border-radius:999px}
@media(max-width:1100px){
  .kmusic-shell{grid-template-columns:minmax(190px,230px) minmax(0,1fr)}
  .kmusic-queue{display:none}
  .kmusic-player{left:12px;right:12px}
}
@media(max-width:760px){
  .kmusic-shell{display:block}
  .kmusic-sidebar{position:relative;width:auto;margin:.75rem}
  .kmusic-topbar{margin:.75rem;display:grid;gap:.75rem}
  .kmusic-content{margin:.75rem}
  .genre-grid{grid-template-columns:1fr}
  .kmusic-player{grid-template-columns:44px minmax(0,1fr) 42px 42px 42px;gap:.45rem;height:auto;padding:.65rem}
  .kmusic-player [data-player-time],.kmusic-player [data-player-duration],.kmusic-player [data-player-seek],.kmusic-player [data-player-volume],.kmusic-player [data-player-mute]{display:none}
}
