/* 업비트 실시간 레이더 (/radar · /radar/events · /admin/radar). 테마 A 토큰(board.css :root)만 쓴다.
   상승 #ff7081(붉은) / 하락 #9dbcff(푸른) 은 홈 .hp3 .is-up/.is-down 과 같은 값.
   [2026-11-02 대비] 보조 글씨는 --muted(#8f8f8f, 5.3:1) 대신 --text-2(#c9c9c9, 10:1 이상) · 글씨 최소 12px · 표 숫자 13px(모바일 포함). 새 색은 추가하지 않는다. */
.rd{--up:#ff7081;--down:#9dbcff;--amber:#fbbf24;--line:var(--border-strong);max-width:1440px;margin:0 auto;padding:14px 16px 48px;color:var(--text);word-break:keep-all}
.rd *,.rd *:before,.rd *:after{box-sizing:border-box}.rd h1,.rd h2,.rd h3,.rd p,.rd ul,.rd dl,.rd dd{margin:0}.rd ul{list-style:none;padding:0}
.rd .is-up{color:var(--up)}.rd .is-down{color:var(--down)}.rd .is-flat{color:var(--text-2)}
.rd-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.rd-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.rd-crumb{color:var(--text-2);font-size:12px}.rd-crumb a{color:var(--accent)}
.rd-head h1{margin-top:4px;font-size:26px;letter-spacing:-.03em}.rd-head p{margin-top:4px;color:var(--text-2);font-size:13px}
.rd-status{text-align:right;flex:none}.rd-status small{display:block;margin-top:4px;color:var(--text-2);font-size:12px}
.rd-live{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(34,197,94,.12);color:var(--green);font-size:12px;font-weight:800}
.rd-live i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.rd[data-status=wait] .rd-live,.rd[data-status=delayed] .rd-live{background:rgba(251,191,36,.12);color:var(--amber)}.rd[data-status=wait] .rd-live i,.rd[data-status=delayed] .rd-live i{box-shadow:0 0 0 3px rgba(251,191,36,.25)}
.rd[data-status=down] .rd-live{background:rgba(255,255,255,.06);color:var(--muted)}.rd[data-status=down] .rd-live i{box-shadow:none}
.rd[data-status=down] .rd-table tbody{opacity:.55}
.rd-notice{margin-top:10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text-2);font-size:12px}
.rd-notice.rd-ok{border-color:rgba(34,197,94,.4);color:var(--green)}.rd-notice.rd-bad{border-color:rgba(239,68,68,.5);color:#fca5a5}
/* 이벤트 줄 */
.rd-events{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);overflow:hidden}
.rd-events-head{display:flex;justify-content:space-between;align-items:center}.rd-events h2{font-size:12px;font-weight:900;letter-spacing:.1em;color:var(--accent)}.rd-events-head a{color:var(--text-2);font-size:12px}
.rd-events ul{display:flex;gap:8px;margin-top:8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;padding-bottom:2px}
.rd-ev{display:inline-flex;align-items:center;gap:7px;flex:none;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel);font-size:12px;cursor:pointer}
.rd-ev.is-empty{color:var(--text-2);cursor:default;white-space:normal}
.rd-ev b{padding:2px 6px;border-radius:5px;font-size:12px;font-weight:900;letter-spacing:.02em;background:rgba(255,255,255,.08);color:var(--text-2)}
.rd-ev-pump b,.rd-ev-high b{background:rgba(255,112,129,.16);color:var(--up)}.rd-ev-dump b,.rd-ev-low b{background:rgba(157,188,255,.16);color:var(--down)}
.rd-ev-volx b{background:rgba(251,191,36,.16);color:var(--amber)}.rd-ev-listing b{background:rgba(34,197,94,.16);color:var(--green)}
.rd-ev strong{font-weight:800}.rd-ev strong small{margin-left:5px;color:var(--text-2);font-size:12px;font-weight:600}.rd-ev strong small:empty{display:none}.rd-ev span{color:var(--text-2)}.rd-ev time{color:var(--text-2);font-size:12px;font-variant-numeric:tabular-nums}
.rd-ev.is-fresh{border-color:rgba(255,112,129,.55);box-shadow:0 0 0 2px rgba(255,112,129,.14)}
@media(prefers-reduced-motion:no-preference){.rd-ev.is-new{animation:rdEvIn .35s ease-out}@keyframes rdEvIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}}
/* 격자 · 표 */
.rd-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;margin-top:14px;align-items:start}
.rd-panel{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:14px}
.rd-panel h2{font-size:15px;margin-bottom:10px}
.rd-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rd-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(var(--panel-rgb),.52)}
.rd-tabs button{min-height:31px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:var(--text-2);font:700 12px/1 inherit;cursor:pointer}
.rd-tabs button[aria-selected=true]{background:var(--panel-3);color:var(--text)}.rd-tabs button small{color:var(--text-2);font-weight:600;font-size:12px}
.rd-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rd-search{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--muted)}
.rd-search input{width:150px;border:0;background:transparent;color:var(--text);font:inherit;font-size:12px;outline:0}
.rd-tool{height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text-2);font:700 12px/1 inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.rd-tool[aria-pressed=true]{border-color:rgba(var(--accent-rgb),.5);color:var(--accent)}.rd-tool-settings{background:var(--accent-fill);border-color:transparent;color:#fff}
.rd-filter-note{margin-top:8px;color:var(--text-2);font-size:12px}
.rd-table-wrap{margin-top:8px;overflow:auto}
.rd-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;font-variant-numeric:tabular-nums}
.rd-table th,.rd-table td{padding:9px 6px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}
.rd-table th{font-size:12px;font-weight:700;color:var(--text-2)}
.rd-table th[data-col=coin],.rd-table td[data-col=coin]{text-align:left;overflow:hidden;text-overflow:ellipsis}
.rd-table th[data-col=fav],.rd-table td[data-col=fav]{width:30px;text-align:center;padding-left:0;padding-right:0}
/* 코인 칸: 심볼(항상 보임) + 한글 이름(길면 말줄임) + 유의/주의 배지 */
.rd-coin{display:flex;align-items:center;gap:6px;min-width:0}
.rd-coin strong{flex:none;font-weight:800;letter-spacing:.01em}
.rd-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:12px;font-weight:500}.rd-name:empty{display:none}
.rd-coin .rd-tag{flex:none}.rd-coin .rd-tag[hidden]{display:none}
.rd-table td[data-col=coin] em{display:none;color:var(--text-2);font-style:normal;font-size:12px}
.rd-table th[data-col=c5],.rd-table td[data-col=c5]{font-weight:800}
.rd-table th[data-col=coin]{width:22%}.rd-table th[data-col=price]{width:12%}
.rd-table td[data-col=mult] small{display:none;color:var(--text-2);font-size:12px}
.rd-star{border:0;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;padding:2px 4px}.rd-star[aria-pressed=true]{color:var(--amber)}
.rd-mult{display:inline-block;padding:2px 7px;border-radius:6px;background:rgba(255,255,255,.05);color:var(--text-2);font-weight:700}
.rd-mult.is-hot{background:rgba(251,191,36,.16);color:var(--amber)}
.rd-tag{display:inline-block;padding:1px 6px;border-radius:5px;font-size:12px;line-height:1.3;font-style:normal;font-weight:800}
.rd-tag-high{background:rgba(255,112,129,.16);color:var(--up)}.rd-tag-low{background:rgba(157,188,255,.16);color:var(--down)}
.rd-tag-warn{background:rgba(251,191,36,.18);color:var(--amber)}      /* 유의(투자유의, 더 심각) = 경고색 */
.rd-tag-caution{background:rgba(255,255,255,.1);color:var(--text-2)}   /* 주의(시장경보) = 중립 배지 */
.rd-faint{color:var(--text-2)}
.rd-table tr.is-focus td{background:rgba(var(--accent-rgb),.12)}.rd-table tr.is-focus td[data-col=coin] strong{color:var(--accent)}
.rd-table tr.is-pinned td[data-col=coin] strong{color:var(--amber)}
.rd-table tr.is-hidden{display:none}
@media(prefers-reduced-motion:no-preference){
  .rd-table tr.is-flash-up td,.rd-table tr.is-flash-up-b td{animation:rdFlashUp .6s ease-out}.rd-table tr.is-flash-down td,.rd-table tr.is-flash-down-b td{animation:rdFlashDown .6s ease-out}
  @keyframes rdFlashUp{from{background:rgba(255,112,129,.18)}to{background:transparent}}@keyframes rdFlashDown{from{background:rgba(157,188,255,.18)}to{background:transparent}}
}
.rd-empty,.rd-foot{margin-top:10px;color:var(--text-2);font-size:12px;line-height:1.55}
.rd-more{display:block;width:100%;margin-top:8px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text-2);font:700 12px/1 inherit;cursor:pointer}
/* 채팅 열 — 기존 플로팅 위젯(#cw)을 이 칸으로 옮겨 고정한다 */
.rd-chat{position:sticky;top:12px;display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:520px;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}
.rd-chat-slot{flex:1;min-height:0;display:flex;flex-direction:column}
.rd-chat-wait{padding:16px;color:var(--text-2);font-size:12px}
body.rd-docked #cw.cw-assistant{position:static;right:auto;bottom:auto;z-index:auto;transform:none;flex:1;min-height:0;display:flex;flex-direction:column}
body.rd-docked #cw.cw-assistant .cw-panel{position:static;display:flex;width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none;animation:none}
body.rd-docked #cw.cw-assistant .cw-panel[hidden]{display:none}
body.rd-docked #cw.cw-assistant .cw-fab,body.rd-docked #cw.cw-assistant .cw-scrim,body.rd-docked #cw.cw-assistant .cw-x,body.rd-docked #cw.cw-assistant .cw-grip{display:none!important}
/* 설정 서랍 */
.rd-settings{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;padding:16px 18px;border-left:1px solid var(--line);background:var(--panel);box-shadow:-18px 0 48px rgba(0,0,0,.5);z-index:950;overflow:auto}
.rd-settings[hidden],.rd-scrim[hidden]{display:none}
.rd-scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:940}
.rd-settings>header{display:flex;justify-content:space-between;align-items:center}.rd-settings>header b{font-size:16px}
.rd-x{border:0;background:transparent;color:var(--muted);font-size:16px;cursor:pointer}
.rd-settings section{margin-top:18px}.rd-settings h3{font-size:12px;font-weight:900;letter-spacing:.1em;color:var(--accent)}
.rd-switch{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;flex-wrap:wrap;cursor:pointer}.rd-switch input{position:absolute;opacity:0;width:0;height:0}
.rd-switch span{width:36px;height:20px;border-radius:999px;background:var(--panel-3);position:relative;flex:none}.rd-switch span:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:left .15s}
.rd-switch input:checked+span{background:var(--accent-fill)}.rd-switch input:checked+span:after{left:18px;background:#fff}
.rd-switch input:focus-visible+span{outline:2px solid var(--accent)}
.rd-switch small{flex-basis:100%;margin-left:46px;color:var(--text-2);font-size:12px}
.rd-presets{display:grid;gap:6px;margin-top:10px}
.rd-preset{display:flex;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:8px;cursor:pointer}
.rd-preset:has(input:checked){border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.08)}
.rd-preset input{accent-color:var(--accent-fill)}.rd-preset b{display:block;font-size:13px}.rd-preset small{display:block;color:var(--text-2);font-size:12px}
.rd-custom{margin-top:10px}.rd-custom.is-disabled{opacity:.5;pointer-events:none}
.rd-rule{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;flex-wrap:wrap}
.rd-rule span{color:var(--text-2)}.rd-rule b{font-weight:600}.rd-rule input[type=number]{width:62px;height:26px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;text-align:right}
.rd-check{display:inline-flex;align-items:center;gap:6px}
.rd-settings-note{margin-top:14px;color:var(--text-2);font-size:12px}
.rd-settings footer{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.rd-settings footer button,.rd-btn-primary,.rd-inline-form button{height:38px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font:700 13px/1 inherit;cursor:pointer}
.rd-btn-primary{background:var(--accent-fill)!important;border-color:transparent!important;color:#fff!important}
/* 안내 */
.rd-about{margin-top:20px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.rd-about h2{font-size:14px}.rd-about ul{margin-top:8px;display:grid;gap:6px;color:var(--text-2);font-size:12px}.rd-about li b{color:var(--text);margin-right:6px}.rd-about a{color:var(--accent)}
/* 이벤트 목록 · 관리자 */
.rd-events-table th,.rd-events-table td{text-align:left}.rd-events-page .rd-head{margin-bottom:14px}
.rd-admin .rd-panel{margin-top:14px}.rd-dl{display:grid;gap:6px;font-size:13px}.rd-dl div{display:flex;gap:10px}.rd-dl dt{flex:none;width:110px;color:var(--text-2)}
.rd-inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rd-config-form h3{margin:14px 0 6px;font-size:12px;color:var(--accent)}
.rd-config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.rd-config-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2)}
.rd-config-grid input,.rd-config-grid select{height:32px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font:inherit}
.rd-config-form footer{margin-top:14px;display:flex;gap:8px}
/* 모바일 */
.rd-mtabs{display:none}
@media(max-width:900px){
  .rd-grid{grid-template-columns:1fr}.rd-chat{position:static;height:calc(100dvh - 260px);min-height:420px}
  .rd-head{flex-direction:column;align-items:flex-start;gap:8px}.rd-status{text-align:left}
  .rd-mtabs{display:flex;gap:4px;margin-top:12px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
  .rd-mtabs button{flex:1;min-height:36px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:800 13px/1 inherit;cursor:pointer}
  .rd-mtabs button[aria-selected=true]{background:var(--panel-3);color:var(--text)}.rd-mtabs button small{color:var(--text-2);font-weight:600;font-size:12px}
  .rd[data-mview=chat] [data-table-panel]{display:none}.rd:not([data-mview=chat]) [data-chat-panel]{display:none}
  .rd-tabs{width:100%;overflow:auto}.rd-tabs button{flex:none;padding:0 10px}.rd-tools{width:100%;justify-content:space-between}.rd-search{flex:1}.rd-search input{width:100%}
  .rd-tool{padding:0 8px;font-size:12px}
  .rd-table th,.rd-table td{padding:9px 3px;font-size:13px}.rd-table th{font-size:12px}.rd-table th[data-col=coin]{width:33%}.rd-table th[data-col=price]{width:auto}.rd-table th[data-col=mult]{width:74px}
  .rd-table td[data-col=c5],.rd-table td[data-col=c24]{letter-spacing:-.02em}
  .rd-table th[data-col=c1],.rd-table td[data-col=c1],.rd-table th[data-col=c15],.rd-table td[data-col=c15],.rd-table th[data-col=price],.rd-table td[data-col=price],.rd-table th[data-col=v5],.rd-table td[data-col=v5],.rd-table th[data-col=hl],.rd-table td[data-col=hl]{display:none}
  .rd-table td[data-col=coin] em{display:block;margin-top:1px}.rd-table td[data-col=mult] small{display:block}.rd-coin{gap:5px}.rd-name{font-size:12px}
  .rd-settings{width:100vw;border-left:0}
  body.rd-docked #cw.cw-assistant .cw-panel{position:static;height:100%}
}
