/* 레이더 전체 다듬기(11/10) — 다른 꾸밈 파일 뒤에 마지막으로 읽는다.
   글씨를 키우고 대비를 올리고, 칸(카드)·단추·칩 모양을 하나로 맞춘다. 색은 파랑·흰색 그대로. */
:root,body.ranking-page{
  --bg:#f3f6fc;--line:#e1e8f3;--line-2:#cdd9ea;
  --text:#132540;--text-2:#3f5573;--dim:#5f7190;--muted:#5f7190;
  --brand:#2563eb;--brand-2:#1d4fd8;--brand-soft:#e9f0ff;
  --radius:14px;--radius-lg:18px;
  --shadow:0 1px 2px #10284d0d,0 6px 20px #10284d0f;
}
body{font-size:15px;line-height:1.6;background:var(--bg);color:var(--text)}
.muted{color:var(--dim)}

/* 왼쪽 메뉴 */
.studio-sidebar{width:220px;padding:22px 14px;gap:2px;border-right:1px solid var(--line);box-shadow:2px 0 12px #10284d08}
.studio-sidebar .studio-brand{font-size:19px;letter-spacing:-.03em;padding:6px 10px 14px;color:var(--brand)}
.studio-sidebar small{font-size:11px;font-weight:800;color:#8a9ab3;letter-spacing:.02em;margin:18px 12px 6px}
.studio-sidebar a{font-size:14px;font-weight:600;padding:9px 12px;border-radius:10px;color:var(--text-2);position:relative}
.studio-sidebar a:hover{background:#f0f5ff;color:var(--brand)}
.studio-sidebar a.selected{background:var(--brand);color:#fff;box-shadow:0 4px 12px #2563eb33}
.appbar,.ranking-page .appbar{margin-left:220px;height:52px;background:#ffffffcc;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:0 28px}
.appbar .status{font-size:13px;font-weight:600;color:var(--text-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.page,.ranking-page .page{margin-left:220px;padding:30px 36px 40px}
.page>*{max-width:1480px}
.foot{margin-left:220px;padding:18px 36px;font-size:12px;color:#8a9ab3}

/* 쪽 머리 */
.pagehead{margin-bottom:22px}
.pagehead h1,.hero h1{font-size:30px;font-weight:800;letter-spacing:-.035em;line-height:1.25;color:var(--text)}
.pagehead p,.hero p{font-size:15px}
.eyebrow{display:inline-block;font-size:12px;font-weight:800;color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:3px 10px;margin:0;letter-spacing:0;text-transform:none}
.stat{gap:28px}.stat b{font-size:28px;color:var(--text)}.stat small{font-size:12.5px;font-weight:600}

/* 칸(카드) */
.panel,.page .panel,.page .toolbar{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.toolbar{padding:18px 20px;gap:14px}
.section{margin:36px 0 14px}.section h2{font-size:20px;font-weight:800;letter-spacing:-.02em}
.panel h2{font-size:18px;font-weight:800;letter-spacing:-.02em}
.ws-section{padding:24px}

/* 입력칸·고르기 */
input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--text);font-size:14.5px}
input:not([type=checkbox]):not([type=radio]),select{min-height:40px;padding:0 12px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #2563eb22}

/* 단추 */
.btn{height:36px;border-radius:10px;font-size:13.5px;font-weight:700;border:1px solid var(--line-2);background:#fff;color:var(--text);transition:background .12s,border-color .12s,box-shadow .12s}
.btn:hover{border-color:var(--brand);color:var(--brand)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 4px 12px #2563eb2e}
.btn.primary:hover{background:var(--brand-2);color:#fff}
.btn.sm{height:30px;font-size:12.5px;border-radius:8px;padding:0 10px}
.btn.ghost{background:#f6f9ff;border-color:var(--line)}
.seg{background:#eef3fb;border-color:var(--line);border-radius:12px;padding:4px}
.seg button,.seg a{height:32px;font-size:14px;border-radius:9px}

/* 칩(분류 단추) */
.chip{height:34px;padding:0 14px;border-radius:999px;font-size:13.5px;font-weight:700;background:#fff;border:1px solid var(--line-2);color:var(--text-2)}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip.on,.chip.active{background:var(--text);border-color:var(--text);color:#fff}
.cats{margin:6px 0 22px;gap:8px}

/* 영상 카드 */
.cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.vcard{border-radius:var(--radius);border-color:var(--line);box-shadow:var(--shadow);background:#fff}
.vcard:hover{border-color:#b9cbea;transform:translateY(-3px);box-shadow:0 2px 4px #10284d10,0 14px 30px #10284d1a}
.vtitle{font-size:15px;line-height:1.45;min-height:43px;color:var(--text)}
.vmeta{font-size:12.5px}
.vstats{font-size:12.5px}.vstats b{font-size:13.5px}
.thumb .views{font-size:22px}
.thumb .score{background:var(--brand);border-radius:8px;font-size:12.5px}

/* 배지·알림 */
.badge{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px}
.notice{border-radius:12px;padding:12px 16px;font-size:14px}
.toast{border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 10px 30px #10284d33}

/* 표 */
table{font-size:14px}
.ws-table th,.tablewrap th{font-size:12.5px;font-weight:800;color:var(--dim);background:#f6f9ff}
.ws-table td,.tablewrap td{padding:12px 10px;vertical-align:middle}
.ws-table tbody tr:hover,.tablewrap tbody tr:hover{background:#f7faff}

/* 원본 찾기 단계 표시줄 */
.steps{position:sticky;top:60px;z-index:5;display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;padding:8px;background:#ffffffe6;backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.steps a{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--text-2)}
.steps a:hover{background:var(--brand-soft);color:var(--brand)}
.steps a i{font-style:normal;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px}
.step-card{scroll-margin-top:130px}
.step-card .eyebrow{width:28px;height:28px;padding:0;display:inline-grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:14px}

/* 휴대폰: 왼쪽 메뉴를 맨 위 가로로 밀어 보는 줄로 바꾸고, 내용은 화면 폭 전체를 씀 */
@media(max-width:800px){
  .studio-sidebar{position:sticky;top:0;inset:auto;width:auto;height:auto;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;padding:8px 10px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 2px 10px #10284d10;scrollbar-width:none}
  .studio-sidebar::-webkit-scrollbar{display:none}
  .studio-sidebar small{display:none}
  .studio-sidebar .studio-brand{font-size:15px;padding:6px 8px;flex:0 0 auto;width:auto}
  .studio-sidebar a{flex:0 0 auto;font-size:13px;padding:7px 11px}
  .appbar,.ranking-page .appbar{display:none}
  .page,.ranking-page .page,.foot{margin-left:0}
  .page,.ranking-page .page{padding:16px 14px 28px}
  .pagehead h1,.hero h1{font-size:23px}
  .hero{grid-template-columns:96px 1fr;gap:14px;padding:14px}
  .hero p.muted[style]{display:none}
  .stat b{font-size:22px}
  .steps{top:52px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .steps a{flex:0 0 auto;padding:6px 9px;font-size:13px}
  .step-card{scroll-margin-top:120px}
  .ranking-page .rk-main{padding:0 2px}
}

/* 급상승 채널(ranking.css) 머리도 다른 화면과 같은 크기 */
.ranking-page .rk-heading h1{font-size:30px;font-weight:800;letter-spacing:-.035em}
.ranking-page .rk-heading span{font-size:15px;color:var(--dim)}
.ranking-page .rk-table{font-size:14px}

/* 키워드·채널 영상 창(ranking.js 카드) — 넓게, 큰 글씨, 숫자는 쉬운 말로 */
.ranking-page .rk-dialog{width:min(1200px,96vw);padding:26px 28px;background:#f6f9ff}
.ranking-page .rk-dialog h2{font-size:24px;font-weight:800;letter-spacing:-.03em}
.ranking-page .rk-dialog>p{font-size:14.5px;line-height:1.7;color:var(--text-2);margin:8px 0 16px}
.rk-legend{display:block;margin-top:8px;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--dim)}
.rk-legend b{color:var(--text)}
.ranking-page .rk-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.ranking-page .rk-card{border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line)}
.ranking-page .rk-card:hover{outline:2px solid var(--brand);transform:translateY(-2px)}
.ranking-page .rk-badges i{font-size:12px;padding:4px 9px;border-radius:999px}
.ranking-page .rk-badges i:first-child::first-letter{color:inherit}
.ranking-page .rk-ratios{padding:40px 12px 10px}
.ranking-page .rk-ratios b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.ranking-page .rk-card strong{font-size:14.5px;line-height:1.45;margin:12px 12px 6px;color:var(--text)}
.ranking-page .rk-card small.rk-ch{font-size:12.5px;margin:0 12px 8px;color:var(--dim)}
.ranking-page .rk-card small.rk-ch em{font-style:normal}
.rk-facts{display:flex;flex-wrap:wrap;gap:6px;margin:0 12px 14px}
.rk-facts span{font-size:12.5px;padding:4px 9px;border-radius:999px;background:#eef3fb;color:var(--text-2)}
.rk-facts span b{color:var(--text);font-size:13.5px}
.rk-facts span.hot{background:#fff1e6;color:#a6500f}.rk-facts span.hot b{color:#c2410c}
.rk-facts span.up{background:#e8f7f1;color:#16704f}.rk-facts span.up b{color:#0f7a52}
.ranking-page .rk-detail{width:400px;background:#fff}
.ranking-page .rk-metrics b{font-size:20px}
.ranking-page .rk-metrics small{font-size:12px}
@media(min-width:1250px){.ranking-page .rk-dialog:has(.rk-detail:not([hidden])){transform:none;margin-left:24px;width:calc(100vw - 460px)}}

/* 영상 카드: 사진 위 글씨는 흰색으로(밝은 바탕에서 안 보이던 것) */
.thumb .views{color:#fff}.thumb .views small{color:#dfe7f5}
.thumb .tr{color:#fff}
.vcard .thumb,.vcard .vtitle{cursor:pointer}
.vcard.picked{outline:3px solid var(--brand);outline-offset:2px}
.vstats b.hot{color:#c2410c}

/* 오른쪽 미리보기 칸 */
.vpreview{position:fixed;top:0;right:0;bottom:0;width:400px;z-index:40;background:#fff;border-left:1px solid var(--line);box-shadow:-10px 0 30px #10284d1f;padding:16px 18px 24px;overflow:auto}
.vpreview[hidden]{display:none}
.vp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.vpreview iframe{width:100%;aspect-ratio:9/16;max-height:62vh;border:0;border-radius:14px;background:#000;display:block}
.vpreview h3{font-size:16px;line-height:1.45;margin:12px 0 2px}
.vpreview p.muted{margin:0 0 10px;font-size:13px}
.vp-link{display:flex;gap:6px;margin-bottom:10px}.vp-link input{flex:1;min-width:0;font-size:12.5px;min-height:34px;color:var(--text-2)}
.vp-big{display:flex;justify-content:center;align-items:center;width:100%;height:44px;font-size:15px;margin-bottom:12px}
.vp-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.vp-facts div{background:#f4f7fd;border-radius:12px;padding:10px 12px}.vp-facts b{display:block;font-size:19px;letter-spacing:-.02em}.vp-facts small{font-size:12px;color:var(--dim)}
.vp-facts .hot b{color:#c2410c}.vp-facts .up b{color:#0f7a52}
.vp-actions{display:flex;flex-wrap:wrap;gap:6px}.vp-actions .btn{flex:1 1 45%}
body:has(.vpreview:not([hidden])) .page{margin-right:400px}
@media(max-width:800px){.vpreview{width:100%;top:auto;height:88vh;border-radius:18px 18px 0 0}body:has(.vpreview:not([hidden])) .page{margin-right:0}}

/* 배경음악 바로 듣기 */
.bgm-player{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.bgm-player audio{width:min(460px,100%)}
.bgm-player iframe{width:min(460px,100%);height:120px;border:0;border-radius:12px;background:#000}
.bgm-player small{font-size:12.5px}
