/* =========================================================
   ARMAORA ARTIST PROFILE v1
   ========================================================= */
.artist-page-shell{max-width:1220px;margin:34px auto 80px;padding:0 20px}
.artist-hero{position:relative;min-height:330px;border:1px solid #292929;border-radius:18px 18px 0 0;overflow:hidden;background:
radial-gradient(circle at 78% 25%,rgba(199,162,39,.20),transparent 26%),
linear-gradient(135deg,#151515 0%,#0b0b0b 55%,#18130a 100%)}
.artist-hero.has-image{background-position:center;background-size:cover}
.artist-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.28) 100%)}
.artist-identity{position:absolute;left:34px;right:34px;bottom:26px;display:flex;align-items:flex-end;gap:22px;z-index:2}
.artist-avatar-big{width:145px;height:145px;border-radius:50%;object-fit:cover;background:#0b0b0b;border:4px solid #d2ab24;box-shadow:0 15px 38px rgba(0,0,0,.48)}
.artist-avatar-big.placeholder{display:grid;place-items:center;font-size:54px;font-weight:800;color:#d7b33d}
.artist-name-block h1{font-size:42px;line-height:1.04;margin:0 0 6px;text-shadow:0 2px 15px #000}
.artist-tagline{font-size:16px;color:#ddd;max-width:680px;margin-top:8px}
.artist-handle{color:#b8b8b8}
.artist-badge-full{display:inline-flex;margin-top:11px;border:1px solid #8f7114;background:rgba(30,24,7,.86);color:#f1ce53;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800;letter-spacing:.04em}
.artist-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 25px;border:1px solid #292929;border-top:0;background:#111}
.artist-tabs{display:flex;gap:7px;flex-wrap:wrap}
.artist-tabs a{display:block;color:#bbb;text-decoration:none;padding:17px 12px;border-bottom:2px solid transparent;font-weight:700;font-size:14px}
.artist-tabs a:hover,.artist-tabs a.active{color:#f1d15f;border-bottom-color:#d4ab24}
.artist-bar-stats{display:flex;gap:24px;color:#aaa;font-size:12px}
.artist-bar-stats strong{display:block;color:#eee;font-size:18px}
.artist-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;margin-top:26px}
.artist-section{background:#111;border:1px solid #292929;border-radius:14px;padding:22px}
.artist-section h2{margin:0 0 18px;font-size:24px}
.artist-track-list{display:flex;flex-direction:column;gap:14px}
.artist-track{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:12px;background:#0b0b0b;border:1px solid #292929;border-radius:12px}
.artist-track-cover{width:112px;height:112px;object-fit:cover;border-radius:8px;background:#171717}
.artist-track-cover.placeholder{display:grid;place-items:center;color:#776b43;font-size:32px}
.artist-track-title{font-size:17px;font-weight:800;margin:2px 0 2px}
.artist-track-release{font-size:13px;color:#a9a9a9;margin-bottom:10px}
.artist-track audio{width:100%;height:38px}
.artist-track-meta{display:flex;gap:14px;flex-wrap:wrap;color:#858585;font-size:11px;margin-top:8px}
.artist-empty{padding:38px 18px;text-align:center;border:1px dashed #3a3423;border-radius:12px;background:#0b0b0b;color:#aaa}
.artist-empty strong{display:block;color:#e6c64f;font-size:20px;margin-bottom:5px}
.artist-about p{white-space:pre-line;line-height:1.7;color:#d6d6d6}
.artist-side-row{padding:11px 0;border-bottom:1px solid #252525}
.artist-side-row:last-child{border-bottom:0}
.artist-side-label{display:block;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.artist-side-value{color:#eee}
.artist-side-value a{color:#e3c450}
.artist-owner-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.artist-owner-actions a{display:inline-flex;text-decoration:none}
.artist-banner-help{font-size:12px;color:#898989;margin-top:6px}
.account-artist-preview{border:1px solid #40371d;background:#171307;border-radius:12px;padding:16px;margin:20px 0}
@media(max-width:850px){
  .artist-hero{min-height:300px}
  .artist-identity{left:22px;right:22px;bottom:22px}
  .artist-avatar-big{width:112px;height:112px}
  .artist-name-block h1{font-size:31px}
  .artist-layout{grid-template-columns:1fr}
  .artist-bar{align-items:flex-start;flex-direction:column;padding:0 18px 15px}
}
@media(max-width:580px){
  .artist-page-shell{padding:0 10px}
  .artist-hero{min-height:360px}
  .artist-identity{display:block}
  .artist-avatar-big{width:96px;height:96px;margin-bottom:12px}
  .artist-name-block h1{font-size:27px}
  .artist-bar-stats{gap:14px}
  .artist-track{grid-template-columns:80px minmax(0,1fr)}
  .artist-track-cover{width:80px;height:80px}
}
/* =========================================================
   ARMAORA ARTIST PAGE - WIDE CLEAN v2
   No grey cards / no frame lines / wider layout
   ========================================================= */

.artist-page-shell{
    width:calc(100% - 36px) !important;
    max-width:1440px !important;
    margin:28px auto 80px !important;
    padding:0 !important;
}

.artist-hero{
    min-height:350px !important;
    border:0 !important;
    border-radius:0 !important;
    background-color:#080808 !important;
}

.artist-hero-overlay{
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.76) 0%,
        rgba(0,0,0,.34) 46%,
        rgba(0,0,0,.16) 100%
    ) !important;
}

.artist-identity{
    left:36px !important;
    right:36px !important;
    bottom:28px !important;
}

.artist-avatar-big{
    width:146px !important;
    height:146px !important;
    border-width:3px !important;
    box-shadow:0 12px 32px rgba(0,0,0,.42) !important;
}

.artist-name-block h1{
    font-size:44px !important;
}

.artist-bar{
    border:0 !important;
    background:#080808 !important;
    padding:0 18px !important;
}

.artist-tabs a{
    padding:17px 12px !important;
}

.artist-layout{
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:42px !important;
    margin-top:34px !important;
}

.artist-section{
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    padding:0 0 30px !important;
}

.artist-section h2{
    margin:0 0 20px !important;
    font-size:25px !important;
}

.artist-track-list{
    gap:24px !important;
}

.artist-track{
    grid-template-columns:116px minmax(0,1fr) !important;
    gap:17px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
}

.artist-track-cover{
    width:116px !important;
    height:116px !important;
    border-radius:3px !important;
}

.artist-track-title{
    font-size:17px !important;
    margin:2px 0 2px !important;
}

.artist-track-release{
    margin-bottom:7px !important;
}

.artist-track-meta{
    margin-top:5px !important;
}

.artist-empty{
    border:0 !important;
    background:transparent !important;
    padding:42px 0 !important;
    text-align:left !important;
}

.artist-about p{
    max-width:900px;
}

.artist-side-row{
    border-bottom:0 !important;
    padding:9px 0 !important;
}

.artist-owner-actions{
    margin-top:16px !important;
}

.artist-owner-actions .account-button{
    border-radius:4px !important;
}

/* -------- Compact waveform track player -------- */

.artist-wave-player{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:10px;
    align-items:center;
    width:100%;
    min-height:62px;
}

.artist-wave-play{
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#d6ae25;
    color:#090909;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    display:grid;
    place-items:center;
    padding:0;
}

.artist-wave-play:hover{
    transform:scale(1.03);
}

.artist-wave-main{
    min-width:0;
}

.artist-waveform{
    position:relative;
    width:100%;
    height:54px;
    cursor:pointer;
    overflow:hidden;
}

.artist-wave-bottom{
    display:flex;
    justify-content:flex-end;
    gap:12px;
    min-height:18px;
    margin-top:2px;
    color:#8f8f8f;
    font-size:11px;
}

.artist-wave-time{
    color:#aaa;
    font-variant-numeric:tabular-nums;
}

.artist-wave-error{
    color:#e98f8f;
}

@media(max-width:1100px){
    .artist-page-shell{
        width:calc(100% - 28px) !important;
    }
    .artist-layout{
        grid-template-columns:minmax(0,1fr) 250px !important;
        gap:28px !important;
    }
}

@media(max-width:850px){
    .artist-layout{
        grid-template-columns:1fr !important;
    }
    .artist-identity{
        left:22px !important;
        right:22px !important;
    }
}

@media(max-width:580px){
    .artist-page-shell{
        width:calc(100% - 16px) !important;
    }
    .artist-track{
        grid-template-columns:82px minmax(0,1fr) !important;
        gap:12px !important;
    }
    .artist-track-cover{
        width:82px !important;
        height:82px !important;
    }
    .artist-wave-player{
        grid-template-columns:38px minmax(0,1fr);
    }
    .artist-wave-play{
        width:36px;
        height:36px;
    }
    .artist-waveform{
        height:48px;
    }
}
/* =========================================================
   ARMAORA ARTIST TIMED COMMENTS v1
   ========================================================= */

.artist-wave-wrap{
    position:relative;
    width:100%;
    height:54px;
}

.artist-comment-markers{
    position:absolute;
    inset:0;
    z-index:7;
    pointer-events:none;
    overflow:visible;
}

.artist-comment-marker{
    position:absolute;
    width:20px;
    height:20px;
    margin-left:-10px;
    padding:0;
    border:1px solid #0a0a0a;
    border-radius:50%;
    background:#d6ae25;
    color:#080808;
    display:grid;
    place-items:center;
    font-size:9px;
    font-weight:900;
    overflow:hidden;
    cursor:pointer;
    pointer-events:auto;
    box-shadow:0 1px 5px rgba(0,0,0,.65);
}

.artist-comment-marker::after{
    content:"";
    position:absolute;
    top:18px;
    left:9px;
    width:1px;
    height:16px;
    background:rgba(214,174,37,.72);
}

.artist-comment-marker img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.artist-wave-bottom{
    align-items:center;
}

.artist-comments-toggle{
    margin-right:auto;
    border:0;
    background:transparent;
    color:#8d8d8d;
    padding:0;
    font-size:11px;
    cursor:pointer;
}

.artist-comments-toggle:hover{
    color:#e4c454;
}

.artist-comments-area{
    display:none;
    padding-top:11px;
    max-width:920px;
}

.artist-comments-area.open{
    display:block;
}

.artist-comments-list{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-bottom:10px;
}

.artist-comments-empty{
    color:#777;
    font-size:12px;
    padding:5px 0;
}

.artist-comment-row{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    align-items:start;
    padding:6px 0;
    transition:background .25s;
}

.artist-comment-row.flash{
    background:rgba(214,174,37,.08);
}

.artist-comment-avatar{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#29241a;
    border:1px solid #6f5a1d;
    color:#e9ca58;
    display:grid;
    place-items:center;
    overflow:hidden;
    font-size:10px;
    font-weight:900;
}

.artist-comment-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.artist-comment-head{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:19px;
    font-size:12px;
}

.artist-comment-head strong{
    color:#ddd;
}

.artist-comment-jump{
    border:0;
    background:transparent;
    padding:0;
    color:#caa82d;
    font-size:11px;
    cursor:pointer;
}

.artist-comment-text{
    color:#bdbdbd;
    font-size:13px;
    line-height:1.45;
}

.artist-comment-delete{
    margin-top:3px;
    border:0;
    background:transparent;
    color:#925a5a;
    padding:0;
    font-size:10px;
    cursor:pointer;
}

.artist-comment-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
    max-width:760px;
    margin-top:8px;
}

.artist-comment-input{
    width:100%;
    min-width:0;
    height:36px;
    border:1px solid #292929;
    border-radius:4px;
    background:#0a0a0a;
    color:#eee;
    padding:8px 10px;
    outline:none;
}

.artist-comment-input:focus{
    border-color:#6b571a;
}

.artist-comment-post{
    height:36px;
    border:0;
    border-radius:4px;
    background:#d6ae25;
    color:#080808;
    font-size:11px;
    font-weight:900;
    padding:0 14px;
    cursor:pointer;
}

.artist-comment-position,
.artist-comment-status{
    grid-column:1/-1;
    color:#777;
    font-size:10px;
    min-height:13px;
}

.artist-comment-position strong{
    color:#c3a431;
}

.artist-comment-hp{
    position:absolute !important;
    left:-99999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.artist-comment-login{
    color:#777;
    font-size:12px;
    padding:6px 0;
}

.artist-comment-login a{
    color:#d6ae25;
}

@media(max-width:580px){
    .artist-wave-wrap{
        height:48px;
    }

    .artist-comment-marker{
        width:18px;
        height:18px;
        margin-left:-9px;
    }

    .artist-comment-form{
        grid-template-columns:1fr;
    }

    .artist-comment-post{
        width:100%;
    }
}
/* =========================================================
   ARMAORA TRACK PAGE + SOCIAL v1
   ========================================================= */

.track-page-shell{
    width:calc(100% - 36px);
    max-width:1440px;
    margin:28px auto 90px;
}

.track-hero{
    min-height:405px;
    padding:34px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:46px;
    background:
        radial-gradient(circle at 25% 10%,rgba(183,142,54,.33),transparent 38%),
        linear-gradient(135deg,#8e724e 0%,#6f5a3c 48%,#191714 100%);
}

.track-hero-main{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.track-topline{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.track-kicker{
    color:#f0ce57;
    font-size:11px;
    font-weight:900;
    letter-spacing:.15em;
}

.track-topline h1{
    display:inline-block;
    margin:7px 0 4px;
    padding:5px 10px;
    background:#090909;
    color:#fff;
    font-size:clamp(30px,4vw,48px);
    line-height:1.08;
}

.track-artist-link{
    display:inline-block;
    background:#111;
    color:#b9b9b9;
    text-decoration:none;
    padding:4px 9px;
    font-weight:700;
}

.track-artist-link:hover{
    color:#e4c24f;
}

.track-genre{
    margin-top:8px;
    background:#111;
    padding:5px 9px;
    border-radius:999px;
    font-size:12px;
    white-space:nowrap;
}

.track-big-player{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:15px;
    align-items:center;
    margin-top:auto;
    padding-top:60px;
}

.track-big-play{
    width:58px;
    height:58px;
    border:0;
    border-radius:50%;
    background:#090909;
    color:#fff;
    font-size:25px;
    cursor:pointer;
    display:grid;
    place-items:center;
}

.track-big-wave-main{
    min-width:0;
}

.track-big-wave-wrap{
    position:relative;
    height:126px;
}

.track-big-waveform{
    width:100%;
    height:112px;
    cursor:pointer;
}

.track-big-markers{
    position:absolute;
    inset:0;
    z-index:7;
    pointer-events:none;
    overflow:visible;
}

.track-big-marker{
    position:absolute;
    width:24px;
    height:24px;
    margin-left:-12px;
    border:2px solid rgba(0,0,0,.78);
    border-radius:50%;
    padding:0;
    overflow:hidden;
    background:#d6ae25;
    color:#090909;
    font-size:9px;
    font-weight:900;
    display:grid;
    place-items:center;
    cursor:pointer;
    pointer-events:auto;
    box-shadow:0 2px 7px rgba(0,0,0,.5);
}

.track-big-marker img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.track-big-time{
    text-align:right;
    color:#eee;
    font-size:11px;
}

.track-cover-side img,
.track-cover-placeholder{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    background:#111;
    box-shadow:0 12px 38px rgba(0,0,0,.38);
}

.track-cover-placeholder{
    display:grid;
    place-items:center;
    font-size:80px;
    color:#d6ae25;
}

.track-action-strip{
    display:flex;
    align-items:center;
    gap:12px;
    padding:20px 0 16px;
}

.track-comment-me{
    width:40px;
    height:40px;
    border-radius:50%;
    object-fit:cover;
}

.track-comment-me-placeholder{
    display:grid;
    place-items:center;
    background:#272013;
    border:1px solid #6b571a;
    color:#e0bf49;
    font-weight:900;
}

.track-comment-quick{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    width:min(900px,100%);
}

.track-comment-quick input[type=text]{
    height:40px;
    border:1px solid #303030;
    background:#171717;
    color:#eee;
    padding:0 12px;
    outline:none;
}

.track-comment-quick input[type=text]:focus{
    border-color:#7b651f;
}

.track-comment-quick button{
    border:0;
    background:#d6ae25;
    color:#090909;
    font-weight:900;
    padding:0 18px;
    cursor:pointer;
}

.track-comment-position,
.track-comment-status{
    grid-column:1/-1;
    color:#777;
    font-size:10px;
    min-height:13px;
}

.track-comment-position strong{
    color:#d0ad35;
}

.track-comment-hp{
    position:absolute !important;
    left:-99999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
}

.track-login-comment{
    color:#777;
    font-size:13px;
}

.track-login-comment a{
    color:#d6ae25;
}

.track-social-strip{
    display:flex;
    justify-content:space-between;
    gap:25px;
    align-items:center;
    padding:0 0 18px;
}

.track-social-actions,
.track-social-counts{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.track-social-button{
    border:1px solid #313131;
    background:#171717;
    color:#ddd;
    padding:9px 13px;
    cursor:pointer;
    font-weight:700;
}

.track-social-button.active{
    color:#e7bd39;
    border-color:#6e581a;
}

.track-social-counts{
    color:#858585;
    font-size:12px;
}

.track-social-counts strong{
    color:#cfcfcf;
}

.track-lower-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:48px;
    margin-top:26px;
}

.track-description{
    margin-bottom:36px;
}

.track-description h2,
.track-comments-section h2{
    font-size:23px;
    margin:0 0 16px;
}

.track-description p{
    white-space:pre-line;
    line-height:1.7;
    color:#c7c7c7;
    max-width:900px;
}

.track-comments-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
}

.track-comments-head select{
    background:#181818;
    color:#ddd;
    border:1px solid #303030;
    padding:8px 10px;
}

.track-comments-list{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.track-comments-empty{
    color:#777;
    padding:15px 0;
}

.track-comment-row{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    padding:12px 0;
    transition:background .25s;
}

.track-comment-row.flash{
    background:rgba(214,174,37,.07);
}

.track-comment-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#282116;
    border:1px solid #5f4c17;
    color:#e6c54d;
    display:grid;
    place-items:center;
    overflow:hidden;
    font-weight:900;
}

.track-comment-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.track-comment-head{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    font-size:12px;
}

.track-comment-head strong{
    color:#eee;
}

.track-comment-jump{
    border:0;
    background:transparent;
    color:#c8a832;
    padding:0;
    cursor:pointer;
}

.track-comment-date{
    color:#696969;
}

.track-comment-text{
    color:#c5c5c5;
    margin-top:5px;
    line-height:1.5;
}

.track-comment-delete{
    border:0;
    background:transparent;
    color:#8f5555;
    padding:4px 0 0;
    font-size:10px;
    cursor:pointer;
}

.track-artist-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-decoration:none;
    color:#eee;
}

.track-artist-card img,
.track-artist-avatar-placeholder{
    width:96px;
    height:96px;
    object-fit:cover;
    border-radius:50%;
    margin-bottom:10px;
}

.track-artist-avatar-placeholder{
    display:grid;
    place-items:center;
    background:#211c13;
    color:#e1bf45;
    font-size:30px;
    font-weight:900;
}

.track-artist-card strong{
    font-size:16px;
}

.track-artist-card span{
    color:#777;
    font-size:11px;
}

.track-meta-side{
    margin-top:24px;
}

.track-meta-side>div{
    margin-bottom:16px;
    color:#d0d0d0;
}

.track-meta-side small{
    display:block;
    color:#666;
    text-transform:uppercase;
    font-size:9px;
    letter-spacing:.08em;
    margin-bottom:3px;
}

/* compact artist-page social row */

.artist-track-title-link{
    text-decoration:none;
    color:inherit;
}

.artist-track-title-link:hover .artist-track-title{
    color:#e1bf45;
}

.artist-social-mini{
    display:flex;
    gap:13px;
    align-items:center;
    margin-right:auto;
    color:#757575;
    font-size:10px;
}

.artist-social-mini a{
    color:#757575;
    text-decoration:none;
}

.artist-social-mini a:hover{
    color:#d6ae25;
}

@media(max-width:900px){
    .track-hero{
        grid-template-columns:1fr 250px;
        gap:25px;
    }

    .track-lower-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){
    .track-page-shell{
        width:calc(100% - 18px);
    }

    .track-hero{
        display:flex;
        flex-direction:column-reverse;
        padding:18px;
    }

    .track-cover-side{
        width:180px;
    }

    .track-topline{
        display:block;
    }

    .track-big-player{
        grid-template-columns:45px minmax(0,1fr);
        padding-top:35px;
    }

    .track-big-play{
        width:44px;
        height:44px;
        font-size:18px;
    }

    .track-social-strip{
        align-items:flex-start;
        flex-direction:column;
    }

    .track-action-strip{
        align-items:flex-start;
    }

    .track-comment-quick{
        grid-template-columns:1fr;
    }

    .track-comment-quick button{
        height:38px;
    }
}
/* =========================================================
   ARMAORA PLAYBACK COMMENT POPUPS v1
   ========================================================= */

.artist-live-comment-slot{
    height:25px;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.artist-live-comment{
    display:inline-flex;
    align-items:center;
    gap:7px;
    max-width:min(720px,92%);
    min-width:0;
    padding:3px 8px;
    border-radius:4px;
    background:#252525;
    color:#ddd;
    font-size:11px;
    line-height:18px;
    opacity:0;
    transform:translateY(2px);
    pointer-events:none;
    transition:opacity .14s ease,transform .14s ease;
}

.artist-live-comment.show{
    opacity:1;
    transform:translateY(0);
}

.artist-live-comment-name{
    flex:0 0 auto;
    color:#a9a9a9;
    font-weight:800;
}

.artist-live-comment-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#eee;
}

.artist-live-comment-emoji{
    font-family:
        "Segoe UI Emoji",
        "Apple Color Emoji",
        "Noto Color Emoji",
        sans-serif;
}

.track-live-comment-slot{
    min-height:30px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding-top:2px;
}

.track-live-comment{
    display:inline-flex;
    align-items:center;
    gap:8px;
    max-width:min(760px,92%);
    min-width:0;
    padding:5px 10px;
    border-radius:4px;
    background:rgba(22,22,22,.92);
    color:#eee;
    font-size:12px;
    opacity:0;
    transform:translateY(3px);
    pointer-events:none;
    transition:opacity .14s ease,transform .14s ease;
}

.track-live-comment.show{
    opacity:1;
    transform:translateY(0);
}

.track-live-comment-name{
    flex:0 0 auto;
    color:#a9a9a9;
    font-weight:800;
}

.track-live-comment-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media(max-width:580px){
    .artist-live-comment{
        max-width:100%;
        font-size:10px;
    }

    .track-live-comment{
        max-width:100%;
        font-size:11px;
    }
}
/* =========================================================
   ARMAORA FOLLOW SYSTEM v1
   ========================================================= */

.artist-follow-tools{
    display:flex;
    align-items:center;
    gap:14px;
    margin-left:auto;
    padding-left:18px;
    white-space:nowrap;
}

.artist-follow-button{
    appearance:none;
    border:1px solid #d6ae25;
    background:#d6ae25;
    color:#090909;
    min-width:96px;
    height:34px;
    padding:0 15px;
    border-radius:4px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    cursor:pointer;
}

.artist-follow-button:hover{
    filter:brightness(1.06);
}

.artist-follow-button.following{
    background:#171717;
    color:#d6ae25;
}

.artist-follow-button:disabled{
    opacity:.55;
    cursor:default;
}

.artist-follow-counts{
    display:flex;
    align-items:center;
    gap:12px;
    color:#858585;
    font-size:11px;
}

.artist-follow-counts strong{
    color:#ddd;
    font-size:12px;
}

.artist-bar-stats{
    margin-left:22px;
}

.following-summary{
    display:flex;
    align-items:baseline;
    gap:9px;
    margin:22px 0;
}

.following-summary strong{
    color:#d6ae25;
    font-size:34px;
    line-height:1;
}

.following-summary span{
    color:#999;
}

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

.following-card{
    display:grid;
    grid-template-columns:64px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    min-width:0;
    padding:12px;
    background:#0d0d0d;
    border:1px solid #222;
    border-radius:8px;
    color:#eee;
    text-decoration:none;
}

.following-card:hover{
    border-color:#4d4120;
}

.following-card img,
.following-avatar-placeholder{
    width:64px;
    height:64px;
    border-radius:50%;
    object-fit:cover;
}

.following-avatar-placeholder{
    display:grid;
    place-items:center;
    background:#202020;
    font-size:24px;
    font-weight:900;
}

.following-card-body{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.following-card-body strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.following-card-body span{
    color:#aaa;
    font-size:12px;
    margin-top:2px;
}

.following-card-body small{
    color:#747474;
    margin-top:7px;
}

.following-open{
    color:#d6ae25;
    font-size:11px;
    font-weight:900;
}

.account-following-box{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #262626;
}

.account-following-box h2{
    margin:0 0 7px;
}

.account-following-box p{
    margin:0 0 14px;
    color:#8d8d8d;
}

@media(max-width:1050px){
    .artist-bar{
        flex-wrap:wrap;
    }

    .artist-follow-tools{
        order:3;
        width:100%;
        margin-left:0;
        padding:10px 0 0;
    }

    .artist-bar-stats{
        margin-left:auto;
    }
}

@media(max-width:700px){
    .following-grid{
        grid-template-columns:1fr;
    }

    .artist-follow-tools{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
}
/* =========================================================
   ARMAORA SOCIAL CONNECTIONS + BLOCK v1
   ========================================================= */
.artist-follow-counts a{
    color:#858585;
    text-decoration:none;
}
.artist-follow-counts a:hover{
    color:#d6ae25;
}
.artist-follow-counts a:hover strong{
    color:#d6ae25;
}
.artist-block-button{
    appearance:none;
    border:1px solid #3a3a3a;
    background:#141414;
    color:#8f8f8f;
    min-width:74px;
    height:34px;
    padding:0 12px;
    border-radius:4px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.04em;
    cursor:pointer;
}
.artist-block-button:hover{
    color:#ddd;
    border-color:#666;
}
.artist-block-button.blocked{
    color:#e19a9a;
    border-color:#6d3535;
    background:#211010;
}

/* =========================================================
   ARMAORA FAST WAVEFORMS v1
   ========================================================= */

.artist-wave-player.artist-wave-deferred .artist-waveform,
.artist-wave-player.artist-wave-loading .artist-waveform{
    background:
        linear-gradient(
            to bottom,
            transparent 49%,
            rgba(120,120,120,.34) 49%,
            rgba(120,120,120,.34) 51%,
            transparent 51%
        );
}

.artist-wave-player.artist-wave-loading .artist-waveform{
    opacity:.78;
}

.artist-wave-player.artist-wave-ready .artist-waveform{
    background:none;
    opacity:1;
}


/* =========================================================
   ARMAORA MESSAGING v1 - ARTIST MESSAGE BUTTON
   ========================================================= */
.artist-message-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    height:34px;
    padding:0 12px;
    border:1px solid #3a3a3a;
    border-radius:4px;
    background:#151515;
    color:#cfcfcf;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
    letter-spacing:.04em;
}
.artist-message-button:hover{
    color:#d6ae25;
    border-color:#6b581e;
    background:#19170f;
}

/* =========================================================
   ARMAORA ABOUT SIDE PANEL TYPOGRAPHY v1
   Compact artist information / biography column
   ========================================================= */

.artist-layout > aside{
    font-size:13px !important;
    line-height:1.48 !important;
}

.artist-layout > aside .artist-section{
    padding-bottom:22px !important;
}

.artist-layout > aside .artist-section h2{
    margin:0 0 13px !important;
    font-size:18px !important;
    line-height:1.2 !important;
}

.artist-side-about{
    margin:0 !important;
}

.artist-side-about p{
    max-width:none !important;
    margin:0 !important;
    color:#d5d5d5 !important;
    font-size:13px !important;
    line-height:1.5 !important;
    white-space:pre-line;
}

.artist-layout > aside .artist-side-row{
    padding:6px 0 !important;
}

.artist-layout > aside .artist-side-label{
    display:block !important;
    margin-bottom:2px !important;
    color:#737373 !important;
    font-size:9px !important;
    font-weight:700 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
}

.artist-layout > aside .artist-side-value{
    font-size:13px !important;
    line-height:1.35 !important;
}

.artist-layout > aside .artist-owner-actions{
    margin-top:13px !important;
}

.artist-layout > aside .artist-owner-actions .account-button{
    min-height:34px !important;
    padding:7px 11px !important;
    font-size:11px !important;
}

/*
 * A slightly wider side column gives biography text a more natural line
 * length without stealing much space from the waveform area.
 */
@media(min-width:1101px){
    .artist-layout{
        grid-template-columns:minmax(0,1fr) 330px !important;
        gap:38px !important;
    }
}

@media(max-width:850px){
    .artist-side-about p{
        max-width:760px !important;
    }
}


/* =========================================================
   ARMAORA INLINE ARTIST EDITOR v1
   ========================================================= */

.artist-edit-lock{
    overflow:hidden;
}

.artist-edit-open{
    cursor:pointer;
}

.artist-edit-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:10000;
}

.artist-edit-modal.is-open{
    display:block;
}

.artist-edit-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.82);
    backdrop-filter:blur(3px);
}

.artist-edit-dialog{
    position:relative;
    width:min(900px,calc(100% - 30px));
    max-height:calc(100vh - 36px);
    margin:18px auto;
    overflow:auto;
    background:#101010;
    border:1px solid #303030;
    border-radius:9px;
    box-shadow:0 24px 80px rgba(0,0,0,.65);
}

.artist-edit-head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:18px 22px;
    background:#101010;
    border-bottom:1px solid #262626;
}

.artist-edit-kicker{
    color:#d6ae25;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}

.artist-edit-head h2{
    margin:3px 0 0!important;
    font-size:24px!important;
}

.artist-edit-close{
    width:36px;
    height:36px;
    border:1px solid #363636;
    border-radius:50%;
    background:#171717;
    color:#ddd;
    font-size:22px;
    cursor:pointer;
}

.artist-edit-form{
    padding:22px;
}

.artist-edit-top{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:25px;
    align-items:start;
}

.artist-edit-image-column{
    text-align:center;
}

.artist-edit-avatar{
    width:150px;
    height:150px;
    border-radius:50%;
    object-fit:cover;
    background:#181818;
    border:2px solid #282828;
}

.artist-edit-avatar-empty{
    display:grid;
    place-items:center;
    margin:0 auto;
    color:#d6ae25;
    font-size:38px;
}

.artist-edit-fields{
    display:grid;
    gap:13px;
}

.artist-edit-fields label,
.artist-edit-bio-label{
    display:block;
}

.artist-edit-fields label > span,
.artist-edit-bio-label > span{
    display:block;
    margin-bottom:5px;
    color:#d7d7d7;
    font-size:11px;
    font-weight:800;
}

.artist-edit-fields input,
.artist-edit-bio-label textarea{
    width:100%;
    border:1px solid #333;
    border-radius:4px;
    background:#2c2c2c;
    color:#f2f2f2;
    padding:10px 11px;
    font:inherit;
    font-size:13px;
}

.artist-edit-fields input[readonly]{
    color:#8d8d8d;
    background:#222;
}

.artist-edit-two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.artist-edit-bio-label{
    margin-top:18px;
}

.artist-edit-bio-label textarea{
    min-height:145px;
    resize:vertical;
    line-height:1.45;
}

.artist-edit-upload{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:10px;
    min-height:36px;
    padding:0 12px;
    border-radius:5px;
    background:#292929;
    border:1px solid #3a3a3a;
    color:#eee;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}

.artist-edit-upload input{
    display:none;
}

.artist-edit-file-note{
    margin-top:6px;
    color:#696969;
    font-size:9px;
    line-height:1.4;
}

.artist-edit-banner-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid #272727;
}

.artist-edit-banner-preview{
    display:block;
    width:100%;
    max-height:170px;
    object-fit:cover;
    margin-top:12px;
    border-radius:5px;
    border:1px solid #282828;
}

.artist-edit-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:22px;
    padding-top:17px;
    border-top:1px solid #272727;
}

.artist-edit-cancel,
.artist-edit-save{
    min-height:38px;
    padding:0 15px;
    border-radius:5px;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

.artist-edit-cancel{
    border:1px solid #363636;
    background:#202020;
    color:#ddd;
}

.artist-edit-save{
    border:1px solid #d6ae25;
    background:#d6ae25;
    color:#080808;
}

@media(max-width:650px){
    .artist-edit-top{
        grid-template-columns:1fr;
    }

    .artist-edit-image-column{
        text-align:left;
    }

    .artist-edit-avatar{
        width:110px;
        height:110px;
    }

    .artist-edit-two{
        grid-template-columns:1fr;
    }

    .artist-edit-banner-row{
        display:block;
    }
}


/* =========================================================
   ARMAORA ARTIST SOCIAL LINKS v1
   ========================================================= */

.artist-profile-links{
    display:grid;
    gap:7px;
    margin-top:17px;
    padding-top:14px;
    border-top:1px solid #242424;
}

.artist-profile-link{
    display:flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    color:#9a9a9a;
    text-decoration:none;
    font-size:12px;
    line-height:1.35;
}

.artist-profile-link:hover{
    color:#d6ae25;
}

.artist-profile-link-icon{
    display:grid;
    place-items:center;
    width:17px;
    height:17px;
    border:1px solid #494949;
    border-radius:50%;
    color:#777;
    font-size:9px;
    flex:0 0 17px;
}

.artist-profile-link:hover .artist-profile-link-icon{
    border-color:#7a641d;
    color:#d6ae25;
}

.artist-edit-links{
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid #272727;
}

.artist-edit-links-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    margin-bottom:10px;
}

.artist-edit-links-head strong{
    font-size:12px;
}

.artist-edit-link-add{
    min-height:32px;
    padding:0 10px;
    border:1px solid #3a3a3a;
    border-radius:5px;
    background:#242424;
    color:#eee;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}

.artist-edit-link-list{
    display:grid;
    gap:8px;
}

.artist-edit-link-row{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(120px,.8fr) 34px;
    gap:8px;
    align-items:center;
}

.artist-edit-link-row input{
    width:100%;
    border:1px solid #333;
    border-radius:4px;
    background:#2c2c2c;
    color:#f2f2f2;
    padding:9px 10px;
    font:inherit;
    font-size:12px;
}

.artist-edit-link-remove{
    width:34px;
    height:34px;
    border:1px solid #4d3030;
    border-radius:5px;
    background:#231313;
    color:#db9292;
    font-size:18px;
    cursor:pointer;
}

@media(max-width:650px){
    .artist-edit-links-head{
        display:block;
    }

    .artist-edit-link-add{
        margin-top:9px;
    }

    .artist-edit-link-row{
        grid-template-columns:1fr 1fr 34px;
    }
}

@media(max-width:480px){
    .artist-edit-link-row{
        grid-template-columns:1fr 34px;
    }

    .artist-edit-link-row input:nth-child(2){
        grid-column:1;
    }

    .artist-edit-link-remove{
        grid-column:2;
        grid-row:1 / span 2;
    }
}
