/* =========================================================
   PPABAM RADIO v0.0.3
   PPABAM PLAYER / COMMUNITY 통합 다크 UI
   ========================================================= */

#ppabam-radio, #ppabam-radio * { box-sizing: border-box; }

.content {
    min-height: 250px;
    padding: 0px !important;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0px !important;
    padding-right: 0px !important;
}


.ppabam-radio{
    --bg:#08090d;
    --panel:#0e1016;
    --panel2:#12151d;
    --line:#242934;
    --line2:#303744;
    --text:#f2f4f8;
    --muted:#7e8797;
    --accent:#ff4d67;
    --accent2:#7658ff;
    --green:#5bd39b;
    width:100%;
    min-height:calc(100vh - 70px);
    background:
      radial-gradient(circle at 12% 8%,rgba(255,77,103,.06),transparent 24%),
      radial-gradient(circle at 88% 12%,rgba(118,88,255,.07),transparent 25%),
      var(--bg);
    color:var(--text);
    overflow-x:hidden;
}

.radio-screen{
    width:calc(100% - 32px);
  
    min-height:calc(100vh - 70px);
    padding:18px 0 34px;
    margin:0 auto;
}

.radio-hero{
    width:100%;
    border:1px solid var(--line);
    border-radius:14px;
    padding:19px 20px 20px;
    background:
      linear-gradient(120deg,rgba(255,255,255,.018),transparent 32%),
      linear-gradient(135deg,#0f1118,#0b0d12 68%,#10121a);
    box-shadow:0 18px 50px rgba(0,0,0,.20);
}

.radio-hero-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.radio-kicker{
    margin:0 0 4px;
    color:#6f7888;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}

.radio-hero h1{
    margin:0;
    font-size:27px;
    line-height:1;
    letter-spacing:-.04em;
}
.radio-hero h1 span{color:var(--accent);}
.radio-desc{
    margin:7px 0 0;
    color:#8a93a2;
    font-size:12px;
}

.radio-live-badge{
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border:1px solid rgba(255,77,103,.25);
    border-radius:999px;
    background:rgba(255,77,103,.055);
    color:#c98c98;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}
.radio-live-badge i,.radio-onair i{
    width:6px;height:6px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 10px rgba(255,77,103,.85);
}

/* RADIO CONSOLE */
.radio-console{
    display:grid;
    grid-template-columns:minmax(270px,1.05fr) minmax(380px,1.75fr) 150px;
    align-items:center;
    gap:18px;
    min-height:132px;
    margin-top:16px;
    padding:17px 18px;
    border:1px solid #282e39;
    border-radius:13px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.018),transparent 45%),
      #0a0c11;
    box-shadow:inset 0 1px rgba(255,255,255,.025);
}

.radio-console-left{
    display:flex;
    align-items:center;
    gap:15px;
    min-width:0;
}

.radio-record{
    position:relative;
    flex:0 0 96px;
    width:96px;
    height:96px;
    border-radius:50%;
    overflow:hidden;
    background:#0b0e13;
    border:1px solid #343a45;
    box-shadow:
      0 10px 24px rgba(0,0,0,.40),
      inset 0 0 0 3px #171b22,
      inset 0 0 0 4px rgba(255,255,255,.05);
}

/* 방송국 썸네일은 디스크 안쪽 전체를 채움 */
.radio-record-center{
    position:absolute;
    inset:5px;
    z-index:1;
    border-radius:50%;
    overflow:hidden;
    background:#10141a;
}
.radio-record-center img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:none;
    border-radius:50%;
}
.radio-record-center span{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:
      radial-gradient(circle at 55% 40%,rgba(255,255,255,.08),transparent 32%),
      linear-gradient(135deg,#202630,#0e1117);
    color:#9aa4b3;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
}

/* LP 홈과 은은한 반사광 */
.radio-record::before{
    content:"";
    position:absolute;
    inset:5px;
    z-index:2;
    pointer-events:none;
    border-radius:50%;
    background:
      repeating-radial-gradient(
        circle,
        transparent 0 5px,
        rgba(255,255,255,.10) 6px 7px,
        transparent 8px 12px
      ),
      conic-gradient(
        from 205deg,
        transparent 0 13%,
        rgba(84,210,255,.16) 18%,
        transparent 30%,
        rgba(137,87,255,.15) 42%,
        transparent 56%,
        rgba(255,77,103,.12) 68%,
        transparent 82%
      );
    mix-blend-mode:screen;
}

/* 겉 테두리는 썸네일이 침범하지 않게 별도 유지 */
.radio-record-ring{
    position:absolute;
    inset:1px;
    z-index:4;
    border-radius:50%;
    border:2px solid #242a33;
    box-shadow:
      inset 0 0 0 2px rgba(255,255,255,.035),
      0 0 0 1px rgba(0,0,0,.65);
    pointer-events:none;
}

/* 참고 이미지처럼 가운데 회색 링 + 검정 구멍 */
.radio-record::after{
    content:"";
    position:absolute;
    z-index:5;
    left:50%;
    top:50%;
    width:10px;
    height:10px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#000;
    box-shadow:
      0 0 0 5px #151920,
      0 0 0 7px rgba(0,0,0,.48),
      inset 0 1px 2px rgba(255,255,255,.28);
    pointer-events:none;
}
.radio-record-center::after{
    content:"";
    position:absolute;
    z-index:6;
    left:50%;
    top:50%;
    width:13px;
    height:13px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#05070a;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.06),
      0 0 5px rgba(0,0,0,.65);
    pointer-events:none;
}

.radio-console.playing .radio-record{
    animation:radioDiskSpin 4.8s linear infinite;
}
@keyframes radioDiskSpin{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}

.radio-now-info{min-width:0;}
.radio-onair{
    display:inline-flex;align-items:center;gap:6px;
    margin-bottom:8px;color:#ff8193;font-size:10px;font-weight:900;letter-spacing:.09em;
}
.radio-now-info strong{
    display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-size:18px;color:#f4f6fa;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-now-info>span:last-child{
    display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    color:#8c96a6;font-size:12px;
}

.radio-console-center{
    min-width:0;
    display:grid;
    grid-template-columns:115px minmax(150px,1fr);
    grid-template-areas:"freq eq" "controls controls";
    gap:9px 14px;
    align-items:end;
}

.radio-frequency{
    grid-area:freq;
    height:55px;padding:7px 10px;border:1px solid #272d38;border-radius:9px;
    background:#080a0e;text-align:right;font-family:Consolas,monospace;
}
.radio-frequency-label{display:block;text-align:left;color:#4d5665;font-size:7px;letter-spacing:.1em;}
.radio-frequency strong{font-size:24px;color:#ff647b;letter-spacing:-.06em;}
.radio-frequency small{font-size:8px;color:#656f7e;margin-left:3px;}

.radio-eq{
    grid-area:eq;
    height:55px;
    display:flex;
    align-items:flex-end;
    justify-content:stretch;
    gap:2px;
    padding:3px 4px 2px;
    overflow:hidden;
    border:1px solid #242a34;
    border-radius:9px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.015),transparent),
      #07090d;
}
.radio-eq i{
    display:block;
    flex:1 1 0;
    min-width:0;
    max-width:none;
    height:18%;
    border-radius:2px 2px 0 0;
    opacity:.98;
    box-shadow:0 0 5px currentColor;
}
.radio-eq i:nth-child(1){background:#ff3f5f;color:#ff3f5f}
.radio-eq i:nth-child(2){background:#ff5a3f;color:#ff5a3f}
.radio-eq i:nth-child(3){background:#ff7d25;color:#ff7d25}
.radio-eq i:nth-child(4){background:#ffa51f;color:#ffa51f}
.radio-eq i:nth-child(5){background:#ffd43b;color:#ffd43b}
.radio-eq i:nth-child(6){background:#b9e842;color:#b9e842}
.radio-eq i:nth-child(7){background:#5ee56e;color:#5ee56e}
.radio-eq i:nth-child(8){background:#26dfad;color:#26dfad}
.radio-eq i:nth-child(9){background:#20d8df;color:#20d8df}
.radio-eq i:nth-child(10){background:#29bcff;color:#29bcff}
.radio-eq i:nth-child(11){background:#3d91ff;color:#3d91ff}
.radio-eq i:nth-child(12){background:#5e72ff;color:#5e72ff}
.radio-eq i:nth-child(13){background:#815cff;color:#815cff}
.radio-eq i:nth-child(14){background:#a34cff;color:#a34cff}
.radio-eq i:nth-child(15){background:#c548f5;color:#c548f5}
.radio-eq i:nth-child(16){background:#e244d5;color:#e244d5}
.radio-eq i:nth-child(17){background:#f647ae;color:#f647ae}
.radio-eq i:nth-child(18){background:#ff5587;color:#ff5587}

.radio-console.playing .radio-eq i{
    animation:radioEq .58s ease-in-out infinite alternate;
}
.radio-console.playing .radio-eq i:nth-child(2n){animation-duration:.38s}
.radio-console.playing .radio-eq i:nth-child(3n){animation-duration:.76s}
.radio-console.playing .radio-eq i:nth-child(5n){animation-duration:.49s}
@keyframes radioEq{
    from{height:12%}
    to{height:100%}
}

.radio-controls{
    grid-area:controls;display:grid;grid-template-columns:34px 43px minmax(120px,1fr);
    gap:9px;align-items:center;
}
.radio-round-btn,.radio-play-main{
    border:1px solid #303744;background:#12161d;color:#d8dde6;cursor:pointer;
}
.radio-round-btn{width:38px;height:38px;border-radius:6px;}
.radio-play-main{
    width:38px;height:38px;border-radius:6px;border-color:rgba(255,77,103,.5);
    background:linear-gradient(145deg,#ff5a72,#e63854);color:#fff;font-size:14px;
    box-shadow:0 4px 16px rgba(255,77,103,.18);
}
#radioVolume{width:100%;accent-color:var(--accent);}

.radio-console-right{
    display:flex;flex-direction:column;justify-content:center;gap:13px;
    min-height:88px;padding-left:15px;border-left:1px solid #20252e;
}
.radio-signal>span,.radio-source-mini{font-size:8px;color:#535d6b;font-weight:800;letter-spacing:.1em;}
.radio-signal-bars{display:flex;align-items:flex-end;gap:3px;height:26px;margin-top:5px;}
.radio-signal-bars i{width:6px;background:#596372;border-radius:2px;}
.radio-signal-bars i:nth-child(1){height:7px}.radio-signal-bars i:nth-child(2){height:11px}
.radio-signal-bars i:nth-child(3){height:16px}.radio-signal-bars i:nth-child(4){height:21px}.radio-signal-bars i:nth-child(5){height:26px;background:var(--green)}
.radio-source-mini strong{display:block;margin-top:4px;color:#8892a1;font-size:9px;}

/* FILTER */
.radio-filter-panel{
    display:grid;
    grid-template-columns:minmax(260px,1.8fr) repeat(4,minmax(125px,.7fr)) 76px 76px;
    gap:8px;
    margin-top:14px;
    padding:11px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#0c0f14;
}
.radio-search-box{
    display:flex;align-items:center;gap:8px;padding:0 11px;
    height:38px;border:1px solid #2a303b;border-radius:8px;background:#11141a;
}
.radio-search-box span{color:#606a79;font-size:15px;}
.radio-search-box input{
    width:100%;height:100%;border:0;outline:0;background:transparent;color:#fff;font-size:11px;
}
.radio-select,.radio-action-btn{
    height:38px;border:1px solid #2a303b;border-radius:8px;background:#11141a;color:#bec5d0;
    padding:0 9px;font-size:10px;outline:none;
}
.radio-action-btn{cursor:pointer;font-weight:800;}
.radio-action-btn.primary{border-color:#e33d58;background:#e33d58;color:white;}

.radio-list-head{
    display:flex;justify-content:space-between;align-items:end;gap:20px;
    margin:17px 2px 9px;
}
.radio-list-head strong{display:block;font-size:17px;font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;}
.radio-list-head span{display:block;margin-top:4px;color:#7c8696;font-size:12px;}
.radio-page-info{color:#7b8594;font:700 11px/1 Consolas,monospace;letter-spacing:.08em;}

/* 5 COLUMNS */
.radio-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}
.radio-card{
    position:relative;min-width:0;overflow:hidden;
    border:1px solid #202630;border-radius:11px;background:#0d1015;
    transition:.15s ease;
}
.radio-card:hover{transform:translateY(-2px);border-color:#343d4a;background:#10141b;}
.radio-card-cover{
    position:relative;
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px;
    background:
      radial-gradient(circle at 50% 45%,#252b35 0,#171b22 48%,#0f1217 100%);
}
.radio-card-cover img{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    display:block;
    border-radius:10px;
    background:#0c0f14;
}
.radio-card-cover::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    box-shadow:inset 0 -42px 48px rgba(8,10,14,.16);
}
.radio-card-play{
    position:absolute;z-index:2;right:9px;bottom:8px;width:34px;height:34px;border-radius:50%;
    border:1px solid rgba(255,255,255,.16);background:rgba(255,77,103,.92);color:white;cursor:pointer;
    box-shadow:0 5px 16px rgba(0,0,0,.28);
}
.radio-card-body{padding:11px 11px 12px;}
.radio-card-title{
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e8ebf0;font-size:13px;font-weight:850;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-card-meta{margin-top:5px;color:#687282;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;}
.radio-card-tags{
    height:30px;margin-top:6px;color:#8d96a4;font-size:10px;line-height:15px;overflow:hidden;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-card-footer{
    display:flex;align-items:center;justify-content:space-between;gap:5px;
    margin-top:8px;padding-top:7px;border-top:1px solid #1d222a;
}
.radio-codec{font:700 10px/1 Consolas,monospace;color:#697485;}
.radio-home{
    color:#9ba4b2;text-decoration:none;font-size:10px;font-weight:800;
}
.radio-home:hover{color:#ff7187;}

.radio-loading,.radio-empty,.radio-error{
    grid-column:1/-1;padding:30px;border:1px solid #252b35;border-radius:11px;background:#0e1117;
    color:#7f8998;text-align:center;font-size:11px;
}
.radio-error{border-color:#5a2d36;color:#ff9aac;background:#211015;}

.radio-pagination{
    display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 5px;
}
.radio-pagination button,#radioPageNumbers button{
    min-width:34px;height:32px;border:1px solid #252c36;border-radius:7px;background:#0f1218;color:#85909f;
    font-size:9px;font-weight:800;cursor:pointer;
}
#radioPageNumbers{display:flex;gap:5px;}
#radioPageNumbers button.active{border-color:#ff4d67;background:rgba(255,77,103,.12);color:#ff7187;}
.radio-pagination button:disabled{opacity:.3;cursor:default;}

.radio-footnote{
    margin:11px 0 0;color:#555f6e;text-align:center;font-size:11px;
}

/* PPABAM COMMUNITY 본문 폭을 따르는 중앙 정렬형 */
#ppabam-radio{
    width:100%;
    margin:0;
}

@media(max-width:1450px){
    .radio-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
    .radio-filter-panel{grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(120px,.7fr)) 78px 78px}
    #radioLanguageSelect{display:none}
}
@media(max-width:1120px){
    .radio-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
    .radio-console{grid-template-columns:1fr 1.4fr}.radio-console-right{display:none}
    .radio-filter-panel{grid-template-columns:1fr 1fr 1fr 1fr}
    .radio-search-box{grid-column:1/-1}
}
@media(max-width:760px){
    .radio-screen{padding:10px 9px 24px}
    .radio-hero{padding:14px}
    .radio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .radio-console{grid-template-columns:1fr;gap:12px}
    .radio-console-center{grid-template-columns:95px 1fr}
    .radio-console-left{min-width:0}
    .radio-record{flex-basis:78px;width:78px;height:78px}
    .radio-filter-panel{grid-template-columns:1fr 1fr}
    .radio-search-box{grid-column:1/-1}
    .radio-live-badge{display:none}
}
@media(max-width:440px){
    .radio-grid{grid-template-columns:1fr 1fr}
    .radio-card-body{padding:8px}
    .radio-console-center{grid-template-columns:1fr}
    .radio-frequency{display:none}
    .radio-eq{grid-area:auto}
    .radio-controls{grid-area:auto}
}

/* v0.0.4 - PPABAM COMMUNITY main-width alignment */
@media (min-width:1100px) and (max-width:1250px){
    .radio-grid{
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:7px;
    }
    .radio-card-title{font-size:10.5px}
    .radio-filter-panel{
        grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(110px,.7fr)) 72px 72px;
    }
}

@media (max-width:760px){
    .radio-screen{
        width:calc(100% - 18px);
        padding-top:10px;
    }
}


/* v0.0.6 - larger text + accurate square logo display */
@media (min-width:1100px){
    .radio-card-title{font-size:13px;}
    .radio-card-meta{font-size:10.5px;}
    .radio-card-tags{font-size:10px;line-height:15px;height:30px;}
    .radio-card-body{padding:11px 11px 12px;}
    .radio-card-play{width:34px;height:34px;right:9px;bottom:9px;}
}

@media (max-width:760px){
    .radio-card-cover{padding:10px;}
    .radio-card-title{font-size:12px;}
    .radio-card-meta{font-size:10px;}
    .radio-card-tags{font-size:9.5px;line-height:14px;height:28px;}
}

.radio-card-logo-fallback{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    border:1px solid #2b313b;
    border-radius:10px;
    background:
      radial-gradient(circle at 50% 40%,rgba(255,77,103,.16),transparent 45%),
      #11151b;
    color:#707988;
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
}

.radio-console.playing .radio-record{
    animation: radioDiskSpin 4.8s linear infinite;
}
{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
}


/* =========================================================
   v0.0.12 - 방송국 등록
   ========================================================= */
.radio-hero-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.radio-register-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:31px;
    padding:0 12px;
    border:1px solid rgba(255,77,103,.35);
    border-radius:999px;
    background:rgba(255,77,103,.08);
    color:#ff7187;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}
.radio-register-btn:hover{
    color:#fff;
    border-color:#ff4d67;
    background:#ff4d67;
}

.radio-add-screen{
    max-width:1080px;
}
.radio-add-hero{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:14px;
    background:
      radial-gradient(circle at 12% 5%,rgba(255,77,103,.08),transparent 30%),
      linear-gradient(135deg,#10131a,#0b0d12);
}
.radio-add-hero h1{
    margin:0;
    font-size:25px;
}
.radio-add-hero>div>p:last-child{
    margin:8px 0 0;
    color:#8c96a6;
    font-size:12px;
}
.radio-add-back{
    color:#9ca5b4;
    text-decoration:none;
    font-size:11px;
    font-weight:700;
}

.radio-add-form{
    display:grid;
    gap:12px;
}
.radio-add-card{
    padding:20px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#0d1016;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-add-section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:15px;
    padding-bottom:10px;
    border-bottom:1px solid #20252e;
}
.radio-add-section-title strong{
    font-size:15px;
}
.radio-add-section-title span{
    color:#737d8c;
    font-size:11px;
}
.radio-add-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;

}
.radio-field{
    display:block;
}
.radio-field-full{
    grid-column:1/-1;
}
.radio-field>span{
    display:block;
    margin-bottom:7px;
    color:#333;
    font-size:12px;
    font-weight:800;
}
.radio-field input,
.radio-field textarea{
    width:100%;
    border:1px solid #2b313c;
    border-radius:9px;
    background:#11151c;
    color:#f3f5f8;
    outline:none;
    font-size:12px;
}
.radio-field input{
    height:35px;
    padding:0 12px;
}
.radio-field textarea{
    min-height:110px;
    padding:12px;
    resize:vertical;
}
.radio-field input:focus,
.radio-field textarea:focus{
    border-color:#ff4d67;
    box-shadow:0 0 0 2px rgba(255,77,103,.08);
}
.radio-field small{
    display:block;
    margin-top:6px;
    color:#667180;
    font-size:11px;
}
.radio-owner-options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.radio-owner-options label{
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:14px;
    border:1px solid #282e38;
    border-radius:10px;
    background:#10141a;
    cursor:pointer;
}
.radio-owner-options input{
    margin-top:2px;
    accent-color:#ff4d67;
}
.radio-owner-options b,
.radio-owner-options small{
    display:block;
}
.radio-owner-options b{
    color:#333;
    font-size:12px;
}
.radio-owner-options small{
    margin-top:4px;
    color:#747f8f;
    font-size:11px;
}
.radio-agree-card{
    display:grid;
    gap:10px;
}
.radio-agree{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:#aeb6c2;
    font-size:10px;
    line-height:1.5;
}
.radio-agree input{
    margin-top:2px;
    accent-color:#ff4d67;
}
.radio-add-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
}
.radio-add-cancel,
.radio-add-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:110px;
    height:42px;
    padding:0 15px;
    border-radius:9px;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}
.radio-add-cancel{
    border:1px solid #2b313c;
    background:#10141a;
    color:#fff !important;
}
.radio-add-submit{
    border:1px solid #ff4d67;
    background:#ff4d67;
    color:#fff;
    cursor:pointer;
}
.radio-add-complete{
    max-width:680px;
    margin:30px auto;
    padding:40px 24px;
    border:1px solid #252b35;
    border-radius:16px;
    background:#0e1117;
    text-align:center;
}
.radio-complete-icon{
    width:54px;
    height:54px;
    margin:0 auto 14px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(91,211,155,.12);
    color:#5bd39b;
    font-size:23px;
    font-weight:900;
}
.radio-add-complete h1{
    margin:0 0 14px;
}
.radio-add-complete>strong{
    display:block;
    margin-bottom:8px;
    color:#ff7187;
}
.radio-add-complete>p{
    color:#84909f;
    font-size:12px;
}
.radio-complete-actions{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:20px;
}
.radio-complete-actions a{
    padding:10px 14px;
    border:1px solid #303744;
    border-radius:8px;
    background:#13171e;
    color:#d8dde5;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}

@media(max-width:760px){
    .radio-hero-actions{align-items:flex-end;flex-direction:column;}
    .radio-add-hero{padding:17px;}
    .radio-add-grid{grid-template-columns:1fr;}
    .radio-field-full{grid-column:auto;}
    .radio-owner-options{grid-template-columns:1fr;}
}


/* =========================================================
   v0.0.13 - RADIO 관리자
   ========================================================= */
.radio-admin-link-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:31px;
    padding:0 12px;
    border:1px solid #343b47;
    border-radius:999px;
    background:#12161d;
    color:#aeb7c5;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}
.radio-admin-link-btn:hover{
    color:#fff;
    border-color:#697485;
}
.radio-admin-screen{

}
.radio-admin-filter{
    display:grid;
    grid-template-columns:minmax(220px,1fr) 150px 75px 75px;
    gap:8px;
    margin-bottom:12px;
    padding:11px;
    border:1px solid #252b35;
    border-radius:11px;
    background:#0c0f14;
}
.radio-admin-filter input,
.radio-admin-filter select,
.radio-admin-filter button,
.radio-admin-filter a{
    height:38px;
    border:1px solid #2b313c;
    border-radius:8px;
    background:#11151c;
    color:#cbd1db;
    font-size:10px;
}
.radio-admin-filter input{padding:0 11px;}
.radio-admin-filter select{padding:0 8px;}
.radio-admin-filter button{cursor:pointer;font-weight:800;}
.radio-admin-filter a{
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}
.radio-admin-summary{
    margin:0 2px 9px;
    color:#7b8595;
    font-size:10px;
}
.radio-admin-summary strong{
    margin-right:4px;
    color:#f1f3f7;
    font-size:16px;
}
.radio-admin-list{
    display:grid;
    gap:9px;
}
.radio-admin-item{
    border:1px solid #242a34;
    border-radius:12px;
    background:#0d1016;
    overflow:hidden;
}
.radio-admin-item-head{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 65px;
    gap:11px;
    align-items:center;
    padding:11px 12px;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-admin-logo{
    width:48px;
    height:48px;
    overflow:hidden;
    border-radius:9px;
    background:#171b22;
}
.radio-admin-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.radio-admin-title{
    min-width:0;
}
.radio-admin-title-row{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
}
.radio-admin-title-row strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}
.radio-admin-title>span{
    display:block;
    margin-top:5px;
    color:#707a89;
    font-size:9px;
}
.radio-status-badge{
    flex:0 0 auto;
    padding:3px 7px;
    border-radius:999px;
    background:#1a1f27;
    color:#929cab;
    font-size:8px;
    font-weight:900;
}
.status-approved{background:rgba(91,211,155,.10);color:#6edda9}
.status-pending{background:rgba(255,190,75,.10);color:#ffc561}
.status-disabled{background:rgba(130,140,155,.12);color:#9ba4b2}
.status-blocked,.status-deleted{background:rgba(255,77,103,.10);color:#ff758a}
.status-rejected{background:rgba(208,104,255,.10);color:#d987ff}
.radio-admin-toggle{
    height:34px;
    border:1px solid #303744;
    border-radius:8px;
    background:#13171e;
    color:#bec6d2;
    cursor:pointer;
    font-size:12px;
    font-weight:600;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-admin-stream-row{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border-top:1px solid #1c2129;
    background:#090c11;
}
.radio-admin-stream-row code{
    min-width:0;
    flex:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#748091;
    font-size:11px;
}
.radio-admin-test{
    flex:0 0 auto;
    height:30px;
    padding:0 9px;
    border:1px solid #313844;
    border-radius:7px;
    background:#12171e;
    color:#aeb8c6;
    cursor:pointer;
    font-size:8px;
    font-weight:800;
}
.radio-admin-edit{
    display:none;
    padding:14px;
    border-top:1px solid #252b35;
    background:#0b0e13;
}
.radio-admin-edit.open{
    display:block;
}
.radio-admin-edit select{
    width:100%;
    height:35px;
    padding:0 10px;
    border:1px solid #2b313c;
    border-radius:9px;
    background:#11151c;
    color:#f3f5f8;
	  font-size:12px;
}
.radio-admin-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:7px;
    margin-top:13px;
}
.radio-admin-actions button{
    height:35px;
    padding:0 11px;
    border:1px solid #303744;
    border-radius:8px;
    background:#141820;
    color:#b6bfcb;
    cursor:pointer;
    font-size:12px;
    font-weight:600;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-admin-actions .approve{
    border-color:#3c9f76;
    background:#267653;
    color:white;
}
.radio-admin-actions .danger{
    border-color:#8c3141;
    background:#6e2633;
    color:#fff;
}
.radio-admin-pages{
    display:flex;
    justify-content:center;
    gap:5px;
    margin:17px 0;
}
.radio-admin-pages a{
    display:grid;
    place-items:center;
    min-width:31px;
    height:31px;
    border:1px solid #29303a;
    border-radius:7px;
    background:#10141a;
    color:#8893a2;
    text-decoration:none;
    font-size:9px;
    font-weight:800;
}
.radio-admin-pages a.active{
    border-color:#ff4d67;
    color:#ff7187;
}
.radio-admin-test-player{
    position:fixed;
    left:50%;
    bottom:20px;
    z-index:9999;
    width:min(760px,calc(100% - 30px));
    transform:translate(-50%,150%);
    transition:.2s ease;
    display:grid;
    grid-template-columns:minmax(150px,.7fr) minmax(280px,1.5fr) 32px;
    align-items:center;
    gap:10px;
    padding:11px;
    border:1px solid #313844;
    border-radius:12px;
    background:rgba(10,13,18,.97);
    box-shadow:0 20px 50px rgba(0,0,0,.45);
}
.radio-admin-test-player.show{
    transform:translate(-50%,0);
}
.radio-admin-test-player>div{
    min-width:0;
}
.radio-admin-test-player strong,
.radio-admin-test-player span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.radio-admin-test-player strong{font-size:11px;}
.radio-admin-test-player span{margin-top:4px;color:#6f7a89;font-size:8px;}
.radio-admin-test-player audio{
    width:100%;
    height:34px;
}
.radio-admin-test-player>button{
    width:32px;
    height:32px;
    border:1px solid #303744;
    border-radius:50%;
    background:#151920;
    color:#cbd1db;
    cursor:pointer;
}
@media(max-width:760px){
    .radio-admin-filter{grid-template-columns:1fr 1fr;}
    .radio-admin-filter input{grid-column:1/-1;}
    .radio-admin-item-head{grid-template-columns:42px minmax(0,1fr) 58px;}
    .radio-admin-logo{width:42px;height:42px;}
    .radio-admin-stream-row{align-items:flex-start;flex-direction:column;}
    .radio-admin-test-player{grid-template-columns:1fr 32px;}
    .radio-admin-test-player audio{grid-column:1/-1;grid-row:2;}
}


/* =========================================================
   v0.0.14 - 방송국 상세 + 댓글
   ========================================================= */
.radio-card-links{
    display:flex;
    align-items:center;
    gap:8px;
}
.radio-comment-link{
    color:#9da6b4;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}
.radio-comment-link:hover{color:#ff7187;}

.radio-detail-screen{
    max-width:1080px;
}
.radio-detail-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
}
.radio-detail-live{
    display:flex;
    align-items:center;
    gap:6px;
    color:#ff7187;
    font-size:9px;
    font-weight:900;
}
.radio-detail-live i{
    width:6px;height:6px;border-radius:50%;background:#ff4d67;
    box-shadow:0 0 9px rgba(255,77,103,.8);
}
.radio-detail-player{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) 260px;
    gap:22px;
    align-items:center;
    min-height:190px;
    padding:22px;
    border:1px solid #252b35;
    border-radius:15px;
    background:
      radial-gradient(circle at 15% 20%,rgba(255,77,103,.08),transparent 26%),
      linear-gradient(135deg,#10131a,#0a0d12);
}
.radio-detail-record{
    width:136px;height:136px;border-radius:50%;
    padding:8px;
    background:
      repeating-radial-gradient(circle,#252a33 0 2px,#101319 3px 6px);
    border:1px solid #343b47;
    box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.radio-detail-record-inner{
    position:relative;
    width:100%;height:100%;border-radius:50%;overflow:hidden;
    display:grid;place-items:center;background:#11151b;
}
.radio-detail-record-inner img{
    width:100%;height:100%;object-fit:cover;display:none;
}
.radio-detail-record-inner span{
    color:#8e98a7;font-size:13px;font-weight:900;
}
.radio-detail-record-inner::after{
    content:"";
    position:absolute;left:50%;top:50%;
    width:24px;height:24px;transform:translate(-50%,-50%);
    border-radius:50%;background:#080a0e;
    box-shadow:0 0 0 7px #68717d,0 0 0 11px #12161c;
}
.radio-detail-player.playing .radio-detail-record{
    animation:radioDiskSpin 4.8s linear infinite;
}
.radio-detail-info h1{
    margin:0;font-size:25px;line-height:1.2;
}
.radio-detail-info>p:not(.radio-kicker){
    margin:8px 0 0;color:#85909f;font-size:11px;
}
.radio-detail-actions{
    display:flex;gap:8px;margin-top:16px;
}
.radio-detail-actions button,
.radio-detail-actions a{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:105px;height:38px;padding:0 12px;
    border:1px solid #303744;border-radius:8px;background:#131820;
    color:#dce1e8;text-decoration:none;font-size:10px;font-weight:900;
}
.radio-detail-actions button{
    border-color:#ff4d67;background:#ff4d67;color:#fff;cursor:pointer;
}
.radio-detail-eq{
    height:105px;
    display:flex;align-items:flex-end;gap:3px;
    padding:8px;border:1px solid #242a34;border-radius:10px;background:#080a0e;
}
.radio-detail-eq i{
    flex:1;height:16%;border-radius:2px 2px 0 0;
    background:#ff4d67;
}
.radio-detail-eq i:nth-child(6n+1){background:#ff4d67}
.radio-detail-eq i:nth-child(6n+2){background:#ffad22}
.radio-detail-eq i:nth-child(6n+3){background:#54d66a}
.radio-detail-eq i:nth-child(6n+4){background:#18cdec}
.radio-detail-eq i:nth-child(6n+5){background:#6f61ff}
.radio-detail-eq i:nth-child(6n+6){background:#d64bea}
.radio-detail-player.playing .radio-detail-eq i{
    animation:radioEq .6s ease-in-out infinite alternate;
}
.radio-detail-player.playing .radio-detail-eq i:nth-child(2n){animation-duration:.38s}
.radio-detail-player.playing .radio-detail-eq i:nth-child(3n){animation-duration:.82s}

.radio-comments{
    margin-top:14px;
    padding:20px;
    border:1px solid #252b35;
    border-radius:14px;
    background:#0d1016;
}
.radio-comments-head{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid #20252e;
}
.radio-comments-head strong{font-size:16px;}
.radio-comments-head span{margin-left:7px;color:#ff7187;font-size:11px;font-weight:800;}
.radio-comment-form{
    padding:12px;border:1px solid #282e38;border-radius:10px;background:#10141a;
}
.radio-comment-form textarea{
    width:100%;min-height:76px;padding:10px;
    border:0;outline:0;resize:vertical;background:transparent;color:#eef1f6;
    font-size:12px;line-height:1.55;
}
.radio-comment-form>div{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:8px;border-top:1px solid #20252e;
}
.radio-comment-form span{color:#697485;font-size:9px;}
.radio-comment-form button{
    height:34px;padding:0 12px;border:1px solid #ff4d67;border-radius:8px;
    background:#ff4d67;color:#fff;font-size:10px;font-weight:900;cursor:pointer;
}
.radio-comment-login{
    padding:14px;border:1px solid #282e38;border-radius:9px;
    background:#10141a;color:#8d97a6;font-size:10px;
}
.radio-comment-login a{margin-left:8px;color:#ff7187;text-decoration:none;font-weight:800;}
.radio-comment-list{
    display:grid;gap:0;margin-top:12px;
}
.radio-comment-item{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:10px;
    padding:13px 2px;
    border-bottom:1px solid #1e232b;
}
.radio-comment-avatar{
    width:38px;height:38px;display:grid;place-items:center;
    border-radius:50%;background:#1a1f27;color:#aeb7c5;font-size:12px;font-weight:900;
}
.radio-comment-meta{
    display:flex;align-items:center;gap:8px;
}
.radio-comment-meta strong{font-size:11px;}
.radio-comment-meta span{color:#687281;font-size:8px;}
.radio-comment-text{
    margin-top:6px;color:#c4cad4;font-size:11px;line-height:1.55;word-break:break-word;
}
.radio-comment-delete-form button{
    border:0;background:transparent;color:#687281;cursor:pointer;font-size:9px;
}
.radio-comment-delete-form button:hover{color:#ff7187;}
.radio-comment-empty{
    padding:25px;text-align:center;color:#6f7988;font-size:10px;
}

@media(max-width:800px){
    .radio-detail-player{grid-template-columns:100px minmax(0,1fr);}
    .radio-detail-record{width:96px;height:96px;}
    .radio-detail-eq{grid-column:1/-1;height:70px;}
}
@media(max-width:520px){
    .radio-detail-player{grid-template-columns:1fr;text-align:center;}
    .radio-detail-record{margin:0 auto;}
    .radio-detail-actions{justify-content:center;}
    .radio-comment-item{grid-template-columns:34px minmax(0,1fr) auto;}
    .radio-comment-avatar{width:34px;height:34px;}
}


/* =========================================================
   v0.0.15 - 댓글 신고
   ========================================================= */
.radio-comment-tools{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:5px;
}
.radio-comment-report-btn,
.radio-comment-delete-form button{
    border:0;
    background:transparent;
    color:#687281;
    cursor:pointer;
    font-size:9px;
}
.radio-comment-report-btn:hover,
.radio-comment-delete-form button:hover{color:#ff7187;}

.radio-comment-report-form{
    grid-column:2/-1;
    display:none;
    grid-template-columns:130px minmax(180px,1fr) 80px;
    gap:7px;
    margin-top:4px;
    padding:9px;
    border:1px solid #2a303a;
    border-radius:9px;
    background:#0b0e13;
}
.radio-comment-report-form.show{display:grid;}
.radio-comment-report-form select,
.radio-comment-report-form input,
.radio-comment-report-form button{
    height:34px;
    border:1px solid #303744;
    border-radius:7px;
    background:#12161d;
    color:#cbd1db;
    font-size:9px;
}
.radio-comment-report-form select,
.radio-comment-report-form input{padding:0 9px;}
.radio-comment-report-form button{
    border-color:#8d3242;
    background:#6e2734;
    color:#fff;
    cursor:pointer;
    font-weight:900;
}

.radio-admin-top-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.radio-report-filter{
    display:flex;
    gap:6px;
    margin-bottom:12px;
    padding:9px;
    border:1px solid #252b35;
    border-radius:10px;
    background:#0c0f14;
}
.radio-report-filter a{
    padding:8px 11px;
    border:1px solid #2c333e;
    border-radius:8px;
    background:#11151c;
    color:#8994a3;
    text-decoration:none;
    font-size:9px;
    font-weight:900;
}
.radio-report-filter a.active{
    border-color:#ff4d67;
    color:#ff7187;
    background:rgba(255,77,103,.08);
}
.radio-report-list{
    display:grid;
    gap:9px;
}
.radio-report-item{
    padding:14px;
    border:1px solid #252b35;
    border-radius:11px;
    background:#0d1016;
}
.radio-report-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding-bottom:10px;
    border-bottom:1px solid #20252d;
}
.radio-report-head strong{
    display:block;
    font-size:12px;
}
.radio-report-head span{
    display:block;
    margin-top:4px;
    color:#717c8b;
    font-size:8px;
}
.radio-report-comment,
.radio-report-detail{
    margin-top:10px;
    padding:10px;
    border-radius:8px;
    background:#10141a;
    color:#aeb7c3;
    font-size:10px;
    line-height:1.6;
}
.radio-report-comment b,
.radio-report-detail b{
    color:#e2e6ec;
}
.radio-report-actions{
    margin-top:10px;
}
.radio-report-actions textarea{
    width:100%;
    min-height:60px;
    padding:9px;
    border:1px solid #2c333e;
    border-radius:8px;
    background:#10141a;
    color:#e8ebef;
    resize:vertical;
    font-size:10px;
}
.radio-report-actions>div{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
    margin-top:7px;
}
.radio-report-actions button{
    height:33px;
    padding:0 10px;
    border:1px solid #303744;
    border-radius:7px;
    background:#141820;
    color:#b8c0cc;
    cursor:pointer;
    font-size:9px;
    font-weight:900;
}
.radio-report-actions button.danger{
    border-color:#92394a;
    background:#722936;
    color:#fff;
}
@media(max-width:650px){
    .radio-comment-report-form{
        grid-template-columns:1fr;
    }
    .radio-report-filter{
        overflow-x:auto;
    }
}


/* =========================================================
   v0.0.16 - 방송국 즐겨찾기
   ========================================================= */
.radio-favorite-list-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:31px;
    padding:0 12px;
    border:1px solid rgba(255,202,58,.30);
    border-radius:999px;
    background:rgba(255,202,58,.07);
    color:#ffd15a;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}
.radio-favorite-list-btn:hover{
    border-color:#ffd15a;
    color:#fff0ad;
}
.radio-favorite-btn{
    width:25px;
    height:25px;
    padding:0;
    border:1px solid #313844;
    border-radius:50%;
    background:#131820;
    color:#8b95a3;
    cursor:pointer;
    font-size:14px;
    line-height:1;
}
.radio-favorite-btn.active{
    border-color:#d8ab32;
    background:rgba(255,202,58,.10);
    color:#ffd15a;
}
.radio-detail-favorite{
    border-color:#6e5a22 !important;
    background:#191710 !important;
    color:#ffd15a !important;
}
.radio-detail-favorite.active{
    border-color:#d8ab32 !important;
    background:rgba(255,202,58,.13) !important;
}
.radio-favorite-grid{
    padding-bottom:80px;
}
.radio-favorite-remove-form{
    display:inline;
}
.radio-favorite-remove{
    border:0;
    background:transparent;
    color:#ffd15a;
    cursor:pointer;
    font-size:9px;
    font-weight:900;
}
.radio-favorite-mini-player{
    position:sticky;
    bottom:0;
    z-index:50;
    display:grid;
    grid-template-columns:minmax(160px,.7fr) minmax(300px,1.5fr);
    gap:12px;
    align-items:center;
    margin-top:15px;
    padding:10px 14px;
    border-top:1px solid #2a303a;
    background:rgba(9,12,16,.96);
    backdrop-filter:blur(12px);
}
.radio-favorite-mini-player strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
}
.radio-favorite-mini-player audio{
    width:100%;
    height:34px;
}
@media(max-width:650px){
    .radio-favorite-mini-player{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   v0.0.17 - 최근 청취 / 내 방송국 / PPABAM 승인 방송국 통합
   ========================================================= */
.radio-history-list-btn,
.radio-my-list-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:31px;
    padding:0 11px;
    border:1px solid #343b47;
    border-radius:999px;
    background:#11151c;
    color:#9ca6b4;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}
.radio-history-list-btn:hover,
.radio-my-list-btn:hover{
    color:#fff;
    border-color:#596474;
}
.radio-card-history-time{
    margin-top:5px;
    color:#697484;
    font-size:8px;
}
.radio-my-stations{
    display:grid;
    gap:9px;
}
.radio-my-station-item{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:11px;
    align-items:center;
    padding:12px;
    border:1px solid #252b35;
    border-radius:11px;
    background:#0d1016;
}
.radio-my-station-info{
    min-width:0;
}
.radio-my-station-info>div{
    display:flex;
    align-items:center;
    gap:8px;
}
.radio-my-station-info strong{
    font-size:12px;
}
.radio-my-station-info>span{
    display:block;
    margin-top:5px;
    color:#707a89;
    font-size:9px;
}
.radio-my-station-info code{
    display:block;
    margin-top:6px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#697484;
    font-size:11px;
}
.radio-ppabam-source{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:23px;
    padding:0 7px;
    border-radius:999px;
    border:1px solid rgba(255,77,103,.28);
    background:rgba(255,77,103,.08);
    color:#ff7187;
    font-size:8px;
    font-weight:900;
}
@media(max-width:760px){
    .radio-history-list-btn,
    .radio-my-list-btn{
        padding:0 9px;
    }
}


/* =========================================================
   v0.0.18 - PPABAM 자체 방송국 완전 통합
   ========================================================= */
.radio-station-description{
    margin-top:12px;
    padding:15px 17px;
    border:1px solid #252b35;
    border-radius:11px;
    background:#0d1016;
    color:#aeb7c3;
    font-size:11px;
    line-height:1.65;
}
.radio-comment-link .radio-ppabam-source{
    margin-right:4px;
}


/* =========================================================
   v0.0.21 - 플레이어/목록 UI 정리
   ========================================================= */

/* 목록 프레임: 페이지가 넓어져도 카드 수가 무한히 늘어나지 않게 고정 */
.radio-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
@media(max-width:1180px){
    .radio-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}
@media(max-width:980px){
    .radio-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
    .radio-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:560px){
    .radio-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* 메인 목록 썸네일: 플레이 버튼은 평소 숨김, 마우스 오버 시 서서히 등장 */
.radio-card-cover{
    position:relative;
    overflow:hidden;
}
.radio-card-cover::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0);
    transition:background .22s ease;
    pointer-events:none;
}
.radio-card-play{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) scale(.88) !important;
    opacity:0 !important;
    visibility:hidden;
    z-index:4;
    transition:
      opacity .22s ease,
      transform .22s ease,
      visibility .22s ease !important;
}
.radio-card:hover .radio-card-cover::after{
    background:rgba(0,0,0,.24);
}
.radio-card:hover .radio-card-play,
.radio-card-cover:hover .radio-card-play{
    opacity:1 !important;
    visibility:visible;
    transform:translate(-50%,-50%) scale(1) !important;
}

/* 코덱/비트레이트는 장르 아래 보조정보로 표시 */
.radio-card-stream-info{
    margin-top:5px;
    color:#747f8f;
    font-size:9px;
    line-height:1.35;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.radio-card-footer .radio-codec{
    display:none !important;
}

/* 즐겨찾기/최근청취 페이지도 메인과 같은 상단 플레이어 사용 */
.radio-library-player{
    margin-bottom:14px;
}
.radio-library-player .radio-console{
    margin-bottom:0;
}

/* 기존 하단 미니 플레이어는 사용하지 않음 */
.radio-favorite-mini-player{
    display:none !important;
}

/* 라이브러리 목록도 메인과 동일한 hover 플레이 */
.radio-favorite-grid .radio-card-play,
.radio-history-grid .radio-card-play{
    opacity:0 !important;
    visibility:hidden;
}
.radio-favorite-grid .radio-card:hover .radio-card-play,
.radio-history-grid .radio-card:hover .radio-card-play{
    opacity:1 !important;
    visibility:visible;
}


/* =========================================================
   v0.0.22 - 라이브러리 플레이어 표시/홈페이지 정렬 수정
   ========================================================= */
.radio-library-player .radio-console{
    width:100%;
    min-height:128px;
}

/* 메인/목록 공식 홈페이지는 카드 우측 끝 */
.radio-card-footer{
    width:100%;
}
.radio-card-links{
    width:100%;
    display:flex;
    align-items:center;
    gap:8px;
}
.radio-card-links .radio-home{
    margin-left:auto;
    text-align:right;
}

/* 즐겨찾기 해제 버튼도 우측 정렬 */
.radio-favorite-grid .radio-card-footer{
    display:flex;
    align-items:center;
}
.radio-favorite-grid .radio-favorite-remove-form{
    margin-left:auto;
}

/* 최근청취 상세 링크 */
.radio-history-grid .radio-card-footer{
    display:flex;
    justify-content:flex-end;
}


/* =========================================================
   v0.0.23 - Radio Browser API 방송국 숨김 관리
   ========================================================= */
.radio-hidden-add{
    display:grid;
    grid-template-columns:1.2fr .8fr 1fr 90px;
    gap:8px;
    margin-bottom:12px;
    padding:11px;
    border:1px solid #252b35;
    border-radius:11px;
    background:#0c0f14;
}
.radio-hidden-add input,
.radio-hidden-add button{
    height:38px;
    border:1px solid #2b313c;
    border-radius:8px;
    background:#11151c;
    color:#d7dce4;
    font-size:10px;
}
.radio-hidden-add input{padding:0 10px;}
.radio-hidden-add button{
    background:#6f2937;
    border-color:#8f3546;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}
@media(max-width:760px){
    .radio-hidden-add{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   v0.0.24 - 메인 목록 관리자 숨김 버튼
   ========================================================= */

/* 수동 UUID 등록 UI 제거 */
.radio-hidden-add{
    display:none !important;
}

/* 카드의 즐겨찾기/댓글/공식홈페이지 아래 관리자 전용 도구 */
.radio-admin-card-tools{
    display:flex;
    justify-content:flex-end;
    width:100%;
    margin-top:7px;
    padding-top:7px;
    border-top:1px solid rgba(255,255,255,.055);
}
.radio-admin-hide-btn{
    height:27px;
    padding:0 9px;
    border:1px solid rgba(255,77,103,.28);
    border-radius:7px;
    background:rgba(255,77,103,.07);
    color:#b77883;
    cursor:pointer;
    font-size:8px;
    font-weight:800;
    transition:.18s ease;
}
.radio-admin-hide-btn:hover{
    border-color:#ff4d67;
    background:rgba(255,77,103,.15);
    color:#ff7187;
}


/* =========================================================
   v0.0.25 - API 숨김 관리 목록을 메인 카드 스타일로
   ========================================================= */
.radio-hidden-grid{
    margin-top:0;
}
.radio-hidden-card{
    min-width:0;
}
.radio-hidden-card .radio-card-cover{
    position:relative;
    aspect-ratio:1/1;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#10141a;
}
.radio-hidden-logo{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
}
.radio-hidden-cover-fallback{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
   
    color:#778292;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}
.radio-hidden-badge{
    position:absolute;
    left:8px;
    top:8px;
    z-index:4;
    display:inline-flex;
    align-items:center;
    height:23px;
    padding:0 8px;
    border:1px solid rgba(255,77,103,.38);
    border-radius:999px;
    background:rgba(20,8,12,.80);
    color:#ff7187;
    font-size:8px;
    font-weight:900;
    backdrop-filter:blur(7px);
}
.radio-hidden-card .radio-card-title{
    min-height:20px;
}
.radio-hidden-card .radio-card-meta{
    margin-top:5px;
}
.radio-hidden-card .radio-card-tags{
    margin-top:5px;
}
.radio-hidden-card .radio-card-stream-info{
    margin-top:5px;
}
.radio-hidden-card .radio-card-footer{
    margin-top:9px;
}
.radio-hidden-date{
    color:#687281;
    font-size:8px;
}
.radio-hidden-unhide-form{
    margin-left:auto;
}
.radio-admin-unhide-btn{
    height:27px;
    padding:0 9px;
    border:1px solid rgba(98,210,157,.30);
    border-radius:7px;
    background:rgba(98,210,157,.07);
    color:#72d7aa;
    cursor:pointer;
    font-size:8px;
    font-weight:900;
    transition:.18s ease;
}
.radio-admin-unhide-btn:hover{
    border-color:#72d7aa;
    background:rgba(98,210,157,.14);
    color:#a4efd0;
}

/* 숨김 관리 페이지도 메인과 같은 최대 6열 */
.radio-hidden-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
@media(max-width:1180px){
    .radio-hidden-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}
@media(max-width:980px){
    .radio-hidden-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
    .radio-hidden-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:560px){
    .radio-hidden-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}


/* =========================================================
   v0.0.26 - DIGITAL RADIO 주파수 수직 중앙 정렬
   ========================================================= */
.radio-frequency{
    display:flex !important;
    flex-direction:column;
    justify-content:center !important;
    align-items:center !important;
    text-align:center;
    box-sizing:border-box;
}
.radio-frequency small{
    margin:0 0 5px !important;
    line-height:1 !important;
}
.radio-frequency strong{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px;
    margin:0 !important;
    line-height:1 !important;
}
.radio-frequency strong em,
.radio-frequency strong span{
    line-height:1 !important;
}


/* =========================================================
   v0.0.27 - EQ 스타일 변경 (더 촘촘한 분절 막대 스타일)
   ========================================================= */

/* EQ 전체 박스 */
.radio-eq{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:2px !important;
    padding:0 10px !important;
    min-height:42px;
}

/* 각 막대 */
.radio-eq .eq-bar,
#radioEq .eq-bar,
#radioLibraryEq .eq-bar{
    position:relative !important;
    width:7px !important;
    min-width:7px !important;
    border-radius:2px !important;
    overflow:hidden !important;
    background:transparent !important;
    box-shadow:none !important;
}

/* 분절된 막대 표현:
   repeating-linear-gradient로 잘린 블록 느낌 생성 */
.radio-eq .eq-bar::before,
#radioEq .eq-bar::before,
#radioLibraryEq .eq-bar::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
    border-radius:2px;
    background:
        repeating-linear-gradient(
            to top,
            currentColor 0 4px,
            transparent 4px 6px
        ) !important;
    opacity:1;
}

/* 기존 내부 span이 있다면 동일하게 분절되게 */
.radio-eq .eq-bar span,
#radioEq .eq-bar span,
#radioLibraryEq .eq-bar span{
    display:block !important;
    width:100% !important;
    height:100% !important;
    border-radius:2px !important;
    background:
        repeating-linear-gradient(
            to top,
            currentColor 0 4px,
            transparent 4px 6px
        ) !important;
    box-shadow:none !important;
}

/* 조금 더 촘촘하게 보이도록 좌우 여백 제거 */
.radio-console .radio-eq-wrap,
.radio-library-player .radio-eq-wrap{
    padding-left:0 !important;
    padding-right:0 !important;
}

/* 작은 화면에서 과하게 커지지 않도록 미세 조정 */
@media (max-width: 640px){
    .radio-eq .eq-bar,
    #radioEq .eq-bar,
    #radioLibraryEq .eq-bar{
        width:6px !important;
        min-width:6px !important;
    }
}


/* =========================================================
   v0.0.28 - 참조 이미지형 무지개 분절 이퀄라이저
   ========================================================= */

/* 기존 .eq-bar 오버라이드는 실제 마크업(i)에 맞지 않아
   실제 EQ 마크업인 .radio-eq i 기준으로 다시 정의 */
.radio-eq{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:2px !important;
    padding:8px 12px 7px !important;
    min-height:55px !important;
}

/* 각 막대 기본 모양: 촘촘하고 끊어진 블록형 */
.radio-eq i{
    flex:none !important;
    width:9px !important;
    min-width:9px !important;
    max-width:9px !important;
    height:var(--eq-h, 32%) !important;
    border-radius:1px !important;
    background:
        repeating-linear-gradient(
            to top,
            currentColor 0 4px,
            transparent 4px 6px
        ) !important;
    box-shadow:none !important;
    opacity:1 !important;
    transform-origin:bottom center;
}

/* 참조 이미지 같은 좌우 파형 */
.radio-eq i:nth-child(1)  {--eq-h:12%;}
.radio-eq i:nth-child(2)  {--eq-h:18%;}
.radio-eq i:nth-child(3)  {--eq-h:28%;}
.radio-eq i:nth-child(4)  {--eq-h:42%;}
.radio-eq i:nth-child(5)  {--eq-h:56%;}
.radio-eq i:nth-child(6)  {--eq-h:66%;}
.radio-eq i:nth-child(7)  {--eq-h:58%;}
.radio-eq i:nth-child(8)  {--eq-h:44%;}
.radio-eq i:nth-child(9)  {--eq-h:34%;}
.radio-eq i:nth-child(10) {--eq-h:46%;}
.radio-eq i:nth-child(11) {--eq-h:62%;}
.radio-eq i:nth-child(12) {--eq-h:82%;}
.radio-eq i:nth-child(13) {--eq-h:70%;}
.radio-eq i:nth-child(14) {--eq-h:48%;}
.radio-eq i:nth-child(15) {--eq-h:34%;}
.radio-eq i:nth-child(16) {--eq-h:52%;}
.radio-eq i:nth-child(17) {--eq-h:72%;}
.radio-eq i:nth-child(18) {--eq-h:60%;}

/* 재생 중에는 기본 파형을 유지하면서 조금만 살아 움직이게 */
.radio-console.playing .radio-eq i{
    animation:radioEqPulse .62s ease-in-out infinite alternate !important;
}
.radio-console.playing .radio-eq i:nth-child(2n){animation-duration:.46s !important;}
.radio-console.playing .radio-eq i:nth-child(3n){animation-duration:.82s !important;}
.radio-console.playing .radio-eq i:nth-child(5n){animation-duration:.54s !important;}

@keyframes radioEqPulse{
    from{transform:scaleY(.82);}
    to{transform:scaleY(1.08);}
}

/* 모바일에서 너무 굵지 않게 */
@media (max-width:640px){
    .radio-eq{
        gap:1px !important;
        padding:8px 8px 7px !important;
    }
    .radio-eq i{
        width:7px !important;
        min-width:7px !important;
        max-width:7px !important;
    }
}


/* =========================================================
   v0.0.29 - EQ 전체 폭/높이 채움 + 더 빠르고 부드러운 애니메이션
   ========================================================= */

/* EQ 박스를 실제 영역 전체에 가깝게 사용 */
.radio-eq{
    justify-content:stretch !important;
    align-items:flex-end !important;
    gap:2px !important;
    padding:3px 4px 3px !important;
    min-height:55px !important;
    height:55px !important;
}

/* 18개 막대가 창 전체 폭을 균등하게 채우도록 */
.radio-eq i{
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:var(--eq-h, 40%) !important;
    transform-origin:bottom center;
    will-change:transform;
}

/* 위쪽까지 충분히 올라가도록 기본 파형 높이 확대 */
.radio-eq i:nth-child(1)  {--eq-h:20%;}
.radio-eq i:nth-child(2)  {--eq-h:30%;}
.radio-eq i:nth-child(3)  {--eq-h:48%;}
.radio-eq i:nth-child(4)  {--eq-h:68%;}
.radio-eq i:nth-child(5)  {--eq-h:86%;}
.radio-eq i:nth-child(6)  {--eq-h:98%;}
.radio-eq i:nth-child(7)  {--eq-h:88%;}
.radio-eq i:nth-child(8)  {--eq-h:68%;}
.radio-eq i:nth-child(9)  {--eq-h:50%;}
.radio-eq i:nth-child(10) {--eq-h:66%;}
.radio-eq i:nth-child(11) {--eq-h:84%;}
.radio-eq i:nth-child(12) {--eq-h:100%;}
.radio-eq i:nth-child(13) {--eq-h:90%;}
.radio-eq i:nth-child(14) {--eq-h:72%;}
.radio-eq i:nth-child(15) {--eq-h:54%;}
.radio-eq i:nth-child(16) {--eq-h:72%;}
.radio-eq i:nth-child(17) {--eq-h:92%;}
.radio-eq i:nth-child(18) {--eq-h:82%;}

/* 더 빠르지만 튀지 않도록 cubic-bezier 사용 */
.radio-console.playing .radio-eq i{
    animation:radioEqPulseFast .34s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
}
.radio-console.playing .radio-eq i:nth-child(2n){
    animation-duration:.28s !important;
}
.radio-console.playing .radio-eq i:nth-child(3n){
    animation-duration:.40s !important;
}
.radio-console.playing .radio-eq i:nth-child(5n){
    animation-duration:.31s !important;
}
.radio-console.playing .radio-eq i:nth-child(7n){
    animation-duration:.36s !important;
}

@keyframes radioEqPulseFast{
    from{transform:scaleY(.58);}
    to{transform:scaleY(1);}
}

/* 라이브러리 플레이어도 같은 EQ 동작 */
.radio-library-player .radio-console.playing .radio-eq i{
    animation:radioEqPulseFast .34s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
}

/* 모바일에서도 전체 폭 유지 */
@media(max-width:640px){
    .radio-eq{
        gap:1px !important;
        padding:3px !important;
    }
    .radio-eq i{
        flex:1 1 0 !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
    }
}


/* =========================================================
   v0.0.30 - EQ "세그먼트 개수 변화" 방식
   2칸 -> 5칸 -> 3칸처럼 블록 개수가 점프하며 변하도록 수정
   ========================================================= */

/* 기존 scaleY 애니메이션 중지 */
.radio-console.playing .radio-eq i,
.radio-library-player .radio-console.playing .radio-eq i{
    transform:none !important;
    animation:radioEqSegmentJump .38s steps(1,end) infinite !important;
}

/* 각 막대별 서로 다른 세그먼트 개수 패턴
   한 세그먼트 높이 약 6px 기준 */
.radio-eq i:nth-child(1)  {--h1:12px;--h2:24px;--h3:18px;--h4:30px;--h5:12px;--h6:24px;animation-delay:-.03s !important;}
.radio-eq i:nth-child(2)  {--h1:18px;--h2:30px;--h3:24px;--h4:36px;--h5:18px;--h6:30px;animation-delay:-.09s !important;}
.radio-eq i:nth-child(3)  {--h1:24px;--h2:42px;--h3:30px;--h4:36px;--h5:24px;--h6:42px;animation-delay:-.14s !important;}
.radio-eq i:nth-child(4)  {--h1:30px;--h2:48px;--h3:36px;--h4:42px;--h5:24px;--h6:36px;animation-delay:-.20s !important;}
.radio-eq i:nth-child(5)  {--h1:42px;--h2:54px;--h3:36px;--h4:48px;--h5:30px;--h6:42px;animation-delay:-.25s !important;}
.radio-eq i:nth-child(6)  {--h1:48px;--h2:36px;--h3:54px;--h4:42px;--h5:48px;--h6:30px;animation-delay:-.31s !important;}
.radio-eq i:nth-child(7)  {--h1:42px;--h2:30px;--h3:48px;--h4:36px;--h5:54px;--h6:42px;animation-delay:-.36s !important;}
.radio-eq i:nth-child(8)  {--h1:30px;--h2:42px;--h3:24px;--h4:48px;--h5:36px;--h6:30px;animation-delay:-.42s !important;}
.radio-eq i:nth-child(9)  {--h1:24px;--h2:36px;--h3:18px;--h4:30px;--h5:42px;--h6:24px;animation-delay:-.47s !important;}
.radio-eq i:nth-child(10) {--h1:30px;--h2:48px;--h3:36px;--h4:24px;--h5:42px;--h6:30px;animation-delay:-.52s !important;}
.radio-eq i:nth-child(11) {--h1:42px;--h2:30px;--h3:54px;--h4:36px;--h5:48px;--h6:42px;animation-delay:-.58s !important;}
.radio-eq i:nth-child(12) {--h1:54px;--h2:42px;--h3:48px;--h4:30px;--h5:54px;--h6:36px;animation-delay:-.63s !important;}
.radio-eq i:nth-child(13) {--h1:48px;--h2:36px;--h3:54px;--h4:42px;--h5:30px;--h6:48px;animation-delay:-.68s !important;}
.radio-eq i:nth-child(14) {--h1:36px;--h2:48px;--h3:30px;--h4:42px;--h5:24px;--h6:36px;animation-delay:-.74s !important;}
.radio-eq i:nth-child(15) {--h1:24px;--h2:36px;--h3:18px;--h4:42px;--h5:30px;--h6:24px;animation-delay:-.79s !important;}
.radio-eq i:nth-child(16) {--h1:36px;--h2:48px;--h3:30px;--h4:54px;--h5:42px;--h6:36px;animation-delay:-.84s !important;}
.radio-eq i:nth-child(17) {--h1:48px;--h2:54px;--h3:36px;--h4:42px;--h5:30px;--h6:48px;animation-delay:-.90s !important;}
.radio-eq i:nth-child(18) {--h1:42px;--h2:30px;--h3:48px;--h4:36px;--h5:54px;--h6:42px;animation-delay:-.95s !important;}

@keyframes radioEqSegmentJump{
    0%   {height:var(--h1) !important;}
    16%  {height:var(--h2) !important;}
    32%  {height:var(--h3) !important;}
    48%  {height:var(--h4) !important;}
    64%  {height:var(--h5) !important;}
    80%  {height:var(--h6) !important;}
    100% {height:var(--h1) !important;}
}

/* 정지 상태에서도 분절형 막대는 유지 */
.radio-eq i{
    transform:none !important;
    transition:none !important;
}


/* =========================================================
   v0.0.31 - EQ 블록 개수 변화 실제 동작 수정
   =========================================================
   이전 버전은 기존 height: ... !important 규칙 때문에
   keyframes의 height 변화가 적용되지 않았습니다.
   이번 버전은 막대 자체 높이는 100%로 고정하고,
   clip-path를 단계적으로 바꿔 블록 개수만 실제로 변화시킵니다.
*/

/* 막대는 항상 전체 높이를 갖고, 분절 블록 크기는 고정 */
.radio-eq i{
    height:100% !important;
    transform:none !important;
    transition:none !important;
    clip-path:inset(64% 0 0 0);
    -webkit-clip-path:inset(64% 0 0 0);
}

/* 재생 중: 2칸 → 5칸 → 3칸 → 7칸 → 4칸 식으로 점프 */
.radio-console.playing .radio-eq i,
.radio-library-player .radio-console.playing .radio-eq i{
    animation-name:radioEqBlockCount !important;
    animation-timing-function:steps(1,end) !important;
    animation-iteration-count:infinite !important;
    animation-direction:normal !important;
    animation-fill-mode:both !important;
}

/* 막대마다 속도/시작 지점을 다르게 해서 랜덤하게 움직이는 느낌 */
.radio-eq i:nth-child(1)  {animation-duration:.34s !important;animation-delay:-.05s !important;}
.radio-eq i:nth-child(2)  {animation-duration:.41s !important;animation-delay:-.18s !important;}
.radio-eq i:nth-child(3)  {animation-duration:.29s !important;animation-delay:-.11s !important;}
.radio-eq i:nth-child(4)  {animation-duration:.37s !important;animation-delay:-.27s !important;}
.radio-eq i:nth-child(5)  {animation-duration:.32s !important;animation-delay:-.21s !important;}
.radio-eq i:nth-child(6)  {animation-duration:.45s !important;animation-delay:-.34s !important;}
.radio-eq i:nth-child(7)  {animation-duration:.31s !important;animation-delay:-.08s !important;}
.radio-eq i:nth-child(8)  {animation-duration:.39s !important;animation-delay:-.24s !important;}
.radio-eq i:nth-child(9)  {animation-duration:.28s !important;animation-delay:-.15s !important;}
.radio-eq i:nth-child(10) {animation-duration:.36s !important;animation-delay:-.30s !important;}
.radio-eq i:nth-child(11) {animation-duration:.43s !important;animation-delay:-.19s !important;}
.radio-eq i:nth-child(12) {animation-duration:.30s !important;animation-delay:-.09s !important;}
.radio-eq i:nth-child(13) {animation-duration:.38s !important;animation-delay:-.33s !important;}
.radio-eq i:nth-child(14) {animation-duration:.27s !important;animation-delay:-.13s !important;}
.radio-eq i:nth-child(15) {animation-duration:.40s !important;animation-delay:-.26s !important;}
.radio-eq i:nth-child(16) {animation-duration:.33s !important;animation-delay:-.17s !important;}
.radio-eq i:nth-child(17) {animation-duration:.46s !important;animation-delay:-.36s !important;}
.radio-eq i:nth-child(18) {animation-duration:.35s !important;animation-delay:-.22s !important;}

@keyframes radioEqBlockCount{
    0%{
        clip-path:inset(76% 0 0 0);
        -webkit-clip-path:inset(76% 0 0 0);
    }
    14%{
        clip-path:inset(40% 0 0 0);
        -webkit-clip-path:inset(40% 0 0 0);
    }
    28%{
        clip-path:inset(64% 0 0 0);
        -webkit-clip-path:inset(64% 0 0 0);
    }
    42%{
        clip-path:inset(16% 0 0 0);
        -webkit-clip-path:inset(16% 0 0 0);
    }
    56%{
        clip-path:inset(52% 0 0 0);
        -webkit-clip-path:inset(52% 0 0 0);
    }
    70%{
        clip-path:inset(28% 0 0 0);
        -webkit-clip-path:inset(28% 0 0 0);
    }
    84%{
        clip-path:inset(68% 0 0 0);
        -webkit-clip-path:inset(68% 0 0 0);
    }
    100%{
        clip-path:inset(36% 0 0 0);
        -webkit-clip-path:inset(36% 0 0 0);
    }
}

/* 정지 상태는 각 막대마다 서로 다른 기본 블록 개수 */
.radio-console:not(.playing) .radio-eq i:nth-child(1),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(1){clip-path:inset(76% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(2),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(2){clip-path:inset(68% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(3),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(3){clip-path:inset(56% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(4),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(4){clip-path:inset(40% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(5),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(5){clip-path:inset(24% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(6),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(6){clip-path:inset(12% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(7),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(7){clip-path:inset(28% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(8),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(8){clip-path:inset(48% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(9),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(9){clip-path:inset(60% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(10),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(10){clip-path:inset(44% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(11),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(11){clip-path:inset(28% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(12),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(12){clip-path:inset(8% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(13),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(13){clip-path:inset(20% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(14),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(14){clip-path:inset(40% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(15),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(15){clip-path:inset(56% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(16),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(16){clip-path:inset(36% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(17),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(17){clip-path:inset(16% 0 0 0);}
.radio-console:not(.playing) .radio-eq i:nth-child(18),
.radio-library-player .radio-console:not(.playing) .radio-eq i:nth-child(18){clip-path:inset(28% 0 0 0);}


/* =========================================================
   v0.0.32 - EQ 속도 절반 + 부드러운 전환 + 정지 시 1칸
   ========================================================= */

/* 정지/미재생 상태: 모든 EQ 막대는 딱 1칸만 표시 */
.radio-console:not(.playing) .radio-eq i,
.radio-library-player .radio-console:not(.playing) .radio-eq i{
    animation:none !important;
    clip-path:inset(88% 0 0 0) !important;
    -webkit-clip-path:inset(88% 0 0 0) !important;
    transform:none !important;
}

/* 재생 중: 이전보다 약 절반 속도로 느리게 */
.radio-console.playing .radio-eq i,
.radio-library-player .radio-console.playing .radio-eq i{
    animation-name:radioEqBlockCountSmooth !important;
    animation-timing-function:ease-in-out !important;
    animation-iteration-count:infinite !important;
    animation-direction:alternate !important;
    animation-fill-mode:both !important;
}

/* v0.0.31 대비 대략 2배 느리게 */
.radio-eq i:nth-child(1)  {animation-duration:.68s !important;animation-delay:-.10s !important;}
.radio-eq i:nth-child(2)  {animation-duration:.82s !important;animation-delay:-.36s !important;}
.radio-eq i:nth-child(3)  {animation-duration:.58s !important;animation-delay:-.22s !important;}
.radio-eq i:nth-child(4)  {animation-duration:.74s !important;animation-delay:-.54s !important;}
.radio-eq i:nth-child(5)  {animation-duration:.64s !important;animation-delay:-.42s !important;}
.radio-eq i:nth-child(6)  {animation-duration:.90s !important;animation-delay:-.68s !important;}
.radio-eq i:nth-child(7)  {animation-duration:.62s !important;animation-delay:-.16s !important;}
.radio-eq i:nth-child(8)  {animation-duration:.78s !important;animation-delay:-.48s !important;}
.radio-eq i:nth-child(9)  {animation-duration:.56s !important;animation-delay:-.30s !important;}
.radio-eq i:nth-child(10) {animation-duration:.72s !important;animation-delay:-.60s !important;}
.radio-eq i:nth-child(11) {animation-duration:.86s !important;animation-delay:-.38s !important;}
.radio-eq i:nth-child(12) {animation-duration:.60s !important;animation-delay:-.18s !important;}
.radio-eq i:nth-child(13) {animation-duration:.76s !important;animation-delay:-.66s !important;}
.radio-eq i:nth-child(14) {animation-duration:.54s !important;animation-delay:-.26s !important;}
.radio-eq i:nth-child(15) {animation-duration:.80s !important;animation-delay:-.52s !important;}
.radio-eq i:nth-child(16) {animation-duration:.66s !important;animation-delay:-.34s !important;}
.radio-eq i:nth-child(17) {animation-duration:.92s !important;animation-delay:-.72s !important;}
.radio-eq i:nth-child(18) {animation-duration:.70s !important;animation-delay:-.44s !important;}

/* 블록 개수 변화는 유지하되, 중간 구간을 추가해 더 부드럽게 */
@keyframes radioEqBlockCountSmooth{
    0%{
        clip-path:inset(76% 0 0 0);
        -webkit-clip-path:inset(76% 0 0 0);
    }
    12%{
        clip-path:inset(66% 0 0 0);
        -webkit-clip-path:inset(66% 0 0 0);
    }
    24%{
        clip-path:inset(44% 0 0 0);
        -webkit-clip-path:inset(44% 0 0 0);
    }
    36%{
        clip-path:inset(58% 0 0 0);
        -webkit-clip-path:inset(58% 0 0 0);
    }
    48%{
        clip-path:inset(24% 0 0 0);
        -webkit-clip-path:inset(24% 0 0 0);
    }
    60%{
        clip-path:inset(38% 0 0 0);
        -webkit-clip-path:inset(38% 0 0 0);
    }
    72%{
        clip-path:inset(16% 0 0 0);
        -webkit-clip-path:inset(16% 0 0 0);
    }
    84%{
        clip-path:inset(52% 0 0 0);
        -webkit-clip-path:inset(52% 0 0 0);
    }
    100%{
        clip-path:inset(34% 0 0 0);
        -webkit-clip-path:inset(34% 0 0 0);
    }
}


/* =========================================================
   v0.0.33 - EQ 인접 막대 연동형 부드러운 웨이브
   =========================================================
   - 막대마다 제각각 빠르게 움직이는 방식 제거
   - 모든 막대가 같은 속도로 움직이고,
     옆 막대는 아주 작은 시간차만 둬 높이가 자연스럽게 이어지도록 함
   - 전체 속도 크게 감소
   - 정지/일시정지/재생 전에는 1칸 유지
*/

/* 정지 상태: 정확히 1칸 */
.radio-console:not(.playing) .radio-eq i,
.radio-library-player .radio-console:not(.playing) .radio-eq i{
    animation:none !important;
    clip-path:inset(88% 0 0 0) !important;
    -webkit-clip-path:inset(88% 0 0 0) !important;
}

/* 재생 상태: 공통 속도 + 연속적인 easing */
.radio-console.playing .radio-eq i,
.radio-library-player .radio-console.playing .radio-eq i{
    animation-name:radioEqLinkedWave !important;
    animation-duration:2.35s !important;
    animation-timing-function:cubic-bezier(.42,0,.58,1) !important;
    animation-iteration-count:infinite !important;
    animation-direction:alternate !important;
    animation-fill-mode:both !important;
}

/* 옆 막대와 높이가 자연스럽게 이어지도록 작은 위상차만 적용 */
.radio-eq i:nth-child(1)  {animation-delay:-0.00s !important;}
.radio-eq i:nth-child(2)  {animation-delay:-0.08s !important;}
.radio-eq i:nth-child(3)  {animation-delay:-0.16s !important;}
.radio-eq i:nth-child(4)  {animation-delay:-0.24s !important;}
.radio-eq i:nth-child(5)  {animation-delay:-0.32s !important;}
.radio-eq i:nth-child(6)  {animation-delay:-0.40s !important;}
.radio-eq i:nth-child(7)  {animation-delay:-0.48s !important;}
.radio-eq i:nth-child(8)  {animation-delay:-0.56s !important;}
.radio-eq i:nth-child(9)  {animation-delay:-0.64s !important;}
.radio-eq i:nth-child(10) {animation-delay:-0.72s !important;}
.radio-eq i:nth-child(11) {animation-delay:-0.80s !important;}
.radio-eq i:nth-child(12) {animation-delay:-0.88s !important;}
.radio-eq i:nth-child(13) {animation-delay:-0.96s !important;}
.radio-eq i:nth-child(14) {animation-delay:-1.04s !important;}
.radio-eq i:nth-child(15) {animation-delay:-1.12s !important;}
.radio-eq i:nth-child(16) {animation-delay:-1.20s !important;}
.radio-eq i:nth-child(17) {animation-delay:-1.28s !important;}
.radio-eq i:nth-child(18) {animation-delay:-1.36s !important;}

/* 완만한 높이 변화:
   인접 막대가 비슷한 높이를 유지하면서 전체가 물결처럼 이동 */
@keyframes radioEqLinkedWave{
    0%{
        clip-path:inset(78% 0 0 0);
        -webkit-clip-path:inset(78% 0 0 0);
    }
    12.5%{
        clip-path:inset(68% 0 0 0);
        -webkit-clip-path:inset(68% 0 0 0);
    }
    25%{
        clip-path:inset(54% 0 0 0);
        -webkit-clip-path:inset(54% 0 0 0);
    }
    37.5%{
        clip-path:inset(40% 0 0 0);
        -webkit-clip-path:inset(40% 0 0 0);
    }
    50%{
        clip-path:inset(28% 0 0 0);
        -webkit-clip-path:inset(28% 0 0 0);
    }
    62.5%{
        clip-path:inset(38% 0 0 0);
        -webkit-clip-path:inset(38% 0 0 0);
    }
    75%{
        clip-path:inset(50% 0 0 0);
        -webkit-clip-path:inset(50% 0 0 0);
    }
    87.5%{
        clip-path:inset(64% 0 0 0);
        -webkit-clip-path:inset(64% 0 0 0);
    }
    100%{
        clip-path:inset(74% 0 0 0);
        -webkit-clip-path:inset(74% 0 0 0);
    }
}


/* =========================================================
   v0.0.34 - 최근청취 / 내 즐겨찾기 EQ를 메인과 완전 동일화
   ========================================================= */

/* 라이브러리 플레이어의 EQ도 메인 EQ와 같은 분절형 막대 */
.radio-library-player #radioLibraryEq{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:stretch !important;
    gap:2px !important;
    padding:3px 4px 3px !important;
    height:55px !important;
    min-height:55px !important;
}

.radio-library-player #radioLibraryEq i{
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:100% !important;
    border-radius:1px !important;
    background:
        repeating-linear-gradient(
            to top,
            currentColor 0 4px,
            transparent 4px 6px
        ) !important;
    box-shadow:none !important;
    opacity:1 !important;
    transform:none !important;
    transform-origin:bottom center !important;
    transition:none !important;
}

/* 무지개 색상 */
.radio-library-player #radioLibraryEq i:nth-child(1){color:#ff3f5f}
.radio-library-player #radioLibraryEq i:nth-child(2){color:#ff5a3f}
.radio-library-player #radioLibraryEq i:nth-child(3){color:#ff7d25}
.radio-library-player #radioLibraryEq i:nth-child(4){color:#ffa51f}
.radio-library-player #radioLibraryEq i:nth-child(5){color:#ffd43b}
.radio-library-player #radioLibraryEq i:nth-child(6){color:#b9e842}
.radio-library-player #radioLibraryEq i:nth-child(7){color:#5ee56e}
.radio-library-player #radioLibraryEq i:nth-child(8){color:#26dfad}
.radio-library-player #radioLibraryEq i:nth-child(9){color:#20d8df}
.radio-library-player #radioLibraryEq i:nth-child(10){color:#29bcff}
.radio-library-player #radioLibraryEq i:nth-child(11){color:#3d91ff}
.radio-library-player #radioLibraryEq i:nth-child(12){color:#5e72ff}
.radio-library-player #radioLibraryEq i:nth-child(13){color:#815cff}
.radio-library-player #radioLibraryEq i:nth-child(14){color:#a34cff}
.radio-library-player #radioLibraryEq i:nth-child(15){color:#c548f5}
.radio-library-player #radioLibraryEq i:nth-child(16){color:#e244d5}
.radio-library-player #radioLibraryEq i:nth-child(17){color:#f647ae}
.radio-library-player #radioLibraryEq i:nth-child(18){color:#ff5587}

/* 정지 / 일시정지 / 재생 전 = 1칸 */
.radio-library-player .radio-console:not(.playing) #radioLibraryEq i{
    animation:none !important;
    clip-path:inset(88% 0 0 0) !important;
    -webkit-clip-path:inset(88% 0 0 0) !important;
}

/* 재생 중 = 메인과 동일한 부드러운 연동형 웨이브 */
.radio-library-player .radio-console.playing #radioLibraryEq i{
    animation-name:radioEqLinkedWave !important;
    animation-duration:2.35s !important;
    animation-timing-function:cubic-bezier(.42,0,.58,1) !important;
    animation-iteration-count:infinite !important;
    animation-direction:alternate !important;
    animation-fill-mode:both !important;
}

/* 옆 막대와 높이가 이어지도록 동일한 위상차 */
.radio-library-player #radioLibraryEq i:nth-child(1)  {animation-delay:-0.00s !important;}
.radio-library-player #radioLibraryEq i:nth-child(2)  {animation-delay:-0.08s !important;}
.radio-library-player #radioLibraryEq i:nth-child(3)  {animation-delay:-0.16s !important;}
.radio-library-player #radioLibraryEq i:nth-child(4)  {animation-delay:-0.24s !important;}
.radio-library-player #radioLibraryEq i:nth-child(5)  {animation-delay:-0.32s !important;}
.radio-library-player #radioLibraryEq i:nth-child(6)  {animation-delay:-0.40s !important;}
.radio-library-player #radioLibraryEq i:nth-child(7)  {animation-delay:-0.48s !important;}
.radio-library-player #radioLibraryEq i:nth-child(8)  {animation-delay:-0.56s !important;}
.radio-library-player #radioLibraryEq i:nth-child(9)  {animation-delay:-0.64s !important;}
.radio-library-player #radioLibraryEq i:nth-child(10) {animation-delay:-0.72s !important;}
.radio-library-player #radioLibraryEq i:nth-child(11) {animation-delay:-0.80s !important;}
.radio-library-player #radioLibraryEq i:nth-child(12) {animation-delay:-0.88s !important;}
.radio-library-player #radioLibraryEq i:nth-child(13) {animation-delay:-0.96s !important;}
.radio-library-player #radioLibraryEq i:nth-child(14) {animation-delay:-1.04s !important;}
.radio-library-player #radioLibraryEq i:nth-child(15) {animation-delay:-1.12s !important;}
.radio-library-player #radioLibraryEq i:nth-child(16) {animation-delay:-1.20s !important;}
.radio-library-player #radioLibraryEq i:nth-child(17) {animation-delay:-1.28s !important;}
.radio-library-player #radioLibraryEq i:nth-child(18) {animation-delay:-1.36s !important;}


/* =========================================================
   v0.0.35 - 헤더 문구 정리
   ========================================================= */
.radio-kicker{
    letter-spacing:.14em;
    font-weight:900;
}


/* =========================================================
   v0.0.36 - SIGNAL 그래프 전체를 큰 막대 색상으로 통일
   ========================================================= */
.radio-signal-bars i{
    background:var(--green) !important;
    box-shadow:0 0 8px rgba(98,210,157,.18);
}


/* =========================================================
   v0.0.37 - 데이터 출처 문구 왼쪽 하단 정렬
   ========================================================= */
.radio-footnote{
    margin:14px 0 0 !important;
    padding-left:2px;
    color:#555f6e;
    text-align:left !important;
    font-size:11px;
    line-height:1.5;
}


/* =========================================================
   v0.0.38 - EQ 막대 40개 확장
   ========================================================= */
.radio-eq,
.radio-library-player #radioLibraryEq{
    gap:1px !important;
    padding:3px 2px 3px !important;
}

.radio-eq i,
.radio-library-player #radioLibraryEq i{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    height:100% !important;
    border-radius:1px !important;
    background:
        repeating-linear-gradient(
            to top,
            currentColor 0 4px,
            transparent 4px 6px
        ) !important;
}

/* 정지 시 1칸 / 재생 시 연동 웨이브는 기존 로직 유지,
   막대 수만 40개로 확장 */
.radio-eq i:nth-child(1){color:#ff3f5f !important;background:#ff3f5f !important;animation-delay:-0.0s !important;}
.radio-eq i:nth-child(2){color:#ff5a3f !important;background:#ff5a3f !important;animation-delay:-0.045s !important;}
.radio-eq i:nth-child(3){color:#ff7d25 !important;background:#ff7d25 !important;animation-delay:-0.09s !important;}
.radio-eq i:nth-child(4){color:#ffa51f !important;background:#ffa51f !important;animation-delay:-0.135s !important;}
.radio-eq i:nth-child(5){color:#ffd43b !important;background:#ffd43b !important;animation-delay:-0.18s !important;}
.radio-eq i:nth-child(6){color:#9fe04b !important;background:#9fe04b !important;animation-delay:-0.225s !important;}
.radio-eq i:nth-child(7){color:#43df82 !important;background:#43df82 !important;animation-delay:-0.27s !important;}
.radio-eq i:nth-child(8){color:#26dfad !important;background:#26dfad !important;animation-delay:-0.315s !important;}
.radio-eq i:nth-child(9){color:#20d8df !important;background:#20d8df !important;animation-delay:-0.36s !important;}
.radio-eq i:nth-child(10){color:#29bcff !important;background:#29bcff !important;animation-delay:-0.405s !important;}
.radio-eq i:nth-child(11){color:#3d91ff !important;background:#3d91ff !important;animation-delay:-0.45s !important;}
.radio-eq i:nth-child(12){color:#5e72ff !important;background:#5e72ff !important;animation-delay:-0.495s !important;}
.radio-eq i:nth-child(13){color:#815cff !important;background:#815cff !important;animation-delay:-0.54s !important;}
.radio-eq i:nth-child(14){color:#a34cff !important;background:#a34cff !important;animation-delay:-0.585s !important;}
.radio-eq i:nth-child(15){color:#c548f5 !important;background:#c548f5 !important;animation-delay:-0.63s !important;}
.radio-eq i:nth-child(16){color:#e244d5 !important;background:#e244d5 !important;animation-delay:-0.675s !important;}
.radio-eq i:nth-child(17){color:#f647ae !important;background:#f647ae !important;animation-delay:-0.72s !important;}
.radio-eq i:nth-child(18){color:#ff5587 !important;background:#ff5587 !important;animation-delay:-0.765s !important;}
.radio-eq i:nth-child(19){color:#ff6e74 !important;background:#ff6e74 !important;animation-delay:-0.81s !important;}
.radio-eq i:nth-child(20){color:#ff8f55 !important;background:#ff8f55 !important;animation-delay:-0.855s !important;}
.radio-eq i:nth-child(21){color:#ff3f5f !important;background:#ff3f5f !important;animation-delay:-0.9s !important;}
.radio-eq i:nth-child(22){color:#ff5a3f !important;background:#ff5a3f !important;animation-delay:-0.945s !important;}
.radio-eq i:nth-child(23){color:#ff7d25 !important;background:#ff7d25 !important;animation-delay:-0.99s !important;}
.radio-eq i:nth-child(24){color:#ffa51f !important;background:#ffa51f !important;animation-delay:-1.035s !important;}
.radio-eq i:nth-child(25){color:#ffd43b !important;background:#ffd43b !important;animation-delay:-1.08s !important;}
.radio-eq i:nth-child(26){color:#9fe04b !important;background:#9fe04b !important;animation-delay:-1.125s !important;}
.radio-eq i:nth-child(27){color:#43df82 !important;background:#43df82 !important;animation-delay:-1.17s !important;}
.radio-eq i:nth-child(28){color:#26dfad !important;background:#26dfad !important;animation-delay:-1.215s !important;}
.radio-eq i:nth-child(29){color:#20d8df !important;background:#20d8df !important;animation-delay:-1.26s !important;}
.radio-eq i:nth-child(30){color:#29bcff !important;background:#29bcff !important;animation-delay:-1.305s !important;}
.radio-eq i:nth-child(31){color:#3d91ff !important;background:#3d91ff !important;animation-delay:-1.35s !important;}
.radio-eq i:nth-child(32){color:#5e72ff !important;background:#5e72ff !important;animation-delay:-1.395s !important;}
.radio-eq i:nth-child(33){color:#815cff !important;background:#815cff !important;animation-delay:-1.44s !important;}
.radio-eq i:nth-child(34){color:#a34cff !important;background:#a34cff !important;animation-delay:-1.485s !important;}
.radio-eq i:nth-child(35){color:#c548f5 !important;background:#c548f5 !important;animation-delay:-1.53s !important;}
.radio-eq i:nth-child(36){color:#e244d5 !important;background:#e244d5 !important;animation-delay:-1.575s !important;}
.radio-eq i:nth-child(37){color:#f647ae !important;background:#f647ae !important;animation-delay:-1.62s !important;}
.radio-eq i:nth-child(38){color:#ff5587 !important;background:#ff5587 !important;animation-delay:-1.665s !important;}
.radio-eq i:nth-child(39){color:#ff6e74 !important;background:#ff6e74 !important;animation-delay:-1.71s !important;}
.radio-eq i:nth-child(40){color:#ff8f55 !important;background:#ff8f55 !important;animation-delay:-1.755s !important;}
.radio-library-player #radioLibraryEq i:nth-child(1){color:#ff3f5f !important;background:#ff3f5f !important;animation-delay:-0.0s !important;}
.radio-library-player #radioLibraryEq i:nth-child(2){color:#ff5a3f !important;background:#ff5a3f !important;animation-delay:-0.045s !important;}
.radio-library-player #radioLibraryEq i:nth-child(3){color:#ff7d25 !important;background:#ff7d25 !important;animation-delay:-0.09s !important;}
.radio-library-player #radioLibraryEq i:nth-child(4){color:#ffa51f !important;background:#ffa51f !important;animation-delay:-0.135s !important;}
.radio-library-player #radioLibraryEq i:nth-child(5){color:#ffd43b !important;background:#ffd43b !important;animation-delay:-0.18s !important;}
.radio-library-player #radioLibraryEq i:nth-child(6){color:#9fe04b !important;background:#9fe04b !important;animation-delay:-0.225s !important;}
.radio-library-player #radioLibraryEq i:nth-child(7){color:#43df82 !important;background:#43df82 !important;animation-delay:-0.27s !important;}
.radio-library-player #radioLibraryEq i:nth-child(8){color:#26dfad !important;background:#26dfad !important;animation-delay:-0.315s !important;}
.radio-library-player #radioLibraryEq i:nth-child(9){color:#20d8df !important;background:#20d8df !important;animation-delay:-0.36s !important;}
.radio-library-player #radioLibraryEq i:nth-child(10){color:#29bcff !important;background:#29bcff !important;animation-delay:-0.405s !important;}
.radio-library-player #radioLibraryEq i:nth-child(11){color:#3d91ff !important;background:#3d91ff !important;animation-delay:-0.45s !important;}
.radio-library-player #radioLibraryEq i:nth-child(12){color:#5e72ff !important;background:#5e72ff !important;animation-delay:-0.495s !important;}
.radio-library-player #radioLibraryEq i:nth-child(13){color:#815cff !important;background:#815cff !important;animation-delay:-0.54s !important;}
.radio-library-player #radioLibraryEq i:nth-child(14){color:#a34cff !important;background:#a34cff !important;animation-delay:-0.585s !important;}
.radio-library-player #radioLibraryEq i:nth-child(15){color:#c548f5 !important;background:#c548f5 !important;animation-delay:-0.63s !important;}
.radio-library-player #radioLibraryEq i:nth-child(16){color:#e244d5 !important;background:#e244d5 !important;animation-delay:-0.675s !important;}
.radio-library-player #radioLibraryEq i:nth-child(17){color:#f647ae !important;background:#f647ae !important;animation-delay:-0.72s !important;}
.radio-library-player #radioLibraryEq i:nth-child(18){color:#ff5587 !important;background:#ff5587 !important;animation-delay:-0.765s !important;}
.radio-library-player #radioLibraryEq i:nth-child(19){color:#ff6e74 !important;background:#ff6e74 !important;animation-delay:-0.81s !important;}
.radio-library-player #radioLibraryEq i:nth-child(20){color:#ff8f55 !important;background:#ff8f55 !important;animation-delay:-0.855s !important;}
.radio-library-player #radioLibraryEq i:nth-child(21){color:#ff3f5f !important;background:#ff3f5f !important;animation-delay:-0.9s !important;}
.radio-library-player #radioLibraryEq i:nth-child(22){color:#ff5a3f !important;background:#ff5a3f !important;animation-delay:-0.945s !important;}
.radio-library-player #radioLibraryEq i:nth-child(23){color:#ff7d25 !important;background:#ff7d25 !important;animation-delay:-0.99s !important;}
.radio-library-player #radioLibraryEq i:nth-child(24){color:#ffa51f !important;background:#ffa51f !important;animation-delay:-1.035s !important;}
.radio-library-player #radioLibraryEq i:nth-child(25){color:#ffd43b !important;background:#ffd43b !important;animation-delay:-1.08s !important;}
.radio-library-player #radioLibraryEq i:nth-child(26){color:#9fe04b !important;background:#9fe04b !important;animation-delay:-1.125s !important;}
.radio-library-player #radioLibraryEq i:nth-child(27){color:#43df82 !important;background:#43df82 !important;animation-delay:-1.17s !important;}
.radio-library-player #radioLibraryEq i:nth-child(28){color:#26dfad !important;background:#26dfad !important;animation-delay:-1.215s !important;}
.radio-library-player #radioLibraryEq i:nth-child(29){color:#20d8df !important;background:#20d8df !important;animation-delay:-1.26s !important;}
.radio-library-player #radioLibraryEq i:nth-child(30){color:#29bcff !important;background:#29bcff !important;animation-delay:-1.305s !important;}
.radio-library-player #radioLibraryEq i:nth-child(31){color:#3d91ff !important;background:#3d91ff !important;animation-delay:-1.35s !important;}
.radio-library-player #radioLibraryEq i:nth-child(32){color:#5e72ff !important;background:#5e72ff !important;animation-delay:-1.395s !important;}
.radio-library-player #radioLibraryEq i:nth-child(33){color:#815cff !important;background:#815cff !important;animation-delay:-1.44s !important;}
.radio-library-player #radioLibraryEq i:nth-child(34){color:#a34cff !important;background:#a34cff !important;animation-delay:-1.485s !important;}
.radio-library-player #radioLibraryEq i:nth-child(35){color:#c548f5 !important;background:#c548f5 !important;animation-delay:-1.53s !important;}
.radio-library-player #radioLibraryEq i:nth-child(36){color:#e244d5 !important;background:#e244d5 !important;animation-delay:-1.575s !important;}
.radio-library-player #radioLibraryEq i:nth-child(37){color:#f647ae !important;background:#f647ae !important;animation-delay:-1.62s !important;}
.radio-library-player #radioLibraryEq i:nth-child(38){color:#ff5587 !important;background:#ff5587 !important;animation-delay:-1.665s !important;}
.radio-library-player #radioLibraryEq i:nth-child(39){color:#ff6e74 !important;background:#ff6e74 !important;animation-delay:-1.71s !important;}
.radio-library-player #radioLibraryEq i:nth-child(40){color:#ff8f55 !important;background:#ff8f55 !important;animation-delay:-1.755s !important;}


/* =========================================================
   v0.0.39 - 라디오 / 개인방송 카테고리
   ========================================================= */
.radio-category-select{
    min-width:110px;
    font-weight:900;
    color:#f1f4f8;
}

.radio-type-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.radio-type-options label{
    display:block;
    cursor:pointer;
}
.radio-type-options input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.radio-type-options span{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-height:76px;
    padding:14px;
    border:1px solid #2a303b;
    border-radius:10px;
    background:#0e1218;
    transition:.18s ease;
}
.radio-type-options b{
    color:#333;
    font-size:13px;
}
.radio-type-options small{
    color:#7c8797;
    font-size:11px;
    line-height:1.55;
}
.radio-type-options input:checked + span{
    border-color:#ff4d67;
    background:rgba(255,77,103,.08);
    box-shadow:0 0 0 1px rgba(255,77,103,.10) inset;
}
.radio-personal-note{
    margin:10px 0 0;
    padding:10px 12px;
    border:1px solid rgba(61,145,255,.22);
    border-radius:8px;
    background:rgba(61,145,255,.06);
    color:#8e9eb6;
    font-size:10px;
    line-height:1.6;
}

.radio-category-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:18px;
    margin-right:5px;
    padding:0 6px;
    border-radius:999px;
    font-size:8px;
    font-weight:900;
    line-height:1;
    vertical-align:middle;
}
.radio-category-badge.radio{
    border:1px solid rgba(41,188,255,.28);
    background:rgba(41,188,255,.08);
    color:#56c8ff;
}
.radio-category-badge.personal{
    border:1px solid rgba(255,77,103,.32);
    background:rgba(255,77,103,.09);
    color:#ff7187;
}

/* 카테고리 셀렉트가 추가된 필터 레이아웃 */
.radio-filter-panel{
    grid-template-columns:110px minmax(240px,1.7fr) repeat(4,minmax(115px,.65fr)) 76px 76px !important;
}
@media(max-width:1450px){
    .radio-filter-panel{
        grid-template-columns:110px minmax(220px,1.3fr) repeat(3,minmax(110px,.65fr)) 76px 76px !important;
    }
}
@media(max-width:1120px){
    .radio-filter-panel{
        grid-template-columns:1fr 1fr 1fr 1fr !important;
    }
    .radio-search-box{
        grid-column:2/-1 !important;
    }
}
@media(max-width:760px){
    .radio-filter-panel{
        grid-template-columns:1fr 1fr !important;
    }
    .radio-category-select{
        min-width:0;
    }
    .radio-search-box{
        grid-column:1/-1 !important;
    }
    .radio-type-options{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   v0.0.40 - 방송국 관리 검색/초기화 한 줄 정렬
   ========================================================= */
.radio-admin-filter{
    grid-template-columns:minmax(260px,1fr) 150px 115px 75px 75px !important;
    align-items:center;
}
.radio-admin-filter button,
.radio-admin-filter a{
    width:100%;
}
@media(max-width:1180px){
    .radio-admin-filter{
        grid-template-columns:minmax(220px,1fr) 140px 110px 72px 72px !important;
    }
}
@media(max-width:980px){
    .radio-admin-filter{
        grid-template-columns:1fr 1fr 1fr 1fr 1fr !important;
    }
}
@media(max-width:760px){
    .radio-admin-filter{
        grid-template-columns:1fr 1fr !important;
    }
    .radio-admin-filter input{
        grid-column:1 / -1 !important;
    }
}


/* =========================================================
   v0.0.41 - 이용약관 / 방송 운영정책 / COMMUNITY 테마 연동 / 모바일 최적화
   ========================================================= */

/* 약관/정책 */
.radio-policy-screen{max-width:980px;}
.radio-policy-card{
    margin-top:14px;
    padding:22px 24px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#0e1117;
}
.radio-policy-meta{
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:1px solid var(--line);
    color:#7e8797;
    font-size:10px;
}
.radio-policy-card h2{
    margin:24px 0 8px;
    color:#eef1f6;
    font-size:15px;
    line-height:1.35;
}
.radio-policy-card h2:first-of-type{margin-top:0;}
.radio-policy-card p,
.radio-policy-card li{
    color:#a3adbc;
    font-size:11px;
    line-height:1.8;
}
.radio-policy-card p{margin:0;}
.radio-policy-card ul{margin:8px 0 0;padding-left:20px;}
.radio-policy-bottom-links{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:12px;
}
.radio-policy-bottom-links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 12px;
    border:1px solid #2b313c;
    border-radius:8px;
    background:#11151c;
    color:#cbd1db;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}
.radio-agree a{color:#ff7187;text-decoration:underline;text-underline-offset:2px;}
.radio-agree b{color:#ff7187;}
.radio-agree-help{
    margin:9px 0 0;
    color:#697486;
    font-size:9px;
    line-height:1.55;
}
.radio-footnote-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}
.radio-legal-links{
    display:flex;
    flex:0 0 auto;
    gap:10px;
}
.radio-legal-links a{
    color:#697486;
    text-decoration:none;
}
.radio-legal-links a:hover{color:#a7b0bd;}

/* COMMUNITY 화이트모드 자동 연동 */
.ppabam-radio.ppabam-radio-light,
.ppabam-radio-policy-page.ppabam-radio-light{
    --bg:#f5f7fa;
    --panel:#ffffff;
    --panel2:#f7f9fc;
    --line:#dce2ea;
    --line2:#cbd3de;
    --text:#1d2430;
    --muted:#6d7888;
    color:var(--text);
    background:
      radial-gradient(circle at 12% 8%,rgba(255,77,103,.045),transparent 24%),
      radial-gradient(circle at 88% 12%,rgba(118,88,255,.045),transparent 25%),
      var(--bg);
}

.ppabam-radio-light .radio-hero,
.ppabam-radio-light .radio-console,
.ppabam-radio-light .radio-filter-panel,
.ppabam-radio-light .radio-card,
.ppabam-radio-light .radio-add-hero,
.ppabam-radio-light .radio-add-card,
.ppabam-radio-light .radio-admin-filter,
.ppabam-radio-light .radio-admin-item,
.ppabam-radio-light .radio-admin-edit,
.ppabam-radio-light .radio-admin-stream-row,
.ppabam-radio-light .radio-detail-player,
.ppabam-radio-light .radio-detail-card,
.ppabam-radio-light .radio-policy-card,
.ppabam-radio-light .radio-loading,
.ppabam-radio-light .radio-empty{
    background:#fff !important;
    border-color:#dce2ea !important;
    color:#1d2430 !important;
    box-shadow:none;
}

.ppabam-radio-light .radio-hero{
    background:
      linear-gradient(120deg,rgba(0,0,0,.012),transparent 32%),
      linear-gradient(135deg,#fff,#f7f9fc) !important;
}

.ppabam-radio-light .radio-console{
    background:
      linear-gradient(180deg,rgba(0,0,0,.012),transparent 45%),
      #fff !important;
}

.ppabam-radio-light .radio-search-box,
.ppabam-radio-light .radio-select,
.ppabam-radio-light .radio-action-btn,
.ppabam-radio-light .radio-field input,
.ppabam-radio-light .radio-field textarea,
.ppabam-radio-light .radio-field select,
.ppabam-radio-light .radio-admin-filter input,
.ppabam-radio-light .radio-admin-filter select,
.ppabam-radio-light .radio-admin-filter button,
.ppabam-radio-light .radio-admin-filter a,
.ppabam-radio-light .radio-admin-edit select,
.ppabam-radio-light .radio-type-options span,
.ppabam-radio-light .radio-owner-options span,
.ppabam-radio-light .radio-policy-bottom-links a{
    background:#f8fafc !important;
    border-color:#d5dce6 !important;
    color:#27303d !important;
}

.ppabam-radio-light .radio-search-box input,
.ppabam-radio-light .radio-field input,
.ppabam-radio-light .radio-field textarea{
    color:#27303d !important;
}
.ppabam-radio-light .radio-search-box input::placeholder,
.ppabam-radio-light .radio-field input::placeholder,
.ppabam-radio-light .radio-field textarea::placeholder{
    color:#9aa5b4 !important;
}

.ppabam-radio-light .radio-card:hover{
    background:#fbfcfe !important;
    border-color:#cbd4df !important;
}
.ppabam-radio-light .radio-card-title,
.ppabam-radio-light .radio-add-hero h1,
.ppabam-radio-light .radio-policy-card h2,
.ppabam-radio-light .radio-detail-info h1,
.ppabam-radio-light .radio-admin-title strong{
    color:#1c2430 !important;
}
.ppabam-radio-light .radio-card-meta,
.ppabam-radio-light .radio-card-tags,
.ppabam-radio-light .radio-desc,
.ppabam-radio-light .radio-add-hero p,
.ppabam-radio-light .radio-policy-card p,
.ppabam-radio-light .radio-policy-card li,
.ppabam-radio-light .radio-admin-title span{
    color:#6f7b8b !important;
}
.ppabam-radio-light .radio-eq,
.ppabam-radio-light .radio-frequency,
.ppabam-radio-light .radio-record,
.ppabam-radio-light .radio-detail-eq{
    background:#f2f5f8 !important;
    border-color:#d7dee8 !important;
}
.ppabam-radio-light .radio-console-right{
    border-left-color:#dce2ea !important;
}
.ppabam-radio-light .radio-round-btn{
    background:#f7f9fc !important;
    border-color:#d2dae4 !important;
    color:#394453 !important;
}
.ppabam-radio-light .radio-footnote,
.ppabam-radio-light .radio-legal-links a{color:#7b8695 !important;}

/* 모바일 최적화 */
@media(max-width:760px){
    .radio-screen{
        width:calc(100% - 16px) !important;
        padding:8px 0 22px !important;
    }
    .radio-hero,
    .radio-add-hero,
    .radio-add-card,
    .radio-policy-card{
        border-radius:11px !important;
        padding:13px !important;
    }
    .radio-hero-head,
    .radio-add-hero{
        gap:10px !important;
    }
    .radio-hero-head{
        flex-direction:column;
    }
    .radio-hero-actions,
    .radio-admin-top-actions{
        width:100%;
        display:flex;
        flex-wrap:wrap;
        gap:6px;
    }
    .radio-hero-actions a,
    .radio-hero-actions .radio-live-badge,
    .radio-admin-top-actions a{
        flex:1 1 auto;
        min-width:0;
    }
    .radio-hero h1,
    .radio-add-hero h1{
        font-size:22px !important;
    }
    .radio-console{
        grid-template-columns:1fr !important;
        gap:12px !important;
        padding:13px !important;
    }
    .radio-console-left{
        gap:11px !important;
    }
    .radio-record{
        flex-basis:76px !important;
        width:76px !important;
        height:76px !important;
    }
    .radio-now-info strong{
        font-size:14px !important;
    }
    .radio-console-center{
        grid-template-columns:92px minmax(0,1fr) !important;
        gap:8px !important;
    }
    .radio-controls{
        grid-column:1/-1;
        grid-template-columns:34px 43px minmax(80px,1fr) !important;
    }
    .radio-eq{
        min-width:0;
    }
    .radio-filter-panel{
        margin-top:9px !important;
        padding:8px !important;
        gap:6px !important;
    }
    .radio-filter-panel select,
    .radio-filter-panel button,
    .radio-search-box{
        width:100%;
        min-width:0;
    }
    .radio-list-head{
        margin-top:13px !important;
        align-items:center !important;
    }
    .radio-list-head strong{font-size:15px !important;}
    .radio-list-head span{font-size:10px !important;}
    .radio-card-body{padding:9px !important;}
    .radio-pagination{
        flex-wrap:wrap;
        gap:5px;
    }
    .radio-admin-filter{
        padding:8px !important;
    }
    .radio-admin-item-head{
        align-items:flex-start !important;
    }
    .radio-admin-stream-row{
        flex-direction:column;
        align-items:stretch !important;
    }
    .radio-admin-stream-row code{
        width:100%;
        white-space:normal !important;
        word-break:break-all;
    }
    .radio-admin-test{
        width:100%;
    }
    .radio-add-grid{
        grid-template-columns:1fr !important;
    }
    .radio-field,
    .radio-field-full{
        grid-column:1/-1 !important;
    }
    .radio-add-actions{
        position:sticky;
        bottom:0;
        z-index:10;
        padding:9px 0 max(9px, env(safe-area-inset-bottom));
        background:linear-gradient(180deg,transparent,var(--bg) 24%);
    }
    .radio-add-actions a,
    .radio-add-actions button{
        flex:1 1 0;
        min-width:0;
    }
    .radio-policy-card h2{
        font-size:14px !important;
    }
    .radio-policy-card p,
    .radio-policy-card li{
        font-size:10.5px !important;
        line-height:1.75 !important;
    }
    .radio-policy-bottom-links{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .radio-footnote-row{
        flex-direction:column;
        gap:6px;
    }
    .radio-legal-links{
        flex-wrap:wrap;
    }
}

@media(max-width:520px){
    .radio-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:6px !important;
    }
    .radio-frequency{
        height:50px !important;
    }
    .radio-frequency strong{
        font-size:20px !important;
    }
    .radio-eq{
        height:50px !important;
        min-height:50px !important;
    }
    .radio-eq i{
        min-width:0 !important;
    }
    .radio-card-title{
        font-size:11px !important;
    }
    .radio-card-meta,
    .radio-card-tags,
    .radio-card-stream-info{
        font-size:8.5px !important;
    }
    .radio-policy-bottom-links{
        grid-template-columns:1fr;
    }
    .radio-type-options,
    .radio-owner-options{
        grid-template-columns:1fr !important;
    }
}


/* =========================================================
   v0.0.42 - 모바일 상단 메뉴 버튼 정렬 최적화
   ========================================================= */
@media (max-width:760px){
    .radio-hero-actions{
        width:100%;
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        align-items:stretch !important;
        gap:7px !important;
    }

    .radio-hero-actions a,
    .radio-hero-actions .radio-live-badge{
        min-width:0 !important;
        width:100% !important;
        min-height:36px !important;
        height:auto !important;
        padding:0 10px !important;
        justify-content:center !important;
        text-align:center !important;
        white-space:nowrap;
    }

    .radio-hero-actions .radio-live-badge{
        grid-column:1 / -1;
        order:-1;
        min-height:34px !important;
    }

    .radio-admin-link-btn,
    .radio-favorite-list-btn,
    .radio-history-list-btn,
    .radio-my-list-btn,
    .radio-register-btn{
        font-size:10px !important;
        line-height:1.2 !important;
    }
}

@media (max-width:520px){
    .radio-hero-actions{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:6px !important;
    }

    .radio-hero-actions a,
    .radio-hero-actions .radio-live-badge{
        border-radius:12px !important;
        font-size:9.5px !important;
        padding:0 8px !important;
    }
}


/* =========================================================
   v0.0.43 - PPABAM COMMUNITY 다크/화이트모드 연동 보강
   ========================================================= */

/* RADIO 기본 다크 */
#ppabam-radio.ppabam-radio-dark{
    color-scheme:dark;
}

/* COMMUNITY 화이트모드 */
#ppabam-radio.ppabam-radio-light,
.ppabam-radio-policy-page.ppabam-radio-light{
    color-scheme:light;
    --bg:#f4f6f9 !important;
    --panel:#ffffff !important;
    --panel2:#f7f9fc !important;
    --line:#d9e0e9 !important;
    --line2:#cbd4df !important;
    --text:#1f2733 !important;
    --muted:#687486 !important;
    background:
      radial-gradient(circle at 12% 8%,rgba(255,77,103,.035),transparent 24%),
      radial-gradient(circle at 88% 12%,rgba(118,88,255,.035),transparent 25%),
      #f4f6f9 !important;
    color:#1f2733 !important;
}

/* 큰 패널 */
#ppabam-radio.ppabam-radio-light .radio-hero,
#ppabam-radio.ppabam-radio-light .radio-console,
#ppabam-radio.ppabam-radio-light .radio-filter-panel,
#ppabam-radio.ppabam-radio-light .radio-card,
#ppabam-radio.ppabam-radio-light .radio-add-hero,
#ppabam-radio.ppabam-radio-light .radio-add-card,
#ppabam-radio.ppabam-radio-light .radio-admin-filter,
#ppabam-radio.ppabam-radio-light .radio-admin-item,
#ppabam-radio.ppabam-radio-light .radio-admin-edit,
#ppabam-radio.ppabam-radio-light .radio-admin-stream-row,
#ppabam-radio.ppabam-radio-light .radio-detail-player,
#ppabam-radio.ppabam-radio-light .radio-detail-card,
#ppabam-radio.ppabam-radio-light .radio-policy-card,
#ppabam-radio.ppabam-radio-light .radio-loading,
#ppabam-radio.ppabam-radio-light .radio-empty,
#ppabam-radio.ppabam-radio-light .radio-error{
    background:#fff !important;
    border-color:#d9e0e9 !important;
    color:#1f2733 !important;
    box-shadow:none !important;
}

#ppabam-radio.ppabam-radio-light .radio-hero{
    background:linear-gradient(135deg,#fff,#f7f9fc 68%,#fff) !important;
}
#ppabam-radio.ppabam-radio-light .radio-console{
    background:linear-gradient(180deg,#fff,#f8fafc) !important;
}

/* 텍스트 */
#ppabam-radio.ppabam-radio-light .radio-hero h1,
#ppabam-radio.ppabam-radio-light .radio-now-info strong,
#ppabam-radio.ppabam-radio-light .radio-card-title,
#ppabam-radio.ppabam-radio-light .radio-list-head strong,
#ppabam-radio.ppabam-radio-light .radio-add-hero h1,
#ppabam-radio.ppabam-radio-light .radio-add-section-title strong,
#ppabam-radio.ppabam-radio-light .radio-admin-title strong,
#ppabam-radio.ppabam-radio-light .radio-detail-info h1,
#ppabam-radio.ppabam-radio-light .radio-policy-card h2{
    color:#1d2531 !important;
}
#ppabam-radio.ppabam-radio-light .radio-kicker,
#ppabam-radio.ppabam-radio-light .radio-desc,
#ppabam-radio.ppabam-radio-light .radio-now-info > span:not(.radio-onair),
#ppabam-radio.ppabam-radio-light .radio-card-meta,
#ppabam-radio.ppabam-radio-light .radio-card-tags,
#ppabam-radio.ppabam-radio-light .radio-card-stream-info,
#ppabam-radio.ppabam-radio-light .radio-list-head span,
#ppabam-radio.ppabam-radio-light .radio-page-info,
#ppabam-radio.ppabam-radio-light .radio-add-hero p,
#ppabam-radio.ppabam-radio-light .radio-field small,
#ppabam-radio.ppabam-radio-light .radio-admin-title span,
#ppabam-radio.ppabam-radio-light .radio-policy-card p,
#ppabam-radio.ppabam-radio-light .radio-policy-card li,
#ppabam-radio.ppabam-radio-light .radio-policy-meta,
#ppabam-radio.ppabam-radio-light .radio-footnote{
    color:#6d7888 !important;
}

/* 입력/셀렉트/버튼 */
#ppabam-radio.ppabam-radio-light .radio-search-box,
#ppabam-radio.ppabam-radio-light .radio-select,
#ppabam-radio.ppabam-radio-light .radio-action-btn:not(.primary),
#ppabam-radio.ppabam-radio-light .radio-field input,
#ppabam-radio.ppabam-radio-light .radio-field textarea,
#ppabam-radio.ppabam-radio-light .radio-field select,
#ppabam-radio.ppabam-radio-light .radio-admin-filter input,
#ppabam-radio.ppabam-radio-light .radio-admin-filter select,
#ppabam-radio.ppabam-radio-light .radio-admin-filter button,
#ppabam-radio.ppabam-radio-light .radio-admin-filter a,
#ppabam-radio.ppabam-radio-light .radio-admin-edit select,
#ppabam-radio.ppabam-radio-light .radio-type-options span,
#ppabam-radio.ppabam-radio-light .radio-owner-options span,
#ppabam-radio.ppabam-radio-light .radio-round-btn,
#ppabam-radio.ppabam-radio-light .radio-policy-bottom-links a{
    background:#f8fafc !important;
    border-color:#d5dde7 !important;
    color:#27313e !important;
}
#ppabam-radio.ppabam-radio-light input,
#ppabam-radio.ppabam-radio-light textarea,
#ppabam-radio.ppabam-radio-light select{
    color:#27313e !important;
}
#ppabam-radio.ppabam-radio-light input::placeholder,
#ppabam-radio.ppabam-radio-light textarea::placeholder{
    color:#9aa5b4 !important;
}

/* 플레이어 */
#ppabam-radio.ppabam-radio-light .radio-frequency,
#ppabam-radio.ppabam-radio-light .radio-eq,
#ppabam-radio.ppabam-radio-light .radio-record,
#ppabam-radio.ppabam-radio-light .radio-detail-eq{
    background:#f1f4f8 !important;
    border-color:#d5dde7 !important;
}
#ppabam-radio.ppabam-radio-light .radio-record{
    box-shadow:
      0 8px 18px rgba(29,37,49,.12),
      inset 0 0 0 3px #e6eaf0,
      inset 0 0 0 4px rgba(255,255,255,.8) !important;
}
#ppabam-radio.ppabam-radio-light .radio-record-center{
    background:#e9edf3 !important;
}
#ppabam-radio.ppabam-radio-light .radio-console-right{
    border-left-color:#dbe2eb !important;
}
#ppabam-radio.ppabam-radio-light .radio-source-mini,
#ppabam-radio.ppabam-radio-light .radio-signal > span,
#ppabam-radio.ppabam-radio-light .radio-frequency-label{
    color:#7a8696 !important;
}
#ppabam-radio.ppabam-radio-light .radio-source-mini strong{
    color:#4c596b !important;
}

/* 카드 */
#ppabam-radio.ppabam-radio-light .radio-card-cover{
    background:#f1f4f8 !important;
}
#ppabam-radio.ppabam-radio-light .radio-card-logo-fallback{
    background:
      radial-gradient(circle at 50% 40%,rgba(255,77,103,.08),transparent 45%),
      #f1f4f8 !important;
    border-color:#d9e0e9 !important;
    color:#8995a5 !important;
}
#ppabam-radio.ppabam-radio-light .radio-card:hover{
    background:#fbfcfe !important;
    border-color:#cbd4df !important;
}
#ppabam-radio.ppabam-radio-light .radio-card-footer{
    border-top-color:#e5e9ef !important;
}

/* 관리자 */
#ppabam-radio.ppabam-radio-light .radio-admin-stream-row{
    border-top-color:#e2e7ee !important;
}
#ppabam-radio.ppabam-radio-light .radio-admin-stream-row code{
    color:#667386 !important;
}
#ppabam-radio.ppabam-radio-light .radio-admin-edit{
    border-top-color:#dce3eb !important;
}

/* 법적 링크 */
#ppabam-radio.ppabam-radio-light .radio-legal-links a,
#ppabam-radio.ppabam-radio-light .radio-policy-bottom-links a{
    color:#566477 !important;
}

/* =========================================================
   v0.0.44 - CSS ONLY
   PPABAM COMMUNITY 다크/화이트모드 직접 연동
   JS/.ppabam-radio-light 클래스 없이 부모 테마 클래스/속성만 사용
   ========================================================= */

/* 명시적 다크모드 */
:is(
    html[data-theme="dark"],
    html[data-mode="dark"],
    html[data-color-mode="dark"],
    html[data-bs-theme="dark"],
    html.dark,
    html.dark-mode,
    html.theme-dark,
    body[data-theme="dark"],
    body[data-mode="dark"],
    body[data-color-mode="dark"],
    body[data-bs-theme="dark"],
    body.dark,
    body.dark-mode,
    body.theme-dark,
    .theme-dark,
    .dark-mode
) #ppabam-radio {
    color-scheme: dark;
    --bg:#08090d !important;
    --panel:#0e1016 !important;
    --panel2:#12151d !important;
    --line:#242934 !important;
    --line2:#303744 !important;
    --text:#f2f4f8 !important;
    --muted:#7e8797 !important;
}

/* 명시적 화이트모드 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio {
    color-scheme: light;
    --bg:#f5f7fa !important;
    --panel:#ffffff !important;
    --panel2:#f7f9fc !important;
    --line:#d9e0e9 !important;
    --line2:#cbd4df !important;
    --text:#1d2531 !important;
    --muted:#6d7888 !important;

    background:
        radial-gradient(circle at 12% 8%,rgba(255,77,103,.035),transparent 24%),
        radial-gradient(circle at 88% 12%,rgba(118,88,255,.035),transparent 25%),
        #f5f7fa !important;
    color:#1d2531 !important;
}

/* 화이트모드 - 주요 패널 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(
    .radio-hero,
    .radio-console,
    .radio-filter-panel,
    .radio-card,
    .radio-add-hero,
    .radio-add-card,
    .radio-admin-filter,
    .radio-admin-item,
    .radio-admin-edit,
    .radio-admin-stream-row,
    .radio-report-filter,
    .radio-report-item,
    .radio-comments,
    .radio-comment-form,
    .radio-comment-login,
    .radio-detail-player,
    .radio-detail-card,
    .radio-policy-card,
    .radio-loading,
    .radio-empty,
    .radio-error
) {
    background:#ffffff !important;
    border-color:#d9e0e9 !important;
    color:#1d2531 !important;
    box-shadow:none !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-hero {
    background:linear-gradient(135deg,#ffffff,#f7f9fc 68%,#ffffff) !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-console {
    background:linear-gradient(180deg,#ffffff,#f8fafc) !important;
}

/* 화이트모드 - 제목/본문 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(
    .radio-hero h1,
    .radio-now-info strong,
    .radio-card-title,
    .radio-list-head strong,
    .radio-add-hero h1,
    .radio-add-section-title strong,
    .radio-admin-title strong,
    .radio-detail-info h1,
    .radio-comments-head strong,
    .radio-comment-meta strong,
    .radio-report-head strong,
    .radio-policy-card h2
) {
    color:#1d2531 !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(
    .radio-kicker,
    .radio-desc,
    .radio-now-info > span:not(.radio-onair),
    .radio-card-meta,
    .radio-card-tags,
    .radio-card-stream-info,
    .radio-list-head span,
    .radio-page-info,
    .radio-add-hero p,
    .radio-field small,
    .radio-admin-title > span,
    .radio-policy-card p,
    .radio-policy-card li,
    .radio-policy-meta,
    .radio-footnote,
    .radio-comment-text,
    .radio-comment-form span,
    .radio-report-head span,
    .radio-report-comment,
    .radio-report-detail
) {
    color:#6d7888 !important;
}

/* 화이트모드 - 입력/선택/버튼 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(
    .radio-search-box,
    .radio-select,
    .radio-action-btn:not(.primary),
    .radio-field input,
    .radio-field textarea,
    .radio-field select,
    .radio-admin-filter input,
    .radio-admin-filter select,
    .radio-admin-filter button,
    .radio-admin-filter a,
    .radio-admin-edit select,
    .radio-type-options span,
    .radio-owner-options label,
    .radio-owner-options span,
    .radio-round-btn,
    .radio-policy-bottom-links a,
    .radio-pagination button,
    #radioPageNumbers button,
    .radio-report-filter a,
    .radio-comment-form textarea
) {
    background:#f8fafc !important;
    border-color:#d5dde7 !important;
    color:#27313e !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(input,textarea,select) {
    color:#27313e !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(input,textarea)::placeholder {
    color:#9aa5b4 !important;
}

/* 화이트모드 - 플레이어 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(
    .radio-frequency,
    .radio-eq,
    .radio-record,
    .radio-detail-eq
) {
    background:#f1f4f8 !important;
    border-color:#d5dde7 !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-record {
    box-shadow:
        0 8px 18px rgba(29,37,49,.12),
        inset 0 0 0 3px #e6eaf0,
        inset 0 0 0 4px rgba(255,255,255,.8) !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-record-center {
    background:#e9edf3 !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-console-right {
    border-left-color:#dbe2eb !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(
    .radio-source-mini,
    .radio-signal > span,
    .radio-frequency-label
) {
    color:#7a8696 !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-source-mini strong {
    color:#4c596b !important;
}

/* 화이트모드 - 카드 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-card-cover {
    background:
        radial-gradient(circle at 50% 45%,#f6f8fb 0,#eef2f6 48%,#e7ecf2 100%) !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-card-cover img {
    background:#ffffff !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-card-logo-fallback {
    background:
        radial-gradient(circle at 50% 40%,rgba(255,77,103,.07),transparent 45%),
        #f1f4f8 !important;
    border-color:#d9e0e9 !important;
    color:#8995a5 !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-card:hover {
    background:#fbfcfe !important;
    border-color:#cbd4df !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-card-footer {
    border-top-color:#e5e9ef !important;
}

/* 화이트모드 - 관리자/댓글 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-admin-stream-row {
    border-top-color:#e2e7ee !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-admin-stream-row code {
    color:#667386 !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-admin-edit {
    border-top-color:#dce3eb !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-comment-item {
    border-bottom-color:#e3e8ef !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-comment-avatar {
    background:#edf1f6 !important;
    color:#627084 !important;
}

:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-report-comment,
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio .radio-report-detail {
    background:#f6f8fb !important;
}

/* 화이트모드 - 링크 */
:is(
    html[data-theme="light"],
    html[data-mode="light"],
    html[data-color-mode="light"],
    html[data-bs-theme="light"],
    html.light,
    html.light-mode,
    html.theme-light,
    html.white,
    html.white-mode,
    body[data-theme="light"],
    body[data-mode="light"],
    body[data-color-mode="light"],
    body[data-bs-theme="light"],
    body.light,
    body.light-mode,
    body.theme-light,
    body.white,
    body.white-mode,
    .theme-light,
    .light-mode,
    .white-mode,
    .theme-white
) #ppabam-radio :is(
    .radio-home,
    .radio-comment-link,
    .radio-legal-links a,
    .radio-policy-bottom-links a,
    .radio-add-back
) {
    color:#566477 !important;
}

/* COMMUNITY가 별도 light class 없이 OS 테마만 따르는 경우의 CSS 전용 fallback */
@media (prefers-color-scheme: light) {
    html:not([data-theme="dark"]):not(.dark):not(.dark-mode):not(.theme-dark)
    body:not([data-theme="dark"]):not(.dark):not(.dark-mode):not(.theme-dark)
    #ppabam-radio {
        color-scheme:light;
    }
}

/* =========================================================
   v0.0.45 - PPABAM COMMUNITY 테마 방식에 맞춤
   핵심:
   - 기본 상태 = 화이트모드
   - body.dark-mode = 다크모드
   - JS 테마 감지 없이 CSS만으로 처리
   ========================================================= */

/* ---------------------------------------------------------
   1) 기본 상태 = 화이트모드
   --------------------------------------------------------- */
#ppabam-radio{
    color-scheme:light !important;

    --bg:#f5f7fa !important;
    --panel:#ffffff !important;
    --panel2:#f7f9fc !important;
    --line:#d9e0e9 !important;
    --line2:#cbd4df !important;
    --text:#1d2531 !important;
    --muted:#6d7888 !important;

    background:
        radial-gradient(circle at 12% 8%,rgba(255,77,103,.035),transparent 24%),
        radial-gradient(circle at 88% 12%,rgba(118,88,255,.035),transparent 25%),
        #f5f7fa !important;
    color:#1d2531 !important;
}

#ppabam-radio :is(
    .radio-hero,
    .radio-console,
    .radio-filter-panel,
    .radio-card,
    .radio-add-hero,
    .radio-add-card,
    .radio-admin-filter,
    .radio-admin-item,
    .radio-admin-edit,
    .radio-admin-stream-row,
    .radio-report-filter,
    .radio-report-item,
    .radio-comments,
    .radio-comment-form,
    .radio-comment-login,
    .radio-detail-player,
    .radio-detail-card,
    .radio-policy-card,
    .radio-loading,
    .radio-empty
){
    background:#ffffff !important;
    border-color:#d9e0e9 !important;
    color:#1d2531 !important;
    box-shadow:none !important;
}

#ppabam-radio .radio-error{
    background:#fff4f6 !important;
    border-color:#f2c9d0 !important;
    color:#b24b5f !important;
}

#ppabam-radio .radio-hero{
    background:linear-gradient(135deg,#ffffff,#f7f9fc 68%,#ffffff) !important;
}

#ppabam-radio .radio-console{
    background:linear-gradient(180deg,#ffffff,#f8fafc) !important;
}

#ppabam-radio :is(
    .radio-hero h1,
    .radio-now-info strong,
    .radio-card-title,
    .radio-list-head strong,
    .radio-add-hero h1,
    .radio-add-section-title strong,
    .radio-admin-title strong,
    .radio-admin-summary strong,
    .radio-detail-info h1,
    .radio-comments-head strong,
    .radio-comment-meta strong,
    .radio-report-head strong,
    .radio-policy-card h2
){
    color:#1d2531 !important;
}

#ppabam-radio :is(
    .radio-kicker,
    .radio-desc,
    .radio-now-info > span:not(.radio-onair),
    .radio-card-meta,
    .radio-card-tags,
    .radio-card-stream-info,
    .radio-list-head span,
    .radio-page-info,
    .radio-add-hero p,
    .radio-add-section-title span,
    .radio-field small,
    .radio-admin-title > span,
    .radio-admin-summary,
    .radio-policy-card p,
    .radio-policy-card li,
    .radio-policy-meta,
    .radio-footnote,
    .radio-comment-text,
    .radio-comment-form span,
    .radio-report-head span,
    .radio-report-comment,
    .radio-report-detail
){
    color:#6d7888 !important;
}

#ppabam-radio :is(
    .radio-search-box,
    .radio-select,
    .radio-action-btn:not(.primary),
    .radio-field input,
    .radio-field textarea,
    .radio-field select,
    .radio-admin-filter input,
    .radio-admin-filter select,
    .radio-admin-filter button,
    .radio-admin-filter a,
    .radio-admin-edit select,
    .radio-type-options span,
    .radio-owner-options label,
    .radio-round-btn,
    .radio-policy-bottom-links a,
    .radio-pagination button,
    #radioPageNumbers button,
    .radio-report-filter a,
    .radio-comment-form textarea,
    .radio-admin-toggle,
    .radio-admin-test
){
    background:#f8fafc !important;
    border-color:#d5dde7 !important;
    color:#27313e !important;
}

#ppabam-radio :is(input,textarea,select){
    color:#27313e !important;
}

#ppabam-radio :is(input,textarea)::placeholder{
    color:#9aa5b4 !important;
}

#ppabam-radio :is(
    .radio-frequency,
    .radio-eq,
    .radio-record,
    .radio-detail-eq
){
    background:#f1f4f8 !important;
    border-color:#d5dde7 !important;
}

#ppabam-radio .radio-record{
    box-shadow:
        0 8px 18px rgba(29,37,49,.12),
        inset 0 0 0 3px #e6eaf0,
        inset 0 0 0 4px rgba(255,255,255,.8) !important;
}

#ppabam-radio .radio-record-center{
    background:#e9edf3 !important;
}

#ppabam-radio .radio-record-ring{
    border-color:#cdd5df !important;
    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.65),
        0 0 0 1px rgba(90,100,115,.15) !important;
}

#ppabam-radio .radio-console-right{
    border-left-color:#dbe2eb !important;
}

#ppabam-radio :is(
    .radio-source-mini,
    .radio-signal > span,
    .radio-frequency-label
){
    color:#7a8696 !important;
}

#ppabam-radio .radio-source-mini strong{
    color:#4c596b !important;
}

#ppabam-radio .radio-card-cover{
    background:
        radial-gradient(circle at 50% 45%,#f7f9fc 0,#eef2f6 48%,#e7ecf2 100%) !important;
}

#ppabam-radio .radio-card-cover img{
    background:#ffffff !important;
}

#ppabam-radio .radio-card-logo-fallback{
    background:
        radial-gradient(circle at 50% 40%,rgba(255,77,103,.07),transparent 45%),
        #f1f4f8 !important;
    border-color:#d9e0e9 !important;
    color:#8995a5 !important;
}

#ppabam-radio .radio-card:hover{
    background:#fbfcfe !important;
    border-color:#cbd4df !important;
}

#ppabam-radio .radio-card-footer,
#ppabam-radio .radio-add-section-title,
#ppabam-radio .radio-comments-head{
    border-color:#e5e9ef !important;
}

#ppabam-radio .radio-admin-stream-row{
    border-top-color:#e2e7ee !important;
}

#ppabam-radio .radio-admin-stream-row code{
    color:#667386 !important;
}

#ppabam-radio .radio-admin-edit{
    border-top-color:#dce3eb !important;
}

#ppabam-radio .radio-comment-item{
    border-bottom-color:#e3e8ef !important;
}

#ppabam-radio .radio-comment-avatar{
    background:#edf1f6 !important;
    color:#627084 !important;
}

#ppabam-radio :is(.radio-report-comment,.radio-report-detail){
    background:#f6f8fb !important;
}

#ppabam-radio :is(
    .radio-home,
    .radio-comment-link,
    .radio-legal-links a,
    .radio-policy-bottom-links a,
    .radio-add-back
){
    color:#566477 !important;
}


/* ---------------------------------------------------------
   2) PPABAM COMMUNITY 실제 다크모드
      body.dark-mode 기준
   --------------------------------------------------------- */
body.dark-mode #ppabam-radio{
    color-scheme:dark !important;

    --bg:#08090d !important;
    --panel:#0e1016 !important;
    --panel2:#12151d !important;
    --line:#242934 !important;
    --line2:#303744 !important;
    --text:#f2f4f8 !important;
    --muted:#7e8797 !important;

    background:
        radial-gradient(circle at 12% 8%,rgba(255,77,103,.06),transparent 24%),
        radial-gradient(circle at 88% 12%,rgba(118,88,255,.07),transparent 25%),
        #08090d !important;
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-hero,
    .radio-console,
    .radio-filter-panel,
    .radio-card,
    .radio-add-hero,
    .radio-add-card,
    .radio-admin-filter,
    .radio-admin-item,
    .radio-admin-edit,
    .radio-admin-stream-row,
    .radio-report-filter,
    .radio-report-item,
    .radio-comments,
    .radio-comment-form,
    .radio-comment-login,
    .radio-detail-player,
    .radio-detail-card,
    .radio-policy-card,
    .radio-loading,
    .radio-empty
){
    border-color:#242934 !important;
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-hero{
    background:
        linear-gradient(120deg,rgba(255,255,255,.018),transparent 32%),
        linear-gradient(135deg,#0f1118,#0b0d12 68%,#10121a) !important;
}

body.dark-mode #ppabam-radio .radio-console{
    background:
        linear-gradient(180deg,rgba(255,255,255,.018),transparent 45%),
        #0a0c11 !important;
    border-color:#282e39 !important;
}

body.dark-mode #ppabam-radio .radio-filter-panel{
    background:#0c0f14 !important;
}

body.dark-mode #ppabam-radio .radio-card,
body.dark-mode #ppabam-radio .radio-add-card,
body.dark-mode #ppabam-radio .radio-admin-item,
body.dark-mode #ppabam-radio .radio-comments,
body.dark-mode #ppabam-radio .radio-policy-card{
    background:#0d1016 !important;
}

body.dark-mode #ppabam-radio .radio-admin-edit{
    background:#0b0e13 !important;
}

body.dark-mode #ppabam-radio .radio-admin-stream-row{
    background:#090c11 !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-hero h1,
    .radio-now-info strong,
    .radio-card-title,
    .radio-list-head strong,
    .radio-add-hero h1,
    .radio-add-section-title strong,
    .radio-admin-title strong,
    .radio-admin-summary strong,
    .radio-detail-info h1,
    .radio-comments-head strong,
    .radio-comment-meta strong,
    .radio-report-head strong,
    .radio-policy-card h2
){
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-kicker,
    .radio-desc,
    .radio-now-info > span:not(.radio-onair),
    .radio-card-meta,
    .radio-card-tags,
    .radio-card-stream-info,
    .radio-list-head span,
    .radio-page-info,
    .radio-add-hero p,
    .radio-add-section-title span,
    .radio-field small,
    .radio-admin-title > span,
    .radio-admin-summary,
    .radio-policy-card p,
    .radio-policy-card li,
    .radio-policy-meta,
    .radio-footnote,
    .radio-comment-text,
    .radio-comment-form span,
    .radio-report-head span,
    .radio-report-comment,
    .radio-report-detail
){
    color:#7e8797 !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-search-box,
    .radio-select,
    .radio-action-btn:not(.primary),
    .radio-field input,
    .radio-field textarea,
    .radio-field select,
    .radio-admin-filter input,
    .radio-admin-filter select,
    .radio-admin-filter button,
    .radio-admin-filter a,
    .radio-admin-edit select,
    .radio-type-options span,
    .radio-owner-options label,
    .radio-round-btn,
    .radio-policy-bottom-links a,
    .radio-pagination button,
    #radioPageNumbers button,
    .radio-report-filter a,
    .radio-comment-form textarea,
    .radio-admin-toggle,
    .radio-admin-test
){
    background:#11151c !important;
    border-color:#2b313c !important;
    color:#cbd1db !important;
}

body.dark-mode #ppabam-radio :is(input,textarea,select){
    color:#f3f5f8 !important;
}

body.dark-mode #ppabam-radio :is(input,textarea)::placeholder{
    color:#667180 !important;
}

body.dark-mode #ppabam-radio .radio-frequency{
    background:#080a0e !important;
    border-color:#272d38 !important;
}

body.dark-mode #ppabam-radio .radio-eq,
body.dark-mode #ppabam-radio .radio-detail-eq{
    background:#07090d !important;
    border-color:#242a34 !important;
}

body.dark-mode #ppabam-radio .radio-record{
    background:#0b0e13 !important;
    border-color:#343a45 !important;
    box-shadow:
        0 10px 24px rgba(0,0,0,.40),
        inset 0 0 0 3px #171b22,
        inset 0 0 0 4px rgba(255,255,255,.05) !important;
}

body.dark-mode #ppabam-radio .radio-record-center{
    background:#10141a !important;
}

body.dark-mode #ppabam-radio .radio-record-ring{
    border-color:#242a33 !important;
    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.035),
        0 0 0 1px rgba(0,0,0,.65) !important;
}

body.dark-mode #ppabam-radio .radio-console-right{
    border-left-color:#20252e !important;
}

body.dark-mode #ppabam-radio .radio-source-mini,
body.dark-mode #ppabam-radio .radio-signal > span{
    color:#535d6b !important;
}

body.dark-mode #ppabam-radio .radio-source-mini strong{
    color:#8892a1 !important;
}

body.dark-mode #ppabam-radio .radio-card-cover{
    background:
        radial-gradient(circle at 50% 45%,#252b35 0,#171b22 48%,#0f1217 100%) !important;
}

body.dark-mode #ppabam-radio .radio-card-cover img{
    background:#0c0f14 !important;
}

body.dark-mode #ppabam-radio .radio-card-logo-fallback{
    background:
        radial-gradient(circle at 50% 40%,rgba(255,77,103,.16),transparent 45%),
        #11151b !important;
    border-color:#2b313b !important;
    color:#707988 !important;
}

body.dark-mode #ppabam-radio .radio-card:hover{
    background:#10141b !important;
    border-color:#343d4a !important;
}

body.dark-mode #ppabam-radio .radio-card-footer,
body.dark-mode #ppabam-radio .radio-add-section-title,
body.dark-mode #ppabam-radio .radio-comments-head{
    border-color:#20252e !important;
}

body.dark-mode #ppabam-radio .radio-comment-avatar{
    background:#1a1f27 !important;
    color:#aeb7c5 !important;
}

body.dark-mode #ppabam-radio :is(.radio-report-comment,.radio-report-detail){
    background:#10141a !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-home,
    .radio-comment-link,
    .radio-legal-links a,
    .radio-policy-bottom-links a,
    .radio-add-back
){
    color:#9ba4b2 !important;
}

/* 기존 JS가 잘못 light 클래스를 붙여도 COMMUNITY body.dark-mode가 최우선 */
body.dark-mode #ppabam-radio.ppabam-radio-light{
    color-scheme:dark !important;
}

/* =========================================================
   v0.0.46 - 상단 메뉴 버튼 화이트/다크모드 연동
   관리자 / 최근 청취 / 내 방송국 포함
   ========================================================= */

/* 기본 = 화이트모드 */
#ppabam-radio :is(
    .radio-admin-link-btn,
    .radio-history-list-btn,
    .radio-my-list-btn,
    .radio-favorite-list-btn,
    .radio-register-btn
){
    background:#ffffff !important;
    border-color:#d7dee8 !important;
    color:#394658 !important;
    box-shadow:none !important;
}

#ppabam-radio .radio-admin-link-btn:hover,
#ppabam-radio .radio-history-list-btn:hover,
#ppabam-radio .radio-my-list-btn:hover{
    background:#f4f7fa !important;
    border-color:#bfc9d5 !important;
    color:#1f2937 !important;
}

#ppabam-radio .radio-favorite-list-btn{
    border-color:rgba(214,159,0,.32) !important;
    background:#fffaf0 !important;
    color:#9a7200 !important;
}

#ppabam-radio .radio-favorite-list-btn:hover{
    border-color:#d6a100 !important;
    background:#fff6d9 !important;
    color:#7f5d00 !important;
}

#ppabam-radio .radio-register-btn{
    border-color:rgba(255,77,103,.35) !important;
    background:#fff5f7 !important;
    color:#e53b57 !important;
}

#ppabam-radio .radio-register-btn:hover{
    border-color:#ff4d67 !important;
    background:#ff4d67 !important;
    color:#ffffff !important;
}

/* PPABAM COMMUNITY 다크모드 */
body.dark-mode #ppabam-radio :is(
    .radio-admin-link-btn,
    .radio-history-list-btn,
    .radio-my-list-btn
){
    background:#12161d !important;
    border-color:#343b47 !important;
    color:#aeb7c5 !important;
}

body.dark-mode #ppabam-radio .radio-admin-link-btn:hover,
body.dark-mode #ppabam-radio .radio-history-list-btn:hover,
body.dark-mode #ppabam-radio .radio-my-list-btn:hover{
    background:#171c24 !important;
    border-color:#697485 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-favorite-list-btn{
    border-color:rgba(255,202,58,.30) !important;
    background:rgba(255,202,58,.07) !important;
    color:#e6c35a !important;
}

body.dark-mode #ppabam-radio .radio-favorite-list-btn:hover{
    border-color:#ffca3a !important;
    background:rgba(255,202,58,.13) !important;
    color:#ffe08a !important;
}

body.dark-mode #ppabam-radio .radio-register-btn{
    border-color:rgba(255,77,103,.35) !important;
    background:rgba(255,77,103,.08) !important;
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-register-btn:hover{
    border-color:#ff4d67 !important;
    background:#ff4d67 !important;
    color:#ffffff !important;
}


/* =========================================================
   v0.0.47 - 최근 청취 삭제 버튼
   ========================================================= */
.radio-history-footer{
    justify-content:flex-end !important;
}
.radio-history-footer-actions{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
.radio-history-delete-form{
    margin:0;
}
.radio-history-delete-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:0 7px;
    border:1px solid rgba(255,77,103,.28);
    border-radius:6px;
    background:rgba(255,77,103,.06);
    color:#ff7187;
    cursor:pointer;
    font-size:9px;
    font-weight:800;
}
.radio-history-delete-btn:hover{
    border-color:#ff4d67;
    background:rgba(255,77,103,.12);
    color:#ff4d67;
}

/* 화이트모드 */
body:not(.dark-mode) #ppabam-radio .radio-history-delete-btn{
    border-color:#efc3cb !important;
    background:#fff6f8 !important;
    color:#d83d58 !important;
}
body:not(.dark-mode) #ppabam-radio .radio-history-delete-btn:hover{
    border-color:#ff4d67 !important;
    background:#ffedf1 !important;
    color:#c92d49 !important;
}

/* 다크모드 */
body.dark-mode #ppabam-radio .radio-history-delete-btn{
    border-color:rgba(255,77,103,.28) !important;
    background:rgba(255,77,103,.06) !important;
    color:#ff7187 !important;
}

@media(max-width:520px){
    .radio-history-footer-actions{
        gap:6px;
    }
    .radio-history-delete-btn{
        min-height:26px;
        padding:0 8px;
    }
}

/* =========================================================
   v0.0.48 STANDARD
   PPABAM COMMUNITY 테마 표준
   - 기본 = 화이트모드
   - body.dark-mode = 다크모드
   - 관리자 / 내 즐겨찾기 / 최근 청취 / 내 방송국 / 방송국 등록
     상단 타이틀 영역까지 동일 테마 적용
   ========================================================= */

/* ---------------------------------------------------------
   공통 상단 타이틀 영역 - 기본 화이트모드
   --------------------------------------------------------- */
#ppabam-radio .radio-add-hero{
    background:
        radial-gradient(circle at 12% 5%,rgba(255,77,103,.045),transparent 30%),
        linear-gradient(135deg,#ffffff,#f7f9fc) !important;
    border-color:#d9e0e9 !important;
    color:#1d2531 !important;
    box-shadow:0 10px 30px rgba(25,33,45,.045) !important;
	font-family: Arial, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}

#ppabam-radio .radio-add-hero .radio-kicker{
    color:#7d8795 !important;
}

#ppabam-radio .radio-add-hero h1{
    color:#1d2531 !important;
}

#ppabam-radio .radio-add-hero > div > p:last-child{
    color:#6d7888 !important;
}

#ppabam-radio .radio-add-back{
    color:#657183 !important;
}

#ppabam-radio .radio-add-back:hover{
    color:#ff4d67 !important;
}

/* 상단 메뉴 버튼 - 기본 화이트모드 */
#ppabam-radio :is(
    .radio-admin-link-btn,
    .radio-favorite-list-btn,
    .radio-history-list-btn,
    .radio-my-list-btn,
    .radio-register-btn
){
    box-shadow:none !important;
}

#ppabam-radio .radio-admin-link-btn,
#ppabam-radio .radio-history-list-btn,
#ppabam-radio .radio-my-list-btn{
    background:#ffffff !important;
    border-color:#d7dee8 !important;
    color:#394658 !important;
}

#ppabam-radio .radio-admin-link-btn:hover,
#ppabam-radio .radio-history-list-btn:hover,
#ppabam-radio .radio-my-list-btn:hover{
    background:#f4f7fa !important;
    border-color:#bfc9d5 !important;
    color:#1f2937 !important;
}

#ppabam-radio .radio-favorite-list-btn{
    background:#fffaf0 !important;
    border-color:rgba(214,159,0,.32) !important;
    color:#9a7200 !important;
}

#ppabam-radio .radio-favorite-list-btn:hover{
    background:#fff6d9 !important;
    border-color:#d6a100 !important;
    color:#7f5d00 !important;
}

#ppabam-radio .radio-register-btn{
    background:#fff5f7 !important;
    border-color:rgba(255,77,103,.35) !important;
    color:#e53b57 !important;
}

#ppabam-radio .radio-register-btn:hover{
    background:#ff4d67 !important;
    border-color:#ff4d67 !important;
    color:#ffffff !important;
}


/* ---------------------------------------------------------
   PPABAM COMMUNITY 다크모드
   실제 커뮤니티 기준: body.dark-mode
   --------------------------------------------------------- */
body.dark-mode #ppabam-radio .radio-add-hero{
    background:
        radial-gradient(circle at 12% 5%,rgba(255,77,103,.08),transparent 30%),
        linear-gradient(135deg,#10131a,#0b0d12) !important;
    border-color:#242934 !important;
    color:#f2f4f8 !important;
    box-shadow:0 18px 50px rgba(0,0,0,.20) !important;
}

body.dark-mode #ppabam-radio .radio-add-hero .radio-kicker{
    color:#6f7888 !important;
}

body.dark-mode #ppabam-radio .radio-add-hero h1{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-add-hero > div > p:last-child{
    color:#8c96a6 !important;
}

body.dark-mode #ppabam-radio .radio-add-back{
    color:#9ca5b4 !important;
}

body.dark-mode #ppabam-radio .radio-add-back:hover{
    color:#ff7187 !important;
}


/* 관리자 */
body.dark-mode #ppabam-radio .radio-admin-link-btn{
    background:#12161d !important;
    border-color:#343b47 !important;
    color:#aeb7c5 !important;
}

body.dark-mode #ppabam-radio .radio-admin-link-btn:hover{
    background:#171c24 !important;
    border-color:#697485 !important;
    color:#ffffff !important;
}


/* 내 즐겨찾기 */
body.dark-mode #ppabam-radio .radio-favorite-list-btn{
    background:rgba(255,202,58,.07) !important;
    border-color:rgba(255,202,58,.30) !important;
    color:#e6c35a !important;
}

body.dark-mode #ppabam-radio .radio-favorite-list-btn:hover{
    background:rgba(255,202,58,.13) !important;
    border-color:#ffca3a !important;
    color:#ffe08a !important;
}


/* 최근 청취 */
body.dark-mode #ppabam-radio .radio-history-list-btn{
    background:#11151c !important;
    border-color:#343b47 !important;
    color:#9ca6b4 !important;
}

body.dark-mode #ppabam-radio .radio-history-list-btn:hover{
    background:#171c24 !important;
    border-color:#596474 !important;
    color:#ffffff !important;
}


/* 내 방송국 */
body.dark-mode #ppabam-radio .radio-my-list-btn{
    background:#11151c !important;
    border-color:#343b47 !important;
    color:#9ca6b4 !important;
}

body.dark-mode #ppabam-radio .radio-my-list-btn:hover{
    background:#171c24 !important;
    border-color:#596474 !important;
    color:#ffffff !important;
}


/* 방송국 등록 */
body.dark-mode #ppabam-radio .radio-register-btn{
    background:rgba(255,77,103,.08) !important;
    border-color:rgba(255,77,103,.35) !important;
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-register-btn:hover{
    background:#ff4d67 !important;
    border-color:#ff4d67 !important;
    color:#ffffff !important;
}


/* ---------------------------------------------------------
   상단 타이틀이 쓰이는 각 화면을 명시적으로 동일 처리
   admin.php / favorites.php / history.php / my_stations.php / add.php
   모두 .radio-add-hero 사용
   --------------------------------------------------------- */
body.dark-mode #ppabam-radio .radio-admin-screen .radio-add-hero,
body.dark-mode #ppabam-radio .radio-add-screen .radio-add-hero,
body.dark-mode #ppabam-radio .radio-screen .radio-add-hero{
    border-color:#242934 !important;
    background:
        radial-gradient(circle at 12% 5%,rgba(255,77,103,.08),transparent 30%),
        linear-gradient(135deg,#10131a,#0b0d12) !important;
}

body.dark-mode #ppabam-radio .radio-admin-screen .radio-add-hero h1,
body.dark-mode #ppabam-radio .radio-add-screen .radio-add-hero h1,
body.dark-mode #ppabam-radio .radio-screen .radio-add-hero h1{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-admin-screen .radio-add-hero .radio-kicker,
body.dark-mode #ppabam-radio .radio-add-screen .radio-add-hero .radio-kicker,
body.dark-mode #ppabam-radio .radio-screen .radio-add-hero .radio-kicker{
    color:#6f7888 !important;
}

body.dark-mode #ppabam-radio .radio-admin-screen .radio-add-hero > div > p:last-child,
body.dark-mode #ppabam-radio .radio-add-screen .radio-add-hero > div > p:last-child,
body.dark-mode #ppabam-radio .radio-screen .radio-add-hero > div > p:last-child{
    color:#8c96a6 !important;
}


/* ---------------------------------------------------------
   내 방송국 목록도 상단 타이틀과 함께 다크모드 통일
   --------------------------------------------------------- */
body.dark-mode #ppabam-radio .radio-my-station-item{
    background:#0d1016 !important;
    border-color:#252b35 !important;
}

body.dark-mode #ppabam-radio .radio-my-station-info strong{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-my-station-info > span,
body.dark-mode #ppabam-radio .radio-my-station-info code{
    color:#707a89 !important;
}


/* ---------------------------------------------------------
   즐겨찾기 / 최근청취 상단 플레이어도 다크모드 표준 유지
   --------------------------------------------------------- */
body.dark-mode #ppabam-radio .radio-library-player .radio-console{
    background:
        linear-gradient(180deg,rgba(255,255,255,.018),transparent 45%),
        #0a0c11 !important;
    border-color:#282e39 !important;
}


/* 모바일에서도 상단 타이틀/메뉴 유지 */
@media(max-width:760px){
    #ppabam-radio .radio-add-hero{
        padding:14px !important;
    }

    #ppabam-radio .radio-add-hero h1{
        font-size:22px !important;
    }

    #ppabam-radio .radio-add-hero > div > p:last-child{
        font-size:11px !important;
        line-height:1.55 !important;
    }
}

/* =========================================================
   v0.0.50 STANDARD FIX
   v0.0.48 표준 CSS 기준 누적 수정
   - 관리자: 타이틀 + 검색바 + 목록 + 버튼
   - 댓글 신고 관리: 타이틀 + 필터 + 목록 + 버튼
   - 내가 등록한 방송: 타이틀부터 목록 전체
   - 방송 등록: 타이틀 + 입력카드 + 하단 버튼
   COMMUNITY 기준: 기본 화이트 / body.dark-mode 다크
   ========================================================= */

/* =========================================================
   A. 공통 상단 타이틀 - DARK
   ========================================================= */
body.dark-mode #ppabam-radio .radio-add-hero{
    background:
        radial-gradient(circle at 12% 5%,rgba(255,77,103,.08),transparent 30%),
        linear-gradient(135deg,#10131a 0%,#0b0d12 72%,#101219 100%) !important;
    border:1px solid #242934 !important;
    color:#f2f4f8 !important;
    box-shadow:0 18px 50px rgba(0,0,0,.20) !important;
}

body.dark-mode #ppabam-radio .radio-add-hero h1{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-add-hero .radio-kicker{
    color:#6f7888 !important;
}

body.dark-mode #ppabam-radio .radio-add-hero > div > p:last-child{
    color:#8c96a6 !important;
}

body.dark-mode #ppabam-radio .radio-add-back{
    color:#9ca5b4 !important;
}

body.dark-mode #ppabam-radio .radio-add-back:hover{
    color:#ff7187 !important;
}


/* =========================================================
   B. 방송국 관리 - 타이틀 아래 검색바부터 전체 DARK
   ========================================================= */
body.dark-mode #ppabam-radio .radio-admin-screen{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-admin-filter{
    border:1px solid #252b35 !important;
    background:#0c0f14 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-admin-filter input,
body.dark-mode #ppabam-radio .radio-admin-filter select,
body.dark-mode #ppabam-radio .radio-admin-filter button,
body.dark-mode #ppabam-radio .radio-admin-filter a{
    border:1px solid #2b313c !important;
    background:#11151c !important;
    color:#cbd1db !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-admin-filter input::placeholder{
    color:#687382 !important;
}

body.dark-mode #ppabam-radio .radio-admin-filter button:hover,
body.dark-mode #ppabam-radio .radio-admin-filter a:hover{
    border-color:#596474 !important;
    background:#171c24 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-admin-summary{
    color:#7b8595 !important;
}

body.dark-mode #ppabam-radio .radio-admin-summary strong{
    color:#f1f3f7 !important;
}

body.dark-mode #ppabam-radio .radio-admin-item{
    border-color:#242a34 !important;
    background:#0d1016 !important;
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-admin-logo{
    background:#171b22 !important;
}

body.dark-mode #ppabam-radio .radio-admin-title-row strong{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-admin-title > span{
    color:#707a89 !important;
}

body.dark-mode #ppabam-radio .radio-admin-toggle,
body.dark-mode #ppabam-radio .radio-admin-test{
    border-color:#303744 !important;
    background:#13171e !important;
    color:#bec6d2 !important;
}

body.dark-mode #ppabam-radio .radio-admin-toggle:hover,
body.dark-mode #ppabam-radio .radio-admin-test:hover{
    border-color:#596474 !important;
    background:#1a1f27 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-admin-stream-row{
    border-top-color:#1c2129 !important;
    background:#090c11 !important;
}

body.dark-mode #ppabam-radio .radio-admin-stream-row code{
    color:#748091 !important;
}

body.dark-mode #ppabam-radio .radio-admin-edit{
    border-top-color:#252b35 !important;
    background:#0b0e13 !important;
}

body.dark-mode #ppabam-radio .radio-admin-edit select,
body.dark-mode #ppabam-radio .radio-admin-edit input,
body.dark-mode #ppabam-radio .radio-admin-edit textarea{
    border-color:#2b313c !important;
    background:#11151c !important;
    color:#f3f5f8 !important;
}

body.dark-mode #ppabam-radio .radio-admin-actions button{
    border-color:#303744 !important;
    background:#141820 !important;
    color:#b6bfcb !important;
}

body.dark-mode #ppabam-radio .radio-admin-actions button:hover{
    border-color:#596474 !important;
    background:#1a1f27 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-admin-actions .approve{
    border-color:#3c9f76 !important;
    background:#267653 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-admin-actions .danger{
    border-color:#8c3141 !important;
    background:#6e2633 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-admin-pages a{
    border-color:#29303a !important;
    background:#10141a !important;
    color:#8893a2 !important;
}

body.dark-mode #ppabam-radio .radio-admin-pages a.active{
    border-color:#ff4d67 !important;
    background:rgba(255,77,103,.10) !important;
    color:#ff7187 !important;
}


/* 관리자 상단 메뉴 */
body.dark-mode #ppabam-radio .radio-admin-top-actions a{
    border-color:#343b47 !important;
    background:#12161d !important;
    color:#aeb7c5 !important;
}

body.dark-mode #ppabam-radio .radio-admin-top-actions a:hover{
    border-color:#697485 !important;
    background:#171c24 !important;
    color:#ffffff !important;
}


/* =========================================================
   C. 댓글 신고 관리 전체 DARK
   ========================================================= */
body.dark-mode #ppabam-radio .radio-report-filter{
    border-color:#252b35 !important;
    background:#0c0f14 !important;
}

body.dark-mode #ppabam-radio .radio-report-filter a{
    border-color:#2c333e !important;
    background:#11151c !important;
    color:#8994a3 !important;
}

body.dark-mode #ppabam-radio .radio-report-filter a:hover{
    border-color:#596474 !important;
    background:#171c24 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-report-filter a.active{
    border-color:#ff4d67 !important;
    background:rgba(255,77,103,.08) !important;
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-report-item{
    border-color:#252b35 !important;
    background:#0d1016 !important;
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-report-head{
    border-bottom-color:#20252d !important;
}

body.dark-mode #ppabam-radio .radio-report-head strong{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-report-head span{
    color:#717c8b !important;
}

body.dark-mode #ppabam-radio .radio-report-comment,
body.dark-mode #ppabam-radio .radio-report-detail{
    background:#10141a !important;
    color:#aeb7c3 !important;
}

body.dark-mode #ppabam-radio .radio-report-comment b,
body.dark-mode #ppabam-radio .radio-report-detail b{
    color:#e2e6ec !important;
}

body.dark-mode #ppabam-radio .radio-report-actions textarea{
    border-color:#2c333e !important;
    background:#10141a !important;
    color:#e8ebef !important;
}

body.dark-mode #ppabam-radio .radio-report-actions button{
    border-color:#303744 !important;
    background:#141820 !important;
    color:#b8c0cc !important;
}

body.dark-mode #ppabam-radio .radio-report-actions button:hover{
    border-color:#596474 !important;
    background:#1a1f27 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-report-actions button.danger{
    border-color:#92394a !important;
    background:#722936 !important;
    color:#ffffff !important;
}


/* =========================================================
   D. 내가 등록한 방송 - 타이틀부터 목록 전체 DARK
   ========================================================= */
body.dark-mode #ppabam-radio .radio-my-stations{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-my-station-item{
    border:1px solid #252b35 !important;
    background:#0d1016 !important;
    color:#f2f4f8 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-my-station-item .radio-admin-logo{
    background:#171b22 !important;
}

body.dark-mode #ppabam-radio .radio-my-station-info strong{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-my-station-info > span{
    color:#707a89 !important;
}

body.dark-mode #ppabam-radio .radio-my-station-info code{
    color:#697484 !important;
}

body.dark-mode #ppabam-radio .radio-my-stations .radio-empty{
    border-color:#252b35 !important;
    background:#0e1117 !important;
    color:#7f8998 !important;
}

/* 내가 등록한 방송 상단 등록 버튼 */
body.dark-mode #ppabam-radio .radio-my-stations + *,
body.dark-mode #ppabam-radio .radio-add-hero .radio-register-btn{
    color-scheme:dark !important;
}

body.dark-mode #ppabam-radio .radio-add-hero .radio-register-btn{
    border-color:rgba(255,77,103,.35) !important;
    background:rgba(255,77,103,.08) !important;
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-add-hero .radio-register-btn:hover{
    border-color:#ff4d67 !important;
    background:#ff4d67 !important;
    color:#ffffff !important;
}


/* =========================================================
   E. 방송 등록 - 타이틀부터 입력카드/하단 버튼 DARK
   ========================================================= */
body.dark-mode #ppabam-radio .radio-add-form{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-add-card{
    border-color:#242934 !important;
    background:#0d1016 !important;
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-add-section-title{
    border-bottom-color:#20252e !important;
}

body.dark-mode #ppabam-radio .radio-add-section-title strong{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-add-section-title span{
    color:#737d8c !important;
}

body.dark-mode #ppabam-radio .radio-field > span{
    color:#cbd1db !important;
}

body.dark-mode #ppabam-radio .radio-field input,
body.dark-mode #ppabam-radio .radio-field textarea,
body.dark-mode #ppabam-radio .radio-field select{
    border-color:#2b313c !important;
    background:#11151c !important;
    color:#f3f5f8 !important;
}

body.dark-mode #ppabam-radio .radio-field input::placeholder,
body.dark-mode #ppabam-radio .radio-field textarea::placeholder{
    color:#667180 !important;
}

body.dark-mode #ppabam-radio .radio-field small{
    color:#667180 !important;
}

body.dark-mode #ppabam-radio .radio-owner-options label,
body.dark-mode #ppabam-radio .radio-type-options label{
    border-color:#282e38 !important;
    background:#10141a !important;
    color:#e9edf2 !important;
}

body.dark-mode #ppabam-radio .radio-owner-options b,
body.dark-mode #ppabam-radio .radio-type-options b{
    color:#e9edf2 !important;
}

body.dark-mode #ppabam-radio .radio-owner-options small,
body.dark-mode #ppabam-radio .radio-type-options small{
    color:#747f8f !important;
}

body.dark-mode #ppabam-radio .radio-agree{
    color:#aeb6c2 !important;
}

body.dark-mode #ppabam-radio .radio-agree a{
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-add-cancel{
    border-color:#2b313c !important;
    background:#10141a !important;
    color:#98a2b1 !important;
}

body.dark-mode #ppabam-radio .radio-add-cancel:hover{
    border-color:#596474 !important;
    background:#171c24 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-add-submit{
    border-color:#ff4d67 !important;
    background:#ff4d67 !important;
    color:#ffffff !important;
}

body.dark-mode #ppabam-radio .radio-add-submit:hover{
    border-color:#ff667e !important;
    background:#ff5a73 !important;
    color:#ffffff !important;
}


/* =========================================================
   F. 모바일 방송등록 sticky 하단도 DARK
   ========================================================= */
@media(max-width:760px){
    body.dark-mode #ppabam-radio .radio-add-actions{
        background:
            linear-gradient(
                180deg,
                rgba(8,9,13,0) 0%,
                rgba(8,9,13,.94) 28%,
                #08090d 58%,
                #08090d 100%
            ) !important;
    }
}


/* =========================================================
   G. 혹시 기존 화이트 규칙에 !important가 있어도 최종 우선
   ========================================================= */
body.dark-mode #ppabam-radio .radio-add-hero,
body.dark-mode #ppabam-radio .radio-admin-filter,
body.dark-mode #ppabam-radio .radio-admin-item,
body.dark-mode #ppabam-radio .radio-report-filter,
body.dark-mode #ppabam-radio .radio-report-item,
body.dark-mode #ppabam-radio .radio-my-station-item,
body.dark-mode #ppabam-radio .radio-add-card{
    color-scheme:dark !important;
}

/* =========================================================
   v0.0.51 FIX
   - 내가 등록한 방송: 목록 카드 내부 스트림 URL까지 다크모드
   - 댓글 신고 관리: 하단 목록/빈 목록까지 다크모드
   ========================================================= */

/* ---------------------------------------------------------
   내가 등록한 방송 - 목록 전체
   --------------------------------------------------------- */
body.dark-mode #ppabam-radio .radio-my-stations{
    background:transparent !important;
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-my-stations .radio-my-station-item{
    border:1px solid #252b35 !important;
    background:#0d1016 !important;
    color:#f2f4f8 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-my-stations .radio-admin-logo{
    background:#171b22 !important;
    border-color:#252b35 !important;
}

body.dark-mode #ppabam-radio .radio-my-stations .radio-my-station-info{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-my-stations .radio-my-station-info strong{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-my-stations .radio-my-station-info > span{
    color:#707a89 !important;
}

/* 스트림 URL 영역: 커뮤니티 code 전역 스타일이 흰색으로 덮는 문제 방지 */
body.dark-mode #ppabam-radio .radio-my-stations .radio-my-station-info code{
    display:block !important;
    width:100% !important;
    margin-top:7px !important;
    padding:7px 9px !important;
    border:1px solid #252b35 !important;
    border-radius:6px !important;
    background:#090c11 !important;
    color:#7f8b9d !important;
    box-shadow:none !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

/* 내가 등록한 방송 - 빈 목록 */
body.dark-mode #ppabam-radio .radio-my-stations > .radio-empty{
    border:1px solid #252b35 !important;
    background:#0e1117 !important;
    color:#7f8998 !important;
    box-shadow:none !important;
}

/* ---------------------------------------------------------
   댓글 신고 관리 - 하단 목록 전체
   --------------------------------------------------------- */
body.dark-mode #ppabam-radio .radio-report-list{
    background:transparent !important;
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-report-list .radio-report-item{
    border:1px solid #252b35 !important;
    background:#0d1016 !important;
    color:#f2f4f8 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-report-list .radio-report-head{
    border-bottom-color:#20252d !important;
}

body.dark-mode #ppabam-radio .radio-report-list .radio-report-head strong{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-report-list .radio-report-head span{
    color:#717c8b !important;
}

body.dark-mode #ppabam-radio .radio-report-list .radio-report-comment,
body.dark-mode #ppabam-radio .radio-report-list .radio-report-detail{
    background:#10141a !important;
    color:#aeb7c3 !important;
}

body.dark-mode #ppabam-radio .radio-report-list .radio-report-comment b,
body.dark-mode #ppabam-radio .radio-report-list .radio-report-detail b{
    color:#e2e6ec !important;
}

/* 댓글 신고 관리 - 신고 내역 없음 흰 박스 제거 */
body.dark-mode #ppabam-radio .radio-report-list > .radio-empty{
    border:1px solid #252b35 !important;
    background:#0e1117 !important;
    color:#7f8998 !important;
    box-shadow:none !important;
}

/* 관리자 방송국 관리 빈 목록도 함께 통일 */
body.dark-mode #ppabam-radio .radio-admin-list > .radio-empty{
    border:1px solid #252b35 !important;
    background:#0e1117 !important;
    color:#7f8998 !important;
    box-shadow:none !important;
}

/* 전역 radio-empty가 커뮤니티 CSS에 의해 흰색으로 덮이지 않도록 최종 방어 */
body.dark-mode #ppabam-radio :is(
    .radio-my-stations,
    .radio-report-list,
    .radio-admin-list
) > .radio-empty{
    background:#0e1117 !important;
    border-color:#252b35 !important;
    color:#7f8998 !important;
}

/* 모바일 */
@media(max-width:760px){
    body.dark-mode #ppabam-radio .radio-my-stations .radio-my-station-info code{
        font-size:8px !important;
        padding:7px 8px !important;
    }
}

/* =========================================================
   v0.0.52 EXACT FIX
   my_stations.php 실제 HTML 구조 기준 다크모드 강제 적용
   - section.radio-my-stations
   - article.radio-my-station-item
   - .radio-admin-logo
   - .radio-my-station-info
   - strong / span / code / status badge
   - theme.js가 ppabam-radio-light를 붙여도 body.dark-mode 우선
   ========================================================= */

/* 다크모드에서는 JS의 light 클래스보다 body.dark-mode를 최우선 */
body.dark-mode #ppabam-radio.ppabam-radio,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-dark{
    color-scheme:dark !important;
    background:#08090d !important;
    color:#f2f4f8 !important;
}

/* 내가 등록한 방송 목록 컨테이너 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-stations,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-stations{
    display:grid !important;
    gap:9px !important;
    background:transparent !important;
    color:#f2f4f8 !important;
}

/* 실제 article 카드 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-stations > article.radio-my-station-item,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-stations > article.radio-my-station-item{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:11px !important;
    align-items:center !important;
    padding:12px !important;

    border:1px solid #252b35 !important;
    border-radius:11px !important;
    background:#0d1016 !important;
    color:#f2f4f8 !important;

    box-shadow:none !important;
    outline:0 !important;
}

/* 왼쪽 로고 박스 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-station-item > .radio-admin-logo,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-station-item > .radio-admin-logo{
    width:52px !important;
    height:52px !important;
    overflow:hidden !important;
    border:1px solid #252b35 !important;
    border-radius:9px !important;
    background:#171b22 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio.ppabam-radio .radio-my-station-item > .radio-admin-logo img,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-station-item > .radio-admin-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    background:transparent !important;
}

/* 오른쪽 정보 영역 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-station-item > .radio-my-station-info,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-station-item > .radio-my-station-info{
    min-width:0 !important;
    background:transparent !important;
    color:#f2f4f8 !important;
}

/* 방송명 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-station-info strong,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-station-info strong{
    color:#f2f4f8 !important;
    background:transparent !important;
}

/* 카테고리 / 국가 / 등록일 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-station-info > span,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-station-info > span{
    color:#707a89 !important;
    background:transparent !important;
}

/* 스트림 URL - 흰 박스 완전 제거 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-station-info > code,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-station-info > code{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:6px !important;
    padding:7px 9px !important;

    border:1px solid #252b35 !important;
    border-radius:6px !important;
    background:#090c11 !important;
    color:#7b8798 !important;

    box-shadow:none !important;
    text-shadow:none !important;

    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

/* 상태 배지 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-station-info .radio-status-badge,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-station-info .radio-status-badge{
    border:0 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-my-station-info .status-approved{
    background:rgba(91,211,155,.10) !important;
    color:#6edda9 !important;
}
body.dark-mode #ppabam-radio .radio-my-station-info .status-pending{
    background:rgba(255,190,75,.10) !important;
    color:#ffc561 !important;
}
body.dark-mode #ppabam-radio .radio-my-station-info .status-disabled{
    background:rgba(130,140,155,.12) !important;
    color:#9ba4b2 !important;
}
body.dark-mode #ppabam-radio .radio-my-station-info .status-blocked,
body.dark-mode #ppabam-radio .radio-my-station-info .status-deleted{
    background:rgba(255,77,103,.10) !important;
    color:#ff758a !important;
}
body.dark-mode #ppabam-radio .radio-my-station-info .status-rejected{
    background:rgba(208,104,255,.10) !important;
    color:#d987ff !important;
}

/* 등록한 방송이 없을 때 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-stations > .radio-empty,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-stations > .radio-empty{
    border:1px solid #252b35 !important;
    border-radius:11px !important;
    background:#0e1117 !important;
    color:#7f8998 !important;
    box-shadow:none !important;
}

/* 모바일 */
@media(max-width:760px){
    body.dark-mode #ppabam-radio .radio-my-stations > article.radio-my-station-item{
        grid-template-columns:44px minmax(0,1fr) !important;
        gap:9px !important;
        padding:10px !important;
    }

    body.dark-mode #ppabam-radio .radio-my-station-item > .radio-admin-logo{
        width:44px !important;
        height:44px !important;
    }

    body.dark-mode #ppabam-radio .radio-my-station-info > code{
        font-size:8px !important;
        padding:6px 7px !important;
    }
}

/* =========================================================
   v0.0.54 FIX
   화이트모드 - 내가 등록한 방송 하단 리스트 전용 수정
   실제 my_stations.php 구조 기준
   ========================================================= */

/* 기본/화이트모드 목록 컨테이너 */
body:not(.dark-mode) #ppabam-radio .radio-my-stations,
#ppabam-radio.ppabam-radio-light .radio-my-stations{
    background:transparent !important;
    color:#1d2531 !important;
}

/* 실제 등록 방송 카드 */
body:not(.dark-mode) #ppabam-radio .radio-my-stations > article.radio-my-station-item,
#ppabam-radio.ppabam-radio-light .radio-my-stations > article.radio-my-station-item{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:11px !important;
    align-items:center !important;
    padding:12px !important;

    border:1px solid #d9e0e9 !important;
    border-radius:11px !important;
    background:#ffffff !important;
    color:#1d2531 !important;

    box-shadow:none !important;
    outline:0 !important;
}

/* 왼쪽 썸네일/로고 */
body:not(.dark-mode) #ppabam-radio .radio-my-station-item > .radio-admin-logo,
#ppabam-radio.ppabam-radio-light .radio-my-station-item > .radio-admin-logo{
    width:52px !important;
    height:52px !important;
    overflow:hidden !important;

    border:1px solid #d9e0e9 !important;
    border-radius:9px !important;
    background:#f1f4f8 !important;

    box-shadow:none !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-item > .radio-admin-logo img,
#ppabam-radio.ppabam-radio-light .radio-my-station-item > .radio-admin-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    background:#ffffff !important;
}

/* 정보 영역 */
body:not(.dark-mode) #ppabam-radio .radio-my-station-info,
#ppabam-radio.ppabam-radio-light .radio-my-station-info{
    min-width:0 !important;
    background:transparent !important;
    color:#1d2531 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-info strong,
#ppabam-radio.ppabam-radio-light .radio-my-station-info strong{
    color:#1d2531 !important;
    background:transparent !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-info > span,
#ppabam-radio.ppabam-radio-light .radio-my-station-info > span{
    color:#6d7888 !important;
    background:transparent !important;
}

/* 스트림 URL 영역 */
body:not(.dark-mode) #ppabam-radio .radio-my-station-info > code,
#ppabam-radio.ppabam-radio-light .radio-my-station-info > code{
    display:block !important;
    width:100% !important;
    max-width:100% !important;

    margin-top:6px !important;
    padding:7px 9px !important;

    border:1px solid #d9e0e9 !important;
    border-radius:6px !important;

    background:#f7f9fc !important;
    color:#687486 !important;

    box-shadow:none !important;
    text-shadow:none !important;

    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

/* 상태 배지 - 화이트모드 */
body:not(.dark-mode) #ppabam-radio .radio-my-station-info .radio-status-badge,
#ppabam-radio.ppabam-radio-light .radio-my-station-info .radio-status-badge{
    border:0 !important;
    box-shadow:none !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-info .status-approved,
#ppabam-radio.ppabam-radio-light .radio-my-station-info .status-approved{
    background:#edf9f3 !important;
    color:#2f8f65 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-info .status-pending,
#ppabam-radio.ppabam-radio-light .radio-my-station-info .status-pending{
    background:#fff8e8 !important;
    color:#a87916 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-info .status-disabled,
#ppabam-radio.ppabam-radio-light .radio-my-station-info .status-disabled{
    background:#f0f3f6 !important;
    color:#6c7888 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-info .status-blocked,
body:not(.dark-mode) #ppabam-radio .radio-my-station-info .status-deleted,
#ppabam-radio.ppabam-radio-light .radio-my-station-info .status-blocked,
#ppabam-radio.ppabam-radio-light .radio-my-station-info .status-deleted{
    background:#fff0f3 !important;
    color:#c63f56 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-my-station-info .status-rejected,
#ppabam-radio.ppabam-radio-light .radio-my-station-info .status-rejected{
    background:#f8efff !important;
    color:#9956bf !important;
}

/* 등록한 방송이 없을 때 */
body:not(.dark-mode) #ppabam-radio .radio-my-stations > .radio-empty,
#ppabam-radio.ppabam-radio-light .radio-my-stations > .radio-empty{
    border:1px solid #d9e0e9 !important;
    border-radius:11px !important;
    background:#ffffff !important;
    color:#7b8797 !important;
    box-shadow:none !important;
}

/* 화이트모드 hover */
body:not(.dark-mode) #ppabam-radio .radio-my-stations > article.radio-my-station-item:hover,
#ppabam-radio.ppabam-radio-light .radio-my-stations > article.radio-my-station-item:hover{
    border-color:#cbd4df !important;
    background:#fbfcfe !important;
}

/* 모바일 */
@media(max-width:760px){
    body:not(.dark-mode) #ppabam-radio .radio-my-stations > article.radio-my-station-item,
    #ppabam-radio.ppabam-radio-light .radio-my-stations > article.radio-my-station-item{
        grid-template-columns:44px minmax(0,1fr) !important;
        gap:9px !important;
        padding:10px !important;
    }

    body:not(.dark-mode) #ppabam-radio .radio-my-station-item > .radio-admin-logo,
    #ppabam-radio.ppabam-radio-light .radio-my-station-item > .radio-admin-logo{
        width:44px !important;
        height:44px !important;
    }

    body:not(.dark-mode) #ppabam-radio .radio-my-station-info > code,
    #ppabam-radio.ppabam-radio-light .radio-my-station-info > code{
        font-size:8px !important;
        padding:6px 7px !important;
    }
}


/* =========================================================
   v0.0.55 - 메인 타이틀 / 방송정보 플레이어 분리
   데스크톱: 왼쪽 타이틀 + 오른쪽 방송정보/EQ 한 줄 배치
   ========================================================= */
.radio-top-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    align-items:stretch;
}

.radio-top-row > .radio-hero{
    margin:0 !important;
    height:100%;
    display:flex;
    align-items:stretch;
}

.radio-top-row > .radio-hero .radio-hero-head{
    width:100%;
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.radio-top-row > .radio-hero .radio-hero-actions{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.radio-top-row > .radio-hero .radio-hero-actions a{
    flex:0 0 auto;
}

/* 기존 hero 내부 플레이어용 위 여백 제거 */
.radio-top-row > .radio-console{
    margin-top:0 !important;
    min-height:100% !important;
}

/* 오른쪽 방송정보 / EQ를 한 줄로 유지 */
@media(min-width:1181px){
    .radio-top-row > .radio-console{
        grid-template-columns:minmax(215px,.9fr) minmax(420px,2fr) 125px !important;
        gap:14px !important;
        padding:14px 16px !important;
    }

    .radio-top-row > .radio-console .radio-record{
        flex-basis:78px !important;
        width:78px !important;
        height:78px !important;
    }

    .radio-top-row > .radio-console .radio-now-info strong{
        font-size:15px !important;
    }

    .radio-top-row > .radio-console .radio-console-center{
        grid-template-columns:105px minmax(180px,1fr) !important;
    }
}

/* 중간 화면부터는 기존처럼 위/아래 배치 */
@media(max-width:1180px){
    .radio-top-row{
        grid-template-columns:1fr;
    }

    .radio-top-row > .radio-hero{
        height:auto;
    }

    .radio-top-row > .radio-hero .radio-hero-head{
        min-height:0;
        flex-direction:row;
        align-items:flex-start;
    }

    .radio-top-row > .radio-console{
        min-height:132px !important;
    }
}

@media(max-width:760px){
    .radio-top-row{
        gap:8px;
    }

    .radio-top-row > .radio-hero .radio-hero-head{
        flex-direction:column;
    }
}


/* =========================================================
   v0.0.56 - 상단 5:5 비율
   왼쪽 메인 타이틀 50% / 오른쪽 방송정보 플레이어 50%
   ========================================================= */
@media(min-width:1181px){
    .radio-top-row{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    }

    .radio-top-row > .radio-hero,
    .radio-top-row > .radio-console{
        min-width:0 !important;
        width:100% !important;
    }

    .radio-top-row > .radio-console{
        grid-template-columns:minmax(170px,.95fr) minmax(250px,1.65fr) 92px !important;
        gap:10px !important;
        padding:12px 13px !important;
    }

    .radio-top-row > .radio-console .radio-record{
        flex-basis:68px !important;
        width:68px !important;
        height:68px !important;
    }

    .radio-top-row > .radio-console .radio-console-left{
        gap:11px !important;
    }

    .radio-top-row > .radio-console .radio-now-info strong{
        font-size:14px !important;
    }

    .radio-top-row > .radio-console .radio-now-info > span:last-child{
        font-size:10px !important;
    }

    .radio-top-row > .radio-console .radio-console-center{
        grid-template-columns:88px minmax(140px,1fr) !important;
        gap:8px 10px !important;
    }

    .radio-top-row > .radio-console .radio-frequency{
        height:52px !important;
        padding:6px 8px !important;
    }

    .radio-top-row > .radio-console .radio-frequency strong{
        font-size:20px !important;
    }

    .radio-top-row > .radio-console .radio-eq{
        height:52px !important;
    }

    .radio-top-row > .radio-console .radio-console-right{
        padding-left:10px !important;
        gap:10px !important;
    }

    .radio-top-row > .radio-console .radio-signal-bars{
        gap:2px !important;
    }

    .radio-top-row > .radio-console .radio-signal-bars i{
        width:5px !important;
    }

    .radio-top-row > .radio-hero .radio-hero-actions{
        align-content:flex-start !important;
    }
}


/* =========================================================
   v0.0.57 - 상단 우측 방송정보를 더 라디오스럽게 개선
   컨셉: 디지털 튜너 + 이퀄라이저 디스플레이 + 컨트롤 데크
   ========================================================= */

/* 상단 플레이어 전체를 더 하드웨어 패널처럼 */
.radio-top-row > .radio-console{
    background:
      radial-gradient(circle at 22% 18%, rgba(68,136,255,.05), transparent 22%),
      linear-gradient(180deg, rgba(255,255,255,.02), transparent 48%),
      linear-gradient(135deg, #090b10 0%, #0a0d13 36%, #080a0f 100%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      inset 0 0 0 1px rgba(255,255,255,.012),
      0 14px 28px rgba(0,0,0,.22) !important;
}

/* 왼쪽 방송정보도 조금 더 라디오 헤더 느낌 */
.radio-top-row > .radio-console .radio-now-info{
    position:relative;
    padding-top:2px;
}

.radio-top-row > .radio-console .radio-now-info strong{
    margin-top:1px;
    line-height:1.18;
    letter-spacing:-.02em;
}

.radio-top-row > .radio-console .radio-now-info > span:last-child{
    color:#78a1d5 !important;
    letter-spacing:.01em;
}

/* 가운데 튜너 + EQ 영역을 진짜 디스플레이 패널처럼 */
.radio-top-row > .radio-console .radio-frequency{
    position:relative;
    overflow:hidden;
    border-color:#293343 !important;
    border-radius:6px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 42%),
      linear-gradient(180deg, #06080c 0%, #0b0f16 100%) !important;
    box-shadow:
      inset 0 0 0 1px rgba(108,130,165,.08),
      inset 0 -8px 18px rgba(0,0,0,.26),
      0 4px 14px rgba(0,0,0,.18) !important;
}

.radio-top-row > .radio-console .radio-frequency::before{
    content:"TUNER";
    position:absolute;
    left:10px;
    top:7px;
    color:#5e6a7b;
    font-size:7px;
    font-weight:800;
    letter-spacing:.18em;
    opacity:.72;
}

.radio-top-row > .radio-console .radio-frequency::after{
    content:"";
    position:absolute;
    right:10px;
    top:10px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#ff546f;
    box-shadow:0 0 10px rgba(255,84,111,.7);
}

.radio-top-row > .radio-console .radio-frequency-label{
    color:#8391a6 !important;
    opacity:.92;
}

.radio-top-row > .radio-console .radio-frequency strong{
    display:inline-flex;
    align-items:flex-end;
    gap:1px;
    text-shadow:0 0 12px rgba(255,106,132,.18);
}

.radio-top-row > .radio-console .radio-frequency small{
    position:relative;
    top:-1px;
    color:#8b97a9 !important;
}

/* EQ 상단 박스 */
.radio-top-row > .radio-console .radio-eq{
    position:relative;
    border-color:#253040 !important;
    border-radius:12px !important;
    padding:10px 7px 4px !important;
    background:
      linear-gradient(180deg, rgba(119,184,255,.05), transparent 45%),
      linear-gradient(180deg, rgba(255,255,255,.03), transparent 16%),
      #07090d !important;
    box-shadow:
      inset 0 0 0 1px rgba(98,116,141,.08),
      inset 0 -10px 18px rgba(0,0,0,.18) !important;
}

.radio-top-row > .radio-console .radio-eq::before{
    content:"LIVE SPECTRUM";
    position:absolute;
    left:10px;
    top:5px;
    color:#627087;
    font-size:7px;
    font-weight:800;
    letter-spacing:.18em;
    opacity:.9;
}

/* 컨트롤을 독립 데크처럼 */
.radio-top-row > .radio-console .radio-controls{
    position:relative;
    display:grid !important;
    grid-template-columns:42px 56px minmax(0,1fr);
    align-items:center;
    gap:9px !important;
    padding:7px 10px !important;
    border:1px solid #263140;
    border-radius:12px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.022), transparent),
      #090c11;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.025),
      inset 0 0 0 1px rgba(103,119,144,.045);
}

.radio-top-row > .radio-console .radio-controls::before{
    content:"VOLUME";
    position:absolute;
    left:121px;
    top:6px;
    color:#667487;
    font-size:7px;
    font-weight:800;
    letter-spacing:.18em;
    pointer-events:none;
}

.radio-top-row > .radio-console .radio-round-btn{
    background:
      linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)),
      #101722 !important;
    border-color:#2e3b4d !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.03),
      0 4px 10px rgba(0,0,0,.14) !important;
}

.radio-top-row > .radio-console .radio-play-main{
    box-shadow:
      0 10px 18px rgba(255,77,103,.16),
      inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.radio-top-row > .radio-console #radioVolume{
    margin-top:8px;
}

/* 오른쪽 signal / source 패널 */
.radio-top-row > .radio-console .radio-console-right{
    align-self:stretch;
    padding-left:14px !important;
    border-left:1px solid #1e2733;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:12px;
}

.radio-top-row > .radio-console .radio-signal{
    padding:2px 0;
}

.radio-top-row > .radio-console .radio-signal > span,
.radio-top-row > .radio-console .radio-source-mini{
    color:#738197 !important;
}

.radio-top-row > .radio-console .radio-signal-bars{
    margin-top:8px;
    align-items:flex-end;
}

.radio-top-row > .radio-console .radio-signal-bars i{
    border-radius:3px 3px 1px 1px !important;
    box-shadow:0 0 8px rgba(95,230,170,.14);
}

.radio-top-row > .radio-console .radio-source-mini{
    padding-top:10px;
    border-top:1px dashed #1f2a38;
    line-height:1.35;
    letter-spacing:.05em;
}

.radio-top-row > .radio-console .radio-source-mini strong{
    display:block;
    margin-top:4px;
    color:#dce6f2 !important;
    letter-spacing:.06em;
}

/* 라이트 모드에서도 패널 느낌 유지 */
.ppabam-radio-light .radio-top-row > .radio-console{
    background:
      linear-gradient(180deg, rgba(255,255,255,.55), rgba(245,248,252,.96) 24%, #f5f8fc 100%) !important;
    border-color:#d9e0ea !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.65),
      0 12px 24px rgba(23,34,53,.06) !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-frequency,
.ppabam-radio-light .radio-top-row > .radio-console .radio-eq,
.ppabam-radio-light .radio-top-row > .radio-console .radio-controls{
    background:
      linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,250,253,.96)) !important;
    border-color:#d9e1eb !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 3px 10px rgba(20,40,75,.05) !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-console-right{
    border-left-color:#e2e8ef !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-frequency::before,
.ppabam-radio-light .radio-top-row > .radio-console .radio-eq::before,
.ppabam-radio-light .radio-top-row > .radio-console .radio-controls::before{
    color:#7f8ca0 !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-source-mini{
    border-top-color:#dde5ef !important;
}

/* 반폭 5:5 상태에서 비율 최적화 */
@media(min-width:1181px){
    .radio-top-row > .radio-console{
        grid-template-columns:minmax(180px,.96fr) minmax(285px,1.7fr) 98px !important;
    }

    .radio-top-row > .radio-console .radio-console-center{
        grid-template-columns:96px minmax(155px,1fr) !important;
        gap:10px 10px !important;
    }
}

/* 태블릿/중간 화면 */
@media(max-width:1180px){
    .radio-top-row > .radio-console .radio-console-right{
        border-left:0;
        border-top:1px solid #1e2733;
        padding-left:0 !important;
        padding-top:10px;
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
    }

    .ppabam-radio-light .radio-top-row > .radio-console .radio-console-right{
        border-top-color:#e2e8ef !important;
    }
}

/* 모바일은 너무 복잡하지 않게 */
@media(max-width:760px){
    .radio-top-row > .radio-console .radio-controls{
        grid-template-columns:38px 52px minmax(0,1fr);
        padding:7px 8px !important;
    }

    .radio-top-row > .radio-console .radio-controls::before{
        left:109px;
    }

    .radio-top-row > .radio-console .radio-eq::before{
        font-size:6px;
        letter-spacing:.14em;
    }

    .radio-top-row > .radio-console .radio-source-mini{
        padding-top:0;
        border-top:0;
    }
}


/* =========================================================
   v0.0.58 - MODERN CAR AUDIO
   상단 우측 방송정보 플레이어
   컨셉: 최신 차량 인포테인먼트 / 디지털 오디오 콘솔
   ========================================================= */

/* 전체 패널 */
.radio-top-row > .radio-console{
    position:relative;
    overflow:hidden;
    border:1px solid #283242 !important;
    border-radius:18px !important;
    background:
        radial-gradient(circle at 12% 50%,rgba(255,77,103,.075),transparent 23%),
        radial-gradient(circle at 82% 22%,rgba(52,171,255,.065),transparent 28%),
        linear-gradient(145deg,#090c12 0%,#0d1119 45%,#080b10 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.045),
        inset 0 -1px 0 rgba(0,0,0,.55),
        0 16px 34px rgba(0,0,0,.24) !important;
}

/* 은은한 대시보드 라인 */
.radio-top-row > .radio-console::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,77,103,.9) 18%,
        rgba(255,126,72,.85) 34%,
        rgba(55,211,255,.85) 66%,
        rgba(118,88,255,.85) 82%,
        transparent
    );
    opacity:.72;
    pointer-events:none;
}

/* 왼쪽 방송정보 */
.radio-top-row > .radio-console .radio-console-left{
    position:relative;
    min-width:0;
    padding:7px 8px 7px 4px;
}

.radio-top-row > .radio-console .radio-record{
    border:1px solid #394658 !important;
    background:
        radial-gradient(circle at 50% 50%,#1a2130 0 32%,#0c1018 33% 100%) !important;
    box-shadow:
        0 8px 20px rgba(0,0,0,.28),
        0 0 0 4px rgba(255,255,255,.015),
        inset 0 0 0 1px rgba(255,255,255,.03) !important;
}

.radio-top-row > .radio-console .radio-record-ring{
    border-color:#485568 !important;
    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.035),
        0 0 0 1px rgba(0,0,0,.65),
        0 0 18px rgba(73,154,255,.06) !important;
}

.radio-top-row > .radio-console .radio-onair{
    margin-bottom:6px !important;
    color:#ff758a !important;
    font-size:9px !important;
}

.radio-top-row > .radio-console .radio-now-info strong{
    color:#f7f9fc !important;
    font-weight:900 !important;
    letter-spacing:-.025em !important;
}

.radio-top-row > .radio-console .radio-now-info > span:last-child{
    margin-top:5px !important;
    color:#7890ad !important;
    font-size:9.5px !important;
}

/* 중앙부 */
.radio-top-row > .radio-console .radio-console-center{
    position:relative;
}

/* 디지털 주파수 디스플레이 */
.radio-top-row > .radio-console .radio-frequency{
    height:58px !important;
    padding:9px 10px 6px !important;
    border:1px solid #2f3c4f !important;
    border-radius:13px !important;
    background:
        linear-gradient(180deg,rgba(90,170,255,.055),transparent 45%),
        #080b10 !important;
    text-align:center !important;
    box-shadow:
        inset 0 0 18px rgba(15,40,70,.28),
        inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.radio-top-row > .radio-console .radio-frequency::before{
    content:"FM / NET";
    position:absolute;
    left:10px;
    top:6px;
    color:#506075;
    font-size:6px;
    letter-spacing:.16em;
    font-weight:800;
}

.radio-top-row > .radio-console .radio-frequency::after{
    content:"";
    position:absolute;
    right:9px;
    top:8px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#4adca3;
    box-shadow:0 0 8px rgba(74,220,163,.7);
}

.radio-top-row > .radio-console .radio-frequency-label{
    display:block !important;
    margin-top:4px;
    color:#617087 !important;
    text-align:center !important;
    font-size:6px !important;
    letter-spacing:.16em !important;
}

.radio-top-row > .radio-console .radio-frequency strong{
    font-size:21px !important;
    line-height:1 !important;
    color:#ff5a74 !important;
    text-shadow:0 0 14px rgba(255,77,103,.22);
}

.radio-top-row > .radio-console .radio-frequency small{
    color:#8491a4 !important;
    font-size:15px !important;
}

/* EQ = 차량 오디오 디스플레이 */
.radio-top-row > .radio-console .radio-eq{
    height:58px !important;
    padding:15px 7px 5px !important;
    border:1px solid #2b394c !important;
    border-radius:13px !important;
    background:
        linear-gradient(180deg,rgba(61,152,255,.055),transparent 45%),
        repeating-linear-gradient(
            90deg,
            rgba(255,255,255,.018) 0 1px,
            transparent 1px 18px
        ),
        #070a0f !important;
    box-shadow:
        inset 0 0 20px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.radio-top-row > .radio-console .radio-eq::before{
    content:"AUDIO SPECTRUM";
    top:5px !important;
    left:9px !important;
    color:#5f7088 !important;
    font-size:6px !important;
    letter-spacing:.17em !important;
}

.radio-top-row > .radio-console .radio-eq::after{
    content:"";
    position:absolute;
    left:8px;
    right:8px;
    bottom:5px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(65,197,255,.26),transparent);
    pointer-events:none;
}

/* 컨트롤 데크 */
.radio-top-row > .radio-console .radio-controls{
    min-height:47px;
    padding:6px 9px !important;
    border:1px solid #2b3748 !important;
    border-radius:14px !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),
        #0b0f16 !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        inset 0 -10px 20px rgba(0,0,0,.16) !important;
}

.radio-top-row > .radio-console .radio-controls::before{
    content:"MASTER";
    left:116px !important;
    top:5px !important;
    color:#5d6b80 !important;
    font-size:6px !important;
    letter-spacing:.18em !important;
}

.radio-top-row > .radio-console .radio-round-btn{
    width:36px !important;
    height:36px !important;
    border:1px solid #344257 !important;
    background:
        radial-gradient(circle at 38% 30%,rgba(255,255,255,.055),transparent 42%),
        #121923 !important;
    color:#dce5ef !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 5px 12px rgba(0,0,0,.18) !important;
}

.radio-top-row > .radio-console .radio-play-main{
    width:48px !important;
    height:48px !important;
    border:0 !important;
    background:
        linear-gradient(145deg,#ff6178,#ed3c59) !important;
    box-shadow:
        0 8px 18px rgba(255,77,103,.25),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.radio-top-row > .radio-console .radio-play-main:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
}

.radio-top-row > .radio-console #radioVolume{
    height:4px;
    margin-top:8px !important;
    accent-color:#ff4d67;
    cursor:pointer;
}

/* 오른쪽 상태 영역 = 자동차 상태 패널 */
.radio-top-row > .radio-console .radio-console-right{
    position:relative;
    align-self:stretch;
    padding:10px 0 10px 14px !important;
    border-left:1px solid #202b39 !important;
    background:
        linear-gradient(90deg,rgba(255,255,255,.012),transparent 35%) !important;
}

.radio-top-row > .radio-console .radio-signal > span,
.radio-top-row > .radio-console .radio-source-mini{
    color:#617087 !important;
    font-size:7px !important;
    letter-spacing:.14em !important;
}

.radio-top-row > .radio-console .radio-signal-bars{
    height:28px !important;
    margin-top:7px !important;
}

.radio-top-row > .radio-console .radio-signal-bars i{
    width:5px !important;
    background:#48dca3 !important;
    box-shadow:0 0 7px rgba(72,220,163,.22) !important;
}

.radio-top-row > .radio-console .radio-source-mini{
    margin-top:2px;
    padding-top:9px !important;
    border-top:1px solid #202a37 !important;
}

.radio-top-row > .radio-console .radio-source-mini strong{
    color:#d7e3f0 !important;
    font-size:8px !important;
    line-height:1.45 !important;
}

/* 5:5 화면에서 내부 비율 */
@media(min-width:1181px){
    .radio-top-row > .radio-console{
        grid-template-columns:minmax(165px,.92fr) minmax(300px,1.75fr) 90px !important;
        gap:10px !important;
        padding:11px 12px !important;
    }

    .radio-top-row > .radio-console .radio-console-center{
        grid-template-columns:92px minmax(165px,1fr) !important;
        gap:8px 9px !important;
    }

    .radio-top-row > .radio-console .radio-record{
        flex-basis:64px !important;
        width:64px !important;
        height:64px !important;
    }
}

/* 라이트모드 - 밝은 차량 인포테인먼트 */
.ppabam-radio-light .radio-top-row > .radio-console{
    border-color:#d7dee8 !important;
    background:
        radial-gradient(circle at 12% 50%,rgba(255,77,103,.035),transparent 24%),
        radial-gradient(circle at 84% 20%,rgba(53,164,255,.035),transparent 28%),
        linear-gradient(145deg,#ffffff 0%,#f7f9fc 55%,#f1f4f8 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 12px 28px rgba(35,48,70,.07) !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-frequency,
.ppabam-radio-light .radio-top-row > .radio-console .radio-eq,
.ppabam-radio-light .radio-top-row > .radio-console .radio-controls{
    border-color:#d8e0ea !important;
    background:
        linear-gradient(180deg,#ffffff,#f7f9fc) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,1),
        0 3px 10px rgba(40,55,80,.045) !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-console-right{
    border-left-color:#e0e6ee !important;
    background:linear-gradient(90deg,rgba(60,80,110,.018),transparent 35%) !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-now-info strong{
    color:#1d2531 !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-now-info > span:last-child{
    color:#617a9a !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-source-mini{
    border-top-color:#e0e6ee !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-source-mini strong{
    color:#46566b !important;
}

/* 모바일 */
@media(max-width:760px){
    .radio-top-row > .radio-console{
        border-radius:14px !important;
    }

    .radio-top-row > .radio-console .radio-console-right{
        border-left:0 !important;
        border-top:1px solid #202b39 !important;
        padding:9px 0 0 !important;
        background:transparent !important;
    }

    .ppabam-radio-light .radio-top-row > .radio-console .radio-console-right{
        border-top-color:#e0e6ee !important;
    }
}


/* =========================================================
   v0.0.59 - 볼륨 / 재생 컨트롤 재디자인
   - 음소거 버튼 / 재생 버튼 : 같은 크기 정사각 라운드
   - 볼륨 슬라이더 : 버튼과 같은 높이의 사각 패널
   - 볼륨 낮음=파랑 / 높음=빨강
   ========================================================= */

.radio-top-row > .radio-console .radio-controls{
    grid-template-columns:48px 48px minmax(0,1fr) !important;
    align-items:stretch !important;
    min-height:56px !important;
    padding:4px !important;
    gap:8px !important;
}

.radio-top-row > .radio-console .radio-controls::before{
    content:"VOLUME" !important;
    left:124px !important;
    top:7px !important;
    font-size:6px !important;
}

.radio-top-row > .radio-console .radio-round-btn,
.radio-top-row > .radio-console .radio-play-main{
    width:48px !important;
    height:48px !important;
    border-radius:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:17px !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
}

.radio-top-row > .radio-console .radio-round-btn{
    border:1px solid #344257 !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)),
        #121923 !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 5px 12px rgba(0,0,0,.18) !important;
}

.radio-top-row > .radio-console .radio-play-main{
    border-radius:14px !important;
    background:
        linear-gradient(145deg,#ff6178,#ed3c59) !important;
}

.radio-top-row > .radio-console #radioVolume{
    -webkit-appearance:none;
    appearance:none;
    width:100%;
    height:48px !important;
    margin:0 !important;
    border:1px solid #344257 !important;
    border-radius:14px !important;
    outline:none;
    cursor:pointer;
    background:
        linear-gradient(90deg, #3b82f6 0%, #3b82f6 80%, rgba(106,118,136,.26) 80%, rgba(106,118,136,.26) 100%) center / calc(100% - 22px) 6px no-repeat,
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)),
        #121923 !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 5px 12px rgba(0,0,0,.18) !important;
    padding:0 11px !important;
}

.radio-top-row > .radio-console #radioVolume::-webkit-slider-runnable-track{
    height:6px;
    background:transparent;
    border:none;
}

.radio-top-row > .radio-console #radioVolume::-moz-range-track{
    height:6px;
    background:transparent;
    border:none;
}

.radio-top-row > .radio-console #radioVolume::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:16px;
    height:28px;
    border-radius:7px;
    border:1px solid rgba(255,255,255,.16);
    background:linear-gradient(180deg,#f5f8fc,#c7d1dd);
    box-shadow:
        0 2px 6px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.75);
    margin-top:-11px;
}

.radio-top-row > .radio-console #radioVolume::-moz-range-thumb{
    width:16px;
    height:28px;
    border-radius:7px;
    border:1px solid rgba(255,255,255,.16);
    background:linear-gradient(180deg,#f5f8fc,#c7d1dd);
    box-shadow:
        0 2px 6px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.75);
}

.radio-top-row > .radio-console #radioVolume::-moz-range-progress{
    height:6px;
    background:transparent;
}

.radio-top-row > .radio-console #radioVolume::-moz-range-track{
    background:transparent;
}

/* light mode */
.ppabam-radio-light .radio-top-row > .radio-console .radio-round-btn,
.ppabam-radio-light .radio-top-row > .radio-console #radioVolume{
    border-color:#d8e0ea !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,249,252,.96)),
        #ffffff !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,1),
        0 3px 10px rgba(40,55,80,.045) !important;
}

.ppabam-radio-light .radio-top-row > .radio-console #radioVolume{
    background:
        linear-gradient(90deg, #3b82f6 0%, #3b82f6 80%, rgba(160,172,188,.35) 80%, rgba(160,172,188,.35) 100%) center / calc(100% - 22px) 6px no-repeat,
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,249,252,.96)),
        #ffffff !important;
}

@media(max-width:760px){
    .radio-top-row > .radio-console .radio-controls{
        grid-template-columns:46px 46px minmax(0,1fr) !important;
        min-height:54px !important;
    }

    .radio-top-row > .radio-console .radio-round-btn,
    .radio-top-row > .radio-console .radio-play-main{
        width:46px !important;
        height:46px !important;
    }

    .radio-top-row > .radio-console #radioVolume{
        height:46px !important;
    }

    .radio-top-row > .radio-console .radio-controls::before{
        left:118px !important;
    }
}


/* =========================================================
   v0.0.60 - 차량 오디오 볼륨 컨트롤 수정
   - 컨트롤 외곽 박스 제거
   - 음소거 / 재생 버튼 축소
   - 볼륨 컬러 영역 두껍게 확대
   - 낮음 파랑 → 중간 하늘/노랑 → 높음 빨강
   ========================================================= */

/* 컨트롤을 감싸던 테이블/패널 박스 제거 */
.radio-top-row > .radio-console .radio-controls{
    grid-template-columns:38px 38px minmax(0,1fr) !important;
    min-height:38px !important;
    padding:0 !important;
    gap:7px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

/* MASTER / VOLUME 장식 문구 제거 */
.radio-top-row > .radio-console .radio-controls::before{
    display:none !important;
    content:none !important;
}

/* 음소거 / 재생 버튼 같은 크기의 작은 사각 라운드 */
.radio-top-row > .radio-console .radio-round-btn,
.radio-top-row > .radio-console .radio-play-main{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    border-radius:10px !important;
    padding:0 !important;
    margin:0 !important;
    font-size:13px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.radio-top-row > .radio-console .radio-round-btn{
    border:1px solid #344257 !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.045),transparent),
        #111821 !important;
    color:#dce5ef !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.03),
        0 3px 8px rgba(0,0,0,.15) !important;
}

.radio-top-row > .radio-console .radio-play-main{
    border:1px solid rgba(255,77,103,.48) !important;
    background:linear-gradient(145deg,#ff5c75,#e93c58) !important;
    color:#fff !important;
    box-shadow:
        0 4px 10px rgba(255,77,103,.18),
        inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* 볼륨 input 자체 박스 제거 */
.radio-top-row > .radio-console #radioVolume{
    -webkit-appearance:none !important;
    appearance:none !important;
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 2px !important;
    border:0 !important;
    border-radius:0 !important;
    outline:none !important;
    box-shadow:none !important;
    cursor:pointer !important;

    /* 낮음→높음 전체 레벨을 직관적으로 보여주는 컬러 스케일 */
    background:
        linear-gradient(
            90deg,
            #2f7df6 0%,
            #24b8ff 30%,
            #35d7c3 48%,
            #f1c94a 68%,
            #ff8b45 83%,
            #ff4d67 100%
        ) center / 100% 11px no-repeat !important;
}

/* 컬러 바를 기존보다 굵게 */
.radio-top-row > .radio-console #radioVolume::-webkit-slider-runnable-track{
    height:11px !important;
    border:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,.32),
        0 0 0 1px rgba(255,255,255,.035) !important;
}

.radio-top-row > .radio-console #radioVolume::-moz-range-track{
    height:11px !important;
    border:0 !important;
    border-radius:999px !important;
    background:
        linear-gradient(
            90deg,
            #2f7df6 0%,
            #24b8ff 30%,
            #35d7c3 48%,
            #f1c94a 68%,
            #ff8b45 83%,
            #ff4d67 100%
        ) !important;
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,.32),
        0 0 0 1px rgba(255,255,255,.035) !important;
}

/* 손잡이는 작고 선명하게 */
.radio-top-row > .radio-console #radioVolume::-webkit-slider-thumb{
    -webkit-appearance:none !important;
    appearance:none !important;
    width:15px !important;
    height:22px !important;
    margin-top:-5.5px !important;
    border:2px solid #eef4fb !important;
    border-radius:7px !important;
    background:#111821 !important;
    box-shadow:
        0 2px 7px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.radio-top-row > .radio-console #radioVolume::-moz-range-thumb{
    width:15px !important;
    height:22px !important;
    border:2px solid #eef4fb !important;
    border-radius:7px !important;
    background:#111821 !important;
    box-shadow:0 2px 7px rgba(0,0,0,.34) !important;
}

/* Firefox의 별도 progress 색 제거 - 전체 스펙트럼 바 사용 */
.radio-top-row > .radio-console #radioVolume::-moz-range-progress{
    background:transparent !important;
}

/* 화이트모드 */
.ppabam-radio-light .radio-top-row > .radio-console .radio-controls{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.ppabam-radio-light .radio-top-row > .radio-console .radio-round-btn{
    border-color:#d5dde8 !important;
    background:#f8fafc !important;
    color:#405066 !important;
}

.ppabam-radio-light .radio-top-row > .radio-console #radioVolume{
    border:0 !important;
    background:
        linear-gradient(
            90deg,
            #2f7df6 0%,
            #24b8ff 30%,
            #35d7c3 48%,
            #f1c94a 68%,
            #ff8b45 83%,
            #ff4d67 100%
        ) center / 100% 11px no-repeat !important;
    box-shadow:none !important;
}

.ppabam-radio-light .radio-top-row > .radio-console #radioVolume::-webkit-slider-thumb{
    border-color:#ffffff !important;
    background:#45566d !important;
}

/* 모바일에서도 더 작고 깔끔하게 */
@media(max-width:760px){
    .radio-top-row > .radio-console .radio-controls{
        grid-template-columns:36px 36px minmax(0,1fr) !important;
        min-height:36px !important;
        gap:6px !important;
    }

    .radio-top-row > .radio-console .radio-round-btn,
    .radio-top-row > .radio-console .radio-play-main{
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        min-height:36px !important;
        border-radius:9px !important;
        font-size:12px !important;
    }

    .radio-top-row > .radio-console #radioVolume{
        height:36px !important;
        min-height:36px !important;
        background-size:100% 10px !important;
    }

    .radio-top-row > .radio-console #radioVolume::-webkit-slider-runnable-track{
        height:10px !important;
    }

    .radio-top-row > .radio-console #radioVolume::-moz-range-track{
        height:10px !important;
    }
}


/* =========================================================
   v0.0.61 - 볼륨 진행영역 방식 수정
   - 왼쪽(현재 볼륨까지)만 색상 표시
   - 낮은 볼륨 = 파랑
   - 높은 볼륨 = 빨강
   - 오른쪽(남은 영역) = 회색
   ========================================================= */

.radio-top-row > .radio-console #radioVolume{
    --volume-level:80%;
    --volume-color:#e45f78;
    --volume-empty:rgba(106,118,136,.30);

    background:
        linear-gradient(
            90deg,
            var(--volume-color) 0%,
            var(--volume-color) var(--volume-level),
            var(--volume-empty) var(--volume-level),
            var(--volume-empty) 100%
        ) center / 100% 11px no-repeat !important;
}

/* 웹킷 track은 투명하게 두고 input 자체 배경을 사용 */
.radio-top-row > .radio-console #radioVolume::-webkit-slider-runnable-track{
    background:transparent !important;
}

/* Firefox도 동일 */
.radio-top-row > .radio-console #radioVolume::-moz-range-track{
    background:transparent !important;
}

.radio-top-row > .radio-console #radioVolume::-moz-range-progress{
    background:transparent !important;
}

/* 화이트모드 남은 영역 */
.ppabam-radio-light .radio-top-row > .radio-console #radioVolume{
    --volume-empty:rgba(160,172,188,.40);
}

/* =========================================================
   v0.0.63 - 볼륨 INPUT 막대 양 끝 라운드 처리
   CSS ONLY
   ========================================================= */

/* input 자체에는 배경을 그리지 않고 실제 track에 그려
   왼쪽/오른쪽 끝이 정확히 둥글게 보이도록 처리 */
.radio-top-row > .radio-console #radioVolume{
    background:transparent !important;
    border:0 !important;
    border-radius:999px !important;
    overflow:visible !important;
}

/* Chrome / Edge / Safari */
.radio-top-row > .radio-console #radioVolume::-webkit-slider-runnable-track{
    height:11px !important;
    border:0 !important;
    border-radius:999px !important;
    background:
        linear-gradient(
            90deg,
            var(--volume-color) 0%,
            var(--volume-color) var(--volume-level),
            var(--volume-empty) var(--volume-level),
            var(--volume-empty) 100%
        ) !important;
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,.32),
        0 0 0 1px rgba(255,255,255,.035) !important;
}

/* Firefox */
.radio-top-row > .radio-console #radioVolume::-moz-range-track{
    height:11px !important;
    border:0 !important;
    border-radius:999px !important;
    background:var(--volume-empty) !important;
    box-shadow:
        inset 0 1px 2px rgba(0,0,0,.32),
        0 0 0 1px rgba(255,255,255,.035) !important;
}

.radio-top-row > .radio-console #radioVolume::-moz-range-progress{
    height:11px !important;
    border:0 !important;
    border-radius:999px !important;
    background:var(--volume-color) !important;
}

/* 손잡이 위치/크기는 기존 유지 */
.radio-top-row > .radio-console #radioVolume::-webkit-slider-thumb{
    margin-top:-5.5px !important;
}

/* 화이트모드도 동일한 라운드 트랙 */
.ppabam-radio-light .radio-top-row > .radio-console #radioVolume{
    background:transparent !important;
}

@media(max-width:760px){
    .radio-top-row > .radio-console #radioVolume::-webkit-slider-runnable-track,
    .radio-top-row > .radio-console #radioVolume::-moz-range-track,
    .radio-top-row > .radio-console #radioVolume::-moz-range-progress{
        height:10px !important;
        border-radius:999px !important;
    }

    .radio-top-row > .radio-console #radioVolume::-webkit-slider-thumb{
        margin-top:-6px !important;
    }
}

/* =========================================================
   v0.0.64 - 방송정보 왼쪽 영역 가로폭 확대
   ========================================================= */

@media(min-width:1181px){
    /* 방송국 로고 + ON AIR + 방송국명 영역을 더 넓게 */
    .radio-top-row > .radio-console{
        grid-template-columns:minmax(230px,1.15fr) minmax(250px,1.45fr) 88px !important;
    }

    .radio-top-row > .radio-console .radio-console-left{
        min-width:0 !important;
        gap:12px !important;
        padding-right:10px !important;
    }

    .radio-top-row > .radio-console .radio-now-info{
        min-width:0 !important;
        width:100% !important;
    }

    .radio-top-row > .radio-console .radio-now-info strong{
        max-width:none !important;
        width:100% !important;
        font-size:14px !important;
    }

    .radio-top-row > .radio-console .radio-now-info > span:last-child{
        max-width:none !important;
        width:100% !important;
    }

    /* 가운데 주파수/EQ는 왼쪽 확장에 맞춰 조금 압축 */
    .radio-top-row > .radio-console .radio-console-center{
        grid-template-columns:86px minmax(140px,1fr) !important;
        gap:8px 8px !important;
    }
}

/* 중간 해상도에서도 방송정보 영역 여유 확보 */
@media(min-width:980px) and (max-width:1180px){
    .radio-top-row > .radio-console{
        grid-template-columns:minmax(240px,1.1fr) minmax(0,1.5fr) 95px !important;
    }

    .radio-top-row > .radio-console .radio-now-info strong,
    .radio-top-row > .radio-console .radio-now-info > span:last-child{
        max-width:none !important;
    }
}

/* =========================================================
   v0.0.65 - "라디오 정보를 불러오는 중입니다..." 안내 박스 다크모드
   ========================================================= */

body.dark-mode #ppabam-radio .radio-loading,
body.dark-mode #ppabam-radio .radio-empty,
body.dark-mode #ppabam-radio .radio-error{
    border-color:#252b35 !important;
    background:#0e1117 !important;
    color:#7f8998 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-loading{
    background:
        linear-gradient(180deg,rgba(255,255,255,.012),transparent),
        #0e1117 !important;
    color:#8792a2 !important;
}

body.dark-mode #ppabam-radio .radio-error{
    border-color:#5a2d36 !important;
    background:#211015 !important;
    color:#ff9aac !important;
}

/* 화이트모드 */
body:not(.dark-mode) #ppabam-radio .radio-loading,
#ppabam-radio.ppabam-radio-light .radio-loading{
    border-color:#d9e0e9 !important;
    background:#ffffff !important;
    color:#7b8797 !important;
    box-shadow:none !important;
}


/* =========================================================
   v0.0.66 - 즐겨찾기 / 최근 청취 상단을 메인과 완전 동일화
   ========================================================= */

/* 두 페이지도 메인과 같은 5:5 상단 구조 */
.radio-library-top-row{
    margin-bottom:14px;
}

.radio-library-top-row > .radio-hero,
.radio-library-top-row > .radio-console{
    min-width:0;
}

/* 메인 차량 오디오 디자인을 그대로 적용 */
.radio-library-top-row > .radio-console{
    margin-top:0 !important;
}

/* 라이브러리 EQ도 메인과 동일한 40바/재생 애니메이션 */
.radio-library-top-row .radio-eq{
    position:relative;
}

.radio-library-top-row .radio-console.playing .radio-eq i{
    animation-name:radioEqLinkedWave !important;
    animation-timing-function:ease-in-out !important;
    animation-iteration-count:infinite !important;
    animation-direction:alternate !important;
    animation-fill-mode:both !important;
}

/* 정지 상태도 메인과 동일하게 1칸 */
.radio-library-top-row .radio-console:not(.playing) .radio-eq i{
    animation:none !important;
    clip-path:inset(88% 0 0 0) !important;
    -webkit-clip-path:inset(88% 0 0 0) !important;
}

/* 타이틀은 메인 hero typography 사용 */
.radio-library-top-row .radio-hero h1{
    margin:0;
    font-size:27px;
    line-height:1;
    letter-spacing:-.04em;
}

/* 라이브러리 페이지에서는 HOME 대신 동일 계열 돌아가기 버튼 */
.radio-library-top-row .radio-hero-actions{
    justify-content:flex-start;
}

/* 모바일도 메인과 동일한 반응형 */
@media(max-width:1180px){
    .radio-library-top-row{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:760px){
    .radio-library-top-row .radio-hero h1{
        font-size:22px !important;
    }
}


/* =========================================================
   v0.0.67 - 모바일 SIGNAL / SOURCE 숨김
   ========================================================= */
@media(max-width:760px){
    #ppabam-radio .radio-console-right{
        display:none !important;
    }

    /* 오른쪽 상태 패널 제거 후 남는 구분선/여백 방지 */
    #ppabam-radio .radio-console{
        grid-template-columns:1fr !important;
    }

    #ppabam-radio .radio-console-center{
        min-width:0 !important;
    }
}


/* =========================================================
   v0.0.68 - 리스트 즐겨찾기 버튼 화이트모드 수정
   ========================================================= */

/* 화이트모드 - 목록 카드의 즐겨찾기 버튼 */
body:not(.dark-mode) #ppabam-radio .radio-favorite-btn,
#ppabam-radio.ppabam-radio-light .radio-favorite-btn{
    border:1px solid #d6dee8 !important;
    background:#ffffff !important;
    color:#7b8796 !important;
    box-shadow:0 2px 7px rgba(28,40,58,.06) !important;
}

body:not(.dark-mode) #ppabam-radio .radio-favorite-btn:hover,
#ppabam-radio.ppabam-radio-light .radio-favorite-btn:hover{
    border-color:#d6a100 !important;
    background:#fffaf0 !important;
    color:#b18400 !important;
}

/* 즐겨찾기 활성화 */
body:not(.dark-mode) #ppabam-radio .radio-favorite-btn.active,
#ppabam-radio.ppabam-radio-light .radio-favorite-btn.active{
    border-color:#e1b32f !important;
    background:#fff8df !important;
    color:#c39200 !important;
    box-shadow:0 2px 8px rgba(190,143,0,.10) !important;
}

/* 즐겨찾기 목록의 삭제/해제 텍스트도 화이트모드에 맞춤 */
body:not(.dark-mode) #ppabam-radio .radio-favorite-remove,
#ppabam-radio.ppabam-radio-light .radio-favorite-remove{
    background:transparent !important;
    color:#a77c00 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-favorite-remove:hover,
#ppabam-radio.ppabam-radio-light .radio-favorite-remove:hover{
    color:#d39d00 !important;
}

/* 다크모드는 기존 디자인 유지 */
body.dark-mode #ppabam-radio .radio-favorite-btn{
    border-color:#313844 !important;
    background:#131820 !important;
    color:#8b95a3 !important;
}

body.dark-mode #ppabam-radio .radio-favorite-btn.active{
    border-color:#d8ab32 !important;
    background:rgba(255,202,58,.10) !important;
    color:#ffd15a !important;
}


/* =========================================================
   v0.0.69 - 리스트 마우스오버 플레이 버튼 확대
   ========================================================= */

/* 기본은 기존처럼 숨김 */
#ppabam-radio .radio-card-play{
    opacity:0;
    transform:scale(.88);
    transition:
        opacity .16s ease,
        transform .16s ease,
        background .16s ease,
        box-shadow .16s ease !important;
}

/* 카드 마우스오버 시 더 크게 + 반투명 빨강 */
#ppabam-radio .radio-card:hover .radio-card-play,
#ppabam-radio .radio-card:focus-within .radio-card-play{
    width:44px !important;
    height:44px !important;
    right:10px !important;
    bottom:10px !important;

    opacity:1 !important;
    transform:scale(1) !important;

    border:1px solid rgba(255,255,255,.28) !important;
    background:rgba(255,77,103,.78) !important;
    color:#ffffff !important;

    font-size:16px !important;
    box-shadow:
        0 7px 18px rgba(255,77,103,.24),
        0 4px 14px rgba(0,0,0,.22) !important;

    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}

/* 버튼 자체 hover 시 조금 더 선명하게 */
#ppabam-radio .radio-card:hover .radio-card-play:hover,
#ppabam-radio .radio-card:focus-within .radio-card-play:hover{
    background:rgba(255,77,103,.92) !important;
    transform:scale(1.06) !important;
}

/* 모바일 터치에서는 너무 커지지 않게 */
@media(max-width:760px){
    #ppabam-radio .radio-card:hover .radio-card-play,
    #ppabam-radio .radio-card:focus-within .radio-card-play{
        width:40px !important;
        height:40px !important;
        right:8px !important;
        bottom:8px !important;
        font-size:15px !important;
    }
}


/* =========================================================
   v0.0.70 - 리스트 hover 플레이 버튼 위치/크기/투명도 수정
   ========================================================= */

/* 항상 카드 이미지 정중앙 기준 */
#ppabam-radio .radio-card-play{
    left:50% !important;
    top:50% !important;
    right:auto !important;
    bottom:auto !important;

    width:48px !important;
    height:48px !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:50% !important;
    border:1px solid rgba(255,255,255,.32) !important;
    background:rgba(255,77,103,.62) !important;
    color:#fff !important;

    font-size:18px !important;
    line-height:1 !important;

    opacity:0 !important;
    visibility:hidden !important;
    transform:translate(-50%,-50%) scale(.84) !important;

    box-shadow:0 7px 22px rgba(255,77,103,.20) !important;
    backdrop-filter:blur(4px) !important;
    -webkit-backdrop-filter:blur(4px) !important;

    transition:
        opacity .18s ease,
        transform .18s ease,
        background-color .18s ease,
        box-shadow .18s ease !important;
}

/* 카드에 마우스를 올리면 위치는 그대로, 버튼만 커지면서 표시 */
#ppabam-radio .radio-card:hover .radio-card-play,
#ppabam-radio .radio-card-cover:hover .radio-card-play,
#ppabam-radio .radio-card:focus-within .radio-card-play{
    width:52px !important;
    height:52px !important;

    left:50% !important;
    top:50% !important;
    right:auto !important;
    bottom:auto !important;

    opacity:1 !important;
    visibility:visible !important;
    transform:translate(-50%,-50%) scale(1) !important;

    background:rgba(255,77,103,.68) !important;
    border-color:rgba(255,255,255,.36) !important;

    box-shadow:
        0 8px 26px rgba(255,77,103,.28),
        0 3px 12px rgba(0,0,0,.24) !important;
}

/* 버튼 자체에 마우스를 올렸을 때도 중앙 위치 고정 */
#ppabam-radio .radio-card:hover .radio-card-play:hover,
#ppabam-radio .radio-card-cover:hover .radio-card-play:hover,
#ppabam-radio .radio-card:focus-within .radio-card-play:hover{
    transform:translate(-50%,-50%) scale(1.08) !important;
    background:rgba(255,77,103,.80) !important;
}

/* 모바일은 조금 작게 */
@media(max-width:760px){
    #ppabam-radio .radio-card-play{
        width:42px !important;
        height:42px !important;
        font-size:16px !important;
    }

    #ppabam-radio .radio-card:hover .radio-card-play,
    #ppabam-radio .radio-card-cover:hover .radio-card-play,
    #ppabam-radio .radio-card:focus-within .radio-card-play{
        width:46px !important;
        height:46px !important;
        left:50% !important;
        top:50% !important;
        right:auto !important;
        bottom:auto !important;
        transform:translate(-50%,-50%) scale(1) !important;
    }
}


/* =========================================================
   v0.0.71 - 리스트 플레이 버튼 글래스형 / 확대
   ========================================================= */

#ppabam-radio .radio-card-play{
    width:52px !important;
    height:52px !important;

    border:0 !important;
    outline:0 !important;

    /* 뒤 배경이 은은하게 비치는 반투명 빨강 */
    background:rgba(255,77,103,.42) !important;

    color:#fff !important;
    font-size:21px !important;
    font-weight:900 !important;

    box-shadow:
        0 8px 24px rgba(255,77,103,.20),
        0 4px 14px rgba(0,0,0,.18) !important;

    backdrop-filter:blur(6px) saturate(120%) !important;
    -webkit-backdrop-filter:blur(6px) saturate(120%) !important;
}

/* 카드 hover 시 버튼 전체를 더 크게 */
#ppabam-radio .radio-card:hover .radio-card-play,
#ppabam-radio .radio-card-cover:hover .radio-card-play,
#ppabam-radio .radio-card:focus-within .radio-card-play{
    width:58px !important;
    height:58px !important;

    border:0 !important;
    background:rgba(255,77,103,.48) !important;

    font-size:24px !important;

    box-shadow:
        0 10px 30px rgba(255,77,103,.24),
        0 5px 16px rgba(0,0,0,.20) !important;
}

/* 버튼 자체 hover */
#ppabam-radio .radio-card:hover .radio-card-play:hover,
#ppabam-radio .radio-card-cover:hover .radio-card-play:hover,
#ppabam-radio .radio-card:focus-within .radio-card-play:hover{
    transform:translate(-50%,-50%) scale(1.07) !important;
    background:rgba(255,77,103,.58) !important;
}

/* 재생 아이콘이 버튼 안에서 작아 보이지 않도록 */
#ppabam-radio .radio-card-play svg{
    width:24px !important;
    height:24px !important;
}

#ppabam-radio .radio-card-play i{
    font-size:24px !important;
}

/* 모바일 */
@media(max-width:760px){
    #ppabam-radio .radio-card-play{
        width:46px !important;
        height:46px !important;
        font-size:19px !important;
    }

    #ppabam-radio .radio-card:hover .radio-card-play,
    #ppabam-radio .radio-card-cover:hover .radio-card-play,
    #ppabam-radio .radio-card:focus-within .radio-card-play{
        width:50px !important;
        height:50px !important;
        font-size:21px !important;
    }

    #ppabam-radio .radio-card-play svg{
        width:21px !important;
        height:21px !important;
    }
}


/* =========================================================
   v0.0.72 - 리스트 플레이 아이콘 Bootstrap Icons play-fill
   ========================================================= */

#ppabam-radio .radio-card-play{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:0 !important;
    text-align:center !important;
}

#ppabam-radio .radio-card-play .bi-play-fill{
    display:block !important;
    width:30px !important;
    height:30px !important;
    flex:0 0 30px !important;
    margin:0 !important;
    padding:0 !important;
    fill:currentColor !important;
    transform:none !important;
    pointer-events:none !important;
}

#ppabam-radio .radio-card:hover .radio-card-play .bi-play-fill,
#ppabam-radio .radio-card-cover:hover .radio-card-play .bi-play-fill,
#ppabam-radio .radio-card:focus-within .radio-card-play .bi-play-fill{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
}

@media(max-width:760px){
    #ppabam-radio .radio-card-play .bi-play-fill{
        width:26px !important;
        height:26px !important;
        flex-basis:26px !important;
    }

    #ppabam-radio .radio-card:hover .radio-card-play .bi-play-fill,
    #ppabam-radio .radio-card-cover:hover .radio-card-play .bi-play-fill,
    #ppabam-radio .radio-card:focus-within .radio-card-play .bi-play-fill{
        width:29px !important;
        height:29px !important;
        flex-basis:29px !important;
    }
}

/* =========================================================
   v0.0.75 - 방송등록 유형 선택 강조
   - 라디오 / 개인방송 선택 상태를 화이트/다크모드에서 명확히 표시
   ========================================================= */

/* 공통: 선택 카드 전환을 부드럽게 */
#ppabam-radio .radio-owner-options label{
    position:relative;
    transition:
        border-color .16s ease,
        background .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        transform .16s ease !important;
}

/* 선택된 카드 */
#ppabam-radio .radio-owner-options label:has(input:checked){
    border-color:#ff4d67 !important;
    background:rgba(255,77,103,.10) !important;
    box-shadow:
        0 0 0 2px rgba(255,77,103,.14),
        0 8px 20px rgba(255,77,103,.08) !important;
}

/* 선택 시 제목/설명도 더 또렷하게 */
#ppabam-radio .radio-owner-options label:has(input:checked) b{
    color:#ff4d67 !important;
    font-weight:900 !important;
}

#ppabam-radio .radio-owner-options label:has(input:checked) small{
    color:#8f4d5a !important;
}

/* 선택 라디오 버튼 자체도 눈에 띄게 */
#ppabam-radio .radio-owner-options input[type="radio"]{
    width:17px !important;
    height:17px !important;
    flex:0 0 17px !important;
    accent-color:#ff4d67 !important;
    cursor:pointer;
}

/* hover */
#ppabam-radio .radio-owner-options label:hover{
    border-color:rgba(255,77,103,.55) !important;
}


/* -------------------------
   화이트모드
   ------------------------- */
body:not(.dark-mode) #ppabam-radio .radio-owner-options label,
#ppabam-radio.ppabam-radio-light .radio-owner-options label{
    border-color:#d9e0e9 !important;
    background:#ffffff !important;
    color:#27313e !important;
    box-shadow:0 2px 7px rgba(28,40,58,.04) !important;
}

body:not(.dark-mode) #ppabam-radio .radio-owner-options label b,
#ppabam-radio.ppabam-radio-light .radio-owner-options label b{
    color:#2b3440 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-owner-options label small,
#ppabam-radio.ppabam-radio-light .radio-owner-options label small{
    color:#7b8797 !important;
}

/* 화이트모드 선택 상태 */
body:not(.dark-mode) #ppabam-radio .radio-owner-options label:has(input:checked),
#ppabam-radio.ppabam-radio-light .radio-owner-options label:has(input:checked){
    border-color:#ff4d67 !important;
    background:#fff1f4 !important;
    box-shadow:
        0 0 0 2px rgba(255,77,103,.18),
        0 8px 20px rgba(255,77,103,.10) !important;
}

body:not(.dark-mode) #ppabam-radio .radio-owner-options label:has(input:checked) b,
#ppabam-radio.ppabam-radio-light .radio-owner-options label:has(input:checked) b{
    color:#e93652 !important;
}

body:not(.dark-mode) #ppabam-radio .radio-owner-options label:has(input:checked) small,
#ppabam-radio.ppabam-radio-light .radio-owner-options label:has(input:checked) small{
    color:#a64e5c !important;
}


/* -------------------------
   다크모드
   body.dark-mode를 최우선
   ------------------------- */
body.dark-mode #ppabam-radio .radio-owner-options label,
body.dark-mode #ppabam-radio.ppabam-radio-light .radio-owner-options label,
body.dark-mode #ppabam-radio.ppabam-radio-dark .radio-owner-options label{
    border-color:#2b323d !important;
    background:#10141a !important;
    color:#e7ebf1 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-owner-options label b,
body.dark-mode #ppabam-radio.ppabam-radio-light .radio-owner-options label b,
body.dark-mode #ppabam-radio.ppabam-radio-dark .radio-owner-options label b{
    color:#e7ebf1 !important;
}

body.dark-mode #ppabam-radio .radio-owner-options label small,
body.dark-mode #ppabam-radio.ppabam-radio-light .radio-owner-options label small,
body.dark-mode #ppabam-radio.ppabam-radio-dark .radio-owner-options label small{
    color:#7f8a9a !important;
}

/* 다크모드 선택 상태 */
body.dark-mode #ppabam-radio .radio-owner-options label:has(input:checked),
body.dark-mode #ppabam-radio.ppabam-radio-light .radio-owner-options label:has(input:checked),
body.dark-mode #ppabam-radio.ppabam-radio-dark .radio-owner-options label:has(input:checked){
    border-color:#ff5b73 !important;
    background:
        linear-gradient(135deg,rgba(255,77,103,.16),rgba(255,77,103,.07)),
        #151219 !important;
    box-shadow:
        0 0 0 2px rgba(255,77,103,.20),
        0 0 22px rgba(255,77,103,.10) !important;
}

body.dark-mode #ppabam-radio .radio-owner-options label:has(input:checked) b,
body.dark-mode #ppabam-radio.ppabam-radio-light .radio-owner-options label:has(input:checked) b,
body.dark-mode #ppabam-radio.ppabam-radio-dark .radio-owner-options label:has(input:checked) b{
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-owner-options label:has(input:checked) small,
body.dark-mode #ppabam-radio.ppabam-radio-light .radio-owner-options label:has(input:checked) small,
body.dark-mode #ppabam-radio.ppabam-radio-dark .radio-owner-options label:has(input:checked) small{
    color:#c89aa2 !important;
}

/* 키보드 접근성 */
#ppabam-radio .radio-owner-options label:has(input:focus-visible){
    outline:2px solid rgba(255,77,103,.65) !important;
    outline-offset:2px !important;
}

/* =========================================================
   v0.0.76 - 등록 카테고리(라디오 / 개인방송) 선택 카드도 동일 강조
   ========================================================= */

/* 등록 카테고리 선택영역 공통 대상
   - 기존 .radio-owner-options 외에 등록 화면에서 자주 쓰는 선택 카드 영역도 같이 커버 */
#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label{
    position:relative;
    transition:
        border-color .16s ease,
        background .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        transform .16s ease !important;
    cursor:pointer;
}

#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:hover{
    border-color:rgba(255,77,103,.55) !important;
}

#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) input[type="radio"]{
    width:17px !important;
    height:17px !important;
    flex:0 0 17px !important;
    accent-color:#ff4d67 !important;
    cursor:pointer;
}

#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked){
    border-color:#ff4d67 !important;
    background:rgba(255,77,103,.10) !important;
    box-shadow:
        0 0 0 2px rgba(255,77,103,.14),
        0 8px 20px rgba(255,77,103,.08) !important;
}

#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) b,
#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) strong{
    color:#ff4d67 !important;
    font-weight:900 !important;
}

#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) small,
#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) .radio-option-desc{
    color:#a95a69 !important;
}

#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:focus-visible){
    outline:2px solid rgba(255,77,103,.65) !important;
    outline-offset:2px !important;
}

/* 화이트모드 */
body:not(.dark-mode) #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label,
#ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label{
    border-color:#d9e0e9 !important;
    background:#ffffff !important;
    color:#27313e !important;
    box-shadow:0 2px 7px rgba(28,40,58,.04) !important;
}

body:not(.dark-mode) #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label b,
body:not(.dark-mode) #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label strong,
#ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label b,
#ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label strong{
    color:#2b3440 !important;
}

body:not(.dark-mode) #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label small,
body:not(.dark-mode) #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label .radio-option-desc,
#ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label small,
#ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label .radio-option-desc{
    color:#7b8797 !important;
}

body:not(.dark-mode) #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked),
#ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked){
    border-color:#ff4d67 !important;
    background:#fff1f4 !important;
    box-shadow:
        0 0 0 2px rgba(255,77,103,.18),
        0 8px 20px rgba(255,77,103,.10) !important;
}

/* 다크모드 */
body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label,
body.dark-mode #ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label,
body.dark-mode #ppabam-radio.ppabam-radio-dark :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label{
    border-color:#2b323d !important;
    background:#10141a !important;
    color:#e7ebf1 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label small,
body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label .radio-option-desc{
    color:#7f8a9a !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked),
body.dark-mode #ppabam-radio.ppabam-radio-light :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked),
body.dark-mode #ppabam-radio.ppabam-radio-dark :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked){
    border-color:#ff5b73 !important;
    background:
        linear-gradient(135deg,rgba(255,77,103,.16),rgba(255,77,103,.07)),
        #151219 !important;
    box-shadow:
        0 0 0 2px rgba(255,77,103,.20),
        0 0 22px rgba(255,77,103,.10) !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) b,
body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) strong{
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) small,
body.dark-mode #ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked) .radio-option-desc{
    color:#c89aa2 !important;
}

/* =========================================================
   v0.0.77 - 등록 카테고리 선택 카드 라운드 강화
   ========================================================= */

#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label{
    border-radius:12px !important;
    overflow:hidden;
}

/* 선택 상태에서도 동일 라운드 유지 */
#ppabam-radio :is(
    .radio-owner-options,
    .radio-category-options,
    .radio-type-options,
    .radio-register-category-options,
    .radio-register-options,
    .radio-form-category-options
) label:has(input:checked){
    border-radius:12px !important;
}

/* 모바일에서도 동일 */
@media(max-width:760px){
    #ppabam-radio :is(
        .radio-owner-options,
        .radio-category-options,
        .radio-type-options,
        .radio-register-category-options,
        .radio-register-options,
        .radio-form-category-options
    ) label{
        border-radius:12px !important;
    }
}


/* =========================================================
   v0.0.79 - 내가 등록한 방송 수정/삭제 요청
   ========================================================= */
.radio-my-station-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.radio-my-edit-btn,.radio-my-delete-btn{display:inline-flex;align-items:center;justify-content:center;height:31px;padding:0 11px;border-radius:8px;text-decoration:none;font-size:9px;font-weight:900}
.radio-my-edit-btn{border:1px solid #ffb3bf;background:#fff6f8;color:#e9415b}
.radio-my-delete-btn{border:1px solid #d9e0e9;background:#fff;color:#687383}
.radio-my-edit-btn:hover{border-color:#ff4d67;background:#ff4d67;color:#fff;text-decoration:none}
.radio-my-delete-btn:hover{border-color:#b84052;background:#b84052;color:#fff;text-decoration:none}
.radio-request-notice,.radio-request-danger{padding:14px;border-radius:11px;font-size:11px;line-height:1.6}
.radio-request-notice{border:1px solid #ffe0a6;background:#fff8e8;color:#8a650f}
.radio-request-danger{margin-top:12px;border:1px solid #ffd4db;background:#fff5f7;color:#a04454}
.radio-delete-submit{background:#b83d52!important;border-color:#b83d52!important}
body.dark-mode #ppabam-radio .radio-my-edit-btn{border-color:#61313a;background:#211318;color:#ff7187}
body.dark-mode #ppabam-radio .radio-my-delete-btn{border-color:#303744;background:#13171e;color:#aeb7c5}
body.dark-mode #ppabam-radio .radio-request-notice{border-color:#5c4824;background:#211b10;color:#d7b76c}
body.dark-mode #ppabam-radio .radio-request-danger{border-color:#5d3039;background:#211217;color:#d89aa6}
@media(max-width:520px){.radio-my-station-actions{gap:6px}.radio-my-edit-btn,.radio-my-delete-btn{flex:1}}

/* =========================================================
   v0.0.80 - 내 방송 요청 내역 + 관리자 요청 테이블
   ========================================================= */
.radio-my-request-wait,
.radio-my-request-history-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    padding:0 10px;
    border-radius:8px;
    font-size:9px;
    font-weight:900;
}
.radio-my-request-wait{
    border:1px solid #f0c66e;
    background:#fff8e8;
    color:#9a6900;
}
.radio-my-request-wait.danger{
    border-color:#efb1bd;
    background:#fff4f6;
    color:#b34156;
}
.radio-my-request-history-btn{
    border:1px solid #d9e0e9;
    background:#fff;
    color:#657181;
    cursor:pointer;
}
.radio-my-request-history-btn:hover{border-color:#ff4d67;color:#e9415b}

.radio-my-request-history{
    grid-column:1/-1;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #e3e7ed;
}
.radio-my-request-history[hidden]{display:none !important}
.radio-my-request-row{
    padding:12px;
    border:1px solid #e1e6ed;
    border-radius:10px;
    background:#f9fafc;
}
.radio-my-request-row + .radio-my-request-row{margin-top:8px}
.radio-my-request-row-head{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}
.radio-my-request-row-head strong{color:#28313d;font-size:11px}
.radio-my-request-row-head time{margin-left:auto;color:#8893a1;font-size:8px}
.radio-my-request-status{
    display:inline-flex;
    align-items:center;
    padding:3px 7px;
    border-radius:999px;
    background:#eef1f5;
    color:#6c7684;
    font-size:8px;
    font-weight:900;
}
.radio-my-request-status.request-status-pending{background:#fff2d7;color:#9d6900}
.radio-my-request-status.request-status-approved,
.radio-my-request-status.request-status-completed,
.radio-my-request-status.request-status-answered{background:#e9f8f0;color:#287653}
.radio-my-request-status.request-status-rejected{background:#fff0f3;color:#b63e53}
.radio-my-request-row p{margin:8px 0 0;color:#657181;font-size:10px;line-height:1.6}
.radio-my-request-data,
.radio-my-request-admin-reply{
    margin-top:9px;
    padding:10px;
    border-radius:8px;
    background:#fff;
    color:#556170;
    font-size:9.5px;
    line-height:1.6;
}
.radio-my-request-data>b,
.radio-my-request-admin-reply>b{color:#2e3743}
.radio-my-request-data dl{
    display:grid;
    grid-template-columns:80px minmax(0,1fr);
    gap:5px 9px;
    margin:7px 0 0;
}
.radio-my-request-data dt{color:#8b96a4;font-weight:800}
.radio-my-request-data dd{margin:0;color:#566170;word-break:break-all}

/* 관리자 요청 테이블 */
.radio-request-admin-filter{
    display:grid;
    grid-template-columns:minmax(220px,1fr) 130px 130px 74px 74px;
    gap:8px;
    margin-bottom:12px;
    padding:11px;
    border:1px solid #dfe4eb;
    border-radius:11px;
    background:#fff;
}
.radio-request-admin-filter input,
.radio-request-admin-filter select,
.radio-request-admin-filter button,
.radio-request-admin-filter a{
    height:38px;
    border:1px solid #d8dee7;
    border-radius:8px;
    background:#fff;
    color:#4e5968;
    font-size:10px;
}
.radio-request-admin-filter input{padding:0 11px}
.radio-request-admin-filter select{padding:0 8px}
.radio-request-admin-filter button{border-color:#ff4d67;background:#ff4d67;color:#fff;font-weight:900;cursor:pointer}
.radio-request-admin-filter a{display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800}
.radio-request-admin-summary{margin:0 2px 9px;color:#768291;font-size:10px}
.radio-request-admin-summary strong{color:#1f2834;font-size:15px}
.radio-request-admin-table-wrap{
    overflow-x:auto;
    border:1px solid #dde3ea;
    border-radius:12px;
    background:#fff;
}
.radio-request-admin-table{
    width:100%;
    min-width:1000px;
    border-collapse:collapse;
    table-layout:fixed;
}
.radio-request-admin-table th{
    padding:11px 9px;
    border-bottom:1px solid #dde3ea;
    background:#f6f8fb;
    color:#687484;
    font-size:11px;
    text-align:left;
    white-space:nowrap;
}
.radio-request-admin-table td{
    padding:11px 9px;
    border-bottom:1px solid #edf0f4;
    color:#4e5968;
    font-size:11px;
    vertical-align:middle;
}
.radio-request-admin-table tr:last-child td{border-bottom:0}
.radio-request-admin-table th:nth-child(1){width:55px}
.radio-request-admin-table th:nth-child(2){width:180px}
.radio-request-admin-table th:nth-child(3){width:110px}
.radio-request-admin-table th:nth-child(4){width:95px}
.radio-request-admin-table th:nth-child(5){width:auto}
.radio-request-admin-table th:nth-child(6){width:85px}
.radio-request-admin-table th:nth-child(7){width:130px}
.radio-request-admin-table th:nth-child(8){width:70px}
.radio-request-admin-table .num{text-align:center;color:#8a95a3}
.radio-request-admin-table .station strong{display:block;color:#26303c;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radio-request-admin-table .station small{display:block;margin-top:4px;color:#8b95a2;font-size:8px}
.radio-request-admin-table .request-summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radio-request-admin-table .date{white-space:nowrap;color:#7d8897}
.radio-request-type-badge{
    display:inline-flex;
    padding:4px 7px;
    border-radius:999px;
    background:#eef1f5;
    color:#687383;
    font-size:8px;
    font-weight:900;
}
.radio-request-type-badge.type-edit{background:#fff0f3;color:#d33f58}
.radio-request-type-badge.type-delete{background:#f1f2f4;color:#535d69}
.radio-request-type-badge.type-inquiry{background:#edf4ff;color:#3c68a7}
.radio-request-detail-btn{
    height:29px;
    padding:0 9px;
    border:1px solid #d6dde6;
    border-radius:7px;
    background:#fff;
    color:#5d6877;
    font-size:8.5px;
    font-weight:900;
    cursor:pointer;
}
.radio-request-detail-btn:hover{border-color:#ff4d67;color:#e9415b}
.radio-request-admin-detail-row[hidden]{display:none !important}
.radio-request-admin-detail-row td{padding:0 !important;background:#fafbfd}
.radio-request-admin-detail{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:10px;
    padding:14px;
    border-top:1px solid #e4e8ee;
}
.radio-request-admin-detail-block,
.radio-request-admin-process{
    padding:12px;
    border:1px solid #e0e5ec;
    border-radius:9px;
    background:#fff;
}
.radio-request-admin-detail-block>b{color:#2d3744;font-size:10px}
.radio-request-admin-detail-block p{margin:7px 0 0;color:#606c7b;font-size:9.5px;line-height:1.6}
.radio-request-admin-detail-block dl{
    display:grid;
    grid-template-columns:80px minmax(0,1fr);
    gap:5px 8px;
    margin:8px 0 0;
}
.radio-request-admin-detail-block dt{color:#8c96a4;font-weight:800}
.radio-request-admin-detail-block dd{margin:0;color:#596574;word-break:break-all}
.radio-request-admin-process{grid-column:1/-1}
.radio-request-admin-process textarea{
    width:100%;
    min-height:74px;
    padding:10px;
    border:1px solid #d9e0e8;
    border-radius:8px;
    background:#fff;
    color:#303a46;
    resize:vertical;
    font-size:10px;
}
.radio-request-admin-process-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:8px}
.radio-request-admin-process-actions button{
    height:33px;
    padding:0 11px;
    border:1px solid #3c9f76;
    border-radius:7px;
    background:#287b57;
    color:#fff;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.radio-request-admin-process-actions button.danger{border-color:#96384a;background:#7a2c3a}
.radio-request-admin-process-actions span{color:#728090;font-size:9px}
.radio-request-admin-empty{padding:30px !important;text-align:center;color:#8994a2 !important}

/* dark */
body.dark-mode #ppabam-radio .radio-my-request-history{border-top-color:#252b35}
body.dark-mode #ppabam-radio .radio-my-request-row{border-color:#252b35;background:#0b0e13}
body.dark-mode #ppabam-radio .radio-my-request-row-head strong{color:#f0f3f7}
body.dark-mode #ppabam-radio .radio-my-request-row p{color:#a4adba}
body.dark-mode #ppabam-radio .radio-my-request-data,
body.dark-mode #ppabam-radio .radio-my-request-admin-reply{background:#10141a;color:#aeb7c4}
body.dark-mode #ppabam-radio .radio-my-request-data>b,
body.dark-mode #ppabam-radio .radio-my-request-admin-reply>b{color:#edf0f5}
body.dark-mode #ppabam-radio .radio-my-request-data dd{color:#aeb7c4}
body.dark-mode #ppabam-radio .radio-my-request-history-btn{border-color:#303744;background:#13171e;color:#aeb7c5}
body.dark-mode #ppabam-radio .radio-my-request-wait{border-color:#69582e;background:#211d12;color:#e1b85d}
body.dark-mode #ppabam-radio .radio-my-request-wait.danger{border-color:#63323b;background:#211318;color:#e28394}

body.dark-mode #ppabam-radio .radio-request-admin-filter,
body.dark-mode #ppabam-radio .radio-request-admin-table-wrap{border-color:#252b35;background:#0d1016}
body.dark-mode #ppabam-radio .radio-request-admin-filter input,
body.dark-mode #ppabam-radio .radio-request-admin-filter select,
body.dark-mode #ppabam-radio .radio-request-admin-filter a{border-color:#2b313c;background:#11151c;color:#c7ced8}
body.dark-mode #ppabam-radio .radio-request-admin-summary{color:#7b8594}
body.dark-mode #ppabam-radio .radio-request-admin-summary strong{color:#f1f3f7}
body.dark-mode #ppabam-radio .radio-request-admin-table th{border-bottom-color:#252b35;background:#10141a;color:#7e8998}
body.dark-mode #ppabam-radio .radio-request-admin-table td{border-bottom-color:#1e232b;color:#aeb7c4}
body.dark-mode #ppabam-radio .radio-request-admin-table .station strong{color:#f0f3f7}
body.dark-mode #ppabam-radio .radio-request-admin-table .station small{color:#6f7a89}
body.dark-mode #ppabam-radio .radio-request-detail-btn{border-color:#303744;background:#13171e;color:#aeb7c5}
body.dark-mode #ppabam-radio .radio-request-admin-detail-row td{background:#090c11}
body.dark-mode #ppabam-radio .radio-request-admin-detail{border-top-color:#252b35}
body.dark-mode #ppabam-radio .radio-request-admin-detail-block,
body.dark-mode #ppabam-radio .radio-request-admin-process{border-color:#252b35;background:#0d1016}
body.dark-mode #ppabam-radio .radio-request-admin-detail-block>b{color:#eef1f5}
body.dark-mode #ppabam-radio .radio-request-admin-detail-block p,
body.dark-mode #ppabam-radio .radio-request-admin-detail-block dd{color:#aeb7c4}
body.dark-mode #ppabam-radio .radio-request-admin-process textarea{border-color:#2b313c;background:#11151c;color:#eef1f5}

@media(max-width:900px){
    .radio-request-admin-filter{grid-template-columns:1fr 1fr 1fr}
    .radio-request-admin-filter input{grid-column:1/-1}
    .radio-request-admin-detail{grid-template-columns:1fr}
    .radio-request-admin-process{grid-column:auto}
}
@media(max-width:560px){
    .radio-my-request-row-head time{width:100%;margin-left:0}
    .radio-my-request-data dl{grid-template-columns:66px minmax(0,1fr)}
    .radio-request-admin-filter{grid-template-columns:1fr 1fr}
    .radio-request-admin-filter input{grid-column:1/-1}
}


/* =========================================================
   v0.0.81 - 관리자 상단 요청관리 링크 + 다크모드 요청대기 가독성
   ========================================================= */
.radio-admin-top-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}
.radio-admin-link-btn.active{
    border-color:#ff4d67 !important;
    background:rgba(255,77,103,.10) !important;
    color:#ff4d67 !important;
}

/* 내가 등록한 방송 - 수정/삭제 요청 검토중 표시 최종 우선 */
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-stations .radio-my-request-wait,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-stations .radio-my-request-wait,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-dark .radio-my-stations .radio-my-request-wait{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:31px !important;
    padding:0 10px !important;
    border:1px solid #7a6430 !important;
    border-radius:8px !important;
    background:#2a2212 !important;
    color:#ffd36a !important;
    font-size:9px !important;
    font-weight:900 !important;
    line-height:1 !important;
    opacity:1 !important;
    text-shadow:none !important;
}
body.dark-mode #ppabam-radio.ppabam-radio .radio-my-stations .radio-my-request-wait.danger,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-light .radio-my-stations .radio-my-request-wait.danger,
body.dark-mode #ppabam-radio.ppabam-radio.ppabam-radio-dark .radio-my-stations .radio-my-request-wait.danger{
    border-color:#7a3946 !important;
    background:#2b171c !important;
    color:#ff9caf !important;
}

/* 커뮤니티 전역 span 색상이 덮어써도 대기 문구는 유지 */
body.dark-mode #ppabam-radio .radio-my-station-item span.radio-my-request-wait{
    color:#ffd36a !important;
}
body.dark-mode #ppabam-radio .radio-my-station-item span.radio-my-request-wait.danger{
    color:#ff9caf !important;
}

@media(max-width:760px){
    .radio-admin-top-actions{justify-content:flex-start;width:100%;margin-top:8px}
    .radio-admin-top-actions .radio-admin-link-btn{flex:1 1 calc(50% - 7px);min-width:0}
}

/* =========================================================
   v0.0.82 - 수정 / 삭제 요청 관리 테이블 다크모드 완전 적용
   ========================================================= */

/* 테이블 전체 */
body.dark-mode #ppabam-radio .radio-request-admin-table-wrap{
    border-color:#252b35 !important;
    background:#0b0e13 !important;
    box-shadow:none !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table{
    background:#0b0e13 !important;
    color:#d9dfe7 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table thead,
body.dark-mode #ppabam-radio .radio-request-admin-table tbody,
body.dark-mode #ppabam-radio .radio-request-admin-table tr{
    background:#0b0e13 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table th{
    border-bottom:1px solid #29303a !important;
    background:#10141a !important;
    color:#8490a0 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table td{
    border-bottom:1px solid #1e242d !important;
    background:#0b0e13 !important;
    color:#c2cad5 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table .radio-request-admin-row:hover td{
    background:#0f1319 !important;
}

/* 번호 */
body.dark-mode #ppabam-radio .radio-request-admin-table .num{
    color:#ff8b9c !important;
}

/* 방송 */
body.dark-mode #ppabam-radio .radio-request-admin-table .station strong{
    color:#f3f5f8 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table .station small{
    color:#7a8594 !important;
}

/* 회원 / 요청내용 / 날짜 */
body.dark-mode #ppabam-radio .radio-request-admin-table .request-summary{
    color:#c0c8d2 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table .date{
    color:#98a3b2 !important;
}

/* 유형 배지 - 흰색/연분홍 배경 제거 */
body.dark-mode #ppabam-radio .radio-request-type-badge{
    border:1px solid #323944 !important;
    background:#151a21 !important;
    color:#aeb8c6 !important;
}

body.dark-mode #ppabam-radio .radio-request-type-badge.type-edit{
    border-color:#743342 !important;
    background:#28151b !important;
    color:#ff8ca0 !important;
}

body.dark-mode #ppabam-radio .radio-request-type-badge.type-delete{
    border-color:#3b424d !important;
    background:#171c23 !important;
    color:#b6c0cc !important;
}

body.dark-mode #ppabam-radio .radio-request-type-badge.type-inquiry{
    border-color:#304b70 !important;
    background:#121c2a !important;
    color:#82b4ff !important;
}

/* 상태 배지 - 검토중 / 승인 / 반려 */
body.dark-mode #ppabam-radio .radio-my-request-status{
    border:1px solid #3a424e !important;
    background:#171c23 !important;
    color:#b7c0cc !important;
    opacity:1 !important;
}

body.dark-mode #ppabam-radio .radio-my-request-status.request-status-pending{
    border-color:#796632 !important;
    background:#2a2212 !important;
    color:#ffd46e !important;
}

body.dark-mode #ppabam-radio .radio-my-request-status.request-status-approved,
body.dark-mode #ppabam-radio .radio-my-request-status.request-status-answered,
body.dark-mode #ppabam-radio .radio-my-request-status.request-status-completed{
    border-color:#2d7158 !important;
    background:#13241d !important;
    color:#74d8aa !important;
}

body.dark-mode #ppabam-radio .radio-my-request-status.request-status-rejected{
    border-color:#743442 !important;
    background:#28151b !important;
    color:#ff8ca0 !important;
}

/* 상세 버튼 */
body.dark-mode #ppabam-radio .radio-request-detail-btn{
    border-color:#343b47 !important;
    background:#151a21 !important;
    color:#c5ced9 !important;
}

body.dark-mode #ppabam-radio .radio-request-detail-btn:hover{
    border-color:#ff4d67 !important;
    background:#24151a !important;
    color:#ff8ca0 !important;
}

/* 펼쳐진 상세영역 */
body.dark-mode #ppabam-radio .radio-request-admin-detail-row td{
    border-bottom-color:#252b35 !important;
    background:#080b10 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-detail{
    border-top-color:#252b35 !important;
    background:#080b10 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-detail-block,
body.dark-mode #ppabam-radio .radio-request-admin-process{
    border-color:#252b35 !important;
    background:#0d1016 !important;
    color:#dce2ea !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-detail-block>b{
    color:#f2f4f8 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-detail-block p,
body.dark-mode #ppabam-radio .radio-request-admin-detail-block dt,
body.dark-mode #ppabam-radio .radio-request-admin-detail-block dd{
    color:#aeb7c4 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-process textarea{
    border-color:#2d3440 !important;
    background:#11151c !important;
    color:#eef1f5 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-process textarea::placeholder{
    color:#657181 !important;
}

/* 처리 버튼 */
body.dark-mode #ppabam-radio .radio-request-admin-process-actions button.approve,
body.dark-mode #ppabam-radio .radio-request-admin-process-actions button:not(.danger){
    border-color:#347e61 !important;
    background:#245b47 !important;
    color:#fff !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-process-actions button.danger{
    border-color:#873a49 !important;
    background:#6d2936 !important;
    color:#fff !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-process-actions span{
    color:#8d98a7 !important;
}

/* 빈 목록 */
body.dark-mode #ppabam-radio .radio-request-admin-empty{
    background:#0b0e13 !important;
    color:#778292 !important;
}

/* =========================================================
   v0.0.83 - 수정/삭제 요청 관리 NEWS 스타일
   - 심플 타이틀
   - 검색 아래 상태 카테고리
   - 모바일 가로 스크롤
   ========================================================= */

.radio-request-page-title{
    margin:2px 0 18px;
    padding:0 3px 16px;
    border-bottom:1px solid #e2e7ee;
}
.radio-request-page-title h1{
    margin:0;
    color:#1c2530;
    font-size:25px;
    line-height:1.2;
  
    letter-spacing:-.04em;
}
.radio-request-page-title p{
    margin:6px 0 0;
    color:#7a8594;
    font-size:12px;
}

.radio-request-admin-nav{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:12px;
}
.radio-request-admin-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:34px;
    padding:0 12px;
    border:1px solid #d9e0e8;
    border-radius:9px;
    background:#fff;
    color:#66717f;
    text-decoration:none;
    font-size:10px;
    font-weight:850;
}
.radio-request-admin-nav a:hover,
.radio-request-admin-nav a.active{
    border-color:#ff4d67;
    background:#fff1f4;
    color:#e93652;
}

.radio-request-admin-search{
    display:grid;
    grid-template-columns:160px minmax(220px,1fr) 70px;
    gap:8px;
    margin-bottom:12px;
    padding:10px;
    border:1px solid #dde3ea;
    border-radius:12px;
    background:#f8fafc;
}
.radio-request-admin-search select,
.radio-request-admin-search input,
.radio-request-admin-search button{
    height:40px;
    border-radius:9px;
    font-size:11px;
    outline:none;
}
.radio-request-admin-search select,
.radio-request-admin-search input{
    border:1px solid #d8dee7;
    background:#fff;
    color:#2a3440;
}
.radio-request-admin-search select{padding:0 10px}
.radio-request-admin-search input{padding:0 12px}
.radio-request-admin-search input:focus,
.radio-request-admin-search select:focus{
    border-color:#8b5cf6;
    box-shadow:0 0 0 2px rgba(139,92,246,.10);
}
.radio-request-admin-search button{
    border:1px solid #8054ef;
    background:#8054ef;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}

.radio-request-category-tabs{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 16px;
    padding:0 1px 2px;
}
.radio-request-category-tabs a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:39px;
    padding:0 17px;
    border:1px solid #d7dde6;
    border-radius:10px;
    background:#fff;
    color:#3d4755;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
    transition:.15s ease;
}
.radio-request-category-tabs a:hover{
    border-color:#9a76f5;
    color:#7548e7;
}
.radio-request-category-tabs a.active{
    border-color:#8054ef;
    background:#8054ef;
    color:#fff;
    box-shadow:0 5px 15px rgba(128,84,239,.16);
}

/* DARK */
body.dark-mode #ppabam-radio .radio-request-page-title{
    border-bottom-color:#252b35 !important;
}
body.dark-mode #ppabam-radio .radio-request-page-title h1{
    color:#f4f6fa !important;
}
body.dark-mode #ppabam-radio .radio-request-page-title p{
    color:#8893a3 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-nav a{
    border-color:#29303b !important;
    background:#0e1116 !important;
    color:#98a3b2 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-nav a:hover,
body.dark-mode #ppabam-radio .radio-request-admin-nav a.active{
    border-color:#ff4d67 !important;
    background:#28151b !important;
    color:#ff8da0 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-search{
    border-color:#2b313b !important;
    background:#0f1217 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-search select,
body.dark-mode #ppabam-radio .radio-request-admin-search input{
    border-color:#303743 !important;
    background:#202226 !important;
    color:#dce2ea !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-search input::placeholder{
    color:#737d8b !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-search button{
    border-color:#8054ef !important;
    background:#8054ef !important;
    color:#fff !important;
}

body.dark-mode #ppabam-radio .radio-request-category-tabs a{
    border-color:#2c3047 !important;
    background:#0e0f16 !important;
    color:#c5ccda !important;
}
body.dark-mode #ppabam-radio .radio-request-category-tabs a:hover{
    border-color:#8054ef !important;
    color:#b79cff !important;
}
body.dark-mode #ppabam-radio .radio-request-category-tabs a.active{
    border-color:#8054ef !important;
    background:#8054ef !important;
    color:#fff !important;
}

@media(max-width:760px){
    .radio-request-page-title{
        margin-bottom:13px;
        padding-bottom:13px;
    }
    .radio-request-page-title h1{font-size:22px}
    .radio-request-page-title p{font-size:11px}

    .radio-request-admin-nav{
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        padding-bottom:3px;
    }
    .radio-request-admin-nav::-webkit-scrollbar{display:none}
    .radio-request-admin-nav a{flex:0 0 auto}

    .radio-request-admin-search{
        grid-template-columns:110px minmax(0,1fr) 58px;
        gap:6px;
        padding:8px;
    }
    .radio-request-admin-search select,
    .radio-request-admin-search input,
    .radio-request-admin-search button{
        min-width:0;
        height:38px;
    }

    .radio-request-category-tabs{
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        gap:8px;
        padding:0 0 5px;
    }
    .radio-request-category-tabs::-webkit-scrollbar{display:none}
    .radio-request-category-tabs a{
        flex:0 0 auto;
        height:37px;
        padding:0 15px;
    }
}

@media(max-width:480px){
    .radio-request-admin-search{
        grid-template-columns:95px minmax(0,1fr) 54px;
    }
    .radio-request-admin-search select{padding:0 7px}
    .radio-request-admin-search input{padding:0 9px}
}

/* =========================================================
   v0.0.84 - 수정/삭제 요청 관리: PPABAM RADIO 디자인 통일
   - v0.0.83 구조 유지
   - 보라색 NEWS 포인트 제거
   - RADIO 핑크/다크 콘솔 톤으로 통일
   ========================================================= */

.radio-request-page-title{
    position:relative;
    margin:2px 0 16px !important;
    padding:5px 3px 17px !important;
    border-bottom:1px solid #e0e5ec !important;
    background:transparent !important;
}
.radio-request-page-title::after{
    content:"";
    position:absolute;
    left:3px;
    bottom:-1px;
    width:54px;
    height:2px;
    border-radius:99px;
    background:#ff4d67;
}
.radio-request-page-kicker{
    display:block;
    margin:0 0 6px;
    color:#ff4d67;
    font:900 9px/1 Arial,"Noto Sans KR",sans-serif;
    letter-spacing:.13em;
}
.radio-request-page-title h1{
    margin:0 !important;
    color:#202936 !important;
    font-size:25px !important;
    line-height:1.2 !important;

    letter-spacing:-.04em !important;
}
.radio-request-page-title p{
    margin:6px 0 0 !important;
    color:#7b8695 !important;
    font-size:12px !important;
}

/* 관리자 서비스 메뉴 */
.radio-request-admin-nav{
    gap:7px !important;
    margin-bottom:11px !important;
}
.radio-request-admin-nav a{
    height:34px !important;
    padding:0 12px !important;
    border:1px solid #dbe1e9 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#6c7787 !important;
    box-shadow:none !important;
}
.radio-request-admin-nav a:hover{
    border-color:rgba(255,77,103,.55) !important;
    background:#fff7f8 !important;
    color:#e6405a !important;
}
.radio-request-admin-nav a.active{
    border-color:rgba(255,77,103,.45) !important;
    background:rgba(255,77,103,.09) !important;
    color:#e63854 !important;
}

/* 검색 바: RADIO 필터 패널 톤 */
.radio-request-admin-search{
    grid-template-columns:155px minmax(220px,1fr) 72px !important;
    gap:8px !important;
    margin-bottom:11px !important;
    padding:10px !important;
    border:1px solid #dce2ea !important;
    border-radius:12px !important;
    background:#f7f9fc !important;
    box-shadow:none !important;
}
.radio-request-admin-search select,
.radio-request-admin-search input{
    height:39px !important;
    border:1px solid #d8dfe8 !important;
    border-radius:8px !important;
    background:#fff !important;
    color:#2a3440 !important;
}
.radio-request-admin-search select:focus,
.radio-request-admin-search input:focus{
    border-color:#ff4d67 !important;
    box-shadow:0 0 0 2px rgba(255,77,103,.08) !important;
}
.radio-request-admin-search button{
    height:39px !important;
    border:1px solid #e43d58 !important;
    border-radius:8px !important;
    background:#e43d58 !important;
    color:#fff !important;
    box-shadow:0 5px 15px rgba(228,61,88,.14) !important;
}
.radio-request-admin-search button:hover{
    border-color:#ff4d67 !important;
    background:#ff4d67 !important;
}

/* 상태 카테고리: RADIO 카드/필터 버튼 스타일 */
.radio-request-category-tabs{
    gap:8px !important;
    margin:0 0 14px !important;
    padding:0 1px 3px !important;
}
.radio-request-category-tabs a{
    height:37px !important;
    padding:0 15px !important;
    border:1px solid #d9dfe7 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#566171 !important;
    box-shadow:none !important;
    font-size:10.5px !important;
}
.radio-request-category-tabs a:hover{
    border-color:rgba(255,77,103,.55) !important;
    background:#fff7f8 !important;
    color:#e43d58 !important;
}
.radio-request-category-tabs a.active{
    border-color:#e43d58 !important;
    background:#e43d58 !important;
    color:#fff !important;
    box-shadow:0 5px 14px rgba(228,61,88,.16) !important;
}

/* 건수 */
.radio-request-admin-summary{
    margin:0 2px 8px !important;
    color:#7d8795 !important;
    font-size:10px !important;
}
.radio-request-admin-summary strong{
    color:#ff4d67 !important;
    font-size:15px !important;
}

/* 테이블도 RADIO 관리 화면에 맞게 */
.radio-request-admin-table-wrap{
    border:1px solid #dfe4eb !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:none !important;
}
.radio-request-admin-table th{
    height:44px !important;
    padding:0 10px !important;
    border-bottom:1px solid #e1e6ed !important;
    background:#f8fafc !important;
    color:#7b8695 !important;
    font-size:11px !important;
    font-weight:900 !important;
}
.radio-request-admin-table td{
    padding:12px 10px !important;
    border-bottom:1px solid #edf0f4 !important;
    background:#fff !important;
    color:#46505d !important;
}
.radio-request-admin-table .radio-request-admin-row:hover td{
    background:#fffafb !important;
}
.radio-request-detail-btn{
    border:1px solid #d7dee7 !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#697485 !important;
}
.radio-request-detail-btn:hover{
    border-color:#ff4d67 !important;
    background:#fff5f7 !important;
    color:#e63854 !important;
}

/* DARK MODE */
body.dark-mode #ppabam-radio .radio-request-page-title{
    border-bottom-color:#242a34 !important;
}
body.dark-mode #ppabam-radio .radio-request-page-title::after{
    background:#ff4d67 !important;
}
body.dark-mode #ppabam-radio .radio-request-page-kicker{
    color:#ff7187 !important;
}
body.dark-mode #ppabam-radio .radio-request-page-title h1{
    color:#f3f5f8 !important;
}
body.dark-mode #ppabam-radio .radio-request-page-title p{
    color:#7e8898 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-nav a{
    border-color:#29303a !important;
    background:#10141a !important;
    color:#8f99a8 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-nav a:hover{
    border-color:#5a3340 !important;
    background:#191217 !important;
    color:#ff8195 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-nav a.active{
    border-color:rgba(255,77,103,.38) !important;
    background:rgba(255,77,103,.10) !important;
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-search{
    border-color:#252b35 !important;
    background:#0c0f14 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-search select,
body.dark-mode #ppabam-radio .radio-request-admin-search input{
    border-color:#2a303b !important;
    background:#11141a !important;
    color:#d8dee7 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-search input::placeholder{
    color:#606b7a !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-search select:focus,
body.dark-mode #ppabam-radio .radio-request-admin-search input:focus{
    border-color:#ff4d67 !important;
    box-shadow:0 0 0 2px rgba(255,77,103,.08) !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-search button{
    border-color:#e33d58 !important;
    background:#e33d58 !important;
    color:#fff !important;
}

body.dark-mode #ppabam-radio .radio-request-category-tabs a{
    border-color:#29303a !important;
    background:#0f1218 !important;
    color:#8e99a8 !important;
}
body.dark-mode #ppabam-radio .radio-request-category-tabs a:hover{
    border-color:#633540 !important;
    background:#191217 !important;
    color:#ff8195 !important;
}
body.dark-mode #ppabam-radio .radio-request-category-tabs a.active{
    border-color:#e33d58 !important;
    background:#e33d58 !important;
    color:#fff !important;
    box-shadow:0 5px 14px rgba(255,77,103,.12) !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-summary{
    color:#697485 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-summary strong{
    color:#ff7187 !important;
}

body.dark-mode #ppabam-radio .radio-request-admin-table-wrap{
    border-color:#252b35 !important;
    background:#0b0e13 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-table th{
    border-bottom-color:#29303a !important;
    background:#10141a !important;
    color:#667181 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-table td{
    border-bottom-color:#1d232b !important;
    background:#0b0e13 !important;
    color:#aeb7c4 !important;
}
body.dark-mode #ppabam-radio .radio-request-admin-table .radio-request-admin-row:hover td{
    background:#0f1319 !important;
}
body.dark-mode #ppabam-radio .radio-request-detail-btn{
    border-color:#303744 !important;
    background:#13171e !important;
    color:#9ca6b5 !important;
}
body.dark-mode #ppabam-radio .radio-request-detail-btn:hover{
    border-color:#ff4d67 !important;
    background:#211217 !important;
    color:#ff8195 !important;
}

/* 모바일: 구조는 그대로, RADIO 스타일의 가로 메뉴 유지 */
@media(max-width:760px){
    .radio-request-page-title{
        padding-top:2px !important;
        padding-bottom:14px !important;
    }
    .radio-request-page-title h1{font-size:21px !important}
    .radio-request-page-kicker{font-size:8px !important}

    .radio-request-admin-nav,
    .radio-request-category-tabs{
        scroll-snap-type:x proximity;
    }
    .radio-request-admin-nav a,
    .radio-request-category-tabs a{
        scroll-snap-align:start;
    }

    .radio-request-admin-search{
        grid-template-columns:105px minmax(0,1fr) 58px !important;
        padding:8px !important;
    }
    .radio-request-admin-search select,
    .radio-request-admin-search input,
    .radio-request-admin-search button{
        height:37px !important;
    }
}

/* =========================================================
   v0.0.85 - 관리자 페이지 공통 RADIO 구조
   방송관리 / 댓글신고관리 / API 방송국 숨김관리
   ========================================================= */

#ppabam-radio .radio-admin-filter-news{
    display:grid !important;
    grid-template-columns:minmax(260px,1fr) 145px 145px 70px 70px !important;
    gap:8px !important;
    margin-bottom:11px !important;
    padding:10px !important;
    border:1px solid #dce2ea !important;
    border-radius:12px !important;
    background:#f7f9fc !important;
}
#ppabam-radio .radio-admin-filter-news input,
#ppabam-radio .radio-admin-filter-news select,
#ppabam-radio .radio-admin-filter-news button,
#ppabam-radio .radio-admin-filter-news a{
    height:39px !important;
    border-radius:8px !important;
    font-size:10.5px !important;
}
#ppabam-radio .radio-admin-filter-news input,
#ppabam-radio .radio-admin-filter-news select{
    border:1px solid #d8dfe8 !important;
    background:#fff !important;
    color:#2a3440 !important;
}
#ppabam-radio .radio-admin-filter-news input{padding:0 12px !important}
#ppabam-radio .radio-admin-filter-news select{padding:0 9px !important}
#ppabam-radio .radio-admin-filter-news input:focus,
#ppabam-radio .radio-admin-filter-news select:focus{
    border-color:#ff4d67 !important;
    box-shadow:0 0 0 2px rgba(255,77,103,.08) !important;
    outline:0 !important;
}
#ppabam-radio .radio-admin-filter-news button{
    border:1px solid #e43d58 !important;
    background:#e43d58 !important;
    color:#fff !important;
    font-weight:900 !important;
}
#ppabam-radio .radio-admin-filter-news a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #d8dfe8 !important;
    background:#fff !important;
    color:#707b89 !important;
    text-decoration:none !important;
    font-weight:800 !important;
}

#ppabam-radio .radio-admin-status-tabs{margin-bottom:13px !important}

#ppabam-radio .radio-report-filter.radio-request-category-tabs{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 0 14px !important;
    padding:0 1px 3px !important;
    border:0 !important;
    background:transparent !important;
}
#ppabam-radio .radio-report-filter.radio-request-category-tabs a{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:37px !important;
    padding:0 15px !important;
    border:1px solid #d9dfe7 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#566171 !important;
    text-decoration:none !important;
    font-size:10.5px !important;
    font-weight:900 !important;
}
#ppabam-radio .radio-report-filter.radio-request-category-tabs a:hover{
    border-color:rgba(255,77,103,.55) !important;
    background:#fff7f8 !important;
    color:#e43d58 !important;
}
#ppabam-radio .radio-report-filter.radio-request-category-tabs a.active{
    border-color:#e43d58 !important;
    background:#e43d58 !important;
    color:#fff !important;
    box-shadow:0 5px 14px rgba(228,61,88,.16) !important;
}

#ppabam-radio .radio-hidden-list-head{
    margin:2px 2px 11px !important;
    padding:0 !important;
}
#ppabam-radio .radio-hidden-list-head strong{
    color:#27313e !important;
    font-size:15px !important;
}
#ppabam-radio .radio-hidden-list-head span{
    color:#8993a1 !important;
    font-size:10px !important;
}

/* DARK */
body.dark-mode #ppabam-radio .radio-admin-filter-news{
    border-color:#252b35 !important;
    background:#0c0f14 !important;
}
body.dark-mode #ppabam-radio .radio-admin-filter-news input,
body.dark-mode #ppabam-radio .radio-admin-filter-news select{
    border-color:#2a303b !important;
    background:#11141a !important;
    color:#d8dee7 !important;
}
body.dark-mode #ppabam-radio .radio-admin-filter-news input::placeholder{
    color:#606b7a !important;
}
body.dark-mode #ppabam-radio .radio-admin-filter-news button{
    border-color:#e33d58 !important;
    background:#e33d58 !important;
    color:#fff !important;
}
body.dark-mode #ppabam-radio .radio-admin-filter-news a{
    border-color:#303744 !important;
    background:#13171e !important;
    color:#9ca6b5 !important;
}
body.dark-mode #ppabam-radio .radio-admin-filter-news a:hover{
    border-color:#ff4d67 !important;
    background:#211217 !important;
    color:#ff8195 !important;
}

body.dark-mode #ppabam-radio .radio-report-filter.radio-request-category-tabs{
    border:0 !important;
    background:transparent !important;
}
body.dark-mode #ppabam-radio .radio-report-filter.radio-request-category-tabs a{
    border-color:#29303a !important;
    background:#0f1218 !important;
    color:#8e99a8 !important;
}
body.dark-mode #ppabam-radio .radio-report-filter.radio-request-category-tabs a:hover{
    border-color:#633540 !important;
    background:#191217 !important;
    color:#ff8195 !important;
}
body.dark-mode #ppabam-radio .radio-report-filter.radio-request-category-tabs a.active{
    border-color:#e33d58 !important;
    background:#e33d58 !important;
    color:#fff !important;
}
body.dark-mode #ppabam-radio .radio-hidden-list-head strong{
    color:#f0f3f7 !important;
}
body.dark-mode #ppabam-radio .radio-hidden-list-head span{
    color:#6f7a89 !important;
}

/* 모바일 - 메뉴와 상태탭은 가로 스크롤 */
@media(max-width:760px){
    #ppabam-radio .radio-admin-filter-news{
        grid-template-columns:1fr 1fr !important;
        gap:7px !important;
        padding:8px !important;
    }
    #ppabam-radio .radio-admin-filter-news input{
        grid-column:1/-1 !important;
    }
    #ppabam-radio .radio-admin-filter-news button,
    #ppabam-radio .radio-admin-filter-news a{
        width:100% !important;
    }

    #ppabam-radio .radio-admin-status-tabs,
    #ppabam-radio .radio-report-filter.radio-request-category-tabs{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        scrollbar-width:none !important;
        white-space:nowrap !important;
        padding-bottom:5px !important;
    }
    #ppabam-radio .radio-admin-status-tabs::-webkit-scrollbar,
    #ppabam-radio .radio-report-filter.radio-request-category-tabs::-webkit-scrollbar{
        display:none !important;
    }
    #ppabam-radio .radio-admin-status-tabs a,
    #ppabam-radio .radio-report-filter.radio-request-category-tabs a{
        flex:0 0 auto !important;
    }
}

/* =========================================================
   v0.0.86 - 내 즐겨찾기 구조 개편
   ========================================================= */
.radio-library-page-title{position:relative;margin:2px 0 15px;padding:5px 3px 17px;border-bottom:1px solid #e0e5ec}
.radio-library-page-title::after{content:"";position:absolute;left:3px;bottom:-1px;width:54px;height:2px;border-radius:99px;background:#ff4d67}
.radio-library-page-kicker{display:block;margin:0 0 6px;color:#ff4d67;font-size:9px;line-height:1;font-weight:900;letter-spacing:.13em}
.radio-library-page-title h1{margin:0;color:#202936;font-size:25px;line-height:1.2;font-weight:900;letter-spacing:-.04em}
.radio-library-page-title p{margin:6px 0 0;color:#7b8695;font-size:12px}

.radio-library-nav{display:flex;align-items:center;gap:7px;margin:0 0 12px}
.radio-library-nav a{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border:1px solid #dbe1e9;border-radius:9px;background:#fff;color:#6c7787;text-decoration:none;font-size:10px;font-weight:850}
.radio-library-nav a:hover{border-color:rgba(255,77,103,.55);background:#fff7f8;color:#e6405a}
.radio-library-nav a.active{border-color:rgba(255,77,103,.45);background:rgba(255,77,103,.09);color:#e63854}

.radio-library-player{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,1.65fr) minmax(220px,.8fr);align-items:center;gap:18px;min-height:128px;margin-bottom:15px;padding:16px 18px;border:1px solid #dde3ea;border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.96)),#fff;box-shadow:0 8px 24px rgba(33,43,57,.05)}
.radio-library-player-info{display:flex;align-items:center;gap:14px;min-width:0}

.radio-library-eq-panel{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;align-items:end;min-width:0}
.radio-library-frequency{height:64px;padding:9px 10px;border:1px solid #e0e5ec;border-radius:9px;background:#f8fafc;text-align:right;font-family:Consolas,monospace}
.radio-library-frequency .radio-frequency-label{display:block;text-align:left;color:#8a94a2;font-size:7px;letter-spacing:.1em}
.radio-library-frequency strong{color:#ff4d67;font-size:25px;letter-spacing:-.06em}
.radio-library-frequency small{margin-left:3px;color:#7d8795;font-size:8px}
.radio-library-eq-wrap{min-width:0}
.radio-library-eq-label{display:block;margin:0 0 6px;color:#8a94a2;font-size:8px;font-weight:900;letter-spacing:.10em}
.radio-library-player .radio-eq{width:100%;height:64px;margin:0;padding:5px 6px 3px;border:1px solid #e0e5ec;border-radius:9px;background:#f8fafc}
.radio-library-player.playing .radio-eq i{animation:radioEq .58s ease-in-out infinite alternate}
.radio-library-player.playing .radio-eq i:nth-child(2n){animation-duration:.38s}
.radio-library-player.playing .radio-eq i:nth-child(3n){animation-duration:.76s}
.radio-library-player.playing .radio-eq i:nth-child(5n){animation-duration:.49s}

.radio-library-controls-panel{display:grid;gap:12px;min-width:0;padding-left:16px;border-left:1px solid #e4e8ee}
.radio-library-controls{grid-template-columns:34px 43px minmax(90px,1fr)!important;gap:9px!important}
.radio-library-signal{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.radio-library-signal .radio-source-mini{text-align:right}

/* DARK */
body.dark-mode #ppabam-radio .radio-library-page-title{border-bottom-color:#242a34}
body.dark-mode #ppabam-radio .radio-library-page-title::after{background:#ff4d67}
body.dark-mode #ppabam-radio .radio-library-page-kicker{color:#ff7187}
body.dark-mode #ppabam-radio .radio-library-page-title h1{color:#f3f5f8}
body.dark-mode #ppabam-radio .radio-library-page-title p{color:#7e8898}
body.dark-mode #ppabam-radio .radio-library-nav a{border-color:#29303a;background:#10141a;color:#8f99a8}
body.dark-mode #ppabam-radio .radio-library-nav a:hover{border-color:#5a3340;background:#191217;color:#ff8195}
body.dark-mode #ppabam-radio .radio-library-nav a.active{border-color:rgba(255,77,103,.38);background:rgba(255,77,103,.10);color:#ff7187}
body.dark-mode #ppabam-radio .radio-library-player{border-color:#282e39;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 45%),#0a0c11;box-shadow:inset 0 1px rgba(255,255,255,.025)}
body.dark-mode #ppabam-radio .radio-library-frequency,
body.dark-mode #ppabam-radio .radio-library-player .radio-eq{border-color:#242a34;background:#07090d}
body.dark-mode #ppabam-radio .radio-library-frequency .radio-frequency-label,
body.dark-mode #ppabam-radio .radio-library-eq-label{color:#535d6b}
body.dark-mode #ppabam-radio .radio-library-frequency strong{color:#ff647b}
body.dark-mode #ppabam-radio .radio-library-frequency small{color:#656f7e}
body.dark-mode #ppabam-radio .radio-library-controls-panel{border-left-color:#20252e}

@media(max-width:900px){
    .radio-library-player{grid-template-columns:1fr;gap:12px}
    .radio-library-eq-panel{grid-template-columns:95px minmax(0,1fr);order:2}
    .radio-library-controls-panel{order:3;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-left:0;padding-top:12px;border-left:0;border-top:1px solid #e4e8ee}
    body.dark-mode #ppabam-radio .radio-library-controls-panel{border-top-color:#20252e}
}

@media(max-width:760px){
    .radio-library-page-title{padding-top:2px;padding-bottom:14px}
    .radio-library-page-title h1{font-size:21px}
    .radio-library-page-kicker{font-size:8px}
    .radio-library-nav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap;padding-bottom:3px}
    .radio-library-nav::-webkit-scrollbar{display:none}
    .radio-library-nav a{flex:0 0 auto}
    .radio-library-player{padding:14px}
    .radio-library-player .radio-record{width:78px;height:78px;flex-basis:78px}
    .radio-library-eq-panel{grid-template-columns:1fr;gap:7px}
    .radio-library-frequency{display:none}
    .radio-library-player .radio-eq{height:58px}
    .radio-library-controls-panel{grid-template-columns:1fr;gap:9px}
    .radio-library-signal{display:none}
}
@media(max-width:440px){.radio-library-player .radio-eq{height:52px;gap:1px}}

/* =========================================================
   v0.0.87 - 즐겨찾기 플레이어 기존 방송정보 스타일 복구
   - 기존 radio-console 구조 복구
   - 40바 EQ 재생 애니메이션 복구
   ========================================================= */

/* v0.0.86 타이틀/메뉴 구조는 유지하고 플레이어만 기존 RADIO 콘솔로 복구 */
#ppabam-radio .radio-library-standalone-player{
    width:100% !important;
    margin-top:0 !important;
    margin-bottom:15px !important;
}

/* 기존 40바 이퀄라이저 규칙이 확실히 작동하도록 현재 구조에 직접 연결 */
#ppabam-radio .radio-library-standalone-player #radioLibraryEq{
    height:55px !important;
}

#ppabam-radio .radio-library-standalone-player #radioLibraryEq i{
    animation:none !important;
}

/* 정지 상태는 한 칸 정도만 보이게 */
#ppabam-radio .radio-library-standalone-player:not(.playing) #radioLibraryEq i{
    height:12% !important;
    clip-path:none !important;
    transform:none !important;
}

/* 재생 중에는 기존 RADIO EQ처럼 계속 움직임 */
#ppabam-radio .radio-library-standalone-player.playing #radioLibraryEq i{
    animation:radioEq .58s ease-in-out infinite alternate !important;
    clip-path:none !important;
    transform:none !important;
}
#ppabam-radio .radio-library-standalone-player.playing #radioLibraryEq i:nth-child(2n){
    animation-duration:.38s !important;
}
#ppabam-radio .radio-library-standalone-player.playing #radioLibraryEq i:nth-child(3n){
    animation-duration:.76s !important;
}
#ppabam-radio .radio-library-standalone-player.playing #radioLibraryEq i:nth-child(5n){
    animation-duration:.49s !important;
}

/* 40개 바 색상은 기존 무지개 팔레트 그대로 반복 */
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+1){background:#ff3f5f!important;color:#ff3f5f!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+2){background:#ff5a3f!important;color:#ff5a3f!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+3){background:#ff7d25!important;color:#ff7d25!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+4){background:#ffa51f!important;color:#ffa51f!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+5){background:#ffd43b!important;color:#ffd43b!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+6){background:#9fe04b!important;color:#9fe04b!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+7){background:#43df82!important;color:#43df82!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+8){background:#26dfad!important;color:#26dfad!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+9){background:#20d8df!important;color:#20d8df!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+10){background:#29bcff!important;color:#29bcff!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+11){background:#3d91ff!important;color:#3d91ff!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+12){background:#5e72ff!important;color:#5e72ff!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+13){background:#815cff!important;color:#815cff!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+14){background:#a34cff!important;color:#a34cff!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+15){background:#c548f5!important;color:#c548f5!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+16){background:#e244d5!important;color:#e244d5!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+17){background:#f647ae!important;color:#f647ae!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+18){background:#ff5587!important;color:#ff5587!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+19){background:#ff6e74!important;color:#ff6e74!important}
#ppabam-radio .radio-library-standalone-player #radioLibraryEq i:nth-child(20n+20){background:#ff8f55!important;color:#ff8f55!important}

#ppabam-radio .radio-library-standalone-player .radio-play-main svg{
    width:20px;
    height:20px;
    fill:currentColor;
    display:block;
    margin:auto;
}
#ppabam-radio .radio-library-standalone-player .radio-pause-icon{
    display:block;
    font-size:13px;
    line-height:1;
    font-weight:900;
}

/* 모바일도 기존 방송정보 콘솔 반응형을 그대로 사용 */
@media(max-width:760px){
    #ppabam-radio .radio-library-standalone-player{
        margin-bottom:12px !important;
    }
}

/* =========================================================
   v0.0.88 - 즐겨찾기 상단 7:3 + 우측 미니 플레이어
   ========================================================= */

#ppabam-radio .radio-library-header{
    display:grid;
    grid-template-columns:minmax(0,7fr) minmax(360px,3fr);
    gap:18px;
    align-items:stretch;
    margin-bottom:16px;
}

#ppabam-radio .radio-library-header-left{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

#ppabam-radio .radio-library-header .radio-library-page-title{
    margin:0 !important;
    padding:5px 3px 17px !important;
    min-height:108px;
}

#ppabam-radio .radio-library-header .radio-library-nav{
    margin:10px 0 0 !important;
}

/* 우측 미니 콘솔 - 메인 radio-console 구조 그대로, 크기만 축소 */
#ppabam-radio .radio-library-mini-console{
    display:grid !important;
    grid-template-columns:minmax(115px,.95fr) minmax(165px,1.25fr) !important;
    grid-template-areas:"left center" "right right";
    align-items:center !important;
    gap:8px 10px !important;
    min-height:108px !important;
    margin:0 !important;
    padding:10px 11px !important;
    border-radius:12px !important;
}

#ppabam-radio .radio-library-mini-console .radio-console-left{
    grid-area:left;
    gap:8px !important;
    min-width:0;
}

#ppabam-radio .radio-library-mini-console .radio-record{
    flex:0 0 54px !important;
    width:54px !important;
    height:54px !important;
}

#ppabam-radio .radio-library-mini-console .radio-record-center{inset:4px !important}
#ppabam-radio .radio-library-mini-console .radio-record::after{
    width:7px !important;
    height:7px !important;
    box-shadow:0 0 0 3px #151920,0 0 0 5px rgba(0,0,0,.48),inset 0 1px 2px rgba(255,255,255,.28) !important;
}
#ppabam-radio .radio-library-mini-console .radio-record-center::after{
    width:8px !important;
    height:8px !important;
}

#ppabam-radio .radio-library-mini-console .radio-onair{
    margin-bottom:4px !important;
    font-size:7px !important;
}
#ppabam-radio .radio-library-mini-console .radio-now-info strong{
    max-width:135px;
    font-size:11px !important;
}
#ppabam-radio .radio-library-mini-console .radio-now-info>span:last-child{
    margin-top:3px !important;
    max-width:135px;
    font-size:8px !important;
}

#ppabam-radio .radio-library-mini-console .radio-console-center{
    grid-area:center;
    display:grid !important;
    grid-template-columns:58px minmax(100px,1fr) !important;
    grid-template-areas:"freq eq" "controls controls" !important;
    gap:5px 7px !important;
}

#ppabam-radio .radio-library-mini-console .radio-frequency{
    height:37px !important;
    padding:4px 5px !important;
    border-radius:7px !important;
}
#ppabam-radio .radio-library-mini-console .radio-frequency-label{font-size:5px !important}
#ppabam-radio .radio-library-mini-console .radio-frequency strong{font-size:15px !important}
#ppabam-radio .radio-library-mini-console .radio-frequency small{font-size:6px !important}

#ppabam-radio .radio-library-mini-console .radio-eq{
    height:37px !important;
    gap:1px !important;
    padding:2px 3px 1px !important;
    border-radius:7px !important;
}

/* 메인과 동일: idle 낮게, playing 클래스가 붙으면 radioEq 애니메이션 */
#ppabam-radio .radio-library-mini-console .radio-eq i{
    height:12% !important;
    min-width:0 !important;
    border-radius:1px 1px 0 0 !important;
    animation:none !important;
}
#ppabam-radio .radio-library-mini-console.playing .radio-eq i{
    animation:radioEq .58s ease-in-out infinite alternate !important;
}
#ppabam-radio .radio-library-mini-console.playing .radio-eq i:nth-child(2n){animation-duration:.38s !important}
#ppabam-radio .radio-library-mini-console.playing .radio-eq i:nth-child(3n){animation-duration:.76s !important}
#ppabam-radio .radio-library-mini-console.playing .radio-eq i:nth-child(5n){animation-duration:.49s !important}

#ppabam-radio .radio-library-mini-console .radio-controls{
    grid-template-columns:27px 32px minmax(70px,1fr) !important;
    gap:5px !important;
}
#ppabam-radio .radio-library-mini-console .radio-round-btn{
    width:27px !important;
    height:27px !important;
    font-size:10px !important;
}
#ppabam-radio .radio-library-mini-console .radio-play-main{
    width:32px !important;
    height:32px !important;
    font-size:11px !important;
}

#ppabam-radio .radio-library-mini-console .radio-console-right{
    grid-area:right;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:13px !important;
    min-height:0 !important;
    padding:6px 0 0 !important;
    border-left:0 !important;
    border-top:1px solid #20252e !important;
}

#ppabam-radio .radio-library-mini-console .radio-signal{
    display:flex;
    align-items:center;
    gap:6px;
}
#ppabam-radio .radio-library-mini-console .radio-signal>span,
#ppabam-radio .radio-library-mini-console .radio-source-mini{
    font-size:6px !important;
}
#ppabam-radio .radio-library-mini-console .radio-signal-bars{
    height:14px !important;
    margin-top:0 !important;
}
#ppabam-radio .radio-library-mini-console .radio-signal-bars i{width:3px !important}
#ppabam-radio .radio-library-mini-console .radio-signal-bars i:nth-child(1){height:4px !important}
#ppabam-radio .radio-library-mini-console .radio-signal-bars i:nth-child(2){height:6px !important}
#ppabam-radio .radio-library-mini-console .radio-signal-bars i:nth-child(3){height:9px !important}
#ppabam-radio .radio-library-mini-console .radio-signal-bars i:nth-child(4){height:11px !important}
#ppabam-radio .radio-library-mini-console .radio-signal-bars i:nth-child(5){height:14px !important}
#ppabam-radio .radio-library-mini-console .radio-source-mini strong{
    display:inline !important;
    margin:0 0 0 4px !important;
    font-size:6px !important;
}

/* 화이트 */
body:not(.dark-mode) #ppabam-radio .radio-library-mini-console,
#ppabam-radio.ppabam-radio-light .radio-library-mini-console{
    border-color:#dce2e9 !important;
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.98)),#fff !important;
    box-shadow:0 7px 20px rgba(31,41,55,.05) !important;
}
body:not(.dark-mode) #ppabam-radio .radio-library-mini-console .radio-console-right,
#ppabam-radio.ppabam-radio-light .radio-library-mini-console .radio-console-right{
    border-top-color:#e5e9ef !important;
}

/* 다크 */
body.dark-mode #ppabam-radio .radio-library-mini-console{
    border-color:#282e39 !important;
    background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 45%),#0a0c11 !important;
    box-shadow:inset 0 1px rgba(255,255,255,.025) !important;
}
body.dark-mode #ppabam-radio .radio-library-mini-console .radio-console-right{
    border-top-color:#20252e !important;
}

@media(max-width:1180px){
    #ppabam-radio .radio-library-header{
        grid-template-columns:minmax(0,6.5fr) minmax(340px,3.5fr);
        gap:13px;
    }
}

@media(max-width:900px){
    #ppabam-radio .radio-library-header{
        grid-template-columns:1fr;
        gap:10px;
    }
    #ppabam-radio .radio-library-header .radio-library-page-title{
        min-height:auto;
    }
    #ppabam-radio .radio-library-mini-console{
        width:100% !important;
        grid-template-columns:minmax(180px,.9fr) minmax(280px,1.4fr) 95px !important;
        grid-template-areas:"left center right" !important;
    }
    #ppabam-radio .radio-library-mini-console .radio-console-right{
        flex-direction:column !important;
        justify-content:center !important;
        align-items:flex-start !important;
        padding:0 0 0 10px !important;
        border-top:0 !important;
        border-left:1px solid #20252e !important;
    }
}

@media(max-width:760px){
    #ppabam-radio .radio-library-mini-console{
        grid-template-columns:1fr !important;
        grid-template-areas:"left" "center" !important;
        gap:9px !important;
        padding:11px !important;
    }
    #ppabam-radio .radio-library-mini-console .radio-console-center{
        grid-template-columns:1fr !important;
        grid-template-areas:"eq" "controls" !important;
    }
    #ppabam-radio .radio-library-mini-console .radio-frequency,
    #ppabam-radio .radio-library-mini-console .radio-console-right{
        display:none !important;
    }
    #ppabam-radio .radio-library-mini-console .radio-eq{
        height:42px !important;
    }
}


/* v0.0.83: 라디오 카드 전체 클릭 시 바로 재생 */
.radio-card[data-station-index]{cursor:pointer;}
.radio-card[data-station-index]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* Radio Garden 자동수집 - ADMIN */
.radio-garden-import{margin:14px 0 20px;padding:18px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(12,16,23,.72)}
.radio-garden-import-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.radio-garden-import-head strong{display:block;font-size:16px;color:#f3f6fb}
.radio-garden-import-head p{margin:6px 0 0;color:#9ea8b7;font-size:13px;line-height:1.55}
.radio-garden-import-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.radio-garden-import-actions button{border:0;border-radius:8px;padding:10px 14px;background:#ff4d67;color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}
.radio-garden-import-actions button:hover{filter:brightness(1.06)}
.radio-garden-import-actions button:disabled{opacity:.55;cursor:not-allowed}
.radio-garden-import-actions button.stop{background:#313947;color:#fff}
.radio-garden-import-progress{margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}
.radio-garden-import-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#cbd3df;font-size:13px}
.radio-garden-import-progress-top strong{font-variant-numeric:tabular-nums;color:#fff}
.radio-garden-import-bar{height:8px;overflow:hidden;border-radius:999px;background:#252c37}
.radio-garden-import-bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff4d67,#ff7b8e);transition:width .25s ease}
.radio-garden-import-stats{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:11px;color:#9ea8b7;font-size:12px}
.radio-garden-import-stats b{margin-left:4px;color:#f3f6fb;font-weight:800}
.radio-garden-import-note{display:block;margin-top:10px;color:#778190;font-size:11px;line-height:1.5}
@media (max-width:767px){.radio-garden-import-head{align-items:stretch;flex-direction:column}.radio-garden-import-actions{width:100%}.radio-garden-import-actions button{flex:1}.radio-garden-import-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}


/* v0.0.105 · library 20-item pagination */
#ppabam-radio .radio-library-pagination{margin:22px 0 8px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
#ppabam-radio .radio-library-pagination .radio-page-numbers{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#ppabam-radio .radio-library-pagination .radio-page-link{min-width:38px;height:38px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(18,23,31,.82);color:#cbd3df;text-decoration:none;font-size:13px;font-weight:800}
#ppabam-radio .radio-library-pagination .radio-page-link:hover,#ppabam-radio .radio-library-pagination .radio-page-link.active{background:#ff4d67;color:#fff;border-color:#ff4d67}
body:not(.dark-mode) #ppabam-radio .radio-library-pagination .radio-page-link{background:#fff;color:#444;border-color:#dfe3e8}
body:not(.dark-mode) #ppabam-radio .radio-library-pagination .radio-page-link:hover,body:not(.dark-mode) #ppabam-radio .radio-library-pagination .radio-page-link.active{background:#ff4d67;color:#fff;border-color:#ff4d67}


/* =========================================================
   v0.0.107 · Recent/Favorites compact main-style banner
   ========================================================= */
.radio-library-banner{
    width:100%;
    margin:0 0 14px;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    background:
      radial-gradient(circle at 8% 15%,rgba(255,77,103,.08),transparent 28%),
      radial-gradient(circle at 88% 18%,rgba(91,105,255,.08),transparent 30%),
      linear-gradient(135deg,#0d1016 0%,#090b10 64%,#0e1017 100%);
}
.radio-library-banner-grid{
    display:grid;
    grid-template-columns:minmax(260px,.85fr) minmax(520px,1.45fr);
    align-items:center;
    gap:22px;
    min-height:190px;
    padding:18px 20px;
}
.radio-library-banner-copy{min-width:0;}
.radio-library-banner-copy .radio-banner-kicker{
    margin:0 0 6px;
    color:#6f7888;
    font-size:9px;
    font-weight:900;
    letter-spacing:.13em;
}
.radio-library-banner-copy h1{
    margin:0;
    color:#f4f6fa;
    font-size:25px;
    line-height:1.05;
    letter-spacing:-.04em;
}
.radio-library-banner-desc{
    max-width:460px;
    margin:8px 0 0;
    color:#8d96a4;
    font-size:11px;
    line-height:1.65;
    word-break:keep-all;
}
.radio-library-banner-points{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:11px;
}
.radio-library-banner-points span{
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
    background:rgba(255,255,255,.025);
    color:#aab3c1;
    font-size:8px;
    font-weight:800;
}
.radio-library-home-link{
    display:inline-flex;
    align-items:center;
    margin-top:11px;
    color:#788394;
    font-size:9px;
    font-weight:800;
    text-decoration:none;
}
.radio-library-home-link:hover{color:#fff;}
.radio-library-banner-player{min-width:0;}
.radio-library-banner .radio-library-console{
    width:100%;
    min-height:0;
    margin:0;
    padding:12px 13px;
    grid-template-columns:minmax(200px,.85fr) minmax(300px,1.35fr);
    gap:12px;
    border-radius:10px;
    background:rgba(6,8,12,.86);
}
.radio-library-banner .radio-console-right{display:none !important;}
.radio-library-banner .radio-record{
    flex-basis:68px;
    width:68px;
    height:68px;
}
.radio-library-banner .radio-console-left{gap:11px;}
.radio-library-banner .radio-onair{
    margin-bottom:5px;
    font-size:8px;
}
.radio-library-banner .radio-now-info strong{font-size:13px;}
.radio-library-banner .radio-now-info>span:last-child{
    margin-top:4px;
    font-size:9px;
}
.radio-library-banner .radio-console-center{
    grid-template-columns:92px minmax(130px,1fr);
    gap:7px 9px;
}
.radio-library-banner .radio-frequency,
.radio-library-banner .radio-eq{height:45px;}
.radio-library-banner .radio-frequency{padding:5px 8px;}
.radio-library-banner .radio-frequency strong{font-size:20px;}
.radio-library-banner .radio-controls{
    grid-template-columns:30px 36px minmax(100px,1fr);
    gap:7px;
}
.radio-library-banner .radio-round-btn,
.radio-library-banner .radio-play-main{
    width:32px;
    height:32px;
}
.radio-library-banner .radio-play-main{width:34px;}

@media(max-width:980px){
    .radio-library-banner-grid{
        grid-template-columns:1fr;
        gap:12px;
        min-height:0;
    }
    .radio-library-banner-desc{max-width:none;}
}
@media(max-width:767px){
    .radio-library-banner-grid{padding:14px 12px;}
    .radio-library-banner-copy h1{font-size:22px;}
    .radio-library-banner-desc{font-size:10px;line-height:1.55;}
    .radio-library-banner .radio-library-console{
        grid-template-columns:1fr;
        padding:11px;
    }
    .radio-library-banner .radio-console-center{
        grid-template-columns:88px minmax(0,1fr);
    }
    .radio-library-banner .radio-record{
        flex-basis:58px;
        width:58px;
        height:58px;
    }
    .radio-library-banner-points{display:none;}
}


/* =========================================================
   v0.0.108 · Recent/Favorites use the same main player design
   ========================================================= */
.radio-library-banner-grid{
    grid-template-columns:minmax(0,1fr) 430px !important;
    gap:34px !important;
    min-height:218px !important;
    padding:22px 28px !important;
}
.radio-library-banner-copy{
    align-self:center !important;
    max-width:620px !important;
}
.radio-library-banner-player{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    min-width:0 !important;
}
.radio-library-banner .radio-library-console{
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    margin:0 !important;
    width:430px !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:13px !important;
    display:block !important;
    border-radius:10px !important;
    background:rgba(6,8,12,.92) !important;
}
.radio-library-banner .radio-library-console .radio-console-center{
    display:grid !important;
    grid-template-columns:112px minmax(0,1fr) !important;
    grid-template-areas:
        "head head"
        "freq eq"
        "controls controls" !important;
    gap:9px !important;
    width:100% !important;
}
.radio-library-banner .radio-library-console .radio-console-head{
    grid-area:head !important;
    padding:10px 11px !important;
    margin:0 !important;
    border:1px solid rgba(255,255,255,.07) !important;
    border-radius:4px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008)) !important;
}
.radio-library-banner .radio-library-console .radio-console-left{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}
.radio-library-banner .radio-library-console .radio-record{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
}
.radio-library-banner .radio-library-console .radio-now-info strong{
    font-size:12px !important;
    line-height:1.25 !important;
}
.radio-library-banner .radio-library-console .radio-onair{font-size:7px !important;margin-bottom:4px !important;}
.radio-library-banner .radio-library-console #radioLibraryNowMeta{font-size:8px !important;}
.radio-library-banner .radio-library-console .radio-frequency{
    grid-area:freq !important;
    width:100% !important;
    min-width:0 !important;
    height:68px !important;
    min-height:68px !important;
    padding:7px 8px !important;
    box-sizing:border-box !important;
}
.radio-library-banner .radio-library-console .radio-frequency-label{
    display:block !important;
    height:10px !important;
    margin:0 0 2px !important;
    font-size:5px !important;
    line-height:10px !important;
    letter-spacing:.22em !important;
}
.radio-library-banner .radio-library-console .radio-frequency-readout{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:4px !important;
    height:44px !important;
}
.radio-library-banner .radio-library-console .radio-frequency-digits{
    flex:1 1 auto !important;
    min-width:0 !important;
    height:40px !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
}
.radio-library-banner .radio-library-console .radio-frequency-digits svg{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:38px !important;
}
.radio-library-banner .radio-library-console .radio-frequency small{
    flex:0 0 auto !important;
    font-size:7px !important;
    line-height:1 !important;
    margin:0 !important;
    padding-bottom:2px !important;
}
.radio-library-banner .radio-library-console .radio-eq{
    grid-area:eq !important;
    width:100% !important;
    min-width:0 !important;
    height:68px !important;
    min-height:68px !important;
    padding:8px 7px !important;
    box-sizing:border-box !important;
}
.radio-library-banner .radio-library-console .radio-controls{
    grid-area:controls !important;
    display:grid !important;
    grid-template-columns:34px 44px minmax(0,1fr) !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
}
.radio-library-banner .radio-library-console .radio-round-btn{
    width:34px !important;height:34px !important;
}
.radio-library-banner .radio-library-console .radio-play-main{
    width:44px !important;height:44px !important;
}
.radio-library-banner .radio-library-console #radioVolume{
    width:100% !important;min-width:0 !important;
}

@media(max-width:980px){
    .radio-library-banner-grid{
        grid-template-columns:minmax(0,1fr) 410px !important;
        gap:20px !important;
        padding:18px 18px !important;
    }
    .radio-library-banner .radio-library-console{width:410px !important;}
}
@media(max-width:820px){
    .radio-library-banner-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
    .radio-library-banner-player{justify-content:stretch !important;}
    .radio-library-banner .radio-library-console{width:100% !important;}
}
@media(max-width:767px){
    .radio-library-banner-grid{padding:14px 10px !important;}
    .radio-library-banner .radio-library-console{padding:11px !important;}
    .radio-library-banner .radio-library-console .radio-console-center{
        grid-template-columns:112px minmax(0,1fr) !important;
        grid-template-areas:"head head" "freq eq" "controls controls" !important;
    }
}

/* =========================================================
   v0.0.110 · Recent/Favorites player height -40%
   Keep desktop width, compress vertical rhythm only
   ========================================================= */
.radio-library-banner-grid{
    min-height:150px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
}
.radio-library-banner .radio-library-console{
    padding:8px !important;
    border-radius:9px !important;
}
.radio-library-banner .radio-library-console .radio-console-center{
    gap:5px !important;
}
.radio-library-banner .radio-library-console .radio-console-head{
    padding:5px 7px !important;
}
.radio-library-banner .radio-library-console .radio-console-left{
    gap:7px !important;
}
.radio-library-banner .radio-library-console .radio-record{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
}
.radio-library-banner .radio-library-console .radio-now-info strong{
    font-size:10px !important;
    line-height:1.15 !important;
}
.radio-library-banner .radio-library-console .radio-onair{
    font-size:6px !important;
    margin-bottom:2px !important;
    line-height:1 !important;
}
.radio-library-banner .radio-library-console #radioLibraryNowMeta{
    font-size:7px !important;
    line-height:1.1 !important;
}
.radio-library-banner .radio-library-console .radio-frequency,
.radio-library-banner .radio-library-console .radio-eq{
    height:41px !important;
    min-height:41px !important;
}
.radio-library-banner .radio-library-console .radio-frequency{
    padding:3px 6px !important;
}
.radio-library-banner .radio-library-console .radio-frequency-label{
    height:7px !important;
    line-height:7px !important;
    margin-bottom:0 !important;
    font-size:4px !important;
}
.radio-library-banner .radio-library-console .radio-frequency-readout{
    height:29px !important;
}
.radio-library-banner .radio-library-console .radio-frequency-digits{
    height:27px !important;
}
.radio-library-banner .radio-library-console .radio-frequency-digits svg{
    height:25px !important;
}
.radio-library-banner .radio-library-console .radio-frequency small{
    font-size:6px !important;
}
.radio-library-banner .radio-library-console .radio-eq{
    padding:4px 6px !important;
}
.radio-library-banner .radio-library-console .radio-eq i{
    max-height:25px !important;
}
.radio-library-banner .radio-library-console .radio-controls{
    grid-template-columns:27px 34px minmax(0,1fr) !important;
    gap:6px !important;
    min-height:34px !important;
}
.radio-library-banner .radio-library-console .radio-round-btn{
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    min-height:27px !important;
}
.radio-library-banner .radio-library-console .radio-play-main{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
}

@media(max-width:980px){
    .radio-library-banner-grid{
        padding-top:10px !important;
        padding-bottom:10px !important;
    }
}
@media(max-width:767px){
    .radio-library-banner-grid{
        min-height:0 !important;
        padding-top:10px !important;
        padding-bottom:10px !important;
    }
    .radio-library-banner .radio-library-console{
        padding:7px !important;
    }
}


/* =========================================================
   v0.0.111 · Unified record thumbnail rendering
   ========================================================= */
.radio-library-banner .radio-library-console .radio-record-center,
.radio-main-unified-console .radio-record-center{
    inset:1px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#111 !important;
}
.radio-library-banner .radio-library-console #radioLibraryNowLogo,
.radio-main-unified-console #radioNowLogo{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:50% !important;
    z-index:3 !important;
}
.radio-library-banner .radio-library-console #radioLibraryLogoFallback,
.radio-main-unified-console #radioLogoFallback{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:grid;
    place-items:center;
    border-radius:50% !important;
    z-index:2 !important;
    background:linear-gradient(135deg,#5e7cff,#8b43db) !important;
    color:#fff !important;
    font-weight:900 !important;
}


/* =========================================================
   v0.0.113 - 카드 인라인 댓글 + 공유
   ========================================================= */
#ppabam-radio .radio-card-links{
    flex-wrap:wrap;
}
#ppabam-radio .radio-comment-toggle,
#ppabam-radio .radio-share-btn{
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    color:#9da6b4;
    font:800 10px/1.2 Arial,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;
    cursor:pointer;
    white-space:nowrap;
}
#ppabam-radio .radio-comment-toggle:hover,
#ppabam-radio .radio-comment-toggle[aria-expanded="true"],
#ppabam-radio .radio-share-btn:hover{
    color:#ff7187;
}
#ppabam-radio .radio-inline-comment{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid #1d222a;
}
#ppabam-radio .radio-inline-comment[hidden]{display:none !important;}
#ppabam-radio .radio-inline-comment-form textarea{
    display:block;
    width:100%;
    min-height:68px;
    resize:vertical;
    box-sizing:border-box;
    border:1px solid #2a313c;
    border-radius:8px;
    padding:9px 10px;
    background:#0a0d12;
    color:#e8ebf0;
    font:500 12px/1.45 Arial,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;
    outline:none;
}
#ppabam-radio .radio-inline-comment-form textarea:focus{
    border-color:#ff5f77;
    box-shadow:0 0 0 2px rgba(255,95,119,.10);
}
#ppabam-radio .radio-inline-comment-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:7px;
}
#ppabam-radio .radio-inline-comment-actions button{
    flex:0 0 auto;
    min-height:30px;
    border:1px solid rgba(255,95,119,.45);
    border-radius:7px;
    padding:0 10px;
    background:rgba(255,77,103,.12);
    color:#ff8194;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}
#ppabam-radio .radio-inline-comment-actions button:disabled{opacity:.5;cursor:default;}
#ppabam-radio .radio-inline-comment-status,
#ppabam-radio .radio-inline-comment-login{
    min-width:0;
    color:#8f99a7;
    font-size:10px;
    line-height:1.4;
}
body:not(.dark-mode) #ppabam-radio .radio-inline-comment,
#ppabam-radio.ppabam-radio-light .radio-inline-comment{border-top-color:#e7e9ee;}
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-form textarea,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-form textarea{
    border-color:#d9dde5;
    background:#fff;
    color:#20242b;
}
body:not(.dark-mode) #ppabam-radio .radio-comment-toggle,
body:not(.dark-mode) #ppabam-radio .radio-share-btn,
#ppabam-radio.ppabam-radio-light .radio-comment-toggle,
#ppabam-radio.ppabam-radio-light .radio-share-btn{color:#667080;}
body:not(.dark-mode) #ppabam-radio .radio-comment-toggle:hover,
body:not(.dark-mode) #ppabam-radio .radio-share-btn:hover,
#ppabam-radio.ppabam-radio-light .radio-comment-toggle:hover,
#ppabam-radio.ppabam-radio-light .radio-share-btn:hover{color:#e94e67;}

/* =========================================================
   v0.0.114 - 카드 인라인 댓글 목록 / 수정 / 삭제
   ========================================================= */
#ppabam-radio .radio-inline-comment-list{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-bottom:9px;
}
#ppabam-radio .radio-inline-comment-loading,
#ppabam-radio .radio-inline-comment-empty{
    padding:9px 10px;
    border:1px solid #202630;
    border-radius:8px;
    background:#0c1016;
    color:#8f99a7;
    font-size:10px;
    line-height:1.45;
}
#ppabam-radio .radio-inline-comment-item{
    display:block;
    padding:9px 10px 10px;
    border:1px solid #202630;
    border-radius:9px;
    background:#0c1016;
}
#ppabam-radio .radio-inline-comment-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    min-width:0;
}
#ppabam-radio .radio-inline-comment-author{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    flex:1 1 auto;
}
#ppabam-radio .radio-inline-comment-avatar{
    width:30px;
    height:30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#6f5cff,#ff5f77);
    color:#fff;
    font-size:11px;
    font-weight:900;
}
#ppabam-radio .radio-inline-comment-body{min-width:0;width:100%;margin-top:8px;}
#ppabam-radio .radio-inline-comment-meta{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    margin:0;
}
#ppabam-radio .radio-inline-comment-meta strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#e9edf4;
    font-size:10px;
    font-weight:900;
}
#ppabam-radio .radio-inline-comment-meta span{
    flex:0 0 auto;
    color:#667080;
    font-size:9px;
}
#ppabam-radio .radio-inline-comment-text{
    display:block;
    width:100%;
    min-height:24px;
    color:#bfc7d2;
    font-size:10.5px;
    line-height:1.55;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    word-break:break-word;
}
#ppabam-radio .radio-inline-comment-text[hidden],
#ppabam-radio .radio-inline-comment-editbox[hidden]{display:none !important;}
#ppabam-radio .radio-inline-comment-tools{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
    flex:0 0 auto;
}
#ppabam-radio .radio-inline-comment-tools button,
#ppabam-radio .radio-inline-comment-edit-actions button{
    min-height:24px;
    border:1px solid #2a313c;
    border-radius:7px;
    padding:0 7px;
    background:#11161e;
    color:#aeb7c4;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}
#ppabam-radio .radio-inline-comment-tools button:hover,
#ppabam-radio .radio-inline-comment-edit-actions button:hover{
    border-color:#ff5f77;
    color:#ff8194;
}
#ppabam-radio .radio-inline-comment-editbox{
    width:100%;
}
#ppabam-radio .radio-inline-comment-editbox textarea{
    display:block;
    width:100%;
    min-height:118px;
    box-sizing:border-box;
    resize:vertical;
    border:1px solid #2a313c;
    border-radius:7px;
    padding:8px 9px;
    background:#090c11;
    color:#e8ebf0;
    font-size:10.5px;
    line-height:1.45;
    outline:none;
}
#ppabam-radio .radio-inline-comment-edit-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:5px;
    margin-top:5px;
}
#ppabam-radio .radio-inline-comment-edit-actions span{
    margin-right:auto;
    color:#8f99a7;
    font-size:9px;
}
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-loading,
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-empty,
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-item,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-loading,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-empty,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-item{
    border-color:#e0e4ea;
    background:#fff;
}
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-meta strong,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-meta strong{color:#222a35;}
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-text,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-text{color:#5e6877;}
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-tools button,
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-edit-actions button,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-tools button,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-edit-actions button{
    border-color:#d9dde5;
    background:#f7f8fa;
    color:#5e6877;
}
body:not(.dark-mode) #ppabam-radio .radio-inline-comment-editbox textarea,
#ppabam-radio.ppabam-radio-light .radio-inline-comment-editbox textarea{
    border-color:#d9dde5;
    background:#fff;
    color:#20242b;
}
@media(max-width:520px){
    #ppabam-radio .radio-inline-comment-item{padding:8px 9px 9px;}
    #ppabam-radio .radio-inline-comment-head{gap:7px;}
    #ppabam-radio .radio-inline-comment-avatar{width:28px;height:28px;}
    #ppabam-radio .radio-inline-comment-meta{gap:5px;}
    #ppabam-radio .radio-inline-comment-tools{gap:3px;}
    #ppabam-radio .radio-inline-comment-tools button{padding:0 6px;min-height:23px;}
    #ppabam-radio .radio-inline-comment-body{margin-top:7px;}
    #ppabam-radio .radio-inline-comment-editbox textarea{min-height:112px;}
}


/* =========================================================
   v0.0.115 - 댓글 본문/수정창 전체 폭 확장
   ========================================================= */
#ppabam-radio .radio-inline-comment-item{display:block !important;}
#ppabam-radio .radio-inline-comment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;}
#ppabam-radio .radio-inline-comment-author{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;}
#ppabam-radio .radio-inline-comment-body{display:block;width:100%;min-width:0;margin-top:8px;}
#ppabam-radio .radio-inline-comment-text{display:block;width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;}
#ppabam-radio .radio-inline-comment-editbox{display:block;width:100%;}
#ppabam-radio .radio-inline-comment-editbox textarea{width:100%;min-height:118px;box-sizing:border-box;}
#ppabam-radio .radio-inline-comment-tools{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto;}
@media(max-width:520px){
  #ppabam-radio .radio-inline-comment-head{gap:7px;}
  #ppabam-radio .radio-inline-comment-author{gap:7px;}
  #ppabam-radio .radio-inline-comment-body{margin-top:7px;}
  #ppabam-radio .radio-inline-comment-editbox textarea{min-height:112px;}
}

/* =========================================================
   v0.0.116 - 댓글 프로필 썸네일 + 수정/삭제 하단 우측
   ========================================================= */
#ppabam-radio .radio-inline-comment-head{
    justify-content:flex-start !important;
}
#ppabam-radio .radio-inline-comment-avatar{
    overflow:hidden;
    flex:0 0 auto;
    background:#171c24;
}
#ppabam-radio .radio-inline-comment-avatar img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}
#ppabam-radio .radio-inline-comment-avatar-fallback{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    border-radius:50%;
    background:linear-gradient(135deg,#6f5cff,#ff5f77);
    color:#fff;
    font-size:11px;
    font-weight:900;
}
#ppabam-radio .radio-inline-comment-footer{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    width:100%;
    margin-top:8px;
}
#ppabam-radio .radio-inline-comment-footer .radio-inline-comment-tools{
    margin-left:auto;
}
@media(max-width:520px){
    #ppabam-radio .radio-inline-comment-footer{margin-top:7px;}
}


/* =========================================================
   v0.0.117 - 댓글 날짜 우측 정렬 + 수정모드 버튼 전환
   ========================================================= */
#ppabam-radio .radio-inline-comment-head{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    gap:8px !important;
}
#ppabam-radio .radio-inline-comment-author{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    flex:1 1 auto !important;
}
#ppabam-radio .radio-inline-comment-meta{
    min-width:0 !important;
}
#ppabam-radio .radio-inline-comment-date{
    margin-left:auto !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    text-align:right !important;
    font-size:11px !important;
    color:#7f8898 !important;
}
#ppabam-radio .radio-inline-comment-footer[hidden]{
    display:none !important;
}
@media(max-width:520px){
    #ppabam-radio .radio-inline-comment-date{font-size:10px !important;}
}

/* v0.0.118 · user EQ visualization */
.radio-main-unified-console .radio-eq i{height:var(--eq-user-height,55%) !important;}

/* v0.0.125 admin pagination */
.radio-admin-pages{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin:22px 0 8px;
}
.radio-admin-pages a,
.radio-admin-pages span{
    min-width:38px;
    height:38px;
    padding:0 11px;
    border:1px solid rgba(128,128,128,.25);
    border-radius:9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    line-height:1;
}
.radio-admin-pages a.active{
    background:#ff405f;
    border-color:#ff405f;
    color:#fff;
}
.radio-admin-pages .radio-admin-page-nav{
    min-width:58px;
}
.radio-admin-pages .disabled{
    opacity:.38;
    cursor:default;
}
@media (max-width:767px){
    .radio-admin-pages{gap:5px;margin-top:16px}
    .radio-admin-pages a,
    .radio-admin-pages span{min-width:34px;height:34px;padding:0 8px;font-size:12px}
    .radio-admin-pages .radio-admin-page-nav{min-width:52px}
}

/* v0.0.126 · unified pagination size/style with main radio list */
#ppabam-radio .radio-library-pagination,
.radio-admin-pages{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin:18px 0 5px;
}
#ppabam-radio .radio-library-pagination .radio-page-numbers{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
}
#ppabam-radio .radio-library-pagination .radio-page-link,
.radio-admin-pages a,
.radio-admin-pages span{
    min-width:34px;
    height:32px;
    padding:0 9px;
    border:1px solid #252c36;
    border-radius:7px;
    background:#0f1218;
    color:#85909f;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    text-decoration:none;
    font-size:9px;
    font-weight:800;
    line-height:1;
}
#ppabam-radio .radio-library-pagination .radio-page-link:hover,
#ppabam-radio .radio-library-pagination .radio-page-link.active,
.radio-admin-pages a:hover,
.radio-admin-pages a.active{
    border-color:#ff4d67;
    background:rgba(255,77,103,.12);
    color:#ff7187;
}
.radio-admin-pages .radio-admin-page-nav{
    min-width:46px;
}
.radio-admin-pages .disabled{
    opacity:.3;
    cursor:default;
}
body:not(.dark-mode) #ppabam-radio .radio-library-pagination .radio-page-link,
body:not(.dark-mode) .radio-admin-pages a,
body:not(.dark-mode) .radio-admin-pages span{
    background:#f8fafc;
    border-color:#d5dde7;
    color:#5f6b7a;
}
body:not(.dark-mode) #ppabam-radio .radio-library-pagination .radio-page-link:hover,
body:not(.dark-mode) #ppabam-radio .radio-library-pagination .radio-page-link.active,
body:not(.dark-mode) .radio-admin-pages a:hover,
body:not(.dark-mode) .radio-admin-pages a.active{
    border-color:#ff4d67;
    background:rgba(255,77,103,.10);
    color:#ff4d67;
}
@media(max-width:767px){
    #ppabam-radio .radio-library-pagination,
    .radio-admin-pages{gap:5px;margin:16px 0 5px;}
    #ppabam-radio .radio-library-pagination .radio-page-link,
    .radio-admin-pages a,
    .radio-admin-pages span{
        min-width:32px;
        height:30px;
        padding:0 7px;
        font-size:9px;
    }
    .radio-admin-pages .radio-admin-page-nav{min-width:42px;}
}
\n\n/* =========================================================\n   v0.0.129 - 모바일 메인 플레이어 지구본 안쪽 상향 + 풀폭\n   ========================================================= */\n@media (max-width:767px){\n    #ppabam-radio .radio-intro-banner .radio-banner-visual > .radio-console,\n    #ppabam-radio .radio-intro-banner .radio-main-unified-console{\n        left:0 !important;\n        right:0 !important;\n        width:100% !important;\n        max-width:none !important;\n        margin-left:0 !important;\n        margin-right:0 !important;\n        box-sizing:border-box !important;\n    }\n    #ppabam-radio .radio-intro-banner .radio-banner-visual{\n        padding-left:0 !important;\n        padding-right:0 !important;\n        overflow:visible !important;\n    }\n}\n

/* =========================================================
   v0.0.151 · Recent/Favorites player = current main player
   ========================================================= */
.radio-library-banner .radio-library-console.radio-main-unified-console{
    width:416px !important;
    max-width:min(416px,100%) !important;
    min-height:0 !important;
    padding:10px !important;
    margin:0 !important;
    overflow:visible !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-console-center{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) !important;
    grid-template-areas:"head head" "freq eq" "controls controls" !important;
    gap:6px 8px !important;
    width:100% !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-console-head{
    grid-area:head !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    padding:7px 8px !important;
    min-height:0 !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-console-left{
    gap:8px !important;
    min-width:0 !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-record{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    position:relative !important;
    overflow:hidden !important;
    border-radius:50% !important;
    border:1px solid rgba(181,196,214,.34) !important;
    background:repeating-radial-gradient(circle at 50% 50%,#141921 0 1.35px,#0d1218 1.5px 4px) !important;
    box-shadow:0 4px 10px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-record::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:50% !important;
    z-index:4 !important;
    pointer-events:none !important;
    background:conic-gradient(from 18deg,transparent,rgba(115,180,255,.14),transparent 16%,transparent 30%,rgba(255,121,190,.12) 40%,transparent 52%,rgba(76,246,210,.10) 64%,transparent 75%,rgba(255,188,68,.09) 84%,transparent) !important;
    mix-blend-mode:screen !important;
    opacity:.55 !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-record-center{
    position:absolute !important;
    inset:1px !important;
    width:auto !important;
    height:auto !important;
    overflow:hidden !important;
    border-radius:50% !important;
    background:#10151d !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console #radioLibraryNowLogo{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:50% !important;
    transform:scale(1.18) !important;
    z-index:2 !important;
    display:none !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console #radioLibraryNowLogo[data-loaded="1"]{display:block !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console #radioLibraryLogoFallback{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    z-index:1 !important;
    font-size:9px !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console #radioLibraryNowLogo[data-loaded="1"] + #radioLibraryLogoFallback{display:none !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-record-center::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;top:50% !important;
    width:19px !important;height:19px !important;
    transform:translate(-50%,-50%) !important;
    border-radius:50% !important;
    background:radial-gradient(circle at center,rgba(16,20,27,.98) 0 24%,rgba(255,255,255,.20) 25% 34%,rgba(130,150,176,.20) 35% 58%,rgba(8,12,18,.55) 59% 100%) !important;
    z-index:6 !important;
    pointer-events:none !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-record::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:50% !important;top:50% !important;
    width:9px !important;height:9px !important;
    transform:translate(-50%,-50%) !important;
    border-radius:50% !important;
    background:#05070a !important;
    border:2px solid rgba(240,245,251,.92) !important;
    z-index:7 !important;
    pointer-events:none !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-now-info{min-width:0 !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-now-info strong{font-size:11px !important;line-height:1.2 !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-onair{font-size:7px !important;margin-bottom:3px !important;line-height:1 !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console #radioLibraryNowMeta{font-size:7px !important;line-height:1.1 !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-eq-toggle{
    flex:0 0 auto !important;
    border:1px solid rgba(92,106,130,.55) !important;
    background:#0b1018 !important;
    color:#9ca8b8 !important;
    height:27px !important;
    min-width:34px !important;
    padding:0 8px !important;
    border-radius:6px !important;
    font-size:9px !important;
    font-weight:800 !important;
    letter-spacing:.06em !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-frequency,
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-eq{
    height:53px !important;
    min-height:53px !important;
    max-height:53px !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-frequency{grid-area:freq !important;padding:5px 7px !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-frequency-label{height:8px !important;line-height:8px !important;margin-bottom:1px !important;font-size:5px !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-frequency-readout{height:35px !important;padding-left:0 !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-frequency-digits{height:32px !important;transform:none !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-frequency-digits svg{height:29px !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-frequency small{font-size:7px !important;margin:0 0 4px 2px !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-eq{grid-area:eq !important;padding:5px 6px !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-eq i{max-height:34px !important;}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-controls{
    grid-area:controls !important;
    grid-template-columns:29px 35px minmax(0,1fr) !important;
    gap:6px !important;
    min-height:35px !important;
    width:100% !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-round-btn{
    width:29px !important;height:29px !important;min-width:29px !important;min-height:29px !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console .radio-play-main{
    width:29px !important;height:29px !important;min-width:29px !important;min-height:29px !important;
}
.radio-library-banner .radio-library-console.radio-main-unified-console #radioVolume{width:100% !important;min-width:0 !important;}

/* library banner player width follows the same 416px main player width */
.radio-library-banner-grid{grid-template-columns:minmax(0,1fr) 416px !important;}
.radio-library-banner-player{justify-content:flex-end !important;}
@media(max-width:820px){
    .radio-library-banner-grid{grid-template-columns:1fr !important;}
    .radio-library-banner-player{justify-content:stretch !important;}
    .radio-library-banner .radio-library-console.radio-main-unified-console{width:100% !important;max-width:100% !important;}
}
@media(max-width:767px){
    .radio-library-banner .radio-library-console.radio-main-unified-console{padding:10px !important;}
    .radio-library-banner .radio-library-console.radio-main-unified-console .radio-console-center{grid-template-columns:104px minmax(0,1fr) !important;}
}


/* =========================================================
   v0.0.152 · Recent/Favorites = MAIN player exact component
   ========================================================= */
.radio-library-banner .radio-banner-visual{display:flex !important;justify-content:flex-end !important;align-items:center !important;min-width:0 !important;}
.radio-library-banner .radio-main-unified-console{
  position:relative !important;left:auto !important;right:0 !important;top:auto !important;bottom:auto !important;transform:none !important;
  width:416px !important;max-width:min(416px,100%) !important;margin:0 !important;padding:10px !important;box-sizing:border-box !important;border-radius:10px !important;overflow:visible !important;
}
.radio-library-banner .radio-main-unified-console .radio-console-center{grid-template-columns:104px minmax(0,1fr) !important;grid-template-areas:"head head" "freq eq" "controls controls" !important;gap:6px 8px !important;}
.radio-library-banner .radio-main-unified-console .radio-console-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;padding:7px 8px !important;}
.radio-library-banner .radio-main-unified-console .radio-console-left{gap:8px !important;min-width:0 !important;}
.radio-library-banner .radio-main-unified-console .radio-record{width:38px !important;height:38px !important;flex:0 0 38px !important;position:relative !important;overflow:hidden !important;padding:0 !important;border-radius:50% !important;background:repeating-radial-gradient(circle at 50% 50%,#141921 0 1.35px,#0d1218 1.5px 4px) !important;border:1px solid rgba(181,196,214,.34) !important;box-shadow:0 6px 14px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.05) !important;}
.radio-library-banner .radio-main-unified-console .radio-record::before{content:"" !important;position:absolute !important;inset:0 !important;border-radius:50% !important;z-index:4 !important;pointer-events:none !important;background:conic-gradient(from 18deg,rgba(115,180,255,0),rgba(115,180,255,.14),rgba(255,255,255,0) 16%,rgba(255,255,255,0) 30%,rgba(255,121,190,.12) 40%,rgba(255,255,255,0) 52%,rgba(76,246,210,.10) 64%,rgba(255,255,255,0) 75%,rgba(255,188,68,.09) 84%,rgba(255,255,255,0) 100%),repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.06) 0 1px,rgba(255,255,255,0) 1px 5px) !important;mix-blend-mode:screen !important;opacity:.55 !important;}
.radio-library-banner .radio-main-unified-console .radio-record-center{position:absolute !important;inset:1px !important;width:auto !important;height:auto !important;border-radius:50% !important;overflow:hidden !important;background:#10151d !important;z-index:1 !important;}
.radio-library-banner .radio-main-unified-console #radioLibraryNowLogo{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:center !important;border-radius:50% !important;transform:scale(1.18) !important;filter:saturate(1.04) contrast(1.03) !important;z-index:2 !important;display:none !important;}
.radio-library-banner .radio-main-unified-console #radioLibraryNowLogo[data-loaded="1"]{display:block !important;}
.radio-library-banner .radio-main-unified-console #radioLibraryLogoFallback{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;border-radius:50% !important;z-index:1 !important;display:grid !important;place-items:center !important;font-size:10px !important;font-weight:900 !important;background:radial-gradient(circle at 35% 35%,#7a5cff 0,#5b4ee0 42%,#242a38 100%) !important;color:#fff !important;}
.radio-library-banner .radio-main-unified-console #radioLibraryNowLogo[data-loaded="1"] + #radioLibraryLogoFallback{display:none !important;}
.radio-library-banner .radio-main-unified-console .radio-record-center::after{content:"" !important;position:absolute !important;left:50% !important;top:50% !important;width:24px !important;height:24px !important;transform:translate(-50%,-50%) !important;border-radius:50% !important;background:radial-gradient(circle at center,rgba(16,20,27,.98) 0 24%,rgba(255,255,255,.20) 25% 34%,rgba(130,150,176,.20) 35% 58%,rgba(8,12,18,.55) 59% 100%) !important;border:1px solid rgba(255,255,255,.10) !important;z-index:6 !important;pointer-events:none !important;}
.radio-library-banner .radio-main-unified-console .radio-record::after{content:"" !important;position:absolute !important;left:50% !important;top:50% !important;width:12px !important;height:12px !important;transform:translate(-50%,-50%) !important;border-radius:50% !important;background:#05070a !important;border:2px solid rgba(240,245,251,.92) !important;box-shadow:0 0 0 1px rgba(0,0,0,.42),0 0 0 5px rgba(255,255,255,.05) !important;z-index:7 !important;pointer-events:none !important;}
.radio-library-banner .radio-main-unified-console .radio-record-ring{position:absolute !important;inset:0 !important;z-index:5 !important;border:1px solid rgba(255,255,255,.16) !important;border-radius:50% !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 0 18px rgba(0,0,0,.10) !important;background:transparent !important;pointer-events:none !important;}
.radio-library-banner .radio-main-unified-console .radio-now-info{min-width:0 !important;}
.radio-library-banner .radio-main-unified-console .radio-now-info strong{font-size:11px !important;line-height:1.2 !important;}
.radio-library-banner .radio-main-unified-console .radio-onair{font-size:7px !important;margin-bottom:3px !important;line-height:1 !important;}
.radio-library-banner .radio-main-unified-console #radioLibraryNowMeta{font-size:7px !important;line-height:1.1 !important;}
.radio-library-banner .radio-main-unified-console .radio-eq-toggle{height:27px !important;min-width:34px !important;padding:0 8px !important;border-radius:6px !important;font-size:9px !important;}
.radio-library-banner .radio-main-unified-console .radio-frequency,.radio-library-banner .radio-main-unified-console .radio-eq{height:53px !important;min-height:53px !important;max-height:53px !important;}
.radio-library-banner .radio-main-unified-console .radio-frequency{grid-area:freq !important;padding:5px 7px !important;}
.radio-library-banner .radio-main-unified-console .radio-frequency-label{height:8px !important;line-height:8px !important;margin-bottom:1px !important;font-size:5px !important;}
.radio-library-banner .radio-main-unified-console .radio-frequency-readout{height:35px !important;padding-left:0 !important;}
.radio-library-banner .radio-main-unified-console .radio-frequency-digits{height:32px !important;transform:none !important;}
.radio-library-banner .radio-main-unified-console .radio-frequency-digits svg{height:29px !important;}
.radio-library-banner .radio-main-unified-console .radio-frequency small{font-size:7px !important;transform:none !important;align-self:flex-end !important;margin:0 0 5px 2px !important;}
.radio-library-banner .radio-main-unified-console .radio-eq{grid-area:eq !important;padding:5px 6px !important;}
.radio-library-banner .radio-main-unified-console .radio-eq i{max-height:34px !important;}
.radio-library-banner .radio-main-unified-console .radio-controls{grid-template-columns:29px 29px minmax(0,1fr) !important;gap:6px !important;min-height:35px !important;}
.radio-library-banner .radio-main-unified-console .radio-round-btn,.radio-library-banner .radio-main-unified-console .radio-play-main{width:29px !important;height:29px !important;min-width:29px !important;min-height:29px !important;}
.radio-library-banner .radio-main-unified-console #radioVolume{width:100% !important;min-width:0 !important;}
.radio-library-banner .radio-main-unified-console .radio-eq-panel{width:100% !important;margin-top:8px !important;}
@media(max-width:767px){.radio-library-banner .radio-banner-visual{justify-content:center !important;}.radio-library-banner .radio-main-unified-console{width:100% !important;max-width:416px !important;padding:9px !important;}.radio-library-banner .radio-main-unified-console .radio-console-center{grid-template-columns:96px minmax(0,1fr) !important;}}


/* =========================================================
   v0.0.153 · MAIN EQ CSS shared with Recent/Favorites
   - exact same EQ visual rules copied from index.php
   ========================================================= */
.radio-eq-toggle{
  flex:0 0 auto;border:1px solid rgba(92,106,130,.55);background:#0b1018;color:#9ca8b8;
  height:27px;min-width:34px;padding:0 8px;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.06em;
  cursor:pointer;transition:.18s ease;
}
.radio-eq-toggle:hover,.radio-eq-toggle.active{border-color:#ff4d67;color:#fff;background:rgba(255,77,103,.16);}
.radio-eq-panel{
  margin-top:8px;padding:9px 10px 10px;border:1px solid rgba(94,108,132,.34);border-radius:8px;
  background:rgba(4,8,14,.94);box-sizing:border-box;
}
.radio-eq-panel[hidden]{display:none !important;}
.radio-eq-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;}
.radio-eq-panel-head>strong{font-size:10px;color:#eef3fb;letter-spacing:.08em;}
.radio-eq-presets{display:flex;align-items:center;gap:6px;justify-content:flex-end;}
.radio-eq-presets label{font-size:7px;color:#7f8998;font-weight:800;letter-spacing:.08em;}
.radio-eq-preset-select{height:25px;min-width:92px;padding:0 26px 0 8px;border:1px solid rgba(95,109,132,.5);border-radius:5px;background:#0d121b;color:#d6dde8;font-size:8px;font-weight:800;outline:none;cursor:pointer;}
.radio-eq-preset-select:focus{border-color:#ff4d67;box-shadow:0 0 0 2px rgba(255,77,103,.12);}
.radio-eq-bands{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;align-items:end;}
.radio-eq-bands label{display:grid;grid-template-rows:auto 64px auto;justify-items:center;gap:4px;min-width:0;}
.radio-eq-bands label>span{font-size:7px;color:#7f8a9a;}
.radio-eq-bands label>em{font-style:normal;font-size:7px;color:#aeb7c5;}
.radio-eq-bands input[type="range"]{
  width:64px;height:16px;transform:rotate(-90deg);transform-origin:center;align-self:center;margin:24px 0;
  accent-color:#ff4d67;cursor:pointer;
}
@media (max-width:1100px) and (min-width:768px){
  .radio-banner-visual .radio-main-unified-console{width:400px !important;max-width:calc(100vw - 48px) !important;}
}
@media(max-width:767px){
  .radio-banner-visual .radio-main-unified-console{
    width:calc(100% - 28px) !important;max-width:416px !important;padding:9px !important;
  }
  .radio-banner-visual .radio-main-unified-console .radio-console-center{grid-template-columns:96px minmax(0,1fr) !important;}
  .radio-eq-panel{padding:8px !important;}
  .radio-eq-panel-head{align-items:flex-start;}
  .radio-eq-bands{gap:3px;}
  .radio-eq-bands label{grid-template-rows:auto 54px auto;}
  .radio-eq-bands input[type="range"]{width:54px;margin:19px 0;}
}

/* v0.0.119 · 10 BAND REAL EQ */
.radio-eq-panel-10{
  width:100%;
  padding:10px 11px 11px !important;
  background:linear-gradient(180deg,#070b11 0%,#05080d 100%) !important;
  border:1px solid rgba(108,122,145,.42) !important;
  border-radius:9px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 9px 24px rgba(0,0,0,.22);
}
.radio-eq-panel-10 .radio-eq-panel-head{
  margin-bottom:7px !important;
  min-height:25px;
}
.radio-eq-panel-10 .radio-eq-panel-head>strong{
  color:#ff4d67 !important;
  font-size:10px !important;
  letter-spacing:.12em !important;
}
.radio-eq-panel-tools{display:flex;align-items:center;gap:7px;min-width:0;}
.radio-eq-status{font-size:7px;color:#778292;white-space:nowrap;}
.radio-eq-status[data-state="active"]{color:#63e6be;}
.radio-eq-status[data-state="loading"]{color:#ffd60a;}
.radio-eq-status[data-state="error"]{color:#ff7389;}
.radio-eq-reset{
  height:25px;padding:0 8px;border-radius:5px;border:1px solid rgba(109,123,145,.5);
  background:#10151d;color:#c6ceda;font-size:8px;font-weight:700;cursor:pointer;
}
.radio-eq-reset:hover{border-color:#ff4d67;color:#fff;}
.radio-eq-graphic{
  position:relative;
  display:grid;
  grid-template-columns:18px repeat(11,minmax(18px,1fr));
  gap:5px;
  align-items:end;
  min-height:125px;
  padding:3px 1px 0;
}
.radio-eq-scale{
  height:91px;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;
  padding:2px 1px 2px 0;
  color:#4e5969;font-size:6px;line-height:1;
  align-self:start;margin-top:3px;
}
.radio-eq-column{
  --eq-fill:50%;
  position:relative;
  display:grid;
  grid-template-rows:92px 10px 10px;
  justify-items:center;
  gap:2px;
  min-width:0;
  cursor:ns-resize;
  user-select:none;
}
.radio-eq-meter{
  position:relative;
  width:18px;height:92px;
  overflow:hidden;
  border-radius:3px;
  background:
    repeating-linear-gradient(to top,rgba(35,43,53,.92) 0 5px,transparent 5px 7px),
    #0c1118;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.radio-eq-meter::after{
  content:"";position:absolute;left:-2px;right:-2px;top:50%;height:1px;
  background:rgba(255,255,255,.16);pointer-events:none;z-index:3;
}
.radio-eq-meter>span{
  position:absolute;left:0;right:0;bottom:0;height:var(--eq-fill);
  background:
    repeating-linear-gradient(to top,var(--band-color) 0 5px,transparent 5px 7px);
  filter:drop-shadow(0 0 4px color-mix(in srgb,var(--band-color) 58%, transparent));
  pointer-events:none;
}
.radio-eq-column input[type="range"]{
  position:absolute !important;
  left:50% !important;top:0 !important;bottom:auto !important;right:auto !important;
  width:18px !important;height:92px !important;
  opacity:0 !important;
  transform:translateX(-50%) !important;
  margin:0 !important;
  cursor:ns-resize !important;
  z-index:5;
  writing-mode:vertical-lr;direction:rtl;
  -webkit-appearance:auto;appearance:auto;
}
.radio-eq-column b{font-size:6px;line-height:10px;color:#d3dae4;font-weight:800;letter-spacing:.01em;}
.radio-eq-column em{font-size:6px;line-height:10px;color:#626e7f;font-style:normal;}
.radio-eq-column:focus-within .radio-eq-meter{box-shadow:inset 0 0 0 1px var(--band-color),0 0 8px rgba(255,255,255,.05);}
.radio-eq-pre b{color:#ff7087;}
.radio-eq-presets{
  display:flex;align-items:center;gap:6px;
  margin:0 0 8px 23px;
}
.radio-eq-presets label{
  font-size:7px;color:#7e8999;font-weight:900;letter-spacing:.10em;white-space:nowrap;
}
.radio-eq-preset-select{
  height:26px;min-width:108px;padding:0 28px 0 9px;border-radius:5px;
  border:1px solid rgba(108,122,145,.5);background:#0d1219;color:#dce3ed;
  font-size:8px;font-weight:800;letter-spacing:.02em;cursor:pointer;outline:none;
}
.radio-eq-preset-select:hover,.radio-eq-preset-select:focus{
  border-color:#ff4d67;box-shadow:0 0 0 2px rgba(255,77,103,.10);
}
.radio-eq-preset-select option{background:#0d1219;color:#dce3ed;}
@media(max-width:767px){
  .radio-eq-panel-10{overflow-x:auto;padding:8px !important;}
  .radio-eq-panel-10 .radio-eq-panel-head{position:sticky;left:0;}
  .radio-eq-graphic{min-width:360px;grid-template-columns:16px repeat(11,minmax(19px,1fr));gap:4px;}
  .radio-eq-meter{width:17px;height:82px;}
  .radio-eq-column{grid-template-rows:82px 10px 10px;}
  .radio-eq-column input[type="range"]{height:82px !important;}
  .radio-eq-scale{height:81px;}
  .radio-eq-status{display:none;}
}
