:root{
  --bg:#0b0e14; --bg2:#121722; --bg3:#1a2130;
  --line:#232c3d; --txt:#e6ebf5; --dim:#8b98ae; --dim2:#5d6b82;
  --up:#ff4d5e; --down:#3d8bff; --accent:#ffb020; --hot:#ff7a1a;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg); color:var(--txt);
  font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',system-ui,-apple-system,sans-serif;
  font-size:15px; line-height:1.6; letter-spacing:-0.01em;
  padding-bottom:40px;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
b{font-weight:700}

/* 상단바 */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(11,14,20,.88); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{display:flex;align-items:center;gap:14px;height:58px}
.brand{display:flex;align-items:center;gap:9px;font-size:18px;color:var(--txt);text-decoration:none;font-weight:600;white-space:nowrap}
.brand b{color:var(--accent)}
.brand-dot{
  width:9px;height:9px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 0 rgba(255,176,32,.6); animation:pulse 2.2s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(255,176,32,.55)}
  70%{box-shadow:0 0 0 11px rgba(255,176,32,0)}
  100%{box-shadow:0 0 0 0 rgba(255,176,32,0)}
}
.status{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--dim);margin-left:4px}
.led{width:8px;height:8px;border-radius:50%;background:var(--dim2);transition:.3s}
.led.on{background:#28d17c;box-shadow:0 0 8px #28d17c}
.led.err{background:var(--up)}
.topbar-actions{margin-left:auto;display:flex;gap:8px}
.btn{
  background:var(--bg3); color:var(--txt); border:1px solid var(--line);
  border-radius:9px; padding:8px 13px; font-size:13px; cursor:pointer;
  font-family:inherit; transition:.15s; white-space:nowrap;
}
.btn:hover{background:#232c3d;border-color:#31405a}
.btn.active{background:var(--accent);color:#1a1200;border-color:var(--accent);font-weight:600}
.btn-ghost{background:transparent}

/* 패널 */
.panel{
  background:var(--bg2); border:1px solid var(--line);
  border-radius:var(--radius); margin-top:18px; overflow:hidden;
}
.panel-head{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 18px; border-bottom:1px solid var(--line);
}
.panel-head h2{font-size:15px;font-weight:700;letter-spacing:-0.02em}
.panel-tools{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mini{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:6px}
select,input[type=search]{
  background:var(--bg3);color:var(--txt);border:1px solid var(--line);
  border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;outline:none;
}
input[type=search]{min-width:190px}
input[type=search]:focus,select:focus{border-color:#3b4d6b}

/* 감지 피드 */
.radar{border-color:#2b2416;background:linear-gradient(180deg,#151109 0%,var(--bg2) 60px)}
.feed{max-height:290px;overflow-y:auto}
.feed-empty{padding:34px 18px;text-align:center;color:var(--dim2);font-size:13px}
.sig{
  display:flex;align-items:center;gap:12px;padding:11px 18px;
  border-bottom:1px solid #1b2231; font-size:14px;
  animation:slidein .35s ease;
}
@keyframes slidein{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.sig:last-child{border-bottom:none}
.sig-time{color:var(--dim2);font-size:12px;font-variant-numeric:tabular-nums;width:56px;flex-shrink:0}
.sig-name{font-weight:600;width:110px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sig-body{flex:1;color:var(--dim);font-size:13px}
.sig-amt{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.sig.bid .sig-amt{color:var(--up)}
.sig.ask .sig-amt{color:var(--down)}
.sig-tag{
  font-size:11px;padding:2px 7px;border-radius:5px;flex-shrink:0;font-weight:600;
  background:#2a2010;color:var(--accent);
}
.sig.big{background:linear-gradient(90deg,rgba(255,122,26,.13),transparent)}

/* 요약 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.stat{background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:13px 15px}
.stat-label{display:block;font-size:12px;color:var(--dim2);margin-bottom:3px}
.stat b{font-size:19px;font-variant-numeric:tabular-nums}

/* 표 */
.table-scroll{overflow-x:auto}
.coins{width:100%;border-collapse:collapse;font-size:14px}
.coins th{
  text-align:right;padding:10px 14px;font-size:12px;color:var(--dim2);
  font-weight:600;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg2);
}
.coins th.c-name,.coins th.c-sig{text-align:left}
.coins td{padding:9px 14px;border-bottom:1px solid #171e2b;text-align:right;font-variant-numeric:tabular-nums}
.coins tbody tr{transition:background .15s}
.coins tbody tr:hover{background:#161d2a}
.c-name{text-align:left!important}
.cname{display:flex;flex-direction:column;gap:1px}
.cname a{color:var(--txt);text-decoration:none;font-weight:600}
.cname a:hover{color:var(--accent);text-decoration:underline}
.csym{font-size:11px;color:var(--dim2)}
.price.up{color:var(--up)}
.price.down{color:var(--down)}
.flash-up{animation:fu .6s}
.flash-down{animation:fd .6s}
@keyframes fu{0%{background:rgba(255,77,94,.22)}100%{background:transparent}}
@keyframes fd{0%{background:rgba(61,139,255,.22)}100%{background:transparent}}
.c-sig{text-align:left!important}
.badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.badge{font-size:10.5px;padding:2px 6px;border-radius:5px;font-weight:600;white-space:nowrap}
.b-conc{background:#3a1220;color:#ff6b8a}
.b-dep{background:#33240c;color:#ffb020}
.b-vol{background:#0f2e3a;color:#4fd0e0}
.b-price{background:#2a1a3a;color:#c48aff}
.b-glob{background:#1a2f1c;color:#6fd48a}
.b-warn{background:#3d1010;color:#ff5c5c}
.score{
  display:inline-block;min-width:34px;text-align:center;
  font-size:11.5px;font-weight:700;padding:2px 6px;border-radius:5px;
  background:var(--bg3);color:var(--dim);
}
.score.s1{background:#2a2410;color:#ffd47a}
.score.s2{background:#3a2610;color:#ff9f45}
.score.s3{background:#3d1410;color:#ff5c4d}

/* 설명 */
.notice{
  margin-top:20px;background:var(--bg2);border:1px solid var(--line);
  border-radius:var(--radius);padding:22px;
}
.notice h3{font-size:15px;margin-bottom:11px}
.notice p{color:var(--dim);font-size:13.5px;margin-bottom:11px;line-height:1.75}
.notice b{color:var(--txt)}
.disclaim{
  background:#1a1410;border:1px solid #33240c;border-radius:10px;
  padding:13px 15px;font-size:12.5px!important;color:#c9a96a!important;margin-top:16px!important;
}
.foot{margin-top:26px;padding:18px 0;border-top:1px solid var(--line)}
.foot p{color:var(--dim2);font-size:12px;text-align:center}

/* 모바일 */
@media (max-width:760px){
  body{font-size:14px}
  .topbar-inner{height:54px;gap:9px}
  .brand{font-size:16px}
  .status{display:none}
  .btn{padding:7px 10px;font-size:12px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .panel-head{padding:12px 14px}
  .panel-tools{width:100%;margin-left:0}
  input[type=search]{flex:1;min-width:0}
  .coins th,.coins td{padding:8px 9px;font-size:13px}
  .coins th:nth-child(5),.coins td:nth-child(5){display:none} /* 모바일: 거래대금 숨김 (김프 우선) */
  .sig-time{display:none}
  .sig-name{width:84px}
  .sig-body{font-size:12px}
  .notice{padding:18px 15px}
}

/* ===== 코인 상세 페이지 ===== */
.crumb{padding:16px 0 2px;font-size:12.5px;color:var(--dim2)}
.crumb a{color:var(--dim);text-decoration:none}
.crumb a:hover{color:var(--accent)}
.coin-hero{padding:22px}
.hero-top{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}
.hero-top h1{font-size:24px;font-weight:700;letter-spacing:-0.03em;display:flex;align-items:center;gap:9px}
.hero-sym{font-size:13px;color:var(--dim2);background:var(--bg3);padding:3px 8px;border-radius:6px;font-weight:600}
.hero-en{color:var(--dim2);font-size:13px;margin-top:3px}
.hero-price{margin-left:auto;text-align:right;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.hero-price b{font-size:31px;font-variant-numeric:tabular-nums;letter-spacing:-0.02em}
.hero-price .won{color:var(--dim2);font-size:15px}
.hero-chg{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.hero-chg.up{color:var(--up)} .hero-chg.down{color:var(--down)}
#price.up{color:var(--up)} #price.down{color:var(--down)}
.hero-flags{display:flex;gap:5px;flex-wrap:wrap;margin-top:15px}
.notice h2{font-size:17px;margin-bottom:13px;letter-spacing:-0.02em}
.notice h3{font-size:14.5px;margin:22px 0 9px;color:var(--txt)}
.notice h4{font-size:13.5px;margin:15px 0 5px;color:var(--accent)}
.related{display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px}
.rel{
  background:var(--bg3);border:1px solid var(--line);border-radius:8px;
  padding:7px 12px;font-size:13px;color:var(--txt);text-decoration:none;transition:.15s;
}
.rel:hover{border-color:var(--accent);color:var(--accent)}
@media (max-width:760px){
  .hero-price{margin-left:0;width:100%;justify-content:flex-start;text-align:left}
  .hero-price b{font-size:26px}
  .coin-hero{padding:17px}
  .hero-top h1{font-size:20px}
}

/* ===== 광고 영역 ===== */
.adbox{
  margin:18px 0; padding:12px 12px 10px;
  background:var(--bg2); border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden;
}
.adlabel{
  display:block; font-size:10.5px; color:var(--dim2);
  letter-spacing:.06em; margin-bottom:8px;
}
.adbox ins{background:transparent}
/* 본문 안(인피드)은 글 흐름에 맞게 조금 더 좁게 */
.notice .adbox{margin:20px 0;background:var(--bg3)}
@media (max-width:760px){
  .adbox{margin:14px 0;padding:10px 10px 8px;border-radius:11px}
}
/* 광고가 채워지지 않으면(미승인 상태/미게재) 빈 상자를 통째로 숨긴다 */
.adbox:has(ins[data-ad-status="unfilled"]){display:none}

/* ===== 웜업 안내 ===== */
.warmup{
  display:flex;align-items:flex-start;gap:9px;padding:11px 18px;
  background:#16130a;border-bottom:1px solid #2b2416;
  font-size:12.5px;color:#c9a96a;line-height:1.55;
}
.warm-dot{
  width:7px;height:7px;border-radius:50%;background:var(--accent);
  flex-shrink:0;margin-top:6px;animation:pulse 1.6s infinite;
}
.feed-divider{
  padding:7px 18px;font-size:11.5px;color:var(--dim2);
  background:#0f1420;border-bottom:1px solid #1b2231;
}
.sig.past{opacity:.62}
.cname-plain{color:var(--txt);font-weight:600}

/* ===== 사용법 ===== */
.guide-body{padding:6px 18px 18px}
.guide-step{padding:15px 0;border-bottom:1px solid #1b2231}
.guide-step:last-child{border-bottom:none}
.guide-step>b{display:block;font-size:14px;margin-bottom:6px}
.guide-step p{color:var(--dim);font-size:13.5px;line-height:1.72}
.guide-step p b{color:var(--txt)}
.score-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:11px}
.score-legend span{font-size:12.5px;color:var(--dim);display:flex;align-items:center;gap:6px}
.badge-legend{display:flex;flex-direction:column;gap:7px;margin-top:11px}
.badge-legend>span{
  font-size:12.5px;color:var(--dim);display:flex;align-items:flex-start;gap:8px;line-height:1.5;
}
.badge-legend .badge{flex-shrink:0;margin-top:1px}
@media (max-width:760px){
  .guide-body{padding:4px 14px 14px}
  .badge-legend>span{flex-direction:column;gap:3px}
  .warmup{padding:10px 14px;font-size:12px}
}

/* ===== 광고 크기 제한 =====
   디스플레이만 고정 높이로 제한 (구글 권장: data-ad-format / full-width-responsive 제거 후 지정).
   인피드·멀티플렉스는 원래 크기 유지. 광고를 CSS로 잘라내는 건 정책 위반이라 하지 않음. */
.adslot-display{display:block;width:100%;height:100px}
@media (min-width:500px){ .adslot-display{height:90px} }
@media (min-width:800px){ .adslot-display{max-width:970px;height:90px;margin:0 auto} }

/* ===== 김치 프리미엄 ===== */
.kimp{font-variant-numeric:tabular-nums}
.kimp.up{color:var(--up)}
.kimp.down{color:var(--down)}
.kimp .dash{color:var(--dim2)}

/* ===== 초대형 체결 (1억 이상) ===== */
.sig.huge{
  background:linear-gradient(90deg,rgba(255,176,32,.20),rgba(255,176,32,.04) 60%,transparent);
  border-left:3px solid var(--accent);
  border-bottom-color:#3a2d12;
}
.sig.huge .sig-name{color:var(--accent);font-weight:700}
.sig.huge .sig-tag{background:var(--accent);color:#1a1200}
.sig.huge .sig-amt{font-size:15px;font-weight:800}
.sig.huge:not(.past){animation:hugein .6s ease}
@keyframes hugein{
  0%{opacity:0;transform:translateX(-14px);background:rgba(255,176,32,.45)}
  100%{opacity:1;transform:none}
}
.kimp.wide{font-weight:700}
.kimp.wide::after{content:'!';font-size:9px;vertical-align:super;opacity:.7;margin-left:1px}

/* ===== iOS 알림 안내 ===== */
.ios-tip{
  position:relative;margin-top:18px;padding:18px 20px;
  background:#16130a;border:1px solid #3a2d12;border-radius:var(--radius);
}
.ios-tip b{color:var(--accent)}
.ios-tip>b{display:block;font-size:14.5px;margin-bottom:7px;padding-right:26px}
.ios-tip p{color:var(--dim);font-size:13px;line-height:1.7}
.ios-tip ol{margin:11px 0 11px 19px;color:var(--dim);font-size:13px;line-height:1.95}
.ios-tip ol b{color:var(--txt)}
.ios-alt{margin-top:10px;padding-top:11px;border-top:1px solid #2b2416}
.ios-close{
  position:absolute;top:13px;right:14px;background:none;border:none;
  color:var(--dim2);font-size:15px;cursor:pointer;padding:3px 6px;line-height:1;
}
.ios-close:hover{color:var(--txt)}

/* ===== 사용법 접기 ===== */
.guide-reopen{
  display:block;width:100%;margin-top:18px;padding:13px;
  background:var(--bg2);border:1px dashed var(--line);border-radius:var(--radius);
  color:var(--dim);font-size:13.5px;font-family:inherit;cursor:pointer;transition:.15s;
}
.guide-reopen:hover{border-color:var(--accent);color:var(--accent)}

/* ===== 소리 안내 ===== */
.sound-tip{
  margin-top:16px;padding:13px 17px;background:#101a16;border:1px solid #1d3a2c;
  border-radius:11px;color:#8fc9ad;font-size:12.5px;line-height:1.65;
}
.sound-tip b{color:#b6e6cb}

/* ===== 오늘의 초대형 체결 ===== */
.huge-board{border-color:#3a2d12;background:linear-gradient(180deg,#171208 0%,var(--bg2) 74px)}
.hb-count{
  display:inline-block;margin-left:6px;font-size:12px;font-weight:700;
  background:var(--accent);color:#1a1200;border-radius:20px;padding:1px 9px;vertical-align:middle;
}
.hb-note{font-size:11.5px;color:var(--dim2)}
.huge-list{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));
  gap:9px;padding:15px 18px;max-height:266px;overflow-y:auto;
}
.huge-card{
  background:var(--bg3);border:1px solid var(--line);border-radius:11px;
  padding:11px 12px;animation:slidein .35s ease;
}
.huge-card.bid{border-left:3px solid var(--up)}
.huge-card.ask{border-left:3px solid var(--down)}
.hc-top{display:flex;align-items:baseline;gap:7px;margin-bottom:5px}
.hc-time{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;font-weight:600}
.hc-ago{font-size:10.5px;color:var(--dim2);margin-left:auto}
.hc-name{
  font-size:14px;font-weight:700;margin-bottom:6px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.hc-bot{display:flex;align-items:baseline;gap:7px}
.hc-side{font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:5px}
.huge-card.bid .hc-side{background:#3a1218;color:#ff8494}
.huge-card.ask .hc-side{background:#122139;color:#7db0ff}
.hc-amt{
  margin-left:auto;font-size:14.5px;font-weight:800;font-variant-numeric:tabular-nums;
}
.huge-card.bid .hc-amt{color:var(--up)}
.huge-card.ask .hc-amt{color:var(--down)}
@media (max-width:760px){
  .huge-list{grid-template-columns:repeat(2,1fr);padding:13px 14px;gap:8px;max-height:300px}
  .hb-note{display:none}
}

/* ===== 좁은 화면 다듬기 ===== */
.th-s{display:none}
@media (max-width:760px){
  /* 도구 줄은 검색이 있는 시세 패널에서만 전체폭을 쓴다 */
  .panel-tools{width:auto;margin-left:auto}
  .panel-tools.tools-wide{width:100%;margin-left:0}
  /* 헤더 라벨을 짧은 것으로 교체해 줄바꿈을 막는다 */
  .th-l{display:none}
  .th-s{display:inline}
  .coins th,.coins td{padding:8px 6px;font-size:12.5px}
  .coins th{font-size:11px;white-space:nowrap}
  .csym{font-size:10px}
  .score{min-width:28px;font-size:11px;padding:2px 4px}
  /* 피드 줄바꿈 줄이기 */
  .sig{gap:8px;padding:10px 14px}
  .sig-body{font-size:11.5px;line-height:1.35}
  .sig-tag{font-size:10px;padding:2px 5px}
  .sig-amt{font-size:13px}
}
@media (max-width:430px){
  .coins th,.coins td{padding:7px 4px;font-size:12px}
  .sig-name{width:72px;font-size:13px}
}
.b-long{background:#3a2610;color:#ffa94d}
.b-short{background:#1a2f3d;color:#5fc4ff}
.b-oi{background:#241a3d;color:#a98aff}
